数学

数学

ベジェ曲線の仕組み

ベジェ曲線の特徴・ベジェ曲線は制御点によって定義される・曲線は必ず制御点の内側に描画される制御点の線形補完を繰り返すことで滑らかな曲線を生成します。1次のベジェ曲線P = (1-t)P0 + tP11次のベジェ曲線は一本の直線です。tはパラ...
数学

角度を0~360°に正規化する

オイラー角で忘れがちな計算。随時追加していきます。0~180°の角度を0~360°に正規化するXZ平面にてベクトル同士の成す角度を内積とアークコサインで計算すると、0~180°に収まるが、これを0~360°にしたい場合、外積の符号を使う。ポ...
数学

リフトの振り子運動

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

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

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

イージングカーブ

Ease In Out Sin// Sinfloat easeInOutSin(const float x){ return -(cos(PI * x) - 1) / 2;}@P.y = easeInOutSin(@P.x);対象の形にする...
数学

振り子運動と角速度

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

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

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

線分と点の距離

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

表面積の計算

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

3点を通る円

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