向量點乘與叉乘

2021-08-30 15:20:30 字數 1980 閱讀 2363

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!

向量(vector)

在幾乎所有的幾何問題中,向量(有時也稱向量)是乙個基本點。向量的定義包含方向和乙個數(長度)。在二維空間中,乙個向量可以用一對x和y來表示。例如由點(1,3)到(5,1的向量可以用(4,-2)來表示。這裡大家要特別注意,我這樣說並不代表向量定義了起點和終點。向量僅僅定義方向和長度。

向量加法

向量也支援各種數**算。最簡單的就是加法。我們可以對兩個向量相加,得到的仍然是乙個向量。我們有:

v1(x1, y1)+v2(x2, y2)=v3(x1+x2, y1+y2)

下圖表示了四個向量相加。注意就像普通的加法一樣,相加的次序對結果沒有影響(滿足交換律),減法也是一樣的。

點乘(dot product)

如果說加法是憑直覺就可以知道的,另外還有一些運算就不是那麼明顯的,比如點乘和叉乘。

點乘比較簡單,是相應元素的乘積的和:

v1( x1, y1)   v2(x2, y2) = x1*x2 + y1*y2

注意結果不是乙個向量,而是乙個標量(scalar)。點乘有什麼用呢,我們有:

a   b = |a||b|cos(θ)

θ是向量a和向量b見的夾角。這裡|a|我們稱為向量a的模(norm),也就是a的長度, 在二維空間中就是|a| = sqrt(x2+y2)。這樣我們就和容易計算兩條線的夾角:cos(θ) = ab /(|a||b|)

當然你知道要用一下反余弦函式acos()啦。(回憶一下cos(90)=0 和cos(0) = 1還是有好處的,希望你沒有忘記。)這可以告訴我們如果點乘的結果,簡稱點積,為0的話就表示這兩個向量垂直。當兩向量平行時,點積有最大值

另外,點乘運算不僅限於2維空間,他可以推廣到任意維空間。(譯註:不少人對量子力學中的高維空間無法理解,其實如果你不要試圖在視覺上想象高維空間,而僅僅把它看成三維空間在數學上的推廣,那麼就好理解了)

叉乘(cross product)

相對於點乘,叉乘可能更有用吧。2維空間中的叉乘是:

v1(x1, y1) x v2(x2, y2) = x1y2 – y1x2

看起來像個標量,事實上叉乘的結果是個向量,方向在z軸上。上述結果是它的模。在二維空間裡,讓我們暫時忽略它的方向,將結果看成乙個向量,那麼這個結果類似於上述的點積,我們有:

a x b = |a||b|sin(θ)

然而角度θ和上面點乘的角度有一點點不同,他是有正負的,是指從a到b的角度。因此 ,向量的外積不遵守乘法交換率,因為向量a×向量b=-向量b×向量a在物理學中,已知力與力臂求外積,就是向量的外積,即叉乘。

向量c的方向與a,b所在的平面垂直,且方向要用「右手法則」判斷。判斷方法如下:

1.右手手掌張開,四指併攏,大拇指垂直於四指指向的方向;

2.伸出右手,四指彎曲,四指與a旋轉到b方向一致,那麼大拇指指向為c向量的方向。

另外還有乙個有用的特徵那就是叉積的絕對值就是a和b為兩邊說形成的平行四邊形的面積。也就是ab所包圍三角形面積的兩倍。在計算面積時,我們要經常用到叉積。

(譯註:三維及以上的叉乘參看維基:

點-線距離

給我老師的人工智慧教程打call!

向量點乘與叉乘

點乘 dot product 點乘,也叫向量的內積 數量積。顧名思義,求下來的結果是乙個數。向量a 向量b a b cos 在物理學中,已知力與位移求功,實際上就是求向量f與向量s的內積,即要用點乘。將向量用座標表示 三維向量 若向量a a1,b1,c1 向量b a2,b2,c2 則 向量a 向量b...

向量點乘與叉乘

向量 vector 在幾乎所有的幾何問題中,向量 有時也稱向量 是乙個基本點。向量的定義包含方向和乙個數 長度 在二維空間中,乙個向量可以用一對x和y來表示。例如由點 1,3 到 5,1的向量可以用 4,2 來表示。這裡大家要特別注意,我這樣說並不代表向量定義了起點和終點。向量僅僅定義方向和長度。向...

python如何叉乘 向量點乘與向量叉乘

向量的點積與向量的叉乘應該是高中時解析幾何的知識,很久沒有用,已經回憶不起來了,最近接觸到了,一臉茫然 1.向量的點乘 1.1 釋義 向量的點乘,也叫向量的內積 數量積,對兩個向量執行點乘運算,就是對這兩個向量對應位一一相乘之後求和的操作,點乘的結果是乙個標量。1.2 點乘公式 對於向量a a1,a...