常用變換矩陣總結

2021-07-30 09:59:41 字數 2495 閱讀 7113

在軟渲中需要各種變換的應用,這裡列出了幾種常見的變換矩陣。雖然並不一定要知道每一步的推導過程,但看一下推導過程對於這些變換可以有更好的理解和記憶。

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....