複製鏈接
請複製以下鏈接發送給好友

變換矩陣

鎖定
變換矩陣是數學線性代數中的一個概念。在線性代數中,線性變換能夠用矩陣表示。如果T是一個把Rn映射到Rm的線性變換,且x是一個具有n個元素的列向量 ,那麼我們把m×n的矩陣A,稱為T的變換矩陣。 [1] 
中文名
變換矩陣
外文名
transformation matrix
屬    性
一個概念
學    科
數學線性代數
表示方法
矩陣表示
應用領域
三維計算機圖形學
應用實例
函數型的線性變換T(x)
類    型
數學術語

變換矩陣應用領域

任意線性變換都可以用矩陣表示為易於計算的一致形式,並且多個變換也可以很容易地通過矩陣的相乘連接在一起。 [2] 
線性變換不是唯一可以用矩陣表示的變換。R維的仿射變換與透視投影都可以用齊次座標表示為RP維(即n+1 維的真實投影空間)的線性變換。因此,在三維計算機圖形學中大量使用着 4x4 的矩陣變換

變換矩陣計算方法

尋找變換矩陣A的方法
如果有一個函數形式的線性變換T(x),那麼通過T對x的每個標準基進行變換,並將變換結果依次插入矩陣的列,這樣就可以確定變換矩陣A,如:
例如,函數T(x) = 5x線性變換,通過上面的過程得到(假設n= 2 ) [2] 

變換矩陣應用實例

最為常用的幾何變換都是線性變換,這包括旋轉、縮放、切變、反射以及正投影。在二維空間中,線性變換可以用 2×2 的變換矩陣表示。
旋轉:繞原點逆時針旋轉 θ 度角的變換公式是x' =xcosθ -ysinθ 與y' =xsinθ +ycosθ,用矩陣表示為:
縮放:縮放公式用矩陣表示為:
切變:切變有兩種可能的形式,平行於x軸的切變為x' =x+kyy' =y,矩陣表示為:
平行於y軸的切變x' =xy' =y+kx,矩陣表示為:
反射:為了沿經過原點的直線反射向量,假設 (ux,uy) 為直線方向的單位向量。變換矩陣為:
按照不經過原點的直線的反射是仿射變換,而不是線性變換。
正投影:為了將向量正投影到一條經過原點的直線,假設 (ux,uy) 是直線方向的單位向量,變換矩陣為:
同反射一樣,正投影到一條不經過原點的直線的變換是仿射變換,而不是線性變換。
平行投影也是線性變換,也可以用矩陣表示。但是透視投影不是線性變換,必須用齊次座標表示。

變換矩陣變換性質

用矩陣表示線性變換的一個主要動力就是可以很容易地進行組合變換以及逆變換。 [2] 
組合變換:組合可以通過矩陣乘法來完成。如果AB是兩個線性變換,那麼對向量x先進行A變換,然後進行B變換的過程為:
換句話説,先A'B變換的組合等同於兩個矩陣乘積的變換。需要注意的是先AB表示為BA而不是AB
逆變換:能夠通過兩個矩陣相乘將兩個變換組合在一起這樣的能力就使得可以通過逆矩陣進行變換的逆變換。A表示A的逆變換。變換矩陣並不都是可逆的,但通常都可以進行直觀的解釋。在特殊的情況下,幾乎所有的變換都是可逆的。只要sxsy都不為零,那麼縮放變換也是可逆的。另外,正投影永遠是不可逆的。
仿射變換:為了表示仿射變換,需要使用齊次座標,即用三向量 (x,y, 1) 表示二向量,對於高維來説也是如此。按照這種方法,就可以用矩陣乘法表示變換。規定:x' =x+tx;y' =y+ty。在矩陣中增加一列與一行,除右下角的元素為 1 外其它部分填充為 0,通過這種方法,所有的線性變換都可以轉換為仿射變換。通過這種方法,使用與前面一樣的矩陣乘積可以將各種變換無縫地集成到一起。當使用仿射變換時,其次座標向量w從來不變,這樣可以把它當作為 1。但是,透視投影中並不是這樣。
透視投影:三維計算機圖形學中另外一種重要的變換是透視投影。與平行投影沿着平行線將物體投影到圖像平面上不同,透視投影按照從投影中心這一點發出的直線將物體投影到圖像平面。這就意味着距離投影中心越遠投影越小,距離越近投影越大。最簡單的透視投影將投影中心作為座標原點,z= 1 作為圖像平面,這樣投影變換x' =x/z;y' =y/z。這個乘法的計算結果是 (xc,yc,zc,wc) = (x,y,z,z)。在進行乘法計算之後,通常齊次元素wc並不為 1,所以為了映射回真實平面需要進行齊次除法,即每個元素都除以wc
更加複雜的透視投影可以是與旋轉、縮放、平移、切變等組合在一起對圖像進行變換。
參考資料
  • 1.    Gentle, James E. Matrix Transformations and Factorizations. Matrix Algebra: Theory, Computations, and Applications in Statistics. Springer. 2007. ISBN 9780387708737.
  • 2.    李 喬. 矩陣論八講[M]. 上海科學技術出版社, 1988.