Polyline

数学

ベジェ曲線の仕組み

ベジェ曲線の特徴・ベジェ曲線は制御点によって定義される・曲線は必ず制御点の内側に描画される制御点の線形補完を繰り返すことで滑らかな曲線を生成します。1次のベジェ曲線P = (1-t)P0 + tP11次のベジェ曲線は一本の直線です。tはパラ...
Polyline

重みづけをしたPolylineのリダクション

Douglas-Peuckerアルゴリズムに重みをつけてポリラインをリダクションします。事前にf@weightアトリビュートを作っておき、0~1の値を設定しておきます。0に近いほど削除されやすく、1ほど残りやすくなります。node = ho...
Polyline

ポリラインを曲線の向きで分割する

環境:Houdini 20.0.751平面上のポリラインを曲がる方向ごとにグループで分割する。2つの連続したベクトルを比較して方向の違いを判定している。1つめのベクトルのレフトベクトル(進行ベクトルと平面の法線の外積で求める)と、2つめのベ...
ツール

ポリラインを選択表示する

環境:Houdini 20.0.751ポリラインにマウスオーバーすると、選択表示されるようにする。マウスポインタがポリラインの選択範囲にある場合にGeometryDrawableをポイント座標から生成して描画するようにしている。import...
ツール

ポリライン生成ツール

環境:Houdini 20.0.751Python Viewer Stateの習作でビュー上にポイントを打ってポリラインを編集するツールを作成した。ポイントの新規追加、移動、削除、挿入と一通りのことができるようになっている。ノードを選択した...
SOP

FindShortestPath SOP

勾配コストやターンコストを追加して、勾配を考慮した経路を探索する。事前にメッシュをConvertline SOPでポリラインのグラフ構造に変換しておき、Wrangleノードをつないで、勾配コストとターンコストを設定する。勾配コストの計算//...
VEX

ポイントのアトリビュートとグループを転写する

リダクションや曲線化などの処理を行ってポイント配置が変わりアトリビュートが消えた場合などに、元のポリラインからポイントアトリビュートを転写する。ポイントのアトリビュートを転写するアトリビュート全種類を調べてコピーしていく。値はパラメトリック...
Polyline

ポリラインを任意の長さで分割する

//// 線分を分割するためのフラグを立てる// RunOver:Primitives//float threshold = 5000; // 区切る長さ(m)float curveLength = primintrinsic(0, "me...
Polyline

任意の長さ以下のポリラインを消去する

//// 任意の長さ以下のポリラインを消去する// RunOver: Primitives//float threshold = 100;float curveLength = primintrinsic(0, "measuredperim...
Polyline

ポリラインをメッシュで区切る

メッシュ内を削除するプリミティブの三角形の内外判定をして、内包されている場合はフラグを立てる。//// 点がプリミティブ内に内包されているか判定する// RunOver: Points// input1: primitive////// 外...
スポンサーリンク