Polyline

Polyline

Polylineのリダクション(Visvalingam-Whyattアルゴリズム)

面積を比較しながら削減していくのでスケールに依存しないという点で便利。処理の流れ両隣のポイントと成す三角形の面積を比較して、小さいものから順に削除していく。削除したら前後のポイントの三角形の面積を再計算する。三角形を視覚化したもの。コード初...
Polyline

遠心加速度と片勾配

クルマが遠心力でカーブの外側に出ないように適切なバンク角をつける計算。計算参考:国土交通省 道路構造令の各規定の解説 III-4.線形遠心力=質量 * 速度^2 / 曲率半径Z = (G / g) * (v^2 / R)Z:遠心力v:速度(...
Polyline

ベジェ曲線の描画

連続したベジェ曲線ベジェ曲線は始点と終点を必ず通り、他の制御点は通らない特徴がある。ガイドカーブを分割して中間点を始点と終点にすれば、各々のカーブが同じベクトルでつながるので連続したカーブを描くことができる。2次(Quandric)のベジェ...
Polyline

ベジェ曲線のガイドカーブをつくる

ガイド用に作成したポリラインをベジェ曲線用に分割していく。ループにも対応しています。2次ベジェ曲線用(3点のカーブ)最初と最後以外の直線を分割して、3点ずつカーブをつくり、つないでいく。//// ポリラインをベジェ曲線(2次)のガイドライン...
Polyline

Polylineのリダクション(Douglas-Peuckerアルゴリズム)

カーブを単純化するアルゴリズムです。処理の流れ1:始点と終点をプロット対象とする。2:プロット対象をラインで結び、その間の各点との距離を調べる3:許容距離以上で一番遠いポイントを選び、新たにプロット対象とする4:2~3の処理を再帰的に繰り返...
Polyline

ハーフベクトルを計算する

ハーフベクトルを計算することで、進行方向に対してカーブが左右のどちら向きに膨らんでいるか(外向きか内向きか)を判定できる。前後のポイント座標で計算する//// ハーフベクトルを計算する(外側のベクトル)// Run Over: Primit...
Polyline

点と多角形の内外判定(Winding-Numberアルゴリズム)

概要点が多角形に含まれているか否かはWinding Numberアルゴリズムを使って判定できる。多角形の各頂点を周回して得られる角度の合計が、もし内側にある場合は360度になり、外側の場合は0度になる。コード調べるポイントごとの処理。inp...
Polyline

プリミティブのアトリビュートとグループを転写する

プリミティブのアトリビュートを転写する//// アトリビュートのコピー//// RunOver:Primitive//int targetPrim = 0; // コピー先のインデックスint sourceInput = 1; // 参照す...
Polyline

カスタムPolyframe

XZ平面を基準としたポリラインに対して、進行ベクトルNとアップベクトルupを設定する。前後のポイント座標差を進行ベクトルとしている。ポリラインが閉じている場合と開いている場合で場合分けしている。//// 前後のポイント座標差を進行ベクトルと...
Polyline

Polylineに沿ったメッシュの座標変換

バックボーンカーブをつくる進行方向のベクトルを@Nに、アップベクトルを@upに格納したポリラインを用意する。真っ直ぐにジオメトリをつくるポリラインと同じ長さでZ軸方向に伸ばしたメッシュを用意する。これをポリラインにフィットさせる。法線を変換...
スポンサーリンク