admin

Math

円と線分の交点

計算直線の式はP1 = P0 + V*tそれぞれの成分に分割するとX = P.x + V.x * tY = P.y + V.y * t円の式はX^2 + Y^2 = R^2それぞれの成分を円の式に代入してtで整理する(P.x + V.x *...
Math

直線同士の距離を求める

2本の直線を最短で結ぶ直線の交点を求めて距離を計算する。計算直線ABとCDを最短で結ぶ直線(ベクトル)はどちらの直線とも90度で交差する関係で存在している。つまり、どちらの直線とも内積が0で交わる、と考えて方程式を立てて解いていく。正規化し...
Polyline

カスタムPolyframe

XZ平面を基準としたポリラインに対して、進行ベクトルNとアップベクトルupを設定する。Nが青、upが緑ループしている場合の始点と終点始点と終点が重なっている場合16角形の円をつくる。インデックスは0~16で、0と16が同じ位置にある。始点の...
Math

点と三角形の内外判定

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

Group SOP

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

エッジの凹凸

ハーフエッジを使った凹凸判定山折りのエッジのみをグループする// Run Over: Points// 事前にプリミティブに法線を設定している必要あり//// 接続しているポイントをリストするint neighbours[] = neigh...
VEX

FBX出力の階層

環境:Houdini 18.0.532Wrangleにそれぞれこのように書く。// Run Over: Primitives@path = "box";s@path = "box/sphere";s@path = "box/blank/sp...
Math

重力で線路を走る

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

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

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

フロッキングアルゴリズム

「結合」「整理」「分離」の3つのルールで群れの動きを表現します。結合(Cohesion)周囲(視野範囲内)のユニットの平均位置に向かうベクトル。このベクトルによって互いを引き合って集団を形成することができます。整理(Alignment)周囲...
スポンサーリンク