アルゴリズム

VEX

合計が1になるn個の乱数を返す

オブジェクトを並べる時に、最初と最後の位置は確定しているけど、途中はランダムに揺らぎのある配置にしたいような目的に使う関数。 // 合計が1になるn個の乱数を返す function float[] randomArray(int num; ...
Python

最短経路探索(勾配コスト)

A-Starアルゴリズムをベースに、勾配コストを追加したアルゴリズム。 Input0にConvertline SOPでポリライン化した地形を、Input1に始点と終点を含むポリラインを差す。 // RunOver: Detail // in...
VEX

配列に順位をつける

アトリビュートに順位をつける アトリビュートに順位を割り振りたい場面で使うコード。 // // アトリビュートの順位をつける // // Run Over:Detail float data[]; int rank[]; for(int i...
Polyline

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

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

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

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

Polypath SOPのVEX解説

Polypath SOPとは ポリラインのトポロジーをクリーンアップし、重複したり分離しているカーブを一本に整理する便利なSOPです。 Polypath SOPの中身。trace_edgesが肝の部分で、ここで新しくポリラインを生成している...
Polyline

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

Winding Numberアルゴリズムを使う。多角形の各頂点を周回して得られる角度の合計が、もし内側にある場合は360度になり、外側の場合は0度になる。これを利用して判定する。 // // Winding Number Algorithm...
Python

最短経路探索(A-Starアルゴリズム)

ダイクストラ法との違いはヒューリスティックコストという推測値を利用して、ゴールに近いポイント順に処理をしていき、ゴールにたどり着いた時点で計算を止めるので、すべてを計算してしまうダイクストラに比べるとコストが低くなる。 Input0にCon...
Python

最短経路探索(ダイクストラ法)

Input0にConvertline SOPでポリライン化した地形を、Input1に始点と終点を含むポリラインを差す。 // RunOver: Detail // input0: Polyline Graph // input1: Poly...
スポンサーリンク