内積と外積メモ

a=(x,y,z); b=(x,y,z);のベクトルとして

ベクトルのノルム(大きさの定義)
|a|=sqrt(a.x^2+a.y^2+a.z^2);
|b|=sqrt(b.x^2+b.y^2+b.z^2);

内積「dot product」
計算式
a・b = a.x*b.x + a.y*b.y + a.z*b.z
(それぞれの成分をかけて足す)
定義
a・b = |a||b|cosθ
(左辺はベクトル、右辺はスカラー)
何の役に立つのか?
cosθを求めるのに使う
(面に対する光のあたり具合なんかが分かる)
           a・b 
 cosθ = ------
         |a||b|

各行列を正規化しているのなら
|a||b|=1 となり、内積=cosθ

チェックポイント
内積の値はスカラーで返される。
|b|cosθに|a|をかける意味は不明。

外積「cross product」
計算式
(a×b).x = a.y*b.z - a.z*b.y
(a×b).y = a.z*b.x - a.x*b.z
(a×b).z = a.x*b.y - a.y*b.x

(交差する値をかけて引く)
定義
a×b = |a||b|sinθ*c
(左辺も右辺もベクトル)
何の役に立つのか?
aとbに直交するベクトル(cの事)がわかる。
面の向きを計算することができる
c
       a×b
c = -----------
    |a||b|sinθ
ポイント
外積の値はベクトルで返される
大きさはabの平行四辺形の面積
向きはa を回転して b に重ねるとき (回転角は小さい方をとる) 右ネジの進む方向