計算機圖形學基礎(四):矩陣變換

我們在各種軟件中常見到的圖形或者物體的變換,例如旋轉、平移、放縮、投影等,都是以矩陣變換的形式來計算的,接下來討論這些矩陣變換。
二維變換
可以用一個二維矩陣來表示二維空間運算:
放縮
放縮的矩陣運算可表示為:

自由拉伸
x軸和y軸方向的拉伸可分別表示為:
其中為拉伸角度的正切值

旋轉
將一個圖形逆時針旋轉角度:

鏡像
關于x軸和y軸分別作鏡像變換:

組合變換
在進行多個變換時,假設先進行一個S變換,再進行R變換
,則有
,復合變換
,即可以用一個矩陣來表示若干個變換運算

三維變換
與二維變換對應的,三維變換在形式上很類似:
放縮
旋轉
自由拉伸
法線向量變換
現(xiàn)在如果要對一個三維物體的表面以矩陣進行變換,假設變換前的法線向量為
,那么對法線向量同樣進行矩陣
變換操作得到的新向量通常不會垂直于新的物體表面。我們定義法線向量
需要通過矩陣
的變換操作
才垂直新的物體表面,變換前物體表面的一條切線為
,變換后此切線變?yōu)?img type="latex" class="latex" src="http://api.bilibili.com/x/web-frontend/mathjax/tex?formula=t_%7BM%7D" alt="t_%7BM%7D">,那么有:
若要求解在物體進行變換后法線向量
的變換情況
:
平移(Translation)與仿射(Affine)
在二維空間中首先進行一個變換(拉伸、旋轉、縮放),再進行一個平移變換
,可以用一個三階方陣來表示:
坐標系變換
通常上來說一個坐標系統(tǒng),包括一個原點和一組正交基
,則坐標系
可以被描述為:
假設在一個坐標系中使用作為原點,
為正交基,其中有一點
,進行坐標系變換后,使用
作為原點,
作為正交基

按照平移與仿射變換:
有:
即:
同理,擴展到三維空間上,有: