變換矩陣是數學線性代數中的一個概念。線性變換採用矩陣表示時，如果 T 是一個把 Rn 對映到 Rm 的線性變換，且 x 是一個具有 n 個元素的 column vector，那麼 T vec x mathbf A vec x 我們把 mn 的矩陣 A，稱為 T 的變換矩陣。 應用 任意線性變換都可以用矩陣表示為易於計算的一致形式，並且多個變換也可以很容易地透過矩陣的相乘連線在一起。 線性變換不是唯一可以用矩陣表示的變換。Rn 維的仿射變換與透視投影都可以用齊次座標表示為 RPn1 維（即 n1 維的真實投影空間）的線性變換。因此，在三維計算機圖形學中大量使用著 4x4 的矩陣變換。 尋找變換矩陣 如果已經有一個函式型的線性變換 T x，那麼透過 T 對標準基每個向量進行簡單變換，然後將結果插入矩陣的列中，這樣很容易就可以確定變換矩陣 A，即 mathbf A begin pmatrix T vec e_1 T vec e_2 cdots T vec e_n end pmatrix 例如，函式 T x 5x 是線性變換，透過上面的過程得到（假設 n 2） T vec x 5 vec x begin pmatrix 5 0 0 5 end pmatrix vec x 在二維圖形中的應用示例 最為常用的幾何變換都是線性變換，這包括旋轉、縮放、切變、反射以及正投影。在二維空間中，線性變換可以用 22 的變換矩陣表示。 旋轉 繞原點逆時針旋轉 θ 度角的變換公式是 x x cos theta y sin theta 與 y x sin theta y cos theta，用矩陣表示為： begin pmatrix x y end pmatrix begin pmatrix cos theta sintheta sin theta cos theta end pmatrix begin pmatrix x y end pmatrix 縮放 縮放（反矩陣）公式為 x s_x cdot x 與 y s_y cdot y，用矩陣表示為： begin pmatrix x y end pmatrix begin pmatrix s_x 0 0 s_y end pmatrix begin pmatrix x y end pmatrix 平移 平移有兩種可能的形式： 平行於 x 軸的推移為 x x ky 與 y y，矩陣表示為： begin pmatrix x y end pmatrix begin pmatrix 1 k 0 1 end pmatrix begin pmatrix x y end pmatrix 平行於 y 軸的推移為 x x 與 y y kx，矩陣表示為： begin pmatrix x y end pmatrix begin pmatrix 1 0 k 1 end pmatrix begin pmatrix x y end pmatrix 反射 為了沿經過原點的直線反射向量，假設（ux uy）為直線方向的單位向量。變換矩陣為： begin pmatrix x y end pmatrix begin pmatrix 2 u_x2 1 2 u_x u_y 2 u_x u_y 2 u_y2 1 end pmatrix begin pmatrix x y end pmatrix 不經過原點的直線的反射是仿射變換，而不是線性變換。 若一座標（x y）沿直線 y tan theta cdot x 進行反射，則其影像（x y）可用以下公式求得： begin pmatrix x y end pmatrix begin pmatrix cos 2theta sin 2theta sin 2theta cos 2theta end pmatrix begin pmatrix x y end pmatrix 正投影 為了將向量正投影到一條經過原點的直線，假設（ux uy）是直線方向的單位向量，變換矩陣為： begin pmatrix x y end pmatrix begin pmatrix u_x2 u_x u_y u_x u_y u_y2 end pmatrix begin pmatrix x y end pmatrix 跟反射一樣，正投影到一條不經過原點的直線的變換是仿射變換，而不是線性變換。 平行投影也是線性變換，也可以用矩陣表示。但是透視投影不是線性變換，必須用齊次座標表示。 組合變換與逆變換 用矩陣表示線性變換的一個主要動力就是可以很容易地進行組合變換以及逆變換。 組合可以透過矩陣乘法來完成。如果 A 與 B 是兩個線性變換，那麼對向量 x 先進行 A 變換，然後進行 B 變換的過程為： mathbf Bmathbf A vec x mathbf BA vec x 換句話說，先 A 後 B 變換的組合等同於兩個矩陣乘積的變換。需要注意的是先 A 後 B 表示為 BA 而不是 AB。 能夠透過兩個矩陣相乘將兩個變換組合在一起這樣的能力就使得可以透過逆矩陣進行變換的逆變換。A 1 表示 A 的逆變換。 變換矩陣並不都是可逆的，但通常都可以進行直觀的解釋。在上一節中，幾乎所有的變換都是可逆的。只要 s_x 與 s_y 都不為零，那麼縮放變換也是可逆的。另外，正投影永遠是不可逆的。 其它型別的變換 仿射變換 為了表示仿射變換，需要使用齊次座標，即用三維向量（x y 1）表示二維向量，對於高維來說也是如此。按照這種方法，就可以用矩陣乘法表示變換。x x t_x y y t_y 變為 begin pmatrix x y 1 end pmatrix begin pmatrix 1 0 t_x 0 1 t_y 0 0 1 end pmatrix begin pmatrix x y 1 end pmatrix 在矩陣中增加一列與一行，除右下角的元素為 1 外其它部分填充為 0，透過這種方法，所有的線性變換都可以轉換為仿射變換。例如，上面的旋轉矩陣變為 begin pmatrix cos theta sin theta 0 sin theta cos theta 0 0 0 1 end pmatrix 透過這種方法，使用與前面一樣的矩陣乘積可以將各種變換無縫地整合到一起。 當使用仿射變換時，齊次座標向量 w 從來不變，這樣可以把它當作為 1。但是，透視投影中並不是這樣。 透視投影 三維計算機圖形學中另外一種重要的變換是透視投影。與平行投影沿著平行線將物體投影到影像平面上不同，透視投影按照從投影中心這一點發出的直線將物體投影到影像平面。這就意味著距離投影中心越遠投影越小，距離越近投影越大。 最簡單的透視投影將投影中心作為座標原點，z 1 作為影像平面，這樣投影變換為 x x z y y z，用齊次座標表示為： begin pmatrix x_c y_c z_c w_c end pmatrix begin pmatrix 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 end pmatrix begin pmatrix x y z 1 end pmatrix 這個乘法的計算結果是 x_c y_c z_c w_c x y z z。） 在進行乘法計算之後，通常齊次元素 wc 並不為 1，所以為了映射回真實平面需要進行齊次除法，即每個元素都除以 wc： begin pmatrix x y z end pmatrix begin pmatrix x_c w_c y_c w_c z_c w_c end pmatrix 更加複雜的透視投影可以是與旋轉、縮放、平移、切變等組合在一起對影像進行變換。 參見 三維投影 參考資料 外部連結 Category 矩陣 Category 線性代數 Category 計算機圖形學