2つのベクトルが平行かどうか確かめる

2次元の場合

2次元の場合、2つのベクトルが平行かどうかを確かめるには、いずれか一方を90度回転させて、それが他のベクトルと直角であるかどうかを確かめるとよい(→ベクトルを90度回転させる方法)。

以下の2つのベクトルが平行かどうかを確認するには、

    $$ \begin{align*} {\boldsymbol u} = (u_x , u_y) \\ {\boldsymbol v} = (v_x , v_y) \end{align} $$

たとえば{\boldsymbol v}を90度回転させて内積がゼロかどうかを確認する。

    $$ (u_x , u_y) \cdot (v_y , -v_x) = 0? $$

なお、この式は、2つのベクトルの外積のx-y平面に垂直な成分(z成分)を計算していることになる。

    $$ {\boldsymbol u} \times {\boldsymbol v} = \left| \begin{array}{ccc} {\boldsymbol i} & {\boldsymbol j} & {\boldsymbol k} \\ u_x & u_y & u_z \\ v_x & v_y & v_z \end{array} \right| = (u_y v_z - u_z v_y , u_z v_x - u_x v_z , u_x v_y - u_y v_x) $$

この2次元の2つのベクトルの場合、外積の絶対値はz成分の大きさにほかならず、その値は\sin \thetaに対応することから、この値がゼロの場合は\theta = 0すなわち平行を意味する。

なお数値計算上は、内積値の絶対値がある小さな値より小さいかどうかを判定することになる。

一般的な方法

2つのベクトルが平行な時、そのなす角がゼロとなることから以下が成り立つ。

(1)    \begin{equation*} | {\boldsymbol a} \cdot {\boldsymbol b | = | {\boldsymbol a} | \cdot | {\boldsymbol b} | \cos \theta = | {\boldsymbol a} | \cdot | {\boldsymbol b} | \end{equation*}

この等式についても、小さな値との比較で判定する。

 

直角なベクトルを作り出す

下図のように互いに直交する2つのベクトルを考える。

math_linear_tool_1

これらのベクトルが直角であるためには、内積がゼロとなればよい。

    $$ {\bf v} \cdot {\bf u} = | {\bf v} | | {\bf u} | cos \frac{\pi}{2} = 0 $$

成分表示すれば

    $$ {\bf v} \cdot {\bf u} = v_x u_x + v_y u_y = 0 $$

これを満足する最もわかりやすいベクトル{\bf u}は、{\bf v}の要素を入れ替えて、何れか片方をマイナスとしたもの。

    $$ {\bf u} = (v_y , -v_x) \ {\rm or} \ (-v_y , v_x) $$

ここで要素を入れ替えた後のy成分をマイナスとしたベクトルは、元のベクトルを90度右に回転させたもので、x成分をマイナスとしたベクトルは、元のベクトルを90度左に回転させたもの。

math_linear_tool_right_angle2

これは回転行列を使って確かめることもできる。ただし以下の式で、+は左回り、-は右回りの回転であることに注意。

    $$ \left[ \begin{array}{rr} \cos \left( \pm \frac{\pi}{2} \right) & -\sin \left( \pm \frac{\pi}{2} \right)\\ \sin \left( \pm \frac{\pi}{2} \right) & \cos \left( \pm \frac{\pi}{2} \right) \end{array} \right] \left[ \begin{array}{c} v_x & v_y \end{array} \right] = \left[ \begin{array}{rr} 0 & \mp 1 \\ \pm 1 & 0 \end{array} \right] \left[ \begin{array}{c} v_x & v_y \end{array} \right] = \left[ \begin{array}{c} \mp v_y & \pm v_x \end{array} \right] $$