Bài giảng Đồ họa: Viewing transformations

Tài liệu Bài giảng Đồ họa: Viewing transformations

pdf10 trang | Chia sẻ: hunglv | Lượt xem: 1089 | Lượt tải: 0download
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:

  • pdfViewingTransf.pdf