Game Physics 2015 – 9

ベクトルの内積と外積

ベクトルの内積

2つのベクトルを掛けて、スカラー値を得る演算が 内積(Dot Product)です。
これは、それぞれの成分を掛け合わせて合計したもにのなります。

ベクトル($V$)とベクトル($U$)の内積($U \cdot V$)、は次のように計算できます。
このような単純な式で計算できるのが、内積の魅力です。

$ V \cdot U = V_x \times U_x + V_y + U_y$

また、2つのベクトル間の角度($\theta$)から、次のようにも計算できます。

$ V \cdot U = |V| \times |U| \times \cos \theta$

内積で射影を求める

射影とは、真上から光を当てた時にできる影のことです。

上の式の

$ |V| \times \cos \theta$

は、2つのベクトルからできる直角三角形の底辺の長さになります。

ですから、射影される方のベクトルを正規化しておけば、大きさは1になりますので、内積の値はあるベクトルの別のベクトルへの射影になります。

内積で角度を求める

また、上の式から2つのベクトルの間の角度を求めることもできます。

$ \cos \theta = \frac{V \cdot U}{|V| \times |U|}$

この場合も、2つのベクトルが正規化されていれば、次のようにな内積値そのものが、cos値になります。

あとは、逆三角関数($\cos^{-1}$)を使えば角度($a$)が計算できます。

$ a = \cos^{-1} \frac{V \cdot U}{|V| \times |U|}$

ベクトルの外積

2つのベクトルを掛けて、ベクトル値を得る演算が 外積(Cross Product)です。
これは、2つのベクトルに垂直なベクトルになります。

ベクトル($V$)とベクトル($U$)の内積($U \times V$)、は次のように計算できます。
このように外積も単純な式で計算できます。

$ V \times U = (V_y \times U_z – V_z \times U_y, V_z \times U_x – V_x \times U_z, V_x \times U_y – V_y \times U_x)$

また、できたベクトルの大きさは、次のように計算できます。

$ |V \times U| = |V| \times |U| \times \sin \theta$

Digiprove sealCopyright secured by Digiprove © 2015

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください