数学

数学

円と線分の交点

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

直線同士を結ぶ直線を求める

2本の直線を最短で結ぶ直線と交点の計算方法。 計算 直線ABとCDを最短で結ぶベクトルはどちらの直線とも90度で存在している。どちらの直線とも内積が0で交わると考えて方程式を立てて解く。 正規化したベクトルABをab、正規化したベクトルCD...
数学

点と三角形の内外判定

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

重力で線路を走る

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

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

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

VEXでのベクトルと行列

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

平面と直線の交差判定

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

Pythonでのベクトルと行列

ベクトル ベクトルはhou.Vector3クラスを使う。 正規化 # 正規化 v0 = hou.Vector3((1,1,0)) v0 = v0.normalized() print(v0) # # または v0 = hou.Vector3...
数学

直線同士の交点を求める

コード XZ平面 // // 直線の交点を求める関数 // vector CrossPointXZ(vector p0; vector p1; vector p2; vector p3) { // 線分が交差していた場合、直線の交点座標を計...
スポンサーリンク