Đồ họa máy tính: Hiển thị đối tượng hai chiều

pdf 7 trang phuongnguyen 4420
Bạn đang xem tài liệu "Đồ họa máy tính: Hiển thị đối tượng hai chiều", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfdo_hoa_may_tinh_hien_thi_doi_tuong_hai_chieu.pdf

Nội dung text: Đồ họa máy tính: Hiển thị đối tượng hai chiều

  1. ÑOÀ HOÏA MAÙY TÍNH HHiieeånån tthhòò ññooáiái ttööôôïïnngg hhaaii cchhiieeàuàu Moäät soáá khaùùi nieääm · Cöûa soå (window) laø moät vuøng ñöôïc choïn ñeå hieån thò trong heä toïa ñoä theá giôùi thöïc. · Vuøng quan saùt (viewport) laø vuøng ñöôïc choïn treân thieát bò hieån thò ñeå caùc ñoái töôïng ôû trong cöûa soå aùnh xaï vaøo. · Cöûa soå xaùc ñònh caùi gì ñöôïc thaáy treân thieát bò hieån thò, coøn vuøng quan saùt xaùc ñònh nôi naøo noù seõ ñöôïc hieån thò. · Quaù trình aùnh xaï moät vuøng ñònh nghóa trong heä toïa ñoä theá giôùi thöïc vaøo moät vuøng trong heä toïa ñoä thieát bò ñöôïc goïi laø pheùp bieán ñoåi heä quan saùt (viewing transformation). Window Viewport ywmax yvmax yvmin ywmin xwmin xwmax xvmin xvmax Döông Anh Ñöùc, Leâ Ñình Duy Hieån thò ñoái töôïng hai chieàu 1/7
  2. ÑOÀ HOÏA MAÙY TÍNH Qui trình hieåån thò ñoáái töôïïng hai chieàuà · Tröôùc tieân, caùc ñoái töôïng seõ ñöôïc moâ taû baèng caùc ñoái töôïng ñoà hoïa cô sôû vaø caùc thuoäc tính cuûa chuùng trong töøng heä toïa ñoä cuïc boä (modeling coordinates - MC) nhaèm ñôn giaûn hoùa vaø taän duïng caùc ñaëc tröng rieâng cuûa töøng loaïi. · Sau ñoù, chuùng ta seõ duøng caùc pheùp bieán ñoåi heä toïa ñoä ñeå chuyeån caùc moâ taû töø caùc heä toïa ñoä cuïc boä naøy sang moät heä toïa ñoä theá giôùi thöïc (world coordinates - WC) duy nhaát chöùa toaøn boä caùc ñoái töôïng thaønh phaàn. Pheùp chuyeån ñoåi naøy ñöôïc goïi laø pheùp chuyeån ñoåi moâ hình (modeling coordinates transformation). · Tieáp theo, chuùng ta seõ ñònh moät heä toïa ñoä quan saùt (viewing coordinates - VC), laø heä toïa ñoä moâ taû vò trí cuûa ngöôøi quan saùt ñoái töôïng. Nhôø vieäc söû duïng heä toïa ñoä naøy maø cuøng moät moâ taû, caùc ñoái töôïng coù theå ñöôïc quan saùt ôû nhieàu goùc ñoä vaø vò trí khaùc nhau. · Sau khi chuyeån caùc moâ taû ñoái töôïng töø heä toïa ñoä theá giôùi thöïc sang heä toïa ñoä quan saùt, chuùng ta seõ ñònh nghóa cöûa soå trong heä toïa ñoä naøy, ñoàng thôøi ñònh nghóa vuøng quan saùt trong heä toïa ñoä thieát bò chuaån (normalized device coordinates - NDC) coù toïa ñoä caùc chieàu thay ñoåi trong khoaûng töø 0 ñeán 1. · Sau khi thöïc hieän pheùp aùnh xaï töø cöûa soå sang vuøng quan saùt, taát caû caùc phaàn cuûa ñoái töôïng naèm ngoaøi vuøng quan saùt seõ bò xeùn (clip) vaø toaøn boä nhöõng gì naèm trong vuøng quan saùt seõ ñöôïc aùnh xaï sang heä toïa ñoä thieát bò (device coordinates - DC). Döông Anh Ñöùc, Leâ Ñình Duy Hieån thò ñoái töôïng hai chieàu 2/7
  3. ÑOÀ HOÏA MAÙY TÍNH · Vieäc ñöa ra heä toïa ñoä thieát bò chuaån nhaèm giuùp cho vieäc töông thích deã daøng vôùi nhieàu loaïi thieát bò hieån thò khaùc nhau. · Baèng caùch thay ñoåi vò trí cuûa vuøng quan saùt chuùng ta coù theå quan saùt caùc ñoái töôïng taïi caùc vò trí khaùc nhau treân maøn hình hieån thò, ñoàng thôøi, baèng caùch thay ñoåi kích thöôùc cuûa vuøng quan saùt, chuùng ta coù theå thay ñoåi kích thöôùc vaø tính caân xöùng cuûa caùc ñoái töôïng ñöôïc hieån thò. · Chuùng ta coù theå thöïc hieän caùc hieäu öùng thu phoùng baèng caùch aùnh xaï caùc cöûa soå coù kích thöôùc khaùc nhau vaøo vuøng quan saùt coù kích thöôùc coá ñònh. Khi caùc cöûa soå ñöôïc thu nhoû, phaàn naèm trong cöûa soå seõ ñöôïc phoùng to giuùp chuùng ta deã daøng quan saùt caùc chi tieát maø khoâng theå thaáy ñöôïc trong caùc cöûa soå lôùn hôn. Chuyeån ñoåi töø heä Chuyeån ñoåi töø heä AÙnh xaï töø heä toïa Chuyeån ñoåi töø heä toïa MC toïa ñoä cuïc boä WC toïa ñoä theá giôùi thöïc VC NDC ñoä thieát bò DC ñoä quan saùt sang heä sang heä toïa ñoä sang heä toïa ñoä chuaån sangheä toïa ñoä thieát bò chuaån theá giôùi thöïc quan saùt toïa ñoä thieát bò Döông Anh Ñöùc, Leâ Ñình Duy Hieån thò ñoái töôïng hai chieàu 3/7
  4. ÑOÀ HOÏA MAÙY TÍNH Heää toïaï ñoää quan saùùt · Heä toïa ñoä quan saùt : ¨ Choïn ñieåm P0 (x0 , y0 ) trong heä toïa ñoä theá giôùi thöïc laøm goác toïa ñoä. ¨ Vector V moâ taû höôùng quan saùt ñeå ñònh höôùng cho truïc tung yv cuûa heä toïa ñoä. Vector V ñöôïc goïi laø view-up vector. · Töø V chuùng ta coù theå tính ñöôïc caùc vector ñôn vò v = (vx , vy ) vaø u = (u x , u y ) töông öùng cho caùc truïc tung yv vaø truïc hoaønh xv cuûa heä toïa ñoä. Caùc vector ñôn vò naøy seõ ñöôïc duøng ñeå taïo thaønh hai doøng ñaàu tieân cuûa ma traän quay M R ñeå ñöa caùc truïc xv yv truøng vôùi caùc truïc xw yw cuûa heä truïc toïa ñoä theá giôùi thöïc. · Ma traän cuûa pheùp chuyeån moät ñieåm trong heä toïa ñoä theá giôùi thöïc sang heä toïa ñoä quan saùt : M WC,VC = M T M R , vôùi MT laø pheùp tònh tieán goác toïa ñoä heä quan saùt veà goác toïa ñoä heä toïa ñoä theá giôùi thöïc. yworld yworld yview yview y0 T xview x xworld xworld 0 R xview (a) (b) Döông Anh Ñöùc, Leâ Ñình Duy Hieån thò ñoái töôïng hai chieàu 4/7
  5. ÑOÀ HOÏA MAÙY TÍNH Heää toïaï ñoää thieáát bò chuaåån · Do caùch ñònh nghóa cuûa caùc heä toïa ñoä thieát bò khaùc nhau neân moät hình aûnh hieån thò ñöôïc treân thieát bò naøy chöa chaéc hieån thò chính xaùc treân thieát bò kia. Chính vì vaäy caàn phaûi xaây döïng heä toïa ñoä thieát bò chuaån ñaïi dieän chung cho caùc thieát bò ñeå coù theå moâ taû caùc hình aûnh cuûa theá giôùi thöïc maø khoâng phuï thuoäc vaøo baát cöù thieát bò naøo. · Trong heä toïa ñoä naøy, caùc toïa ñoä x, y seõ ñöôïc gaùn caùc giaù trò trong khoaûng töø 0 ñeán 1. Nhö vaäy, vuøng khoâng gian cuûa heä toïa ñoä thieát bò chuaån chính laø hình vuoâng ñôn vò coù goùc traùi döôùi laø (0,0) vaø goùc phaûi treân (1,1). y (1,1) 1 1 x Döông Anh Ñöùc, Leâ Ñình Duy Hieån thò ñoái töôïng hai chieàu 5/7
  6. ÑOÀ HOÏA MAÙY TÍNH Chuyeåån ñoååi töøø cöûûa soåå sang vuøøng quan saùùt · Pheùp chuyeån ñoåi töø cöûa soå sang vuøng quan saùt bao goàm 3 pheùp bieán ñoåi : ¨ Pheùp tònh tieán ñeå dòch chuyeån goùc traùi döôùi veà goác toïa ñoä (hình a) ¨ Pheùp bieán ñoåi tæ leä ñeå chænh kích thöôùc cuûa cöûa soå veà cuøng kích thöôùc cuûa vuøng quan saùt (hình b, hình c) ¨ Pheùp tònh tieán dòch chuyeån veà goùc traùi döôùi cuûa vuøng quan saùt (hình d). y y v v (xmax,ymax) (umax,vmax) (xmin,ymin) (umin,vmin) x x u u (a) (b) (c) (d) · Ta coù ma traän cuûa pheùp bieán ñoåi : æ u - u v - v ö ç max min max min ÷ M WV = M TW (- xmin ,- ymin )M S ç , ÷M TV (umin , vmin ) è xmax - xmin ymax - ymin ø æ u - u ö ç max min 0 0÷ ç xmax - xmin ÷ ç v - v ÷ = ç 0 max min 0÷ ç ymax - ymin ÷ ç umax - umin vmax - vmin ÷ ç- xmin + umin - ymin + vmin 1÷ è xmax - xmin ymax - ymin ø Döông Anh Ñöùc, Leâ Ñình Duy Hieån thò ñoái töôïng hai chieàu 6/7
  7. ÑOÀ HOÏA MAÙY TÍNH · Nhö vaäy neáu P(x, y) laø ñieåm trong cöûa soå thì noù seõ coù toïa ñoä trong vuøng quan saùt laø: (sx(x - xmin ) + umin , sy(y - ymin ) + vmin ) umax - umin vmax - vmin vôùi sx = , sy = . xmax - xmin ymax - ymin · sx, sy laø caùc heä soá tæ leä cuûa caùc kích thöôùc cuûa cöûa soå vaø vuøng quan saùt. Khi sx = sy = 1 , caùc ñoái töôïng qua pheùp chuyeån ñoåi seõ ñöôïc giöõ nguyeân hình daùng vaø tính caân xöùng. Döông Anh Ñöùc, Leâ Ñình Duy Hieån thò ñoái töôïng hai chieàu 7/7