Bài giảng Đồ họa máy tính - Viewing transformations

ÑOÀ HOÏA MAÙY TÍNH  
VIEWING TRANSFORMATIONS  
Daãn nhaäp  
ã
ä
Sau coâng ñoaïn modeling transformation, taát caû caùc ñoái  
töôïng ñöôïc ñaët trong cuøng moät heä toïa ñoä chung (world  
coordinates).  
Boû qua coâng ñoaïn trivial rejection vaø illumination, chuùng  
ta seõ xem xeùt coâng ñoaïn bieán ñoåi vaøo khoâng gian quan  
saùt (view transformation). Muïc ñích cuûa coâng ñoaïn naøy  
laø chuyeån ñoåi caùc ñoái töôïng vaøo heä toïa ñoä quan saùt (eye  
coordinates hay 3D camera coordinates)  
Döông Anh Ñöùc, Leâ Ñình Duy  
Viewing transformation 1/10  
ÑOÀ HOÏA MAÙY TÍNH  
Qui trình hieån thò  
å
Camera  
Caùc tham soá cuûa Camera  
Vò trí maét nhìn (x, y, z)  
Höôùng nhìn (towards vector, up vector)  
Vuøng quan saùt  
Döông Anh Ñöùc, Leâ Ñình Duy  
Viewing transformation 2/10  
ÑOÀ HOÏA MAÙY TÍNH  
Camera Transformation  
Trong caûnh treân, goác toïa ñoä cuûa world space ñaët ngay  
döôùi ñaùy gheá, truïc z höôùng leân ñi qua taâm cuûa bình traø.  
Ñeå thuaän tieän, truïc x vaø y ñöôïc choïn song song vôùi caùc  
böùc töôøng (chuù yù caùc vieân gaïch treân neàn nhaø). Vôùi heä  
toïa ñoä naøy, gheá vaø bình traø raát deã daøng bieåu dieãn.  
Böôùc tieáp theo, ta caàn moâ taû aûnh cuûa moâ hình ta ñang  
mong muoán dieãn taû. Coâng vieäc naøy seõ deã daøng hôn  
nhieàu neáu goác toïa ñoä truøng vôùi vò trí quan saùt (vò trí cuûa  
maét hay camera). (Xem hình beân döôùi)  
Döông Anh Ñöùc, Leâ Ñình Duy  
Viewing transformation 3/10  
ÑOÀ HOÏA MAÙY TÍNH  
Ta coù theå ñaït ñöôïc ñieàu naøy nhôø vaøo caùc pheùp bieán ñoåi  
tònh tieán vaø quay (rigid body transformations). Tröôùc  
tieân, ta caàn thöïc hieän pheùp quay ñeå cho 2 truïc toïa ñoä  
(world vaø camera) cuøng phöông.  
Sau ñoù, ta thöïc hieän pheùp tònh tieán ñeå ñöa goác toïa ñoä  
cuûa world space veà truøng vôùi goác toïa ñoä cuûa eye space.  
Taïi sao ta laïi quay tröôùc roài môùi tònh tieán ? Ta coù  
theå thöïc hieän theo moät caùch khaùc khoâng ?  
Caùch tieáp caän vöøa trình baøy khoâng ñöôïc tröïc quan vaø seõ  
gaây khoâng ít khoù khaên khi ta muoán giao tieáp vôùi ngöôøi  
duøng trong moät heä xöû lyù ñoà hoïa 3 chieàu. Ta thöû tieáp caän  
theo moät caùch khaùc.  
Döông Anh Ñöùc, Leâ Ñình Duy  
Viewing transformation 4/10  
ÑOÀ HOÏA MAÙY TÍNH  
Thay cho vieäc xaùc ñònh moät heä toïa ñoä quan saùt mong  
muoán baèng 1 pheùp quay vaø 1 pheùp tònh tieán heä toïa ñoä  
thöïc ta coù theå söû duïng phöông phaùp sau:  
New Camera Transformation  
Tröôùc tieân, ta xaùc ñònh vò trí ñaët camera (hoaëc vò trí  
quan saùt) trong khoâng gian thöïc. Ta goïi noù laø vò trí maét  
(eye point). Sau ñoù, ta xaùc ñònh moät vò trí trong caûnh  
(scene) maø ta muoán noù seõ xuaát hieän ôû trung taâm cuûa cöûa  
soå nhìn. Ta goïi ñieåm naøy laø ñieåm nhìn (look-at point).  
Tieáp theo ta xaùc ñònh 1 vector duøng ñeå chæ höôùng ñi leân  
cuûa aûnh tính töø look-at point. Ta goïi noù laø vector  
höôùng leân (up-vector).  
Caùch bieåu dieãn treân raát töï nhieân. Ta coù theå söû duïng  
caùch bieåu dieãn naøy ñeå moâ taû moät quó ñaïo cuûa camera  
baèng caùch chæ thay ñoåi eye-point coøn look-at point vaø up-  
vector khoâng ñoåi. Hoaëc ta coù theå queùt camera töø ñoái  
töôïng naøy ñeán ñoái töôïng khaùc treân aûnh baèng caùch chæ  
thay ñoåi look-at point.  
Döông Anh Ñöùc, Leâ Ñình Duy  
Viewing transformation 5/10  
ÑOÀ HOÏA MAÙY TÍNH  
Baây giôø chuùng ta seõ xem xeùt, vôùi moâ taû treân, ta seõ xaây  
döïng ñöôïc pheùp bieán ñoåi töø heä toïa ñoä thöïc sang heä toïa  
ñoä quan saùt nhö theá naøo.  
Tröôùc tieân, ta seõ xaùc ñònh phaàn quay cuûa camera  
transfromation (V).  
Ta coù theå xaùc ñònh vector l coù phöông truøng vôùi tia nhìn  
theo coâng thöùc:  
l
lookat  
eye  
é ù é  
ê ú ê  
x ù é ù  
x
x
ú ê  
ly = lookat eyey  
ê ú ê  
y ú ê  
ú ê  
ê ú ê  
lz  
lookatz  
eyez  
ë
ë
ë
Chuaån hoùa vector l ta ñöôïc vector l0:  
H
l
l0 =  
l2x + l2y + l2z  
Ta coù theå deã daøng thaáy raèng, pheùp bieán ñoåi V maø ta  
ñang xaây döïng seõ chuyeån l0 thaønh vector [0, 0, -1] (Taïi  
sao ?).  
[
0 0 1 = l0V  
]
Ta coøn coù theå xaùc ñònh moät vector khaùc. Ñoù laø vector r  
laø tích höõu höôùng cuûa vector l vaø up-vector:  
H
H
r = l×up  
Döông Anh Ñöùc, Leâ Ñình Duy  
Viewing transformation 6/10  
ÑOÀ HOÏA MAÙY TÍNH  
Sau pheùp bieán ñoåi V, ro (vector r ñaõ ñöôïc chuaån hoùa) seõ  
bieán thaønh vector [1, 0, 0].  
H
[
1 0 0 = r0V  
]
trong ñoù  
H
r
r0 =  
rx2 + ry2 + rz2  
Cuoái cuøng, ta coù theå xaùc ñònh vector cô sôû thöù 3, vector u  
vuoâng goùc vôùi 2 vector r vaø l:  
H
H
u = r× l  
Vector naøy, sau khi ñöôïc chuaån hoùa (thaønh vector u0), seõ  
bò bieán thaønh vector [0, 1, 0] bôûi V.  
H
[0 1 0  
]
= u0V  
H
u
[0 1 0  
]
=
V
u2x + u2y + u2z  
Toång hôïp caùc keát quaû treân ta ñöôïc:  
H
1 0 0 r  
é
ê
ê
ù é ù  
ú ê ú  
0
H
0 1 0 = u0 V  
ú ê ú  
H
ê
ú ê ú  
0 0 1 l0  
ë
ë
Döông Anh Ñöùc, Leâ Ñình Duy  
Viewing transformation 7/10  
ÑOÀ HOÏA MAÙY TÍNH  
Chuù yù raèng caùc vector maø chuùng ta ñaõ taïo ra ñeàu coù  
chieàu daøi laø 1 (nghóa laø chuùng ñeàu ñaõ ñöôïc chuaån hoùa)  
vaø chuùng tröïc giao nhau ñoâi moät. Nhö vaäy, ma traän taïo  
bôûi 3 vector naøy laø ma traän tröïc chuaån (orthonormal).  
Tính chaát lyù thuù cuûa caùc ma traän loaïi naøy laø:  
V-1 = VT neáu V laø ma traän tröïc chuaån  
Lôïi duïng tính chaát treân, ta coù theå deã daøng tính toaùn  
ñöôïc thaønh phaàn quay cuûa pheùp bieán ñoåi:  
Vrotate =  
[
é
ê
r0 u0 l0  
]
0
0
0x ù  
0 ú  
y ú  
0 ú  
rx ux l  
= ry0 u0y l  
ê
0
0
ê
rz uz lz  
ë
Tieáp theo, ta tính phaàn tònh tieán cuûa viewing  
transformation. Ñeå laøm ñöôïc ñieàu naøy, tröoùc tieân ta caàn  
nhôù raèng pheùp quay chuùng ta vöøa xaùc ñònh coù taâm quay  
laø goác toïa ñoä, trong khi ta laïi muoán pheùp quay xaûy ra ôû  
ñieåm quan saùt (eye point). Ta coù theå thöïc hieän pheùp  
quay vôùi taâm quay ñuùng baèng caùch tröø vaøo toïa ñoä cuûa  
ñieåm ñang xeùt trong khoâng gian thöïc toïa ñoä cuûa ñieåm  
quan saùt. Ta coù phöông trình ([x’,y’,z’] laø ñieåm aûnh töông  
öùng trong khoâng gian quan saùt):  
r u -l  
é
xù  
x
x
ê
[
x-eye y-eye z-eye  
]
ry uy -ly =  
z ê  
[
x' y' z'  
]
x
y
ê
r uz -lz  
z
ë
Döông Anh Ñöùc, Leâ Ñình Duy  
Viewing transformation 8/10  
ÑOÀ HOÏA MAÙY TÍNH  
Phöông trình treân coù theå ñöôïc vieát laïi nhö sau:  
r u -l  
é x  
xù  
x
ê
ú
[
x' y' z'  
]
=
[
x y z  
]
r uy -l −  
ê y yú  
ê
ú
rz uz -lz  
ë
r u -l  
é x  
xù  
ú
x
ê
[
]
eyex eyey eye r uy -l  
z ê y  
yú  
z ú  
ê
rz uz -l  
ë
Cuoái cuøng, ta coù theå chuyeån pheùp bieán ñoåi sang daïng  
bieåu dieãn trong heä toïa ñoä thuaàn nhaát. Ñoù chính laø coâng  
thöùc cuoái cuøng cuûa V:  
rx  
ry  
rz  
ux  
uy  
uz  
lx  
ly  
lz  
0
0
0
é
ê
ê
ê
ê
ë
ù
[
x' y' z' 1  
]
=
[
x y z 1  
]
r0.eye u0.eye l0.eye 1  
Nhö vaäy, ta coù moái quan heä giöõa heä toaùn ñoä quan saùt vaø  
heä toaï ñoä theá giôùi thöïc nhö sau:  
Döông Anh Ñöùc, Leâ Ñình Duy  
Viewing transformation 9/10  
ÑOÀ HOÏA MAÙY TÍNH  
Döông Anh Ñöùc, Leâ Ñình Duy  
Viewing transformation 10/10  
pdf 10 trang Thùy Anh 27/04/2022 7760
Bạn đang xem tài liệu "Bài giảng Đồ họa máy tính - Viewing transformations", để 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_viewing_transformations.pdf