GAMES101 學習3——矩陣變換
參考文檔:

https://www.yuque.com/sugelameiyoudi-jadcc/okgm7e/9242e00d224c583a93ce5ac6e49246fe
為什么需要Transformation
描述攝像機的運動
描述圖像的縮放變化
用于將3D視圖投影到2D圖像上
一、2D Transformation
Linear(線性) Transforms = Matrices
其中,線性變換包括以下4種:
1.1 Scale(縮放)
1.2 Reflection(反射)
1.3. Shear(切變)
1.4 Rotate(旋轉)
默認都是按照遠點逆時針旋轉
1.5 總結:線性變換=矩陣
二、Homogeneous coordinates(齊次坐標)
為什么要引入齊次坐標
平移變換 :它不是線性變換,不能寫成 一個x’ = M x 的形式,
我們不希望把平移當做一種特殊的情況去考慮
引入齊次坐標:可以把線性變換和平移(二者合起來就是仿射變換),用同一種形式去表示。
2.1 平移變換不是線性變換
?
\longrightarrow
?引入齊次坐標
2.1.1 齊次坐標
可以把二維的點,增加一個維度,寫成以下第一行形式
對于二維向量,寫成以下第二行形式
對于二維的點,增加了一個“1”的維度,就有了一個非常好的性質
在它前邊乘以這樣一個矩陣(圖中紅框圈出),得到的結果,可以表示平移變換。
這樣一來,我們的目的就達到了:用同一種形式表示線性變換和平移變換。
對于增加維度“1”“0”的解釋
為什么向量是“0”
首先回顧向量的概念:表示的是一個方向,也就是說,它有這樣的性質:平移不變性。這就是為什么向量增加的維度是“0”的原因,這樣一來,向量做任何平移變換操作時,就可以保證符合平移不變性。
更深層次的理解
增加維度的“0”和“1”是有意義的
向量+向量 = 向量 對應:0 + 0 = 0
點 - 點 = 向量 對應:1 - 1 = 0
點 + 向量 = 點 對應:1 + 0 = 1
點 + 點 = ?? 本來一個點加一個點是沒有意義的,但是人們擴充了它的定義:點+點表示的就是這兩個點的中點。也就是2.1.2 中說的
2.1.2 在齊次坐標下的2維點
對于任何w(w≠0),
(
x
y
w
)
\begin{pmatrix}x\y\w\ \end{pmatrix}
?
? xyw ?
? 表示的就是二維點
(
x
/
w
y
/
w
1
)
\begin{pmatrix}x/w\y/w\1\ \end{pmatrix}
?
? x/wy/w1 ?
?
2.2 Affine Transformation(仿射變換)
仿射變換=線性變換+平移
順序:先線性變換后平移(3D仿射同樣)
2.3 齊次坐標下的2D Transformations
2.4 逆變換
逆變換就是乘以變換矩陣的逆矩陣
三、Composite Transformation(組合變換)
3.1 復雜的變換都是由簡單的組合而來
3.2 變換的順序很重要
矩陣的“左乘”
一般都是選旋轉后平移
3.3 矩陣乘法無交換律
eg.一個不在原點的做旋轉:先變換到原點→旋轉→轉換回原來位置
3.4 解耦復雜變換
注意矩陣的運算順序是從右到左
四、3D Transformation
4.1 齊次坐標下的3維向量和點
4.2 齊次坐標下的3D Affine Transformation
VR視頻 圖像處理 渲染 游戲開發
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。