Vector dot product
Dot product 有別於 addition 和 scalar multiplication,他將 output 出一個 scalar value
a⋅b=a1a2⋮an⋅b1b2⋮bn=a1b1+a2b2+⋯+anbn (A scalar value) 例如
[25]⋅[25]=4+25=29 而向量的 Length 可以計算為
∥a∥=a12+a22+⋯+an2 在二維向量的情況下,計算其 Length 就像 Pythagorean Theorem 一樣
a=[25],∥a∥=22+52=29 但這個方法卻可以很有效的計算超過二、三維以上的長度,並且我們可以定義為
∥a∥∥a∥2=a1a2⋮an⋅a1a2⋮an=a⋅a=a⋅a Dot Product Properties
Commutative, Distributive, Associative
1. v⋅w=w⋅v2. (v+w)⋅x=(v⋅x+w⋅x)3. (c⋅v)⋅w=c⋅(v⋅w) ∣x⋅y∣≤∥x∥⋅∥y∥∣x⋅y∣=∥x∥⋅∥y∥⟺x=cy (co-linear) ∥x+y∥≤∥x∥+∥y∥∥x+y∥=∥x∥+∥y∥⟺x=cy∣c>0 我們可以用二維空間來展示,而且好處是可以套用至更高維的空間
a⋅baa=∥a∥⋅∥b∥⋅cosθ=c⋅b∣c>0⇒θ=0=c⋅b∣c<0⇒θ=180∘ 套用這個公式,我們可以得出當 cos 為 90 度的時候,兩個向量的 dot product 必須為零
a⋅b=∥a∥⋅∥b∥⋅cos(90∘)=∥a∥⋅∥b∥⋅0=0 所以得出了 Perpendicular 的結論,但這個結論不是雙向的,因為 0 vector 不算在裡面
a,b are perpendicular⇒a⋅b=0⇐a,b=0,a⋅b=0 那如果只有給予兩個向量的 dot product 為零,這個情況稱作為 orthogonal
同時也可以知道, 0 vector 可以和任何的向量 orthogonal
a⋅b=0⟺a,b are orthogonal Defining a plane in R3
接下來,將可以透過上面的 properties 以及 一個點 和 一個 normal vector 來定義出一個平面的 equation
平面的 equation 可以表示成這樣,也就是給定 (x, y, z) 可以滿足以下等式
Ax+By+Cz=D 我們可以從兩個向量 (a, b) 得到 躺在平面 的向量 (a - b),並且他會與 normal vector (n) 相互垂直
n⋅(a−b)=0n1n2n3⋅a1−b1a2−b2a3−b3=0n1(a1−b1)+n2(a2−b2)+n3(a3−b3)=0(Ax+By+Cz=D) 舉個例子,假設我們有一個 normal vector 和兩個指到平面的向量
nx0x=(1,3,−2)=(1,2,3)=(x,y,z) 再用 dot product 來帶入 n 和 (x-x0) 會等於 0 的結果,就可以得到平面方程式
n⋅(x−x0)=013−2⋅x−1y−2z−3=01(x−1)+3(y−2)−2(z−3)=0x−1+3y−6−2z+6=0x+3y−2z=1
==n1(a1−b1)+n2(a2−b2)+n3(a3−b3)1(x−1)+3(y−2)−2(z−3)0 Cross Product
Cross Product 只使用於三維空間中, a × b 將會與 a 和 b 互相垂直 (dot product = 0)
要注意的是第二列是顛倒的 !
a=a1a2a3,b=b1b2b3,a×b=a2b3−a3b2a3b1−a1b3a1b2−a2b1 舉個例子
1−71×524=−7×4−1×21×5−1×41×2−(−7)×5=−30137 我們可以利用右手定則看到 cross product 的結果
Relationship between cross product and sin of angle: https://youtu.be/7MKA2QlKvHc
a⋅b∥a×b∥=∥a∥∥b∥cos(θ)=∥a∥∥b∥sin(θ) Dot and cross product comparison
a⋅b=∥a∥∥b∥cosθcosθ=∥a∥adj,adj=∥a∥cosθ 這個鄰邊 (adj.) 可以說是 a 向量的投影
所以 dot product 可以象徵是 a 向量的投影和 b向量在同方向的 magnitude
a⋅b=∥b∥×adj 所以在 theta 等於 90 度 (垂直) 時,投影便會不見,dot product 也會等於 0
而 theta 等於 0 (平行) 時,則可以得到 dot product 的最大值
when θ=90∘,a⋅b=∥a∥∥b∥cos90∘=∥a∥∥b∥×0=0when θ=0∘,a⋅b=∥a∥∥b∥cos0∘=∥a∥∥b∥×1=0=∥a∥∥b∥ a×b=∥a∥∥b∥sinθsinθ=∥a∥opt,opt=∥a∥sinθ 這個對邊 (opt.) 可以說是 a 向量垂直於 b 向量的那條線
a×b=∥b∥×opt 當 theta 等於 90 度 (垂直) 時,opt 就會變為 a 向量本身,所以得到 cross product 最大值
當 theta 等於 0 (平行) 時,opt 便會消失,cross product 也會等於 0
when θ=90∘,a⋅b=∥a∥∥b∥sin90∘=∥a∥∥b∥×1=∥a∥∥b∥when θ=0∘,a⋅b=∥a∥∥b∥sin0∘=∥a∥∥b∥×0=0 Normal vector from plane equation
我們可以從平面方程式直接得到 Normal Vector 的方程式
Plane Unormal vector n=Ax+By+Cz=D=ABC Point distance to plane
要找出某一個不在平面 U 的點 a 和 U 之間的最短距離 d 時
先找到原點指向該平面的向量 b,再和原點到點 a 的向量 a 相減得到 f
n=ABC,f=a0−b0a1−b1a2−b2 透過計算 cos 的公式可以得到 d 的結果,但我們不知道 theta 是多少啊
cosθ=∣f∣d,d=∣f∣cosθ 沒關係, f 跟 d 的角度會跟 U 的法向量 n 一模一樣,我們帶入 n 向量發現分子變成 n 和 f 的 dot product
d=∣n∣∣n∣∣f∣cosθ=∣n∣n⋅f=A2+B2+C2Aa0−Ab0Ba1−Bb1Ca2−Cb2=A2+B2+C2Aa0+Ba1+Ca2−D 舉個例子 Find the distance between (2, 3, 1) and plane (x - 2y + 3z = 5)
d=12+(−2)2+321⋅2−2⋅3+3⋅1−5=1+4+92−6+3−5=14−6 Distance between plane
現在有一平面方程式為 Ax−2y+z=d還有另一平面包含兩條線 2x−1=3y−2=4z−3 和 3x−2=4y−3=5z−4並且兩個平面為平行的,且距離為6請求出 ∣d∣ 我們先找出第二個平面的方程式,因為是平行的,所以他會跟第一個平面的方程式幾乎一樣,只有 d 不同
首先先找出該平面上兩條線的 cross product 得出該平面的 normal vector
a=(1,2,3) and b=(3,5,7) from the first linec=(2,3,4) from the second linea=b−a=2i+3j+4kb=c−a=i+j+ka×b=i21j31k41=−i+2j−k=n 接著找出平面上任何一點的和 abc 隨便一點所生成的向量,根據 normal vector 來找出該平面的方程式
cn n×c−x+−x+x−=(x−1)i+(y−2)j+(z−3)k=−i+2j−k=01+2y−4−z+3=02y−z=02y+z=0 由此可知,A 得值為 1,所以第一個平面的方程式應該為
⇒Ax−2y+z=dx−2y+z=d 最後帶入 point to plane 的公式即可,point 我們帶 (2, 3, 4),以及題目給的 distance
distance6d∣d∣=12+(−2)2+122⋅1−3⋅2+4⋅1−d=6−d=−6=6 算出 d 的絕對值為 6