Bài giảng môn học Đồ họa máy tính (ĐH Hàng Hải VN)

100 4 0
Bài giảng môn học Đồ họa máy tính (ĐH Hàng Hải VN)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Computer Graphics Tr��ng �H Hàng H�i Vi�t Nam Khoa Công ngh� thông tin = = =&*&= = = Bài gi�ng môn h�c �� H�A MÁY TÍNH 2 L�i nói u Nh�m ph�c v� cho công tác gi�ng d�y, h�c t�p môn h�c �� h�a máy tính[.]

Tr ng H Hàng H i Vi t Nam Khoa Công ngh thông tin = = =&*&= = = Bài gi ng mơn h c H A MÁY TÍNH L i nói u Nh m ph c v cho cơng tác gi ng d y, h c t p môn h c th y trị khoa Cơng ngh thơng tin - tr ng h a máy tính c a H HÀNG H I VI T NAM, b môn H thông thông tin ti n hành t ng h p, biên so n s b t p gi ng mơn h c h a máy tính T p gi ng trình K thu t c biên so n ch y u d a Giáo h a máy tính c a khoa CNTT - h a máy tính (dùng cho h t o t HBK Hà N i Giáo trình xa) c a HQG TP H Chí Minh Ngồi chúng tơi có tham kh o cu n Computer Graphics c a Donald Hearn & M Pauline Baker, nhà xu t b n Prentice-Hall, New Jersey, 1986 m t s tài li u khác (xem ph n tài li u tham kh o) h c t t mơn h c này, ngồi nh ng ki n th c c s v l p trình, sinh viên c n ph i c trang b nh ng ki n th c c b n v i s , gi i tích, hình h c gi i tích, hình h c h a hình, ki n trúc máy tính thi t b ngo i vi, Th c s h a máy tính m t môn h c không n gi n, s! d ng nhi u cơng c tốn h c ịi h"i ki n th c t ng h p Vì ây l n u tiên biên so n nên ch#c ch#n khơng tránh kh"i nh ng thi u sót R t mong nh n em sinh viên cs óng góp ý ki n c a quý ng nghi p c a công vi c biên so n ngày t t h n B môn H th ng thông tin Khoa Công ngh thông tin - Tr ng H Hàng H i M cl c M c l c Ch ng 1: T ng quan v h a máy tính 1.1 Khái ni m v h a máy tính l ch s phát tri n 1.2 K thu t h a t ng tác(Interactive Computer Graphics) 1.3 Khái quát v h th ng h a 1.3.1 Ph n c ng 1.3.2 Ph n m m 11 1.4 Các h màu c b n 13 1.4.1 Không gian RGB (RGB space) 14 1.4.2 Không gian HSL 15 1.4.3 Không gian HSV 16 1.4.4 Không gian màu CMY (Cyan - Magenta - Yellow) 17 Ch ng 2: Các thu t tốn v ng tơ màu c b n 19 2.1 H t a th gi i th c, h t a thi t b h t a chu n 19 2.1.1 H t a th gi$i th c 19 2.1.3 H t a thi t b chu%n (Normalized device coordinates) 20 2.2 Các thu t toán v ng d a i m 21 2.2.1 Các thu t toán v& ng th'ng 21 2.2.2 Các thu t tốn v& ng trịn 27 2.3 Các thu t tốn tơ màu 33 2.3.1 Tô màu theo t ng i m (ph ng pháp tô n gi n) 33 2.3.2 Tô màu theo dòng quét (scan - line) 37 2.3.3 Ph ng pháp tô màu d a theo ng biên 41 Ch ng 3: Các phép bi n i hình h c 2D 45 3.1 Các phép bi n i hình h c c s 45 3.1.1 Phép t nh ti n 45 3.1.2 Phép bi n i t( l 46 3.1.3 Phép quay 47 3.1.4 Bi u di)n ma tr n c a phép bi n i 47 3.1.5 H t a thu n nh t (hormogeneous coordinates) 48 3.2 K t h p phép bi n i 49 3.2.1 K t h p phép t nh ti n 49 3.2.2 K t h p phép t( l 50 3.2.3 K t h p phép quay 50 3.2.4 Phép quay có tâm quay i m b t k* 50 3.3 M t s tính ch t c a phép bi n i Affine 51 3.3.1 Phép bi n i affine b o toàn ng th'ng 51 3.3.2 Tính song song c a ng th'ng c b o toàn 51 3.3.3 Tính t+ l v kho ng cách c b o toàn 51 3.4 M t s phép bi n i khác 52 3.4.1 Phép i x ng 52 3.4.2 Phép bi n d ng 52 3.4.3 Phép bi n i ng c 53 3.4.4 Phân rã phép bi n i 53 3.5 Phép bi n i gi a h t a 54 Ch ng 4: Hi n th i t ng 2D 56 4.1 Quy trình hi n th i t ng 2D 56 4.1.1 M t s khái ni m 56 4.1.2 H t a quan sát h t a thi t b chu%n 58 4.1.3 Chuy n i t c!a s quan sát sang vùng quan sát 59 4.2 Các thu t tốn c t xén hình 60 4.2.1 Thu t toán Cohen - Sutherland 61 4.2.2 Thu t toán Liang - Barsky 66 Ch ng 5: T ng quan v h a 3D 71 5.1 Khái quát chung 71 5.1.1 S l c v quy trình hi n th 72 5.1.2 Mơ hình khung n i k t 73 5.1.3 V& i t ng theo mơ hình khung n i k t s! d ng phép chi u 75 5.1.4 Phép chi u song song (Parallel Projection) 76 5.1.5 Phép chi u ph i c nh (Perspective Projection) 78 5.2 Bi u di n i t ng 3D 79 5.2.1 Bi u di)n m,t a giác 80 5.2.2 Các ng cong m,t cong 85 5.2.3 Các m,t có quy lu t(ruled surfaces) 85 5.2.4 Các m,t tròn xoay (Surfaces of revolution) 87 5.2.5 Các m,t cong b c hai 88 Ch ng 6: Các phép bi n i h a 3D 90 6.1 Các phép bi n i hình h c 90 6.1.1 M t s khái ni m liên quan 91 6.1.2 Phép t nh ti n 92 6.1.3 Phép t( l 93 6.1.4 Phép bi n d ng 94 6.1.5 Phép quay 94 6.1.6 K t h p phép bi n i Affine chi u 98 6.2 Phép bi n i mô hình phép bi n i h tr c t a 98 Tài li u tham kh o 100 Ch ng T ng quan v 1.1 Khái ni m v h a máy tính h a máy tính l ch s phát tri n K thu t h a máy tính ph ng pháp công ngh dùng vi c chuy n i qua l i gi a d li u hình nh hình b ng máy tính K thu t h a hay h a máy tính cịn c hi u d $i d ng ph ng pháp k thu t t o hình nh t mơ hình tốn h c mơ t i t ng hay d li u l y c t i t ng th c t M t s chuyên gia máy tính cho r ng K thu t h a máy tính có th nh ngh-a nh m t l-nh v c c a công ngh thơng tin mà ó nghiên c u, xây d ng t p h p công c (mô hình lý thuy t th vi n l p trình) khác ki n t o, xây d ng, l u tr x! lý mơ hình(model) hình nh(image) c a i t ng, s v t khác cu c s ng, s n xu t nghiên c u Các mơ hình hình nh có th k t qu thu c t nh ng l-nh v c khác c a r t nhi u ngành khoa h c - k thu t ( V t lý, toán h c, thiên v.n h c, c khí, ki n trúc ) bao trùm r t nhi u th lo i a d ng phong phú: c u trúc phân t!, c u trúc sinh h c, mơ hình tàu v/ tr , Thu t ng k thu t h a máy tính (Computer Graphics) c xu t b i m t chuyên gia ng i M tên William Fetter vào n.m 1960 Khi ó ơng ang nghiên c u xây d ng mơ hình bu ng lái máy bay cho hãng máy bay Boeing William Fetter ã d a hình nh 3D c a mơ hình ng i phi cơng bu ng lái xây d ng nên m t mơ hình t i u cho máy bay Boeing ây ph ng pháp nghiên c u r t m$i vào th i k* ó Ph ng pháp có nh ng tính n.ng v t tr i h n t t c ph ng pháp nghiên c u xây d ng mô hình bu ng lái máy bay truy n th ng tr $c ó c áp d ng t i Boeing Ph ng pháp cho phép k s thi t k quan sát m t cách tr c quan v trí c a phi cơng bu ng lái William Fetter ã ,t tên cho ph ng pháp c a "Computer Graphics" L ch s! h a t nh ng n.m 1960 c ánh d u b i d án Sketchpad t i MIT v$i Ivan Sutherland t i h i ngh Fall Joint Computer v$i s ki n l n u tiên t o m$i, hi n th thay i c d li u hình nh tr c ti p hình th i gian th c (hình 1.1) Hình 1.1: Hình nh h at ng tác u tiên Sketchpad K thu t h a liên t c c hoàn thi n vào nh ng n.m 1970 v$i s xu t hi n c a chu%n h a làm t.ng c ng kh n.ng giao ti p tái s! d ng c a ph n m m c/ng nh th vi n h a S phát tri n bùng n c a công ngh vi i n t! l-nh v c ph n c ng máy tính nh ng n.m 1980 làm xu t hi n hàng lo t v+ m ch h0 tr cho vi c truy xu t h a i v$i s gi m giá k c a máy tính cá nhân (PC) ã làm h a i sâu vào cu c s ng th c ti)n K t n.m 1990 t$i k thu t h a 3D phép x! lý c phát tri n m nh m& cho i hàng lo t nh ng s n ph%m h a ng d ng th c t nh thi t k mơ hình, games, phim ho t hình, k x o i n nh, Các v+ m ch h a cho máy tính cá nhân th ng tr thi tr ng h a nh : Nvidia, ATi, 3DLabs, ngày hoàn thi n cung c p ngày nhi u kh n.ng cho ng i s! d ng Liên ti p hàng t( ô la c u t cho h a máy tính h a h1n s phát tri n không ng ng nh ng s n ph%m ngày cc i ti n s& quà t,ng mong i cho nh ng yêu thích l-nh v c 1.2 K thu t h at ng tác(Interactive Computer Graphics) C/ng nh m i l-nh v c khác công ngh thông tin, m t h th ng s! d ng k thu t h a t ng tác m t h th ng x! lý thông tin bao g m thành ph n v$i thao tác t ng ng: • Nh p d li u: thông qua thi t b vào nh nh chu t, máy quét, bàn phím, • X! lý l u tr d li u • Hi n th /K t xu t k t qu : thông qua thi t b nh hình, máy in, Ngồi ,c thù chung nh ã li t kê trên, h th ng k thu t h a t ng tác cịn có m t ,c i m r t ,c tr ng c a mình: h th ng này, thơng tin d li u ,c tr ng c hi n th hình m t cách tr c quan ng i s! d ng có th quan sát, theo dõi thay i giá tr ho,c khuôn d ng c a chúng m t cách t ng tác (interactive) l p t c nh ng thay i s& c h th ng ghi nh n x! lý K t qu c a s thay i s& ch th ng x! lý mơ hình, c u trúc ho,c hình nh c a i t ng hi n th chúng hình nh ng i s! d ng mong mu n Nh p/vào d li u L u tr x! lý Hi n th k t qu USER Hình 1.2: Mơ hình chung c a h h a t ng tác Nh mơ hình chung c a m t h th ng s! d ng k thu t h a t ng tác, th y ng i s! d ng có kh n.ng giao ti p t ng tác v$i h th ng c giai o n trình x! lý thông tin H th ng h a t ng tác u tiên c thi t k xây d ng b i IvanSutherland n.m 1963 H th ng Sketchpad c dùng thi t k m ch i n bao g m nh ng thành ph n sau: • CRT hình • Bút sáng m t keyboard bao g m s phím b m ch c n.ng • Máy tính ch a ch ng trình x! lý thơng tin Ng i s! d ng có th v& m ch i n tr c ti p lên hình thơng qua bút sáng ch ng trình s& phân tích tính tốn nh ng thơng s c n thi t c a m ch i n ng i s! d ng v& nên Hình 1.3: Ivan Sutherland h th ng Sketchpad (1962) 1.3 Khái quát v h th ng h a M th h a bao gi c/ng có hai thành ph n ó ph n c ng ph n m m Ph n c ng bao g m thi t b hi n th nh p d li u,… Ph n m m bao g m công c l p trình trình ng d ng h a Chúng ta s& l n l t kh o sát thành ph n 1.3.1 Ph n c ng 1.3.1.1 Thi t b hi n th Nói chung, hình thi t b hi n th thông d ng nh t m t h h a Các thao tác c a h u h t hình u d a thi t k c a ng tia âm c c (CRT – cathode ray tube) A C u t o chung c a CRT Hình 1.6 minh h a thao tác c s c a m t ng tia âm c c M t chùm tia i n t! (tia âm c c) phát t m t súng i n t!, v t qua h th ng h i t (focusing) d2n h $ng (deflection) s& h $ng t$i v trí xác nh hình c ph m t l$p phosphor T i m0i v trí t ng tác v$i tia i n t!, h t phosphor s& phát m t ch m sáng nh" Vì ánh sáng phát b i h t phosphor m d n r t nhanh nên c n ph i có m t cách ó trì nh hình M t cách ó l,p i l,p l i nhi u l n vi c v& l i nh th t nhanh b ng cách h $ng tia i n t! tr l i v trí c/ Ki u hi n th g i refresh CRT Hình 1.4: C u t o c a CRT Có nhi u lo i phosphor c dùng m t CRT Ngoài màu s#c ra, i m khác gi a lo i phosphor " b n” (persistent), ó kho ng th i gian phát sáng sau tia CRT không cịn tác ng L$p phosphor có b n th p c n t c làm t i cao h n gi cho hình nh hình kh"i nhịe Lo i th ng r t t t cho ho t hình, r t c n thay i hình nh liên t c L$p phosphor có b n cao th ng c dùng cho vi c hi n th nh t-nh, ph c t p cao M,c dù m t s lo i phosphor có b n l$n h n giây, nhiên hình h a th ng c xây d ng v$i b n dao ng t 10 n 60 micro giây S l ng t i a i m có th hi n th m t CRT c g i phân gi i (resolution) M t nh ngh-a xác h n c a phân gi i s l ng i m m t centimet mà có th c v& theo chi u ngang chi u d c, m,c dù th ng c xem nh t ng s i m theo m0i h $ng Kích th $c v t lí c a hình h a c tính t dài c a ng chéo hình, th ng dao ng t 12 n 27 inch ho,c l$n h n M t hình CRT có th c k t h p v$i nhi u lo i máy khác nhau, ó s l ng i m hình có th c v& th t s tùy thu c vào kh n.ng c a h th ng mà k t h p vào M t thu c tính khác c a hình n a t+ s ph ng (aspect ratio) T+ s ph ng t+ l c a i m d c i m ngang c n phát sinh o n th'ng có dài n v theo c hai h $ng hình (trong m t s tr ng h p ng i ta th ng dùng t+ s ph ng nh t+ s c a i m theo chi u ngang so v$i i m theo chi u d c) V$i hình có t+ s ph ng khác 1, d) dàng nh n th y hình vng hi n th s& có d ng hình ch nh t, hình trịn s& có d ng hình ellipse Th c khái ni m t+ s ph ng xu t phát t b n ch t kho ng cách (n u tính m t n v dài) gi a i m d c không b ng kho ng cách gi a i m ngang M t t+ s ph ng có giá tr ¾ có ngh-a v& i m theo chi u d c s& có dài v$i vi c v& i m theo chi u ngang B Màn hình d ng i m (raster - scan display) Màn hình d ng i m d ng th ng g,p nh t s d ng hình s! d ng CRT d a cơng ngh truy n hình Trong h th ng này, chùm tia i n t! s& c quét ngang qua hình, m0i l n m t dịng qt tu n t t xu ng d $i S b t t#t c a i m sáng hình ph thu c vào c ng c a tia i n t! ây c s c a vi c t o hình nh hình M0i i m hình c g i m t pixel pel (vi t t#t c a picture element) Các thơng tin v hình nh hi n th hình c l u tr m t vùng b nh$ g i vùng m làm t i (refresh buffer) vùng m khung (frame buffer) Vùng b nh$ l u tr t p giá tr c ng sáng c a tồn b i m hình ln t n t i m t song ánh gi a m0i i m hình m0i ph n t! vùng Hình 1.5: Quá trình t o hình nh c a tia quét thay i hình nh c n hi n th , giá tr t ng ng v$i v trí sáng ph i c ,t vào vùng m khung Hình 1.8 minh h a giá tr t ng ng vùng m khung hi n th hình nh c a ch A hình i v$i hình en tr#ng, vùng m khung c g i bitmap, v$i hình khác vùng m khung th ng c g i pixmap t o nh en tr#ng, n gi n ch+ c n l u thông tin c a m0i pixel b ng bit (các giá tr 0, s& t ng tr ng cho vi c t#t (t i), b t (sáng) pixel hình) Trong tr ng h p nh nhi u màu, ng i ta c n nhi u bit h n, n u thông tin c a m0i pixel c l u b ng b bit, ta có th có 2b giá tr màu phân bi t cho pixel ó Hình 1.6: Song ánh gi a vùng m khung hình Trong hình màu, ng i ta nh ngh-a t p màu làm vi c m t b ng tra (LookUp Table - LUT) M0i ph n t! c a LUT nh ngh-a m t b ba giá tr R (Red), G (Green), B (Blue) mơ t m t màu ó Khi c n s! d ng m t màu, ta ch+ c n ch+ nh s th t (index) t ng ng c a màu ó LUT B ng LUT có th c thay i b i ng d ng ng i l p trình có th can thi p i u n V$i cách làm có th ti t ki m khơng gian l u tr cho m0i ph n t! vùng m khung S ph n t! c a LUT c xác nh t s l ng bits/pixel N u m0i ph n t! c a vùng m khung dùng b bits l u thông tin c a m t pixel, b ng LUT có 2b ph n t! N u b=8, LUT s& có 28=256 ph n t!, ó s màu có th c hi n th m t lúc hình Vi c làm t i hình d ng c th c hi n t c 60 n 80 frame/giây t c làm t i cịn c bi u di)n b ng n v Hertz (Hz – s chu kì/ giây), ó m t chu kì t ng ng v$i m t frame S! d ng n v này, có th mơ t t c làm t i 60 frame/giây n gi n 60Hz Khi t n cu i m0i dòng quét, tia i n t! quay tr l i bên trái c a hình b#t u dịng qt k ti p Vi c quay tr l i phía trái hình sau làm t i m0i dòng quét c g i tia h i ngang (horizontal retrace) Và t$i cu i m0i frame, tia i n t! (tia h i d c – vertical retrace) quay tr l i góc bên trái c a hình chu%n b b#t u frame k ti p Trong m t s hình, m0i frame c hi n th thành hai giai o n s! d ng k- thu t làm t i an xen (interlaced refesh) giai o n u tiên, tia quét s& quét m t s dòng t xu ng d $i, sau tia h i d c, dòng l i s& c quét Vi c an xen dòng quét cho phép th y c tồn hình hi n th ch+ m t n!a th i gian so v$i dùng quét t t c dòng m t l n t xu ng d $i K- thu t th ng c dùng cho lo i hình có t c làm t i th p 10 ... ni m v h a máy tính h a máy tính l ch s phát tri n K thu t h a máy tính ph ng pháp công ngh dùng vi c chuy n i qua l i gi a d li u hình nh hình b ng máy tính K thu t h a hay h a máy tính cịn c... h a máy tính c a H HÀNG H I VI T NAM, b môn H thông thông tin ti n hành t ng h p, biên so n s b t p gi ng mơn h c h a máy tính T p gi ng trình K thu t c biên so n ch y u d a Giáo h a máy tính. .. ngày t t h n B môn H th ng thông tin Khoa Công ngh thông tin - Tr ng H Hàng H i M cl c M c l c Ch ng 1: T ng quan v h a máy tính 1.1 Khái ni m v h a máy tính l ch s phát

Ngày đăng: 26/11/2022, 22:46

Tài liệu cùng người dùng

Tài liệu liên quan