← 回線性代數專區

Chapter 1 · 直覺基礎

🔗 矩陣組合

「先轉再平移」跟「先平移再轉」結果不一樣 — 矩陣的順序是會說話的。

目前順序:C = A · B
1

📖 為什麼順序這麼重要?

把兩個矩陣相乘的意思是:「先做 B,再做 A」。注意這個順序 — 寫法是 ,但讀的時候是從右往左:先把 餵給 ,得到 ,再把這個結果餵給

這個閱讀方向跟我們平常寫程式的 f(g(x)) 是一樣的 — 內層先算。

🎮 動手試試

  1. A 選 繞 Z 旋轉 45°,B 選 平移 → 立方體先被平移,再被旋轉(旋轉是繞原點轉,結果立方體飛遠了)
  2. 🔄 交換順序 → 變成「先轉再平移」。立方體該在的位置完全不一樣了!
  3. 把 A 和 B 都改成 繞 Z 旋轉 → 順序沒差別,因為兩個旋轉繞同一根軸,可交換。
  4. A 設 縮放,B 設 剪切 → 順序差很多,因為縮放與剪切不可交換。

💡 順序為什麼重要?

幾何上:A·B 是「在 B 變形後的空間裡再做 A」,B·A 是「在 A 變形後的空間裡再做 B」。除非兩個變換剛好「對稱」(例如繞同一軸的兩個旋轉、或兩個縮放),否則結果一定不同。

程式上:矩陣乘法沒有交換律,但有結合律。也就是說:

所以你可以「先算出 」再套用到一堆向量上,CPU 只乘一次。圖學裡的 Model · View · Projection 三矩陣鏈,引擎啟動時就會先預乘起來。