分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!
向量(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...