Polyline

Polyline

縦断勾配を計算する

ポリラインの勾配を計算する。傾きと角度それぞれをアトリビュートに追加している。ポイントの勾配を計算//// 縦断方向の勾配と角度を計算する// Run Over: Primitives//int pts[] = primpoints(0, ...
地形

勾配の視覚化

勾配とは水平面に対する傾き度合い。勾配の単位は「%」。水平長を1とした時の垂直長の比率で表す。数学のグラフでいう傾きa。底辺100m、高さ10mの坂は10 / 100 = 0.1 =10%の勾配例箱根新道の平均勾配は5%(2.9°)、最大勾...
デバッグ

デバッグのための視覚化表現

Primitiveに色をつける//// RunOver:Primitives//int numiterations = nprimitives(0);int iteration = @primnum;float range = 0.5; /...
Polyline

曲率によってカーブの分割数を増減する

Resample SOP等で事前にポイントの間隔を均等にしておく。Resample SOPのLength項目に以下のように記述した。prim(0,0,"intrinsic:measuredperimeter",0)/npoints(0)st...
Polyline

曲率と曲率半径を計算する

曲率とは曲率半径曲線を局所的な円弧と見た場合の半径。曲率曲率半径の逆数になる。パラメトリックUVで計算するポリラインの各ポイントの曲率を計算する。円弧から曲率半径を求める。Resample SOPで均等なポイント配置になっている必要あり。/...
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の処理を再帰的に繰り返...
スポンサーリンク