道路と交差点

公開 更新

シンプルな道路メッシュ生成についてのメモ。

ネットワーク

道路がつながった状態のポリラインを作成する。交差点はポイントを共有した状態にする。

始点と終点以外のポイントを削除した状態にして、交差点ポイントにはつながるポリラインのインデックスを格納し、ポリラインにはつながるポイントのインデックスを格納する。ポイントから交差点メッシュを、ポリラインから道路メッシュを生成する。

交差点

交差する道路の角度と幅で、中心までに必要な長さが計算できる。

width_0:道路幅 width_1:一番近い道路の幅 θ:接続するいちばん近い道路との成す角度

a+bの長さが各道路の交差点の中心までに必要な最低限の長さとなる。

a=Width0tanθa = \frac{Width_0}{tanθ}

b=Width1sinθb = \frac{Width_1}{sinθ}

a+b=Width0tanθ+Width1sinθa + b = \frac{Width_0}{tanθ}+\frac{Width_1}{sinθ}

最低限の長さのままだと、円弧部分の余白幅ができないので、余分に数メートル加算して伸ばす。

道路のポリラインはこの交差点までの長さでカットしておく。 ポリラインの両端をカットする

編集中・・

← 記事一覧へ