Math 表面積の計算 外積を使うことで三角形の表面積を計算することができる。Divide SOPですべてのプリミティブを事前に三角形に分割しておく。// Run Over: Detailfloat sum = 0;for(int i = 0; i < nprim... 2022.09.17 Math
Math 3点を通る円 平面上の3点を通る円の中心座標と半径の求め方。// Run Over: Detail// 3点を通る円の中心点と半径を求める// // 行列式float det(vector a; vector b; vector c;){ return ... 2021.01.30 Math
Math 線分の交差判定と交点座標 関数XZ平面における交差判定の関数。引数は線分1の始点、終点、線分2の始点、終点、交差座標となる。//// 線分の交差判定//int IsIntersectLinesXZ(vector A; vector B; vector C; vect... 2021.01.24 Math
Math 球と線分の交点 計算直線の式はP1 = P0 + V*tそれぞれの成分に分解するとX = P.x + V.x * tY = P.y + V.y * tZ = P.z + V.z * t球の式はX2 + Y2 + Z2 = R2それぞれの成分を球の式に代入し... 2020.11.07 Math
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 *... 2020.11.06 Math
Math 直線同士の距離を求める 2本の直線を最短で結ぶ直線の交点を求めて距離を計算する。計算直線ABとCDを最短で結ぶ直線(ベクトル)はどちらの直線とも90度で交差する関係で存在している。つまり、どちらの直線とも内積が0で交わる、と考えて方程式を立てて解いていく。正規化し... 2020.10.26 Math
Math 点と三角形の内外判定 ポイントがプリミティブに内包されているか判定する//// 点がプリミティブ内に内包されているか判定する// RunOver: Points// input1: primitive////// 外積のY成分だけ返す関数//float cros... 2020.10.04 Math
Math 重力で線路を走る 重力加速度だけでカーブ上を走らせる計算です。カーブの準備進行ベクトルを@Nに、車両を傾ける上方向のベクトルを@upに格納しておく。このカーブから傾きを取得して車両の姿勢に反映させる。重力加速度はg*sinΘとなる。Θはカーブの進行ベクトルの... 2020.08.07 Math
Math 回転行列からオイラー角を求める NやUpベクトルからなる回転行列からオイラー角を求める方法。Houdiniのカメラにオイラー角の入力ボックスしか見当たらなかったので計算することに。回転行列を掛け合わせた行列をつくるXYZ軸すべての回転行列を掛けた結果の行列をつくる。Z回転... 2020.08.03 Math
Math VEXでのベクトルと行列 ベクトルvector v0 = set(0, 2, 3);vector v1 = set(2, 2, -5);// 正規化v0 = normalize(v0);printf('v0:' + sprintf('%g', v0) + '\n')... 2020.07.07 MathVEX