generated at
Houdini数学 : 外積の可視化

はじめに
Houdniを利用して外積計算を可視化したものを載せていきたいと思います。

外積の性質
外積の可視化を載せる前に、外積が持つ性質を軽く紹介したいと思います。
ベクトル \vec{A} と ベクトル\vec{B}の外積を \vec{A} \times \vec{B}と表記します。
外積\vec{A} \times \vec{B}\vec{A}\vec {B} と 必ず垂直になります。

例1 : Z方向ベクトル、X方向ベクトルの外積
VEX(c)
v@V = cross({0, 0, 1}, {1, 0, 0});
外積結果は外積計算の元となった2つのベクトル垂直になっています。
外積結果はY方向のベクトルです。( 外積の値は (0, 1, 0) です)

例2 : X方向ベクトル、Y方向ベクトルの外積
VEX(c)
v@V = cross({1, 0, 0}, {0, 1, 0});
外積結果は外積計算の元となった2つのベクトル垂直になっています。
外積結果はZ方向のベクトルです。( 外積の値は (0, 0, 1) です)

例2 : X方向ベクトル、XY方向ベクトルの外積
VEX(c)
v@V = cross({1, 0, 0}, {1, 1, 0});
外積結果はZ方向のベクトルです。( 外積の値は (0, 0, 1) です)
豆知識) (1,0,0)(1,1,0)の外積は(0,0,1)になります。 (1,0,0)(0,1,0)の外積も同じく(0,0,1)になります。

例3 : 円の頂点座標、Y方向ベクトルの外積
VEX(c)
v@V = cross(v@P, {0, 1, 0});
外積結果は時計回り同じ長さになっています。

例4 : 円の頂点座標、X方向ベクトルの外積
VEX(c)
v@V = cross(v@P, {1, 0, 0});
ベクトルのなす角が90°(垂直)に近づくほど、外積結果のベクトル長が大きくなります。
ベクトルのなす角が0°・180°(平行)に近づくほど、外積結果のベクトル長は小さくなります。

■ 外積の順番を入れ替える
VEX(c)
v@V = cross({1, 0, 0}, v@P);
外積の計算をにすると、外積の符号が反転します(向きが逆になります)

例5 : 円の頂点座標、Z方向ベクトルの外積
VEX(c)
v@V = cross(v@P, {0, 0, 1});
ベクトルのなす角が0°・180°(平行)に近づくほど、外積結果のベクトル長は小さくなります。

■ ベクトルの向きを反転する
VEX(c)
v@V = cross(v@P, {0, 0, -1});
ベクトルの符号を反転する(向きを反対にする)と、結果の符号が反転します(ベクトルが逆になります)。


例6 : 立方体の頂点座標、Y方向ベクトルの外積
VEX(c)
v@V = cross(@P, {0, 1, 0});
外積結果は時計回り同じ長さになっています。

例7: グリッド上の頂点座標、Y方向ベクトルの外積
VEX(c)
v@V = cross(@P, {0, 1, 0});
中心から離れているところほど、外積結果のベクトル長が大きくなっています。
外積結果のベクトルは時計回りになっています。

参考リンク
ベクトルの外積 (定義・計算例・性質/公式)