← 回線性代數專區

Chapter 1 · 直覺基礎

🧊 4×4 矩陣變換

「矩陣不是一堆數字 — 它是一個動作。」拖滑鼠繞圈看立方體,動手改數字試試。

X 軸
Y 軸
Z 軸
原向量
變換後
🎯 預設變換

點上面任一按鈕,或自己改下面的數字。

🔲 變換矩陣 M

右邊一欄 (M03, M13, M23) 是平移;最後一列鎖住,動了會破壞齊次座標。

🏹 輸入向量 v
X
Y
Z
W
🧮

[ 1, 1, 1 ]


行列式 1

📖 為什麼要先學這個?

線性代數最核心的觀念是:矩陣不是一堆死數字,而是一個「動作」。它把一個向量送進去,吐出另一個向量。從這個角度看,所有線性代數的招式(投影、對角化、SVD ...)都是在問同一件事:這個動作到底在做什麼?

4×4 是 3D 圖學的標準尺寸。為什麼不是 3×3?因為 3×3 矩陣只能做旋轉、縮放、剪切這些「動原點不變」的變換,做不了平移。把座標多加一個 變成 4 維(叫做齊次座標),平移就能塞進矩陣最右邊那一欄裡。代價就是多了一列 ,這列除非要做透視投影,否則永遠是這個樣子。

🎮 動手試試

  1. 縮放 → 看立方體在 X 方向變寬、Y 方向被壓扁。注意對角線上的數字直接控制每個軸的縮放比例。
  2. 繞 Z 旋轉 45° → 立方體繞 Z 軸轉了。注意數字裡那些 0.7071,就是 cos45° 和 sin45°。
  3. 鏡射 → 立方體翻面了。看下面的行列式變成 −1,這就是「翻過去」的數學記號。
  4. 手動把 M[0][0] 改成 0 → 立方體被壓成一個平面。行列式變成 0,代表這個矩陣把整個 3D 空間壓扁了,沒辦法還原。
  5. 連續點不同的 preset → 你會發現變換是「取代」不是「累加」。如果想做組合,得自己把矩陣相乘(之後的章節會玩到)。

💡 行列式在說什麼

右下角那個 數字,其實是「這個變換把單位立方體的體積放大幾倍」

  • — 體積不變(旋轉、平移都是這樣)
  • — 體積變兩倍(縮放、剪切會改變)
  • — 翻面了(鏡射、反射)
  • — 壓扁了。這個矩陣不可逆,因為你沒辦法把一個平面「還原回」一個立方體。