Bài giảng Đồ họa máy tính - Các phép biến đổi 3 chiều

ÑOÀ HOÏA MAÙY TÍNH  
CAÙC PHEÙP BIEÁN ÑOÅI 3 CHIEÀU  
Ù Ù Á Å  
À
Daãn nhaäp  
ã
ä
Cuøng moät loaïi ñoái töôïng coù theå xuaát hieän trong nhieàu  
caûnh vaø xuaát hieän nhieàu laàn trong moät caûnh vôùi caùc  
phöông vò, maøu saéc khaùc nhau.  
Neáu ta coù caùc moâ hình ñoái töôïng toát, ta coù theå phaùt sinh  
ra caùc ñoái töôïng khaùc nhau töø moät moâ hình duy nhaát  
nhôø caùc pheùp bieán ñoåi.  
Caùc pheùp bieán ñoåi quan troïng nhaát laø caùc pheùp bieán ñoåi  
Affine vaø caùc pheùp chieáu.  
Döông Anh Ñöùc, Leâ Ñình Duy  
Caùc pheùp bieán ñoåi 3 chieàu 1/11  
ÑOÀ HOÏA MAÙY TÍNH  
Heä toaï ñoä baøn tay phaûi/baøn tay traùi  
ä ï ä ø û ø  
ù
Heä toïa ñoä theo quy öôùc baøn tay phaûi: ñeå baøn tay phaûi  
sao cho ngoùn caùi höôùng theo truïc z, khi naém tay laïi, caùc  
ngoùn tay chuyeån ñoäng theo höôùng töø truïc x ñeán truïc y.  
Heä toïa ñoä theo quy öôùc baøn tay traùi: ñeå baøn tay phaûi sao  
cho ngoùn caùi höôùng theotruïc z, khi naém tay laïi, caùc ngoùn  
tay chuyeån ñoäng theo höôùng töø truïc x ñeán truïc y.  
Heä toaï ñoä thuaàn nhaát (Homogeneous Coordinates)  
ä ï ä  
à
á
Moãi ñieåm (x, y, z) trong khoâng gian Descartes ñöôïc bieåu  
dieãn bôûi moät boä boán toïa ñoä trong khoâng gian 4 chieàu  
thu goïn (hx, hy, hz, h). Ngöôøi ta thöôøng choïn h=1.  
projected  
homogeneous  
(x/w,y/w,z/w,1)  
homogeneous  
(x,y,z,w)  
Descartes  
(x/w,y/w,z/w)  
w
w=1  
x
(x, y, z)Descartes  
(x, y, z, w)Homogeneous  
(x, y, z, 1)Homogeneous  
(x/w, y/w, z/w)Descartes (w 0).  
Döông Anh Ñöùc, Leâ Ñình Duy  
Caùc pheùp bieán ñoåi 3 chieàu 2/11  
ÑOÀ HOÏA MAÙY TÍNH  
Caùc pheùp bieán ñoåi tuyeán tính  
ù
ù
á
å
á
Pheùp bieán ñoåi tuyeán tính laø toå hôïp cuûa caùc PBÑ:  
Tæ leä  
Quay  
Bieán daïng vaø  
Ñoái xöùng  
Caùc tính chaát cuûa caùc pheùp bieán ñoåi tuyeán tính  
Thoaû maõn tính chaát veà toå hôïp tuyeán tính.  
T(s1P1 + s2P2) = s1T(P1) + s2T(P2)  
Goác toaï ñoä laø ñieåm baát ñoäng.  
AÛnh cuûa ñöôøng thaúng laø ñöôøng thaúng.  
AÛnh cuûa caùc ñöôøng thaúng song song laø caùc ñöôøng thaúng  
song song.  
Baûo toaøn tæ leä khoaûng caùch  
Toå hôïp caùc pheùp bieán ñoåi coù tính phaân phoái  
Pheùp tònh tieán  
ù
á
y
Dòch chuyeån moät ñieåm töø  
vò trí ñeán vò trí khaùc trong  
khoâng gian theo vector  
offset tr.  
(x',y',z')  
tr =(trx,try,trz)  
(x,y,z)  
x
z
Döông Anh Ñöùc, Leâ Ñình Duy  
Caùc pheùp bieán ñoåi 3 chieàu 3/11  
ÑOÀ HOÏA MAÙY TÍNH  
Pheùp bieán ñoåi Affine  
ù
á
å
Pheùp bieán ñoåi Affine laø toå hôïp cuûa caùc pheùp bieán ñoåi:  
tæ leä, quay, bieán daïng  
Tuyeán tính  
Tònh tieán  
tònh tieán  
a
d
g
b
e
h
c
f
i
0
æ
ç
ö
0
0
1
ç
(
x' y' z' 1  
)
=
(
x y z 1  
)
.
ç
ç
ç
è
Caùc tính chaát  
trx try trz  
Goác toaï ñoä khoâng laø ñieåm baát ñoäng.  
AÛnh cuûa ñöôøng thaúng laø ñöôøng thaúng.  
AÛnh cuûa caùc ñöôøng thaúng song song laø caùc ñöôøng thaúng  
song song.  
Baûo toaøn tæ leä khoaûng caùch  
Toå hôïp caùc pheùp bieán ñoåi coù tính phaân phoái  
Caùc pheùp bieán ñoåi Affine cô sôû  
û
ù
ù
á
å
Pheùp bieán ñoåi Affine coù theå xem laø toå hôïp cuûa caùc pheùp  
bieán ñoåi cô sôû:  
Tònh tieán  
Tæ leä (taâm tæ leä ñaët taïi goác toaï ñoä)  
Quay quanh truïc x  
Quay quanh truïc y  
Quay quanh truïc z  
Ñoái xöùng qua truïc x, y, z*  
Bieán daïng* (taâm bieán daïng ñaët taïi goác toaï ñoä)  
Döông Anh Ñöùc, Leâ Ñình Duy  
Caùc pheùp bieán ñoåi 3 chieàu 4/11  
ÑOÀ HOÏA MAÙY TÍNH  
y
Pheùp tònh tieán  
1
0
0
0
1
0
0
0
1
0
0
0
1
(x',y',z')  
é
ê
ê
ù
Tr(Trx ,Try ,Trz ) =  
tr =(trx,try,trz)  
ê
ê
(x,y,z)  
Tr Try Trz  
ê
x
ë
x
z
Pheùp bieán ñoåi tæ leä  
y
s
0
0 0  
é
ê
ê
ê
ê
ë
ù
ú
ú
ú
ú
x
0 sy 0 0  
0
0
S(sx ,sy ,sz) =  
0
0
sz  
0
0 1  
x
Khi sx=sy=sz: pheùp ñoàng daïng  
Pheùp quay quanh truïc z  
z
cos(θ ) sin(θ ) 0 0  
-sin(θ ) cos(θ ) 0 0  
é
ê
ê
ê
ê
ë
ù
ú
ú
ú
ú
y
R(z,θ ) =  
0
0
0
0
1 0  
0 1  
x
z
Pheùp quay quanh truïc x  
Pheùp quay quanh truïc y  
1
0
0
0
0
cos(θ ) 0 -sin(θ ) 0  
é
ê
ê
ê
ê
ë
ù
ú
ú
ú
ú
é
ê
ê
ê
ê
ë
ù
ú
ú
ú
ú
cos(θ ) sin(θ ) 0  
0
1
0
0
0
1
R(x,θ ) =  
R(y,θ ) =  
0 -sin(θ ) cos(θ ) 0  
0
sin(θ ) 0 cos(θ )  
0
0
1
0
0
0
Döông Anh Ñöùc, Leâ Ñình Duy  
Caùc pheùp bieán ñoåi 3 chieàu 5/11  
ÑOÀ HOÏA MAÙY TÍNH  
Caùch xaùc ñònh chieàu döông trong caùc pheùp quay  
Caùc ñònh nghóa veà chieàu quay ñöôïc duøng chung cho caû heä  
toïa ñoä theo quy öôùc baøn tay phaûi vaø baøn tay traùi. Cuï theå  
chieàu döông ñöôïc ñònh nghóa nhö sau:  
Quay quanh truïc x: töø truïc döông y ñeán truïc döông z.  
Quay quanh truïc y: töø truïc döông z ñeán truïc döông x.  
Quay quanh truïc z: töø truïc döông x ñeán truïc döông y.  
Ví duï, xeùt treân heä toaï ñoä baøn tay traùi, khi nhìn doïc töø  
phía truïc quay veà goác toaï ñoä, chieàu döông seõ laø chieàu  
ngöôïc chieàu kim ñoàng hoà  
Döông Anh Ñöùc, Leâ Ñình Duy  
Caùc pheùp bieán ñoåi 3 chieàu 6/11  
ÑOÀ HOÏA MAÙY TÍNH  
Pheùp ñoái xöùng qua maët phaúng yOz, zOx vaø xOy  
1  
0
0
0
1
0
0
0
0
1
0
0
0
0
1
é
ê
ê
ê
ê
ë
ù
ú
ú
ú
ú
Mr(x) =  
Mr(y) =  
Mr(z) =  
0
1
0
0
0
0
1  
0
0
0
1
0
0
0
0
1
é
ê
ê
ê
ê
ë
ù
ú
ú
ú
ú
0
1
0
0
0
0
1
0
0
0
0
1  
0
0
0
0
1
é
ê
ê
ê
ê
ë
ù
ú
ú
ú
ú
Pheùp ñoái xöùng qua truïc x, y vaø z  
1
0
0
0
0
1  
0
0
0
1  
0
0
0
0
1
1  
0
0
0
1
0
0
0
0
1  
0
0
0
0
1
1  
0
0
0
1  
0
0
0
1
0
0
0
0
1
é
ê
ê
ê
ê
ë
ù
ú
ú
ú
ú
é
ê
ê
ê
ê
ë
ù
ú
ú
ú
ú
é
ê
ê
ê
ê
ë
ù
ú
ú
ú
ú
Mx =  
My =  
Mz =  
0
0
0
0
Pheùp bieán daïng  
1
hxy  
hxz hyz  
0
hyx hzx  
0
0
0
1
é
ê
ê
ê
ê
ë
ù
ú
ú
ú
ú
1
hzy  
1
Sh =  
0
0
y
y
x
x
z
z
Döông Anh Ñöùc, Leâ Ñình Duy  
Caùc pheùp bieán ñoåi 3 chieàu 7/11  
ÑOÀ HOÏA MAÙY TÍNH  
Caùc pheùp bieán ñoåi Affine toång quaùt  
ù
ù
á
å
å
ù
Toå hôïp caùc pheùp bieán ñoåi Affine laø moät pheùp bieán ñoåi  
Affine.  
Moïi pheùp bieán ñoåi Affine ñeàu coù theå phaân raõ thaønh toå  
hôïp caùc pheùp bieán ñoåi Affine cô sôû.  
Pheùp tæ leä vôùi taâm baát kyø  
ä ù â ø  
ù
á
Pheùp tæ leä vôùi taâm ñaët taïi ñieåm (xf, yf, zf) coù theå xeùt nhö  
toå hôïp cuûa caùc pheùp bieân ñoåi cô sôû:  
(
)
Tònh tieán ñieåm baát ñoäng x f , y f , z f veà goác toïa ñoä.  
Thöïc hieän pheùp bieán ñoåi tæ leä vôùi taâm laø goác toaï ñoä.  
Tònh tieán ngöôïc ñieåm baát ñoäng töø goác toïa ñoä trôû veà vò trí  
ban ñaàu.  
sx  
0
0
0
sy  
0
0
0
0
0
0
1
æ
ç
ç
ç
ç
ç
è
ö
÷
÷
÷
÷
÷
ø
Ma traän bieán ñoåi seõ laø: S f (sx ,sy ,sz ) =  
sz  
(
1-sx  
)
x f  
(
1-sy  
)
y f  
(
1-sz  
)z f  
Pheùp quay quanh moät truïc baát kyø  
ø
ù
ä
ï
á
Giaû söû truïc quay xaùc ñònh bôûi 2 ñieåm P1 vaø P2 (chieàu  
döông höôùng töø P1 ñeán P2 theå hieän bôûi vector k).  
Döông Anh Ñöùc, Leâ Ñình Duy  
Caùc pheùp bieán ñoåi 3 chieàu 8/11  
ÑOÀ HOÏA MAÙY TÍNH  
AÙp duïng qui taéc phaân raõ, ta coù theå bieåu dieãn quay quanh  
k moät goùc θ thaønh daõy caùc pheùp bieán ñoåi cô sôû sau:  
Tònh tieán truïc k veà goác toïa ñoä: Tr(-P0) (thaønh truïc k')  
Quay quanh truïc x ñeå ñaët truïc k' naèm treân maët phaúng  
xOz: R(x,α) (thaønh truïc k'').  
Goùc quay ñöôïc xaùc ñònh döïa treân chieáu cuûa k' leân maët  
phaúng yOz. Ta khoâng caàn tính α cuï theå. Thay vaøo ñoù ta  
tính sin(α) vaø cos(α) moät caùch tröïc tieáp.  
y
P1  
P0P  
1
k
k=  
,
P0P  
P0  
1
k'  
d
d = k2y + k2z  
ky  
α
x
k"  
ky  
d
k
d
cos(α  
)
=
z ,sin  
(α  
)
=
z
Quay quanh truïc y ñeå ñöa truïc k' veà truïc z: R(y,-β). Töông  
töï böôùc tröôùc, ta khoâng caàn tính cuï theå β.  
Thöïc hieän pheùp quay quanh truïc z moät goùc θ: R(z,θ)  
Thöïc hieän chuoãi caùc pheùp bieán ñoåi ngöôïc laïi quaù trình  
treân.  
y
d
1
(
cos β  
)
=
= d,  
kx  
1
x
k"  
sin  
(β  
)
=
= kx  
β
kx  
z
Döông Anh Ñöùc, Leâ Ñình Duy  
Caùc pheùp bieán ñoåi 3 chieàu 9/11  
ÑOÀ HOÏA MAÙY TÍNH  
Nhö vaäy, pheùp quay quanh 1 truïc baát kyø coù theå ñöôïc  
phaân raõ thaønh chuoãi caùc bieán ñoåi cô sôû sau:  
Tr(-P0) R(x,α) R(y,-β) R(z, θ) R(y, β) R(x, -α) Tr(P0)  
Modeling transformation  
Bieán ñoåi töø Heä toïa ñoä ñoái töôïng sang Heä toïa ñoä theá giôùi  
thöïc.  
yt  
Tractor  
System  
yW  
xt  
zt  
xW  
World  
zW  
yfW  
xfW  
zfW  
Front-Wheel  
System  
Pheùp bieán ñoåi Heä toaï ñoä  
ä ï ä  
ù
á
å
Caàn thöïc hieän moät pheùp quay vaø moät pheùp tònh tieán (goïi  
laø Rigid boby transformation).  
Neáu chuyeån ñoåi giöõa hai heä toaï ñoä baøn tay traùi vaø baøn  
tay phaûi thì caàn theâm moät pheùp ñoái xöùng nöõa.  
Döông Anh Ñöùc, Leâ Ñình Duy  
Caùc pheùp bieán ñoåi 3 chieàu 10/11  
ÑOÀ HOÏA MAÙY TÍNH  
Rigid boby transformation  
Bao goàm pheùp tònh tieân vaø pheùp quay vaø caùc toå hôïp cuûa  
chuùng.  
Do khoâng laøm thay ñoåi hình daïng vaø kích thöôùc ñoái  
töôïng, chæ laøm thay ñoåi vò trí, phöông höôùng cuûa chuùng  
trong khoâng gian.  
Ví duï veà pheùp tònh tieán  
Ví duï veà pheùp quay  
Döông Anh Ñöùc, Leâ Ñình Duy  
Caùc pheùp bieán ñoåi 3 chieàu 11/11  
pdf 11 trang Thùy Anh 27/04/2022 7240
Bạn đang xem tài liệu "Bài giảng Đồ họa máy tính - Các phép biến đổi 3 chiều", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_do_hoa_may_tinh_cac_phep_bien_doi_3_chieu.pdf