Đăng ký Đăng nhập
Trang chủ Công nghệ thông tin An ninh bảo mật Bài giảng đồ họa máy tính viewing transformation...

Tài liệu Bài giảng đồ họa máy tính viewing transformation

.PDF
10
382
94

Mô tả:

Ñ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ø upvector 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 x ù é lookat x ù éeye x ù êl ú = êlookat ú − êeye yú y ê yú ê ê êë lz ú êë lookat z ú êë eyez • Chuaån hoùa vector l ta ñöôïc vector l0: H l0 = l 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] = l0 V • 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] = r0 V trong ñoù H r0 = r 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] = u 0 V H u [0 1 0] = 2 2 2 V ux + u y + uz • Toång hôïp caùc keát quaû treân ta ñöôïc: H é1 0 0ù é r0 ù ê0 1 0ú = ê uH ú V ê ú ê H0 ú êë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 érx0 ê = êry0 êrz0 ë u 0x u 0y u 0z − l0 ] − l0x ù ú − l0y ú − l0z ú • 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): [x - eye x y - eyey Döông Anh Ñöùc, Leâ Ñình Duy érx ux - lx ù z - eyez êêry uy - ly = [x' y' z'] êërz uz - lz ] 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: érx u x - lx ù [x' y' z'] = [x y z]êêry u y - ly úú − êërz u z - lz ú [eyex eyey érx u x - lx ù eyez êêry u y - ly úú êërz u z - lz ú ] • 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: ux − lx é rx ê r uy − ly [x' y' z' 1] = [x y z 1]ê y ê rz uz − lz ê ë− r0 .eye − u 0 .eye l0 .eye 0ù 0 0 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
- Xem thêm -

Tài liệu liên quan