6.向量

6.1 數學上的定義n

  • 定義

向量表示一組數的組合,在程序上表示就是一個數組

  • 向量與標量

我們平時用的很多數值都是標量,如價格、長度,它們表示的是一個數值大小。而向量不僅有大小,還有方向,比如速度。

  • 維度

向量維度是它所含元素的數目。向量可以有任意正數維,包括一維,實際上標量可以看成是一維向量。

  • 表達形式

水平書寫的叫行向量:[1,2,3]

垂直書寫的叫列向量:

  • 訪問向量的分量

可以採用下標記法訪問向量的分量,如v1表示向量v的第一個元素,不過我們一般在圖形中不討論n維向量,我們通常用x,y訪問2D向量; x,y,z訪問3D向量;x,y,z,w 訪問4D向量。

6.2 幾何上的定義

向量是有大小和方向的有向線段。

  • 大小表示向量的長度(模),向量有非負的長度
  • 方向表示在空間中的指向。

用圖形式表示向量就像一個箭頭:箭尾是向量的開始點,箭頭是向量的結束點。

6.3 向量與(相對)位置和位移

  • 向量有大小和方向,沒有位置,因為對於向量而言位置是沒有意義的。
  • 向量描述物體之間的相對差異和位移,因此它表示的是相對位置,不能認為向量有絕對位置
  • 因為向量表示相對位置,沒有絕對位置,因此可以在空間中任意平移
  • 向量的分量表示沿各個軸點的有向位移
  • 將向量表示為位移序列:思考向量所代表的位移的一個方式是將之分解成平行於軸的分量,將這些分量的位移組合起來就得到向量作為一個整體所代表的位移,位移序列無關緊要。

6.4 向量與點

點描述位置,點有位置。

向量有大小和方向,沒有位置 。向量描述位移,即相對位置。

6.5 零向量

  • 零向量是指每一維都是0的向量
  • 任意向量加上同維零向量等於它本身
  • 不同維的零向量不相等
  • 零向量比較特殊,它是唯一長度為0的向量
  • 同時,零向量也是唯一沒有方向的向量,因為它表示沒有位移

6.6 負向量

  • 向量V與另外一個同維向量相加得到零向量,我們就稱另一個向量為V的負向量。
  • 要求向量V的負向量-V,只需要對向量V的每一個分量取負數。其公式如下:

  • 上面公式運用到2D 3D 4D則有:

  • 幾何意義:負向量與原向量長度一樣,但方向相反

6.7 向量的大小(長度或模)

  • 向量的大小是個非負的標量。
  • 向量的長度是向量個分量平方和的平方根

  • 以上公式運用到2D/3D有

  • 幾何意義:向量求模過程可以認為是利用勾股定理求直角三角形斜邊長度的過程。

6.8 標量與向量的乘法

  • 標量與向量相乘只需將向量的每個分量乘以標量即可,標量與向量乘的順序沒有關係,但一般將標量寫在左邊。

  • 向量可以除以非零標量,等價於乘以標量的倒數。
  • 幾何意義:向量乘以標量k,表示以因子|k|縮放向量的長度。k<0時,向量的方向倒轉

6.9 標準化向量

  • 標準化向量又叫單位向量:長度為1的向量,有時簡稱法線。
  • 對於任意非零向量,都可以求得一個與之方向相同的單位向量。這個過程稱為標準化。
  • 要求向量V的標準化向量,只需要除以它的長度即可
  • 零向量沒有單位向量。

6.10 向量的加減法

  • 相同維數的向量可以相加或者相減。向量的相加只需要將對應的分量相加,其公式如下:

  • 向量相加滿足交換律:a+b = b + a
  • 向量相減不滿足交換律:a-b = - (b-a)
  • 幾何意義:向量平移。向量a+向量b,將向量b的尾連接向量a的頭,從a的為指向b的頭得到結果向量。這就是向量相加的三角形多則。向量相減類似,轉換成相加來看待。

  • 點到點的向量:很多情況需要求一個點a到點b的位移向量。把點a和b分別看成從原點出發的向量,接著利用三角形定則就可以求得a點到b點的位移向量a-b

6.11 距離公式

  • 距離定義為兩個點之間的線段長度。在幾何意義上,兩點之間的距離等於從一個點到另一個點的向量的長度。因為是長度,所以與方向無關。
  • 考慮點a與點b之間的距離,等於a到b的向量的長度即|b-a|

6.12 向量點乘

  • 向量的點乘,也叫內積,記做a.b。點乘優先順序高於向量的加減法
  • 向量的點乘等於對應分量乘積的和,是個標量

  • 向量點乘滿足交換律:a.b = b.a
  • 幾何意義:向量的點乘描述兩向量的相似度,點乘越大越相似。

  • 任意向量與零向量點乘的結果是0,點乘對零向量的解釋就是:所有向量都與零向量垂直。

6.13 向量叉乘

  • 向量的叉乘也叫叉積,記做a x b,我們用cross(a,b)表示。叉乘得到的是一個向量。
  • 叉乘公式

  • 叉乘優先順序高於點乘,點乘優先順序高於向量的加減法。
  • 叉乘不滿足結合律。也不滿足交換律,相反叉乘滿足反交換律:a x b = - ( b x a)
  • 任意向量與零向量叉乘結果為零向量,叉乘對零向量的解釋是:零向量平行於任意向量。
  • 幾何意義:叉乘得到的向量垂直原來的兩個向量
    • 叉乘的長度:看出叉乘的長度是以a和b為邊的平行四邊形的面積

    • 叉乘的方向:向量a和b乘的叉向量垂直向量,也就是說叉乘垂直a和b所構成的平面,但垂直於平面的向量有2個方向,叉乘是哪個方向呢?個人喜歡用左/右手定則來判定,左手坐標系用左手,右手坐標系用右手。以左手坐標係為例,伸出左手,展開手掌,四指併攏,大拇指垂直於四指,使a穿過掌心,四指與b方向一致,大拇指指向即叉乘的方向。

昵稱


推薦閱讀:

極簡的 PNG 編碼函數 svpng()
幻影坦克架構指南(一)
計算機輔助設計與製造CAE/CAM目前有哪些技術問題需要解決?
【《Real-Time Rendering 3rd》 提煉總結】(八) 第九章 · 全局光照:光線追蹤、路徑追蹤與GI技術進化編年史
如何渲染分子結構?

TAG:Unity游戏引擎 | 计算机图形学 | 向量 |