Chapter 1 · 直覺基礎
「先轉再平移」跟「先平移再轉」結果不一樣 — 矩陣的順序是會說話的。
把兩個矩陣相乘的意思是:「先做 B,再做 A」。注意這個順序 — 寫法是 ,但讀的時候是從右往左:先把 餵給 ,得到 ,再把這個結果餵給 。
這個閱讀方向跟我們平常寫程式的 f(g(x)) 是一樣的 — 內層先算。
幾何上:A·B 是「在 B 變形後的空間裡再做 A」,B·A 是「在 A 變形後的空間裡再做 B」。除非兩個變換剛好「對稱」(例如繞同一軸的兩個旋轉、或兩個縮放),否則結果一定不同。
程式上:矩陣乘法沒有交換律,但有結合律。也就是說:
所以你可以「先算出 」再套用到一堆向量上,CPU 只乘一次。圖學裡的 Model · View · Projection 三矩陣鏈,引擎啟動時就會先預乘起來。