1. 程式人生 > >向量叉積的幾何意義

向量叉積的幾何意義

其實這篇文章主要討論為何向量叉積這樣定義,標題是為了吸引人,讓更多有同樣疑惑的人搜到。
記得上大學時的第一節課是《空間解析幾何》,和大多數的教材一樣,開篇就是向量點積和叉積的定義。點積的定義很好理解 ,a·b(為了討論方便,之後都假設b為單位向量)可以看成向量a在向量b方向上的投影長度。
圖1
(圖1)

叉積的定義就比較奇怪了,按理說a·b是a在平行於b方向上的分量上的長度,相應的a×b應該是a在垂直b方向上的分量的長度,也就是上圖中虛線部分。然而a×b被定義成了一個向量,方向垂直於oab平面(在這裡,如果用右手法則的話,垂直紙面向裡)。將叉積定義為向量還好理解,這個奇怪的方向是什麼鬼?

閒話少說,先上結論:為了滿足乘法交換律
乘法的三大運算定律:
1.乘法分配律
兩個數的和同一個數相乘,等於把兩個加數分別同這個數相乘,再把兩個積加起來,和不變。
(a+b)×c =a×c+b×c
2.乘法結合律
三個數相乘,先把前兩個數相乘,再和另外一個數相乘,或先把後兩個數相乘,再和另外一個數相乘,積不變。
a×b×c=a×(b×c)
3.乘法交換律
乘法交換律是兩個數相乘,交換因數的位置,它們的積不變。
a×b=b×a
點積和叉積作為我們定義的乘法,要儘量滿足這三個運算定律。所謂儘量滿足,就是說不做強制要求,三個滿足不了就先滿足兩個,兩個滿足不了就先滿足一個,一個都滿足不了還是不要叫他乘法了,換個名字吧。當然滿足得越多越好,實在滿足不了,近似滿足也可以接受。

下面分別來檢驗點積和叉積是否滿足乘法運算定律。由於結合律作用不大,應用的也比較少,這裡暫時不做檢驗,只檢驗分配律和交換律。

點積a·b

這裡寫圖片描述
(圖2)

向量a分解成了兩個向量a1和a2,a=a1+a2
a·b=OX2的長度(假設b為單位向量)
a1·b=OX1的長度
a2·b=X1X2的長度
明顯 OX2的長度 = OX1的長度+X1X2的長度
亦即 a·b=a1·b+a2·b 分配律成立
再來看看交換律
按點積的定義a·b = a的長度×b的長度×cos(a和b的夾角)
b·a = b的長度×a的長度×cos(b和a的夾角)
都是數值的運算 所以a·b=b·a 交換律成立
然而點積也有一點不合理之處,兩個向量的點積結果是一個標量,方向丟掉了。假如我們把點積的結果定義為一個向量是不是可以呢?反正定義都是人為的,我們重新定義點積也未嘗不可。好,我們就把a·b 定義為一個向量,大小和之前一樣,是a的長度×b的長度×cos(a和b的夾角),方向是b的方向,也就是a在b方向上的水平分量,對應上圖中的向量OX2。
按照新定義的點積
a·b=向量OX2
a1·b =向量OX1
a2·b =向量X1X2
向量OX2=向量OX1+向量X1X2,
所以按新定義的點積,分配律是成立的
我們再來看看交換律
這裡寫圖片描述


(圖3)

按我們定義的點積a·b的朝向是b方向,b·a的朝向是a方向,兩個點積的方向不同,交換律不成立。這就是將點積定義為標量而不是向量的原因,也可以說點積為了滿足交換律放棄了結果的方向。

叉積a×b

同樣的我們來重新定義叉積,將叉積a×b定義為a在b的垂直方向上的分量,接著和點積一樣去掉方向將結果定義為標量,看下圖
這裡寫圖片描述
(圖4)

a×b = y0y2的長度,
a1×b = y0y1的長度,
a2×b = y1y2的長度,
和點積的情況是一樣的,滿足分配律也滿足交換律,完美。
但是我們這裡都是在二維的情況下來考量的,我們來看看三維空間下是什麼情況:
這裡寫圖片描述
(圖5)

向量a分解為兩個向量OA1和A1A2(A1和A2分別是向量a1,a2的頂點,圖上未畫出來),p1和p2是垂直於b的平面,虛線部分的長度就是我們定義的叉積a1×b
這裡寫圖片描述
(圖6)

上圖虛線部分的長度就是我們定義的叉積a2×b
我們將p1,p2平面合到一起
這裡寫圖片描述
(圖7)

從前兩圖的視線方向看,就是下面的效果:
這裡寫圖片描述
(圖8)

這裡為了畫圖方便,選擇了兩個比較極端的分量a1,a2。
從上面的最後一張圖上看,虛線部分的長度之和明顯大於實線部分的長度(也就是a×b ),新定義的叉積不滿足分配律。
仔細看上圖,三條線段組成了一個閉合的三角形,將每一個線段看成一個向量:
這裡寫圖片描述
(圖9)

則a×b = a1×b + a2×b,也就是說我們修改下定義,把叉積定義為一個向量就能滿足分配律了。

再來看交換律,回頭看圖(3),按我們現在的定義a×b 和b×a 分別垂直b和a,方向不一致,不滿足交換律。
這時候如果我們修改定義將a×b繞著b軸按左手法則旋轉90度,這時a×b垂直a,b所在平面,如下圖左半部分
這裡寫圖片描述
(圖10)
當然按右手法則旋轉也是可以的,這裡主要是為了和書本上的定義一致。
同時我們對b×a進行同樣的操作,看圖(10)右半部分。我們看到a×b和b×a都垂直於平面,在一條直線上,但是方向相反(大小相等我們就不做過多解釋了),即:
a×b = -b×a
近似滿足了乘法交換律,只要我們能夠接受這個多出來的負號。

那麼問題來了,跟挖掘機技術無關,修改過定義以後的叉積還滿足分配律嗎?
答案是肯定的。看圖(9),a×b,a1×b,a2×b三個向量是未做旋轉前的叉積向量,這時的b軸垂直紙面朝裡,這三個向量在一個平面上,且這個平面垂直於b軸。
我們對圖(9)稍作修改
這裡寫圖片描述
圖(11)
將a2×b移至和b軸相交處,將整個平行四邊形逆時針旋轉90度,a×b,a1×b,a2×b都旋轉了90度,平行四邊形的形狀沒有發生改變,
a×b = a1×b + a2×b
仍然成立。

另外,之前點積也是在二維的情況下討論的,在三維空間下還滿足乘法分配律和交換律嗎?
這個問題就留給聰明的你了。