3次元の内積の幾何学的な性質
3次元の内積
2次元の内積の幾何学的な性質では内積と2つのベクトルがなす角度との関係を紹介しました。この性質は実は3次元でもまったく同じなのですが、 3次元になるとこのことを説明するのが格段に難しくなります。
そもそも3次元で二つのベクトルのなす角度とはなんなのでしょうか?
図のように2つのベクトルの始点を同じ点として重ねると、2つのベクトルが同じ向きではなければ、2つのベクトルを含む 平面が決まります。2つのベクトルなす角度とは、この平面上での、つまり2次元での角度と同じものと考えることができます。
3次元の内積は、2次元の内積の自然の拡張で、2つのベクトル ${\bf a}, {\bf b}$ のデカルト座標での成分表示を ${\bf a} = (a_1, a_2, a_3), {\bf b} = (b_1, b_2, b_3)$ とすると
\[
{\bf a}\cdot{\bf b} = a_1b_1+a_2b_2+a_3b_3 \label{DotProduct}
\]
と定義されますが、 ベクトル ${\bf a}$、 ${\bf b}$それぞれ長さを $r_a$、$r_b$ 、2つのベクトルのなす角度を $\beta $ とすると、2次元の内積の結果をそのまま拡張すれば
\[
{\bf a}\cdot{\bf b} = a_1b_1+a_2b_2+a_3b_3 = r_ar_b\cos\beta \label{DotProduct2}
\]
となりそうです。事実そうなるのですが、本当でしょうか? 証明してみましょう。
基本的には流れは以下の通り
- 2次元3次元の回転で内積が変化しないことを示す。
- 回転で2つベクトルを含む平面を x-y 平面に変換できることを示す。
- 内積が変化しないことの意味を示し、2次元の内積の性質がそのまま3次元でも成り立つことを示す。
2次元の回転と2次元の内積
まず、2次元に限定して、回転で内積が変化しないことを示しましょう。
ふたつの位置ベクトルを ${\bf a}=\left( \begin{array}{cc} a_1 \\ a_2 \end{array} \right)$, ${\bf b}=\left( \begin{array}{cc} b_1 \\ b_2 \end{array} \right)$ とすると、内積は
$$ {\bf a}\cdot {\bf b} = a_1b_1+a_2b_2 \label{DotProduct3}$$
回転行列と複素数の積で示しましたように、位置ベクトルは回転行列をかけることで回転させることができます。 回転行列 $\left( \begin{array} {cc} \cos\beta & -sin\beta \\ \sin\beta& \ cos\beta \end{array}\right)$ で、ベクトル ${\bf a}$ と ${\bf b}$ を回転させると、回転後のベクトル ${\bf a'}$ と ${\bf b'}$ は
$$ {\bf a'} = \left( \begin{array}{cc} a_1\cos\beta-a_2\sin\beta \\ a_1\sin\beta+a_2\cos\beta \end{array} \right) \label{rotateda}$$
$$ {\bf b'} = \left( \begin{array}{cc} b_1\cos\beta-b_2\sin\beta \\ b_1\sin\beta+b_2\cos\beta \end{array} \right) \label{rotatedb}$$
回転後の内積を計算すると
$$ \begin{align} {\bf a'}\cdot{\bf b'} &= (a_1\cos\beta-a_2\sin\beta)(b_1\cos\beta-b_2\sin\beta)+ (a_1\sin\beta+a_2\cos\beta)( b_1\sin\beta+b_2\cos\beta) \\ &=a_1b_1\cos^2\beta+a_2b_2\sin^2\beta+(-a_1b_2-a_2b_1)\cos\beta\sin\beta+ a_1b_1\sin^2\beta+a_2b_2\cos^2\beta+(a_1b_2+a_2b_1)\cos\beta\sin\beta \\ &=a_1b_1+a_2b_2 \end{align} \label{RotatedDotProduct} $$
以上から、回転変換によって、内積が変化しないことがわかります。
内積が変化しないとはどういうことでしょうか?
ベクトルの大きさの2乗は $|{\bf a}|^2={\bf a}\cdot{\bf a}$ ですから、回転によって、ベクトルの大きさは変わりません。
2個の位置ベクトル間の終点間距離の2乗は
$$ |{\bf a} - {\bf b}|^2 = ({\bf a}-{\bf b})({\bf a}-{\bf b}) = {\bf a}^2 + {\bf b}^2 - 2{\bf a}\cdot{\bf b} \label{distance1}$$
回転後の2個の位置ベクトル間の終点間距離の2乗は
$$ |{\bf a'} - {\bf b'}|^2 = ({\bf a'}-{\bf b'})({\bf a'}-{\bf b'}) = {\bf a'}^2 + {\bf b'}^2 - 2{\bf a'}\cdot{\bf b'} = {\bf a}^2 + {\bf b}^2 - 2{\bf a}\cdot{\bf b}\label{distance2} $$
つまり、ベクトルの長さは回転によって変わりません。つまり、回転はベクトルが作る三角形を合同な三角形に変換します。従って、回転変換はベクトルがなす角度を変更しません。
3次元の回転
3次元の回転は意外と奥が深いので、ここでは x軸、y軸、z軸 を回転軸にした回転のみを扱います。
まず、z軸を回転軸にした3次元回転を考えてみましょう。
ここで z軸を回転軸とした回転とは、z軸の正方向に対して、図のように右回転する方向を正の角度の回転とします。 この回転は、$x, y$ に関しては2次元の回転と同じになり、回転変換によって $z$ は変化しないので、変換行列は
$$
\left(\begin{array}{ccc} x' \\ y' \\ z' \end{array} \right)
=
\left( \begin{array}{ccc}
\cos\theta_z & -\sin\theta_z & 0 \\ \sin\theta_z & \cos\theta_z & 0 \\ 0 & 0 & 1
\end{array} \right) \left(\begin{array}{ccc} x \\ y \\ z \end{array} \right) \label{zrotation}
$$
になります。 ${\bf a} = \left( \begin{array}{ccc} a_1 \\ a_2 \\ a_3 \end{array} \right)$ と ${\bf b} = \left( \begin{array}{ccc} b_1 \\ b_2 \\ b_3 \end{array} \right)$ の3次元の内積は、2次元からの自然な拡張から
$${\bf a}\cdot {\bf b}=a_1b_1+a_2b_2+a_3b_3 \label{3DCrossProduct} $$
と定義しますが、
${\bf a}$ と ${\bf b}$ の回転後のベクトル ${\bf a'} = \left( \begin{array}{ccc} a'_1 \\ a'_2 \\ a'_3 \end{array} \right)$と ${\bf b'}= \left( \begin{array}{ccc} b'_1 \\ b'_2 \\ b'_3 \end{array} \right)$ の内積は
$${\bf a'}\cdot {\bf b'}=a'_1b'_1+a'_2b'_2+a'_3b'_3 \label{3DCrossProduct2} $$
となります。このうち $a_1b_1+a_2b_2$ と $a'_1b'_1+a'_2b'_2$ の部分は2次元の回転と同じなので同じになります。$a_3$ と $a'_3$、$b_3$ と $b'_3$ は同じなので、$a_3b_3=a'_3b'_3$ となります。
結局 $a_1b_1+a_2b_2+a_3b_3 = a'_1b'_1+a'_2b'_2+a'_3b'_3$ なので、z軸を回転軸とする回転変換で、内積は変化しないことになります。
同様に、x軸を回転軸とし、x軸の正方向に対して右回転する回転変換は
$$ \left(\begin{array}{ccc} x' \\ y' \\ z' \end{array} \right)
=
\left( \begin{array}{ccc}
1 & 0 & 0 \\ 0 & \cos\theta_x & -\sin\theta_x \\ 0 & \sin\theta_x & \cos\theta_x \\
\end{array} \right) \left(\begin{array}{ccc} x \\ y \\ z \end{array} \right) \label{xrotation}
$$
y軸を回転軸とし、y軸の正方向に対して右回転する回転変換は
$$ \left(\begin{array}{ccc} x' \\ y' \\ z' \end{array} \right)
=
\left( \begin{array}{ccc}
\cos\theta_y & 0 & \sin\theta_y \\ 0 & 1 & 0 \\ -\sin\theta_y & 0 & \cos\theta_y \\
\end{array} \right) \left(\begin{array}{ccc} x \\ y \\ z \end{array} \right) \label{yrotation}
$$
となります。いずれの回転も内積を変化させないのはいうまでもないでしょう。
3次元の内積
ここで、任意の2ベクトルを、内積を保ったまま、x-y平面内に回転変換できることを示します。まず下図のように、ベクトル${\bf a}$, ${\bf b}$ をy軸で回転させます。ベクトル${\bf a}$ が x-y 平面上にくるように回転させます。これを ベクトル${\bf a'}$, ${\bf b'}$ とします。
次に、ベクトル${\bf a'}$, ${\bf b'}$ z軸で回転させて、ベクトル${\bf a'}$ の方向を x 軸と一致させます。これを ベクトル${\bf a}$, ${\bf b}$ とします。
最後に, x軸で回転変換を行って、${\bf b}$ も x-y平面上に持ってきます。
以上から
- 上のように3軸の回転変換で、任意の2ベクトルを x-y平面上に3次元の内積を変化させずにもってくることが出来る。
- x-y平面に移動したベクトルはz座標が0なので、3次元の内積は2次元の内積と一致する。
- 3次元の3軸による回転は内積を変更しない。つまり、2次元回転の場合と同様、図形を合同に変換し、辺の長さや辺のなす角度を変更しない。
従って、2次元の内積の幾何学的な性質はそのまま3次元の内積でも成り立ち、ベクトル${\bf a}、{\bf b}$の長さを $r_a$、$r_b$、ベクトル${\bf a}、{\bf b}$ 同士のなす角度を $\beta$ とすると
$${\bf a}\cdot{\bf b} = r_ar_b\cos\beta\label{lastCrossProduct} $$
が成立します。以上で2次元の内積は3次元へ自然な形で拡張できることを示しました。