数学

点と三角形の内外判定

ポイントがプリミティブに内包されているか判定する // // 点がプリミティブ内に内包されているか判定する // RunOver: Points // input1: primitive // // // 外積のY成分だけ返す関数 // f...
SOP

Group SOP

VEX ”grpStaticColor”というグループを設定する場合 // 設定 i@grpStaticColor = 1; // グループを判定する場合 if(i@group_grpStaticColor == 1) f@area = 0...
VEX

エッジの凹凸

ハーフエッジを使った凹凸判定 山折りのエッジのみをグループする // Run Over: Points // 事前にプリミティブに法線を設定している必要あり // int neighbours[] = neighbours(0, @ptnu...
数学

重力で線路を走る

重力加速度だけでカーブ上を走らせる計算です。 カーブの準備 進行ベクトルを@Nに、車両を傾ける上方向のベクトルを@upに格納しておく。このカーブから傾きを取得して車両の姿勢に反映させる。 重力 加速度はg*sinΘとなる。Θはカーブの進行ベ...
数学

回転行列からオイラー角を求める

NやUpベクトルからなる回転行列からオイラー角を求める方法。 Houdiniのカメラにオイラー角の入力ボックスしか見当たらなかったので計算することに。 回転行列を掛け合わせた行列をつくる XYZ軸すべての回転行列を掛けた結果の行列をつくる。...
Python

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

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

VEXでのベクトルと行列

ベクトル vector v0 = set(0, 2, 3); vector v1 = set(2, 2, -5); // 正規化 v0 = normalize(v0); printf('v0:' + sprintf('%g', v0) + ...
Polyline

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

進行方向のベクトルを@Nに、アップベクトルを@upに格納したポリラインを用意する。 ポリラインと同じ長さでZ軸方向に伸ばしたメッシュを用意する。これをポリラインにフィットさせる。 はじめに法線ベクトルをポリラインに沿って変換する。 // /...
数学

平面と直線の交差判定

定義 空間上の平面は平面式 ax + by + cz + d = 0 で定義できる。 a, b, cは法線ベクトル、x, y, zは座標で、dは係数(内積)。法線ベクトルが正規化されている場合、dには原点から平面までの最短距離が入ることにな...
Python

CSVの書き出し

Nullノードを使ってボタンを押下した時に実行する仕組みをつくる場合Pythonコードを実行するノードの作成 Pointアトリビュートの値を出力する例 UIにFileパラメータを追加している。 node = hou.pwd() geo = ...
スポンサーリンク