PR

2. ベクトルの内積の意味とその計算

ベクトル

はじめに

ベクトルの定義については前回の記事を参照

引き続きベクトル内積&外積へ。内積も外積も使い道が明確にある便利な道具。道具も使い方を知っていると、より使いやすくなる。

まずは内積から。その定義と計算方法/計算則。

ベクトルの内積 (dot-product)

内積の定義

\( \small \overrightarrow{OA} \)、\( \small \overrightarrow{OB} \) のなす角 \( \theta \) とする。

この時 \( \small \overrightarrow{OA} \)、\( \small \overrightarrow{OB} \) の内積は

  • \( \small {\overrightarrow{OA} \cdot \overrightarrow{OB} = |\overrightarrow{OA}|\cdot |\overrightarrow{OB}| \cos \theta } \) ・・・①

で定義される。つまり、内積はスカラー量であり、

\( \small{ (|\overrightarrow{OA}|} ) \cdot ( \small {|\overrightarrow{OB}|} \cos \theta ) \) とみれば、\( ( \small{\overrightarrow{OA}} \) の長さ) x \( ( \small{\overrightarrow{OB}} \) の \( \small{\overrightarrow{OA}} \) への投影長)

の掛け算を意味する。

内積を示すときにはベクトルの間にドット ”・” をつける。
英語で内積は ”dot-product”

これを利用すれば、 \( \small {|\overrightarrow{OA}|} \) =1の時には、” \( \small {\overrightarrow{OB} } \) の \( \small {\overrightarrow{OA}} \) 方向への投影長” となり、これは座標値算出そのまま。

再度、\(\small {|\overrightarrow{OA}|} \) =1の時の内積値 \( \small { \overrightarrow{OA} \cdot \overrightarrow{OB} }= \small {|\overrightarrow{OB}| } \cos \theta\) は、

  • \( \small {\overrightarrow{OB}} \) のA軸方向に投影したときの長さ
    -> ”A軸上の座標成分”

この見方はよく使う

例えば行列の掛け算は、行ベクトルと列ベクトルの内積の計算の繰り返し。
この時、この特徴が頭の片隅に入っていると、個々の計算が図的に何を意味しているか、がイメージしやすくなる。

ちなみに、座標軸変換に使っている例はこちら。オイラー角(回転行列)へつながっていくのだが、紐解けばこまごまとベクトルの内積計算を積み上げているだけ。

スポンサーリンク

内積の計算則

内積の分配法則 (後述の成分計算(④式)から成立している事は容易に確認できる)

  • \( \vec{a} \cdot ( \vec{b}+\vec{c} )= \vec{a} \cdot \vec{b}+\vec{a} \cdot \vec{c} \)・・・②
  • \( ( \vec{b}+\vec{c}) \cdot \vec{a} = \vec{b} \cdot \vec{a}+\vec{c} \cdot \vec{a} \)・・・③

内積の成分計算

\( \small {\overrightarrow{OA}} \) の成分を \( (x_a, y_a, z_a) \)、\( \small {\overrightarrow{OB}} \) の成分を \( (x_b, y_b, z_b) \) とすれば

  • \( \small {\overrightarrow{OA} \cdot \overrightarrow{OB} } \) = \( x_a \cdot x_b + y_a \cdot y_b+ z_a \cdot z_b \) ・・・④

である。

これは導いておく。まず、Oを原点にもつ \( \small {O-XYZ} \) 座標系(直行座標)を設定する。その \( x \)軸、\( y \)軸、\( z \)軸の単位ベクトルを\( \vec{i} \) 、\( \vec{j} \)、\( \vec{k} \) とすれば、その成分は

  • \( \vec{i} \) : (1, 0, 0)
  • \( \vec{j} \) : (0, 1, 0)
  • \( \vec{k} \) : (0, 0, 1)

である。

これらの各単位ベクトルは互いに直行。よって、内積の定義からこれらは以下の性質を持つ。

  • \( \vec{i} \)・\( \vec{j} \) = \( \vec{j} \)・\( \vec{k}\) = \( \vec{k} \)・\( \vec{i} \) = 0・・・⑤
  • \( \vec{i} \)・\( \vec{i} \) = \( \vec{j} \)・\( \vec{j} \) = \( \vec{k} \)・\( \vec{k} \) = 1・・・⑥

(直行していれば内積”0”、同一方向であれば”1”)

さて、\( \small {O-XYZ} \) 上の点A、Bをそれぞれ

点A: \( (x_a , y_a , z_a) \)
点B: \( (x_b , y_b , z_b) \)

とすれば、\( \small {\overrightarrow{OA}} \)、\( \small {\overrightarrow{OB}} \) は各軸の方向ベクトルでもある\( \vec{i} \)、\( \vec{j} \) 、\( \vec{k} \)を使えば

\( \small {\overrightarrow{OA}} \) = \( x_a \cdot \vec{i} +y_a \cdot \vec{j} +z_a \cdot \vec{k} \)
\( \small {\overrightarrow{OB}} \) = \( x_b \cdot \vec{i} +y_b \cdot \vec{j} +z_b \cdot \vec{k} \)

と書ける。

これと②③式、および⑤⑥式の特徴を使えば、\( \small {\overrightarrow{OA}} \)、\( \small {\overrightarrow{OB}} \)の内積の成分計算は、

\( \begin{align}
\overrightarrow{OA} \cdot \overrightarrow{OB}
&= ( x_a \cdot \vec{i} +y_a \cdot \vec{j} +z_a \cdot \vec{k}) \cdot (x_b \cdot \vec{i} +y_b \cdot \vec{j} +z_b \cdot \vec{k}) \\[8pt]
&= (x_a \cdot x_b ) \vec{i} \cdot \vec{i}+ ( y_a \cdot y_b ) \vec{j} \cdot \vec{j}+ ( z_a \cdot z_b ) \vec{k} \cdot \vec{k} \\[8pt]
&= x_a \cdot x_b + y_a \cdot y_b+ z_a \cdot z_b ・・・④
\end{align} \)

が求まる。

つまり、各々のベクトルの成分同士(x成分、y成分、z成分同士)を掛け合わせた値の総和が内積値。

ちなみにベクトルをn次元に拡張しても内積計算は同じ。
(n次元のベクトルの各軸の成分同士を掛け合わせた値の総和が内積値)

念のため、

内積=0を示して、二つのベクトルのなす角が直角である事は普通に使われる
(単純に”内積=0より二つのベクトルは直行”、みたいな書き方がされている)

たとえば、 \( \vec{a} \) =(5,0,3) ,\( \vec{b} \)=(0,3,0) の場合、④式の成分で計算すれば、\( \vec{a} \cdot \vec{b} \)= 5×0+0x3+3×0 =0、よって二つのベクトルは互いに直行、みたいな感じ

” \( |\vec{a}| \),\( |\vec{b}| \) ≠0 より、①式から \( cos\theta \) =0、 よって \( \theta =\dfrac{\pi}{2} \) ( \( 0 \leqq \theta \leqq \pi )\) )” <- の部分 はすっ飛ばしても問題なし。


あとついでに、二つのベクトルのなす角の計算 にもよく使われる

ベクトルの成分がわかっていれば、①&④式からそのなす角がでる。つまり①=④から展開して

\( \cos\theta = \dfrac{\vec{a} \cdot \vec{b}}{|\vec{a}| \cdot |\vec{b}|}=\displaystyle {\frac{x_a x_b+y_a y_b+z_a z_b}{\sqrt{{x_a}^2+{y_a}^2+{z_a}^2} \cdot \sqrt{{x_b}^2+{y_b}^2+{z_b}^2}}} \)

はさまれた角度を計算するには、ベクトル成分(座標値)ベースで式が立てられるので、実際の使い勝手が非常によい。(ちなみに、ベクトル成分ではなく長さベースであれば、余弦定理が同じような感じで使える)


後は、、円の接線をベクトルで求める時とかにも使ったりする。(内積が図的にイメージできると、道具として色々使い道が思いつくので、とても便利)
まぁ、個人的に内積のメリットを一番感じるのは、(軸変換とかで)行列で使う時かな。。。

追記

続いてベクトルの外積。次の記事にて。

タイトルとURLをコピーしました