在軟渲中需要各種變換的應用,這裡列出了幾種常見的變換矩陣。雖然並不一定要知道每一步的推導過程,但看一下推導過程對於這些變換可以有更好的理解和記憶。
1. 平移變換具體推導 ⎡
⎣⎢⎢⎢
100d
x010
dy00
1dz0
001⎤
⎦⎥⎥⎥
2. 縮放具體推導 ⎡
⎣⎢⎢⎢
⎢sx0
000s
y000
0sz0
0001
⎤⎦⎥⎥
⎥⎥3. 繞任意軸旋轉矩陣具體推導 ⎡
⎣⎢⎢⎢
⎢a2+
(1−a
2)co
sθab
(1−c
osθ)
−csi
nθac
(1−c
osθ)
+bsi
nθ0a
b(1−
cosθ
)+cs
inθb
2+(1
−b2)
cosθ
bc(1
−cos
θ)−a
sinθ
0ac(
1−co
sθ)−
bsin
θbc(
1−co
sθ)+
asin
θc2+
(1−c
2)co
sθ00
001⎤
⎦⎥⎥⎥
⎥ 4.uvn相機變換矩陣具體推導 ⎡
⎣⎢⎢⎢
⎢uxu
yuz−
u⋅tv
xvyu
z−v⋅
tnxn
ynz−
n⋅t0
001⎤
⎦⎥⎥⎥
⎥ 5. 透視投影矩陣具體推導 ⎡
⎣⎢⎢⎢
⎢⎢⎢⎢
⎢2nr
ight
−lef
t000
02nt
op−b
otto
m00r
ight
+lef
trig
ht−l
eftt
op+b
otto
mtop
−bot
toma
−100
b0⎤⎦
⎥⎥⎥⎥
⎥⎥⎥⎥
a=−f+nf
−n b
=−2f
nf−n
6.正交投影矩陣(投影面居中)具體推導 ⎡
⎣⎢⎢⎢
⎢⎢⎢⎢
⎢⎢⎢⎢
2rig
ht−l
eft0
0002
top−
bott
om00
001f
−nnf
−n00
01⎤⎦
⎥⎥⎥⎥
⎥⎥⎥⎥
⎥⎥⎥
7. 視口變換矩陣具體推導 ⎡
⎣⎢⎢⎢
⎢⎢⎢⎢
⎢⎢wi
dth2
00x+
widt
h20−
heig
ht20
y+he
ight
200z
max−
zmin
zmin
0001
⎤⎦⎥⎥
⎥⎥⎥⎥
⎥⎥⎥
8. 鏡面成像矩陣推導見龍書第八章⎡⎣
⎢⎢⎢⎢
−2nx
nx+1
−2nx
ny−2
nxnz
−2nx
d−2n
ynx−
2nyn
y+1−
2nyn
z−2n
yd−2
nznx
−2nz
ny−2
nznz
+1−2
nzd0
001⎤
⎦⎥⎥⎥
⎥ 9. 平面陰影矩陣推導見龍書第八章⎡⎣
⎢⎢⎢⎢
nxlx
+kny
lxny
lxdl
xnxl
ynyl
y+kn
zlyd
lynx
lzny
lznz
lz+k
dlzn
xlwn
ylwn
zlwd
lw+k
⎤⎦⎥⎥
⎥⎥
transforms CTM,變換矩陣
quartz轉換實現的原理 quartz把繪圖分成兩個部分,使用者空間,即和裝置無關,裝置空間,使用者空間和裝置空間中間存在乙個轉換矩陣 ctm 本章實質是講解ctm quartz提供的3大功能 移動,旋轉,縮放 演示如下,首先載入一張 移動函式cgcontexttranslatectm mycon...
opengl 矩陣變換
opengl 矩陣變換 opengl 座標系的變換如下圖 我們給我們的圖形,設定好頂點座標後,通過model matrix 變換為世界座標,然後 view matrix相機座標,projection matrix 螢幕座標x,y 1,1 矩陣變換的結果是把三維的世界最終裁剪為二維的螢幕,數學的說法就...
OpenGL矩陣變換
現在考慮object座標系中的點p px,p y,pz 向camera座標系進行變換,object座標軸分別為xyz,camera座標軸分別為uvn p pxx pyy pz z 先只考慮旋轉變換,camera座標系的基向量可表示為 u v n u.xx u.yy u.zz v.xx v.yy v....