WPF 提供 TranslateTransform、RotateTransform、ScaleTransform 等高層變換類別,但當需要任意組合、非標準變換(如剪切、自定義仿射變換)時,MatrixTransform 以 3x3 矩陣直接操作座標,提供最底層、最靈活的控制。理解矩陣如何影響幾何變換,是掌握進階圖形編程的關鍵。
WPF 使用 3x3 矩陣(結構 Matrix 僅存 6 個值 M11, M12, M21, M22, OffsetX, OffsetY,最右列固定 0,0,1)。點 (x, y) 以齊次座標 [x y 1] 左乘矩陣:
[x' y' 1] = [x y 1] × | M11 M21 0 |
| M12 M22 0 |
| OffX OffY 1 |
對角元素 M11、M22 控制 X、Y 縮放。例如 M11=2 使 X 座標加倍。

線性變換子矩陣(左上 2x2)為旋轉矩陣:
| cosθ -sinθ |
| sinθ cosθ |
對應 M11=cosθ, M12=-sinθ, M21=sinθ, M22=cosθ。

非線性變換,由 OffsetX、OffsetY(矩陣第三行前兩元素)實現:
x' = x + OffsetX
y' = y + OffsetY

將縮放、旋轉、平移合併為單一 3x3 矩陣即為仿射變換。矩陣乘法不具交換律,操作順序不同結果不同:
[S×R] + T([S×R] + T) ≠ [S×R] + T

TranslateTransform 等高層 API,可讀性佳。Matrix 或 MatrixTransform。MatrixTransform 建構函式接受 6 參數 (M11, M12, M21, M22, OffsetX, OffsetY),對應 3x3 矩陣非固定值。掌握矩陣數學與 WPF MatrixTransform 的對應關係,能讓開發者突破高層封裝限制,實現任意複雜的幾何變換與動畫效果,是進階 WPF 圖形編程的核心技能。