Thông tin tài liệu:
Bây giờ chúng ta sẽ xem xét, với mô tả trên, ta sẽ xây dựng được phép biến đổi từ hệ tọa độ thực sang hệ tọa độ quan sát như thế nào. • Trước tiên, ta sẽ xác định phần quay của camera transfromation (V). • Ta có thể xác định vector l có phương trùng với tia nhìn
Nội dung trích xuất từ tài liệu:
Bài giảng đồ họa : VIEWING TRANSFORMATIONS part 2 Ñ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 l l0 = l2 + l2 + l2 x y z• 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: HH 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ù r H r0 = rx + ry + rz2 2 2• 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: HH 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 ù H ê0 1 0ú = ê u ú V ê ú ê Hú 0 ê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 − l0 ] u0 érx u0 − l0 ù 0 x x ê0 ú = êry u0 − l0 ú y y êrz0 − l0 ú u0 ë z z• 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): érx ux - lx ù [x - eye ] z - eyez êry uy - ly = [x y z] y - eyey ê x êrz uz - lz ë 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: érx u x - lx ù [x ...