数学

数学

リフトの振り子運動

外から加わる力を角速度に変換して、リフトの動きを表現します。 角速度の計算 角速度についてはこのページを参考に振り子運動と角速度 重力加速度から角速度への変換はこのような図になる。 角速度ωの式は、ω = g*sinΘ/r リフトの進行方向...
数学

パースペクティブ射影変換行列

パースペクティブ射影変換行列はレンダリングやカリング等に使われている。カメラ視点の平面で内外判定することができるので、対象のオブジェクトがカメラに写っているかを判定するのに便利。 この座標変換をHoudini上で再現してみる。 Houdin...
VEX

イージングカーブ

Ease In Out Sin // Sin float easeInOutSin(const float x) { return -(cos(PI * x) - 1) / 2; } @P.y = easeInOutSin(@P.x); E...
数学

振り子運動と角速度

角速度を使う振り子運動について。外から加わる力を回転角に変換する。 角速度 角速度v = rωとなる。ω(オメガ)は角度(ラジアン)。半径Rが1の時、角度=円弧の長さになる。 重力から角速度を計算すると、v = g*sinΘになる。 v =...
数学

円弧の半径と角度を計算する

矢高(h)と弧長(c)から半径(r)と角度(Θ)を計算する。ピタゴラスの定理で求まる。 半径を求める (r – h)^2 + (c / 2)^2 = r^2 rにまとめると h^2 – 2rh + (c / 2)^2 = 0 2rh = h...
数学

線分と点の距離

線分ABと点Pの最短距離と交点を求める。 内積を使う。片方のベクトルが正規化されていた場合、内積の値が投影した長さになることを利用する。Aと点Pを結んだベクトルAPと、ベクトルABを正規化したベクトルabの内積はdになる。これによってA+a...
数学

表面積の計算

外積を使うことで三角形の表面積を計算することができる。 Divide SOPですべてのプリミティブを事前に三角形に分割しておく。 // Run Over: Detail float sum = 0; for(int i = 0; i < n...
数学

3点を通る円

平面上の3点を通る円の中心座標と半径の求め方。三角形の外接円を求めたりできる。 // Run Over: Detail // 3点を通る円の中心点と半径を求める // // 行列式 float det(vector a; vector b;...
数学

線分の交差判定と交点座標

関数 XZ平面における交差判定の関数。引数は線分1の始点、終点、線分2の始点、終点、交差座標となる。 // // 線分の交差判定 // int IsIntersectLinesXZ(vector A; vector B; vector C;...
数学

球と線分の交点

計算 直線の式はP1 = P0 + V*tそれぞれの成分に分解するとX = P.x + V.x * tY = P.y + V.y * tZ = P.z + V.z * t 球の式はX^2 + Y^2 + Z^2 = R^2 それぞれの成分を...
スポンサーリンク