向量的叉乘與叉乘矩陣

本文以三維向量來講明向量的叉乘計算原理以及叉乘矩陣如何求取blog

一、向量叉乘的計算原理原理

             a、b分別爲三維向量:bfc

                                   a=({a_1},{a_2},{a_3})

                                   b=({b_1},{b_2},{b_3})

             a叉乘b通常定義爲:擴展

                                   a{\times}b  或 a{\otimes}b方法

             但是這只是一個符號的定義啊,具體怎麼獲得代數值im

                關鍵方法就是引入單位座標向量d3

             這裏用i j k來表示三維座標軸,這裏只是舉例,能夠擴展到更多維,只是比較抽象db

                a、經過引入單位向量,向量就能夠轉化爲代數形式:img

                                          a{\rm{=}}{a_1}i+{a_2}j+{a_3}k

                                          {\rm{b=}}{{\rm{b}}_1}i+{b_2}j+{b_3}k

                 b、定義單位向量間的運算規則ant

                                          i*i=0           j*j=0           k*k=0

                                          i*j=k          j*k=i           k*i=j

                                         j*i=-k       k*j=-i        i*k=-j

                 c、計算叉乘

                                 a{\times}b=({a_1}i+{a_2}j+{a_3}k)*({b_1}i+{b_2}j+{b_3}k)

                                 a{\times}b=({a_2}{b_3}-{a_3}{b_2})i+({a_3}{b_1}-{a_1}{b_3})j+({a_1}{b_2}-{a_2}{b_1})k

二、計算叉乘矩陣

              a{\times}b=({a_2}{b_3}-{a_3}{b_2})i+({a_3}{b_1}-{a_1}{b_3})j+({a_1}{b_2}-{a_2}{b_1})k

              把叉乘結果寫成向量的形式:

                                 a{\times}b=\left[\begin{array}{l}
{a_2}{b_3}-{a_3}{b_2}\\
{a_3}{b_1}-{a_1}{b_3}\\
{a_1}{b_2}-{a_2}{b_1}
\end{array}\right]

              變換形式獲得叉乘矩陣:

                                 a{\times}b={\left[a\right]_\times}b=\left[{\begin{array}{*{20}{c}}
0&{-{a_3}}&{{a_2}}\\
{{a_3}}&0&{-{a_1}}\\
{-{a_2}}&{{a_1}}&0
\end{array}}\right]\left[{\begin{array}{*{20}{c}}
{{b_1}}\\
{b{}_2}\\
{{b_3}}
\end{array}}\right]

               其中{\left[a\right]_\times}稱爲a向量的叉乘矩陣。

三、高維向量求取叉乘矩陣

                   對於三維和三維如下向量的叉乘計算和叉乘矩陣的求取經過定義單位向量間的運算規則能夠計算獲得。

               對於高維向量,這種方法顯得有些繁瑣不易理解且容易出錯。

               下面介紹另一種方法,先舉個二維的例子:

                   假設向量a是一個二維的向量(這裏只使用二維是爲了讓例子容易理解)

                                 a=\left({\begin{array}{*{20}{c}}
{{a_1}}&{{a_2}}
\end{array}}\right)

               這裏引入一個反對稱(anti-symmetric)矩陣H:

                                 H=\left[{\begin{array}{*{20}{c}}
0&{-1}\\
1&0
\end{array}}\right]

               經過計算aH{a^T},發現結果爲0

               由叉乘的規則,a叉乘a的結果爲0:

                                 a{\times}a={\left[a\right]_\times}a=0

               經過對比,能夠發現 aH 就是a向量的叉乘矩陣,當a爲列向量時{a^T}H爲a向量的叉乘矩陣。

 

               若是a爲三維向量,那麼H爲:

                H=\left[{\begin{array}{*{20}{c}}
{{H_1}}\\
{{H_2}}\\
{{H_3}}
\end{array}}\right]    {H_1}=\left[{\begin{array}{*{20}{c}}
0&0&0\\
0&0&{-1}\\
0&{-1}&0
\end{array}}\right]     {H_2}=\left[{\begin{array}{*{20}{c}}
0&0&1\\
0&0&0\\
{-1}&0&0
\end{array}}\right]     {H_3}=\left[{\begin{array}{*{20}{c}}
0&{-1}&0\\
1&0&0\\
0&0&0
\end{array}}\right]

               能夠發現H就是由一個個反對稱矩陣構成。

               若是向量a的維數爲 p ,那 H 就有 \frac{{p(p-1)}}{2}個子矩陣。

四、擴展

               對於向量的點乘、四元數乘法均可以經過定義單位向量 i j k…之間的運算規則來推導。

相關文章
相關標籤/搜索