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*}

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

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です