Tài liệu Bài giảng Đồ họa: Viewing transformations
10 trang |
Chia sẻ: hunglv | Lượt xem: 1157 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài giảng Đồ họa: Viewing transformations, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ÑOÀ HOÏA MAÙY TÍNH
Döông Anh Ñöùc, Leâ Ñình Duy Viewing transformation 1/10
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)
ÑOÀ HOÏA MAÙY TÍNH
Döông Anh Ñöùc, Leâ Ñình Duy Viewing transformation 2/10
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
ÑOÀ HOÏA MAÙY TÍNH
Döông Anh Ñöùc, Leâ Ñình Duy Viewing transformation 3/10
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)
ÑOÀ HOÏA MAÙY TÍNH
Döông Anh Ñöùc, Leâ Ñình Duy Viewing transformation 4/10
• 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.
ÑOÀ HOÏA MAÙY TÍNH
Döông Anh Ñöùc, Leâ Ñình Duy Viewing transformation 5/10
• 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.
ÑOÀ HOÏA MAÙY TÍNH
Döông Anh Ñöùc, Leâ Ñình Duy Viewing transformation 6/10
• 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:
−
=
z
y
x
z
y
x
z
y
x
eye
eye
eye
lookat
lookat
lookat
l
l
l
• Chuaån hoùa vector l ta ñöôïc vector l0:
2
z
2
y
2
x
0
lll
ll
++
=
• 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 ?).
[ ] Vl100 0=−
• 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:
uplr ×=
ÑOÀ HOÏA MAÙY TÍNH
Döông Anh Ñöùc, Leâ Ñình Duy Viewing transformation 7/10
• 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].
[ ] Vr01 0=0
trong ñoù
2
z
2
y
2
x
0
rrr
rr
++
=
• 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:
lru ×=
• 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.
[ ] Vu0=010
[ ] V
uuu
u
2
z
2
y
2
x ++
=
010
• Toång hôïp caùc keát quaû treân ta ñöôïc:
V
l
u
r
100
010
001
0
0
0
−
=
ÑOÀ HOÏA MAÙY TÍNH
Döông Anh Ñöùc, Leâ Ñình Duy Viewing transformation 8/10
• 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:
[ ]
−
−
−
=
−=
0
z
0
z
0
z
0
y
0
y
0
y
0
x
0
x
0
x
000rotate
lur
lur
lur
lurV
• 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):
[ ] [ ]'zy'x'
l-ur
l-ur
l-ur
eye-zeye-yeye-x
zzz
yyy
xxx
zyx =
ÑOÀ HOÏA MAÙY TÍNH
Döông Anh Ñöùc, Leâ Ñình Duy Viewing transformation 9/10
• Phöông trình treân coù theå ñöôïc vieát laïi nhö sau:
[ ] [ ]
[ ]
−
=
zzz
yyy
xxx
zyx
zzz
yyy
xxx
l-ur
l-ur
l-ur
eyeeyeeye
l-ur
l-ur
l-ur
zyx'zy'x'
• 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:
[ ] [ ]
−−
−
−
−
=
1.eyel.eyeu.eyer
0lur
0lur
0lur
1zyx1z'y'x'
000
zzz
yyy
xxx
• 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:
ÑOÀ HOÏA MAÙY TÍNH
Döông Anh Ñöùc, Leâ Ñình Duy Viewing transformation 10/10
Các file đính kèm theo tài liệu này:
- ViewingTransf.pdf