試験問題ほかに出てる問題、pythonで書いてみました。1時間ちょいかかりました。シーンの自動生成(3)前回は大まかに踊り場を作るところまでやりましたが、今回はさらに以下の変更を加えました。(1)踊り場の形状をタンジェントとか使って厳密に計算した(2)道路同士をなめらかに繋ぐようにしたと、さらっと書きましたが、実装は結構面倒でした。して反時計回りに大きくなる)で辺をソートして、隣り合う辺から生成される道路同士の交点を計算した後に、各辺について左右の交点のうち手前の方に合わせて逆側の点を作って、これらの凸包を踊り場にする...という感じのことをやっています。坂の角度になるまで、坂と踊り場の間にちょっと傾いたポリゴンを作っていきます。ポリゴンを入れるたびに坂の角度がちょっとずつ急になるのに気付かずハマリ。あと、よく考えたら道路がない部分に地面を作らないと。道路が全部平らなら地面ポリゴンを1枚置けばいいですが、傾斜があるのでうまいこと地面を生成しないといけないかもです。方針としては、元のグラフ構造からループ部分を検出してポリゴンを作る感じでしょうか。あと、立体交差のときは地面いらないとか考えないといけなさそうです。コード与えられた点をピンだと思って、最も左のピンから糸を上に引っ張って、次々と時計回りに巻いていく感じです。最初の点まで帰ってきたら終了です。algorithmと呼ばれているそうです。filter)を使って意外と簡潔に書けたつもりですが、改行が入っちゃうとそんなに短く見えないですね。