内積メモ

[pukiwiki]
ベクトルの内積は簡単だし、よく使うわりに、(自分は)意外に忘れがちだったりするのでメモ。
[/pukiwiki]

[pukiwiki]
話を簡単にするために、長さ1の単位ベクトル同士の内積を考えます。

実は、内積の定義は、意外に難しいようです
-[[内積:http://ja.wikipedia.org/wiki/%E5%86%85%E7%A9%8D]]

が、ここでは3DCGなどでよく使う式を考えます

内積(A B) = |A||B| Cos θ
    = Ax*Bx + Ay*By

-[[内積の意味(仕事の量として):http://naop.jp/topics/topics14.html]]

http://boxheadroom.com/wp/wp-content/uploads/2010/02/dot0.png

-ベクトルAとベクトルBのなす角度をθとおきます。
-点Aから線分OBに垂線を降ろし、交点をHとすると、 
–(= 点Aを線分OBに射影)

OH= cos θ  , ただし、ABは単位ベクトル

幾何的な性質がわかったところで、次に、代数的な内積の計算方法と一致することを調べます。

欲しい式は下記。

内積(A B) = |A||B| Cos θ
    = Ax*Bx + Ay*By

http://boxheadroom.com/wp/wp-content/uploads/2010/02/dot21.png

-さて、ここからは、ベクトルA Bを複素数 (複素平面) だと思うことにします。
-Bを上下ひっくりかえした複素共役ベクトルをB’ とおきます
-B’は、 -β方向に向いた単位ベクトルと同等です

*は掛け算記号
A = Ax + i * Ay
B = Bx + i * By
B’ = Bx – i * By

ここで、オイラーの公式から、 A Bの xy座標の具体的な関数を考えると

http://boxheadroom.com/wp/wp-content/uploads/2010/02/dot3.png

A = Cos α + i Sin α  
B = Cos β + i Sin β
ただし、 i は虚数単位  i * i = -1

計算したいのは
θ = α - β

なので、指数関数の法則より
http://boxheadroom.com/wp/wp-content/uploads/2010/02/dot51.png

普通に掛け算します

Exp (-i (α-β))
= Exp(-i α)*Exp(-i *-β)
= A * B’
= (Ax + i * Ay)*(Bx – i * By)
=(Ax*Bx – i*i*Ay*By) – Ax*i*By + i*Ay*Bx
= (Ax*Bx + Ay*By ) + i* (Ay*Bx-Ax*By)

変数を戻します
Ax=Cos α Ay = Sin α
Bx=Cos β By = Sin β

A * B’
=(Ax*Bx + Ay*By ) + i* (Ay*Bx-Ax*By)
= Cos α *Cos β + Sin α * Sin β
+ i* ( Sin α* Cosβ – Cos α * Sin β)
 
三角関数の加法定理により、
= ( Cos α *Cos -β – ( Sin α * Sin -β)
+ i* ( Sin α* Cos-β + Cos α * Sin -β)
 
= Cos ( α -β ) + i *Sin ( α -β )
= Cos ( θ ) + i *Sin ( θ )

ここで、実数部のみに注目すると、

Ax* Bx + Ay * By = Cos (θ)

これで、欲しかった ”『二つのベクトルがなす角度のCos』” の計算式が求められました。 単位ベクトルでない場合は、ベクトルの長さ(絶対値)で割って単位ベクトルにしてから計算すれば同じことになるので、、、、

つまり、あとから絶対値で割っても同じなので、

Cos( A B ) = (Ax * Bx + Ay* By ) ÷ (|A|*|B|)

内積 Ax * Bx + Ay * By
= |A|*|B|*Cos θ  

おしまい

*説明
上記の説明だと、試験に書くと出題範囲の関係などで”バツ”になるかもです。

数学ガールの1巻か、2巻にも、内積ではないのですが、複素数の掛け算、割り算という形で、同様の演算に関する詳しい解説が載ってた気がします。 

で、なんで内積を調べてたかというと、三角関数の正弦定理、余弦定理について調べてて、ちょっとあやふやだったから復習したかったのです。3DCGにもよく出てきますし。(ベクトル間の角度とか、シェーディング関係とか)

CGだと、内積自体よりも、角度θが欲しいことが多かったりしますけれども。

-[[正弦定理:http://ja.wikipedia.org/wiki/%E6%AD%A3%E5%BC%A6%E5%AE%9A%E7%90%86]]
–[[正弦定理 証明 円周角>ググる:正弦定理 証明 円周角]]
-[[余弦定理 直角でない場合の三平方の定理:http://shigihara.hp.infoseek.co.jp/sin52.htm]]
この余弦定理ってのは、実は内積と同じ事なんです。
[/pukiwiki]

コメントを残す

メールアドレスが公開されることはありません。