天天看點

計算機圖形學(一)-向量、向量加減法、向量的點積(乘)、向量的叉積(乘)1. 向量2 向量加法3 向量減法4 向量的點積(乘)5 向量的叉積(乘)

向量、向量加減法、向量的點積(乘)、向量的叉積(乘)

  • 1. 向量
  • 2 向量加法
    • 2.1 三角形定則
    • 2.2 平行四邊形定則
  • 3 向量減法
  • 4 向量的點積(乘)
    • 4.1 點積介紹
    • 4.2 向量點乘适用的運算定律
    • 4.3 一個向量投影到另一個向量
    • 4.4 向量點乘的應用
      • 4.4.1 計算兩個向量的夾角
      • 4.4.2 判斷兩個向量的方向
      • 4.4.3 判斷兩個向量是否接近
  • 5 向量的叉積(乘)
    • 5.1 叉積(乘)介紹
    • 5.2 向量叉乘适用的運算定律
    • 5.3 向量叉乘的應用
      • 5.3.1 建立三維坐标系
      • 5.3.2 判斷一個向量在另一個的左側還是右側
      • 5.3.3 判斷一個點是否在三角形内部

1. 向量

向量 是用來表示既有大小又有方向的量,不過向量在空間中沒有具體的位置,通常用一個加粗的小寫字母來表示一個向量,或者不加粗頂上帶有小箭頭的小寫字母來表示
計算機圖形學(一)-向量、向量加減法、向量的點積(乘)、向量的叉積(乘)1. 向量2 向量加法3 向量減法4 向量的點積(乘)5 向量的叉積(乘)
由 A 點指向 B 點的一個有向線段,稱為向量 a
a = B - A 用有向線段的結束點B減去起始點A就得到這個向量 a
|a| 表示向量a的長度

â 表示機關向量

â = a / |a|

2 向量加法

向量加法不同于普通數學加法,它還具有方向屬性,是以向量加法采用三角形定則或平行四邊形定則計算

2.1 三角形定則

計算機圖形學(一)-向量、向量加減法、向量的點積(乘)、向量的叉積(乘)1. 向量2 向量加法3 向量減法4 向量的點積(乘)5 向量的叉積(乘)

将各個向量依次首尾順次相接,結果為第一個向量的起點指向最後一個向量的終點

向量a加向量b,将a和b首尾相連後,由a的起點指向b的終點,就是 a + b

2.2 平行四邊形定則

計算機圖形學(一)-向量、向量加減法、向量的點積(乘)、向量的叉積(乘)1. 向量2 向量加法3 向量減法4 向量的點積(乘)5 向量的叉積(乘)

将兩個向量平移至公共起點,以這兩個向量繪制平行四邊形,從公共起點到公共終點的向量為相加結果

将向量a和向量b的起點移到左下角的公共起點,然後以這兩個向量繪制平行四邊形,由公共起點指向公共終點就是 a + b

3 向量減法

向量減法一般使用三角形定則運算

計算機圖形學(一)-向量、向量加減法、向量的點積(乘)、向量的叉積(乘)1. 向量2 向量加法3 向量減法4 向量的點積(乘)5 向量的叉積(乘)

将兩個向量平移至公共起點O,從減數向量的終點B指向被減向量的終點A為相減結果

将向量a和向量b的起點移到左下角的公共起點O,從點B指向點A的向量就是 a - b

向量相減也可以當做加上一個負的向量,負向量代表大小相等方向相反的向量

計算機圖形學(一)-向量、向量加減法、向量的點積(乘)、向量的叉積(乘)1. 向量2 向量加法3 向量減法4 向量的點積(乘)5 向量的叉積(乘)
将向量相減當做加上一個負的向量,即 a - b = a + (-b)

4 向量的點積(乘)

4.1 點積介紹

計算機圖形學(一)-向量、向量加減法、向量的點積(乘)、向量的叉積(乘)1. 向量2 向量加法3 向量減法4 向量的點積(乘)5 向量的叉積(乘)

兩個向量的點積(乘),記作 a · b

兩個向量的點積等于兩個向量的長度相乘再乘以兩個向量夾角的餘弦值

a · b = |a| |b| cosθ

兩個向量夾角的餘弦值等于兩個向量的點積除以兩個向量的長度的積

計算機圖形學(一)-向量、向量加減法、向量的點積(乘)、向量的叉積(乘)1. 向量2 向量加法3 向量減法4 向量的點積(乘)5 向量的叉積(乘)

兩個向量夾角的餘弦值也等于兩個向量的機關向量的點乘

計算機圖形學(一)-向量、向量加減法、向量的點積(乘)、向量的叉積(乘)1. 向量2 向量加法3 向量減法4 向量的點積(乘)5 向量的叉積(乘)

4.2 向量點乘适用的運算定律

a · b = b · a

a · (b + c) = a · b + a · c

(ka) · b = a · (kb) = k(a · b)

4.3 一個向量投影到另一個向量

計算機圖形學(一)-向量、向量加減法、向量的點積(乘)、向量的叉積(乘)1. 向量2 向量加法3 向量減法4 向量的點積(乘)5 向量的叉積(乘)

向量 b⊥ 為向量 b 在向量 a 上的投影向量

向量 b⊥ 與向量 a 方向相同,若向量 a 是機關向量則有,

計算機圖形學(一)-向量、向量加減法、向量的點積(乘)、向量的叉積(乘)1. 向量2 向量加法3 向量減法4 向量的點積(乘)5 向量的叉積(乘)

通過三角函數的性質,可以得出

|b⊥| = |b|cosθ

4.4 向量點乘的應用

4.4.1 計算兩個向量的夾角

計算機圖形學(一)-向量、向量加減法、向量的點積(乘)、向量的叉積(乘)1. 向量2 向量加法3 向量減法4 向量的點積(乘)5 向量的叉積(乘)
已知兩個向量,可以通過以上公式求出cosθ, 然後通過反餘弦函數計算出夾角θ

4.4.2 判斷兩個向量的方向

計算機圖形學(一)-向量、向量加減法、向量的點積(乘)、向量的叉積(乘)1. 向量2 向量加法3 向量減法4 向量的點積(乘)5 向量的叉積(乘)
先将向量a和向量b做歸一化處理
計算機圖形學(一)-向量、向量加減法、向量的點積(乘)、向量的叉積(乘)1. 向量2 向量加法3 向量減法4 向量的點積(乘)5 向量的叉積(乘)
上述公式可變換為 a · b = cosθ

如果 a · b 等于1,說明夾角是0度或360度,兩個向量重合

如果 a · b 大于0小于1,說明夾角在0度到90度之間或270度與360度之間,即向量 a 與向量 b 是相同的方向

如果 a · b 等于0,說明夾角是90度或270度,兩個向量垂直

如果 a · b 小于0大于-1,說明夾角在90度到270度之間 (不包括180度),即向量 a 與向量 b 方向相反

如果 a · b 等于-1,說明夾角是180度,兩個向量方向相反,如上圖中向量 a 與向量 b2

4.4.3 判斷兩個向量是否接近

判斷兩個向量是否接近,其實是判斷方向的更近一步的應用,上面提到如果兩個向量點乘等于1說明兩個向量重合,那麼兩個向量點乘越接近1說明兩個向量越接近,這個性質在光反射模型中計算高光時非常有用,先簡單說一下,在近似鏡面反射中,如果反射光的方向與人眼觀察方向很接近,那麼在一定的範圍内可以觀察到物體表面的高光

5 向量的叉積(乘)

5.1 叉積(乘)介紹

兩個向量的叉積(乘)的結果是一個向量,記作c = a x b

計算機圖形學(一)-向量、向量加減法、向量的點積(乘)、向量的叉積(乘)1. 向量2 向量加法3 向量減法4 向量的點積(乘)5 向量的叉積(乘)

向量 a 叉乘向量 b 的結果為向量 c

向量 c 垂直于向量 a, 向量 c 垂直于向量 b,繼而向量 c 垂直于向量 a與向量 b組成的平面

向量 a 叉乘向量 b 等于負的向量 b 叉乘向量 a

a x b = -b x a

兩個向量的叉乘的模長等于兩個向量的模長相乘再乘以兩個向量夾角的正弦值

|a x b| = |a| |b| sinΦ

兩個向量平行,因為sin0 = 0,則得到 |a x b| = 0 ,0 代表0向量

|a x b| 的值是以向量 a 和向量 b 為邊組成的平行四邊形的面積

5.2 向量叉乘适用的運算定律

a x (b + c) = a x b + a x c

a x (kb) = k(a x b)

5.3 向量叉乘的應用

5.3.1 建立三維坐标系

5.3.2 判斷一個向量在另一個的左側還是右側

5.3.3 判斷一個點是否在三角形内部

繼續閱讀