1. Trang chủ
  2. » Luận Văn - Báo Cáo

KỸ THUẬT ĐỒ HỌA VI TÍNH - Full 10 điểm

173 1 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 173
Dung lượng 3,25 MB

Nội dung

H Ọ C VI Ệ N CÔNG NGH Ệ B Ư U CHÍNH VI Ễ N THÔNG K Ỹ THU Ậ T ĐỒ H Ọ A (Dùng cho sinh viên h ệ đ ào t ạ o đạ i h ọ c t ừ xa) L ư u hành n ộ i b ộ HÀ N Ộ I - 2006 CuuDuongThanCong com https://fb com/tailieudientucntt H Ọ C VI Ệ N CÔNG NGH Ệ B Ư U CHÍNH VI Ễ N THÔNG K Ỹ THU Ậ T ĐỒ H Ọ A Biên so ạ n : THS TR Ị NH TH Ị VÂN ANH CuuDuongThanCong com https://fb com/tailieudientucntt L ờ i nói đầ u 3 L Ờ I NÓI ĐẦ U Hi ệ n nay đồ ho ạ máy tính (Computer Graphics) là m ộ t trong nh ữ ng ch ươ ng trình thông d ụ ng nh ấ t, nó đ ã góp ph ầ n quan tr ọ ng làm cho giao ti ế p gi ữ a con ng ườ i và máy tính tr ở nên thân thi ệ n h ơ n Th ậ t v ậ y, giao di ệ n ki ể u v ă n b ả n (text) đ ã đượ c thay th ế hoàn toàn b ằ ng giao di ệ n đồ ho ạ , cùng v ớ i công ngh ệ đ a ph ươ ng ti ệ n (multimedia) đ ã đư a ngành Công Ngh ệ Thông Tin sang m ộ t phiên b ả n m ớ i Cu ố n tài li ệ u gi ả ng d ạ y này, tôi mu ố n mang l ạ i cho b ạ n đọ c các c ơ s ở lý thuy ế t v ề đồ ho ạ máy tính t ừ đơ n gi ả n nh ấ t nh ư các thu ậ t toán v ẽ đườ ng th ẳ ng, đườ ng tròn, đ a giác, ký t ự Ti ế p đế n các k ỹ thu ậ t xén t ỉ a, các phép bi ế n đổ i đồ ho ạ trong không gian 2D và 3D Chúng ta l ầ n l ượ t làm quen v ớ i th ế gi ớ i màu s ắ c thông qua các h ệ màu: RGB, CMYK, HSV Ph ứ c t ạ p h ơ n n ữ a là các phép chi ế u, các ph ươ ng pháp xây d ự ng đườ ng cong và m ặ t cong cho đố i t ượ ng Tài li ệ u g ồ m b ả y ch ươ ng, trong đ ó ch ươ ng m ộ t giúp b ạ n có cái nhìn t ổ ng quan v ề k ỹ thu ậ t đồ ho ạ t ừ tr ướ c đế n gi ờ cùng đị nh h ướ ng t ươ ng lai cho l ĩ nh v ự c này Các ch ươ ng ti ế p theo, m ỗ i ch ươ ng s ẽ là m ộ t v ấ n đề t ừ đơ n gi ả n đế n ph ứ c t ạ p Cu ố i m ỗ i ch ươ ng đề u có ph ầ n bài t ậ p cho chúng ta ki ể m tra l ạ i ki ế n th ứ c v ừ a đọ c đượ c Bài t ậ p g ồ m hai d ạ ng: d ạ ng tính toán và d ạ ng l ậ p trình, đố i v ớ i d ạ ng l ậ p trình b ạ n có th ể vi ế t b ằ ng C/C++ hay BC th ậ m chí b ằ ng VB đề u đượ c Cu ố i cùng là ph ầ n ph ụ l ụ c g ồ m các h ướ ng d ẫ n để chúng ta làm bài t ậ p l ậ p trình, ngôn ng ữ hay dùng ở đ ây là C/C++ hay BC B ố c ụ c rõ ràng, hình ả nh phong phú, đ a d ạ ng Dù cho b ạ n ch ư a t ừ ng bi ế t v ề đồ ho ạ máy tính hay b ạ n đ ã nhi ề u n ă m làm vi ệ c trong l ĩ nh v ự c này, b ạ n đề u có th ể nh ậ n th ấ y r ằ ng cu ố n sách này là m ộ t b ộ tham kh ả o đầ y đủ các thông tin h ữ u ích và có tính ch ấ t th ự c ti ễ n cao Trong quá trình biên so ạ n m ặ c dù đ ã c ố g ắ ng h ế t s ứ c nh ư ng v ẫ n không tránh kh ỏ i nh ữ ng sai sót, r ấ t mong nh ậ n đượ c s ự đ óng góp chân thành t ừ quý b ạ n đọ c Xin chân thành cám ơ n Tác gi ả CuuDuongThanCong com https://fb com/tailieudientucntt Ch ươ ng 1: T ổ ng quan v ề k ỹ thu ậ t đồ h ọ a 4 CH ƯƠ NG 1: T Ổ NG QUAN V Ề K Ỹ THU Ậ T ĐỒ HO Ạ 1 CÁC KHÁI NI Ệ M T Ổ NG QUAN C Ủ A K Ỹ THU Ậ T ĐỒ HO Ạ MÁY TÍNH (COMPUTER GRAPHICS) 1 1 L ị ch s ử phát tri ể n - Graphics nh ữ ng n ă m 1950-1960 1959 Thi ế t b ị đồ ho ạ đầ u tiên là màn hình xu ấ t hi ệ n t ạ i Đứ c 1960 - SAGE (Semi-Automatic Ground Environment System) xu ấ t hi ệ n bút sáng thao tác v ớ i màn hình 1960 William Fetter nhà khoa h ọ c ng ườ i M ỹ , ông đ ang nghiên c ứ u xây d ự ng mô hình bu ồ ng lái máy bay cho hãng Boeing c ủ a M ỹ Ông đ ã d ự a trên hình ả nh 3 chi ề u c ủ a mô hình ng ườ i phi công trong bu ồ ng lái c ủ a máy bay để xây d ự ng nên m ộ t mô hình t ố i ư u cho bu ồ ng lái máy bay Ph ươ ng pháp này cho phép các nhà thi ế t k ế quan sát m ộ t cách tr ự c quan v ị trí c ủ a ng ườ i lái trong khoang Ông đặ t tên cho ph ươ ng pháp này là đồ ho ạ máy tính (Computer Graphics) Màn hình là thi ế t b ị thông d ụ ng nh ấ t trong h ệ đồ ho ạ , các thao tác c ủ a h ầ u h ế t các màn hình đề u d ự a trên thi ế t k ế ố ng tia âm c ự c CRT (Cathode ray tube) Khi đ ó giá để làm t ươ i màn hình là r ấ t cao, máy tính x ử lý ch ậ m, đắ t và không ch ắ c ch ắ n (không đ áng tin c ậ y) - Graphics: 1960-1970 1963 Ivan Sutherland (h ộ i ngh ị Fall Joint Computer - l ầ n đầ u tiên có kh ả n ă ng t ạ o m ớ i, hi ể n th ị và thay đổ i đượ c th ự c hi ệ n trong th ờ i gian th ự c trên màn CRT) H ệ th ố ng này đượ c dùng để thi ế t k ế m ạ ch đ i ệ n: CRT, LightPen (bút sáng), computer (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 màn hình thông qua bút sáng - Graphics: 1970-1980 Raster Graphics ( đồ ho ạ đ i ể m) B ắ t đầ u chu ẩ n đồ ho ạ ví d ụ nh ư : GKS(Graphics Kernel System): European effort (k ế t qu ả c ủ a châu âu), Becomes ISO 2D standard - Graphics: 1980-1990 M ụ c đ ích đặ c bi ệ t v ề ph ầ n c ứ ng, thi ế t b ị hình h ọ c đồ ho ạ Silicon Xu ấ t hi ệ n các chu ẩ n công nghi ệ p: PHIGS (Programmers Hierarchical Interactive Graphics Standard) xác đị nh các ph ươ ng pháp chu ẩ n cho các mô hình th ờ i gian th ự c và l ậ p trình h ướ ng đố i t ượ ng Giao di ệ n ng ườ i máy Human-Computer Interface (HCI) - Computer Graphics: 1990-2000 OpenGL API (Application Program Interface – giao di ệ n ch ươ ng trình ứ ng d ụ ng) Completely computer-sinh ra ngành đ i ệ n ả nh phim truy ệ n (Toy Story) r ấ t thành công Các ti ề m tàng ph ầ n c ứ ng m ớ i: Texture mapping (dán các ả nh c ủ a c ả nh th ậ t lên b ề m ặ t c ủ a đố i t ượ ng),blending (tr ộ n màu)… - Computer Graphics: 2000- nay CuuDuongThanCong com https://fb com/tailieudientucntt Ch ươ ng 1: T ổ ng quan v ề k ỹ thu ậ t đồ h ọ a 5 Ả nh hi ệ n th ự c các c ạ c đồ ho ạ cho máy tính (Graphics cards for PCs), game boxes and game players Công nghi ệ p phim ả nh nh ờ vào đồ ho ạ máy tính (Computer graphics becoming routine in movie industry): Maya (th ế gi ớ i v ậ t ch ấ t tri giác đượ c)… 1 2 K ỹ thu ậ t đồ h ọ a vi tính Definition (ISO): Ph ươ ng pháp và công ngh ệ chuy ể n đổ i d ữ li ệ u t ừ thi ế t b ị đồ ho ạ sang máy tính Computer Graphics là ph ươ ng ti ệ n đ a n ă ng và m ạ nh nh ấ t c ủ a giao ti ế p gi ữ a con ng ườ i và máy tính Computer Graphics (K ỹ thu ậ t đồ ho ạ máy tính) là m ộ t l ĩ nh v ự c c ủ a Công ngh ệ thông tin mà ở đ ó nghiên c ứ u, xây d ự ng và t ậ p h ợ p các công c ụ (mô hình lý thuy ế t và ph ầ n m ề m) khác nhau để : ki ế n t ạ o, xây d ự ng, l ư u tr ữ , x ử lý Các mô hình (model) và hình ả nh (image) c ủ a đố i t ượ ng Các mô hình (model) và hình ả nh này có th ể là k ế t qu ả thu đượ c t ừ nh ữ ng l ĩ nh v ự c khác nhau c ủ a r ấ t nhi ề u ngành khoa h ọ c (v ậ t lý, toán h ọ c, thiên v ă n h ọ c…) Computer graphics x ử lý t ấ t c ả các v ấ n đề t ạ o ả nh nh ờ máy tính 2 CÁC K Ỹ THU Ậ T ĐỒ HO Ạ 2 1 K ỹ thu ậ t đồ ho ạ đ i ể m (Sample based-Graphics) - Các mô hình, hình ả nh c ủ a các đố i t ượ ng đượ c hi ể n th ị thông qua t ừ ng pixel (t ừ ng m ẫ u r ờ i r ạ c) - Đặ c đ i ể m: Có th ể thay đổ i thu ộ c tính + Xoá đ i t ừ ng pixel c ủ a mô hình và hình ả nh các đố i t ượ ng + Các mô hình hình ả nh đượ c hi ể n th ị nh ư m ộ t l ướ i đ i ể m (grid) các pixel r ờ i r ạ c, + T ừ ng pixel đề u có v ị trí xác đị nh, đượ c hi ể n th ị v ớ i m ộ t giá tr ị r ờ i r ạ c (s ố nguyên) các thông s ố hi ể n th ị (màu s ắ c ho ặ c độ sáng) + T ậ p h ợ p t ấ t c ả các pixel c ủ a grid cho chúng ta mô hình, hình ả nh đố i t ượ ng mà chúng ta mu ố n hi ể n th ị Hình 1 1 Ả nh đồ ho ạ đ i ể m CuuDuongThanCong com https://fb com/tailieudientucntt Ch ươ ng 1: T ổ ng quan v ề k ỹ thu ậ t đồ h ọ a 6 Bitmap Hình 1 2 K ỹ thu ậ t đồ ho ạ đ i ể m Ph ươ ng pháp để t ạ o ra các pixel - Ph ươ ng pháp dùng ph ầ n m ề m để v ẽ tr ự c ti ế p t ừ ng pixel m ộ t - D ự a trên các lý thuy ế t mô ph ỏ ng (lý thuy ế t Fractal, v v) để xây d ự ng nên hình ả nh mô ph ỏ ng c ủ a s ự v ậ t - Ph ươ ng pháp r ờ i r ạ c hoá (s ố hoá) hình ả nh th ự c c ủ a đố i t ượ ng - Có th ể s ử a đổ i (image editing) ho ặ c x ử lý (image processing) m ả ng các pixel thu đượ c theo nh ữ ng ph ươ ng pháp khác nhau để thu đượ c hình ả nh đặ c tr ư ng c ủ a đố i t ượ ng 2 2 K ỹ thu ậ t đồ ho ạ vector Hình 1 3 Mô hình đồ ho ạ vector - Mô hình hình h ọ c (geometrical model) cho mô hình ho ặ c hình ả nh c ủ a đố i t ượ ng - Xác đị nh các thu ộ c tính c ủ a mô hình hình h ọ c này, SRP library Pascal C program X Window System Graphics hardware Image image formats, compression, transfer graphics algorithms colour positions Mô hình đồ h ọ a Tô trát Thi ế t b ị ra Các tham s ố tô trát CuuDuongThanCong com https://fb com/tailieudientucntt Ch ươ ng 1: T ổ ng quan v ề k ỹ thu ậ t đồ h ọ a 7 - Quá trình tô trát (rendering) để hi ể n th ị t ừ ng đ i ể m c ủ a mô hình, hình ả nh th ự c c ủ a đố i t ượ ng Có th ể đị nh ngh ĩ a đồ ho ạ vector: Đồ ho ạ vector = geometrical model + rendering So sánh gi ữ a Raster và Vector Graphics Đồ ho ạ đ i ể m(Raster Graphics) - Hình ả nh và mô hình c ủ a các v ậ t th ể đượ c bi ể u di ễ n b ở i t ậ p h ợ p các đ i ể m c ủ a l ướ i (grid) - Thay đổ i thu ộ c tính c ủ a các pixel => thay đổ i t ừ ng ph ầ n và t ừ ng vùng c ủ a hình ả nh - Copy đượ c các pixel t ừ m ộ t hình ả nh này sang hình ả nh khác Đồ ho ạ vector(Vector Graphics) - Không thay đổ i thu ộ c tính c ủ a t ừ ng đ i ể m tr ự c ti ế p - X ử lý v ớ i t ừ ng thành ph ầ n hình h ọ c c ơ s ở c ủ a nó và th ự c hi ệ n quá trình tô trát và hi ể n th ị l ạ i - Quan sát hình ả nh và mô hình c ủ a hình ả nh và s ự v ậ t ở nhi ề u góc độ khác nhau b ằ ng cách thay đổ i đ i ể m nhìn và góc nhìn Ví d ụ v ề hình ả nh đồ ho ạ Vector Hình 1 4 Ví d ụ v ề đồ ho ạ vector Muscle Model Wireframe Skeletal Skin Hair Render and Touch CuuDuongThanCong com https://fb com/tailieudientucntt Ch ươ ng 1: T ổ ng quan v ề k ỹ thu ậ t đồ h ọ a 8 2 3 Phân lo ạ i c ủ a đồ ho ạ máy tính Phân lo ạ i theo các l ĩ nh v ự c c ủ a đồ ho ạ máy tính Phân lo ạ i theo h ệ to ạ độ - K ỹ thu ậ t đồ ho ạ hai chi ề u : là k ỹ thu ậ t đồ ho ạ máy tính s ử d ụ ng h ệ to ạ độ hai chi ề u (h ệ to ạ độ ph ẳ ng), s ử d ụ ng r ấ t nhi ề u trong k ỹ thu ậ t x ử lý b ả n đồ , đồ th ị - K ỹ thu ậ t đồ ho ạ ba chi ề u : là k ỹ thu ậ t đồ ho ạ máy tính s ử d ụ ng h ệ to ạ độ ba chi ề u, đ òi h ỏ i r ấ t nhi ề u tính toán và ph ứ c t ạ p h ơ n nhi ề u so v ớ i k ỹ thu ậ t đồ ho ạ hai chi ề u Các l ĩ nh v ự c c ủ a đồ ho ạ máy tính: - K ỹ thu ậ t x ử lý ả nh ( Computer Imaging ): sau quá trình x ử lý ả nh cho ta ả nh s ố c ủ a đố i t ượ ng Trong quá trình x ử lý ả nh s ử d ụ ng r ấ t nhi ề u các k ỹ thu ậ t ph ứ c t ạ p: k ỹ thu ậ t khôi ph ụ c ả nh, k ỹ thu ậ t làm n ổ i ả nh, k ỹ thu ậ t xác đị nh biên ả nh - K ỹ thu ậ t nh ậ n d ạ ng ( Pattern Recognition): t ừ nh ữ ng ả nh m ẫ u có s ẵ n ta phân lo ạ i theo c ấ u trúc, ho ặ c theo các tiêu trí đượ c xác đị nh t ừ tr ướ c và b ằ ng các thu ậ t toán ch ọ n l ọ c để có th ể phân tích hay t ổ ng h ợ p ả nh đ ã cho thành m ộ t t ậ p h ợ p các ả nh g ố c, các ả nh g ố c này đượ c l ư u trong m ộ t th ư vi ệ n và c ă n c ứ vào th ư vi ệ n này ta xây d ự ng đượ c các thu ậ t gi ả i phân tích và t ổ h ợ p ả nh - K ỹ thu ậ t t ổ ng h ợ p ả nh ( Image Synthesis ): là l ĩ nh v ự c xây d ự ng mô hình và hình ả nh c ủ a các v ậ t th ể d ự a trên các đố i t ượ ng và m ố i quan h ệ gi ữ a chúng - Các h ệ CAD/CAM (Computer Aided Design/Computer Aided Manufacture System): k ỹ thu ậ t đồ ho ạ t ậ p h ợ p các công c ụ , các k ỹ thu ậ t tr ợ giúp cho thi ế t k ế các chi ti ế t và các h ệ th ố ng khác nhau: h ệ th ố ng c ơ , h ệ th ố ng đ i ệ n, h ệ th ố ng đ i ệ n t ử … - Đồ ho ạ minh ho ạ (Presentation Graphics): g ồ m các công c ụ giúp hi ể n th ị các s ố li ệ u thí nghi ệ m m ộ t cách tr ự c quan, d ự a trên các m ẫ u đồ th ị ho ặ c các thu ậ t toán có s ẵ n K ỹ thu ậ t phân tích và t ạ o ả nh Đồ ho ạ ho ạ t hình và ngh ệ thu ậ t K ỹ thu ậ t nh ậ n d ạ ng X ử lý ả nh Đồ ho ạ minh ho ạ CAD/CAM System K ỹ thu ậ t đồ ho ạ Ki ế n t ạ o đồ ho ạ X ử lý đồ ho ạ K ỹ thu ậ t đồ ho ạ K ỹ thu ậ t đồ ho ạ 2 chi ề u K ỹ thu ậ t đồ ho ạ 3 chi ề u CuuDuongThanCong com https://fb com/tailieudientucntt Ch ươ ng 1: T ổ ng quan v ề k ỹ thu ậ t đồ h ọ a 9 - Đồ ho ạ ho ạ t hình và ngh ệ thu ậ t: bao g ồ m các công c ụ giúp cho các ho ạ s ĩ , các nhà thi ế t k ế phim ho ạ t hình chuyên nghi ệ p làm các k ỹ x ả o ho ạ t hình, v ẽ tranh Ví d ụ : ph ầ n m ề m 3D Studio, 3D Animation, 3D Studio Max 2 4 Các ứ ng d ụ ng tiêu bi ể u c ủ a k ỹ thu ậ t đồ h ọ a Đồ ho ạ máy tính là m ộ t trong nh ữ ng l ĩ nh v ự c lý thú nh ấ t và phát tri ể n nhanh nh ấ t c ủ a tin h ọ c Ngay t ừ khi xu ấ t hi ệ n nó đ ã có s ứ c lôi cu ố n mãnh li ệ t, cu ố n hút r ấ t nhi ề u ng ườ i ở nhi ề u l ĩ nh v ự c khác nhau nh ư khoa h ọ c, ngh ệ thu ậ t, kinh doanh, qu ả n lý Tính h ấ p d ẫ n c ủ a nó có th ể đượ c minh ho ạ r ấ t tr ự c quan thông qua các ứ ng d ụ ng c ủ a nó - Xây d ự ng giao di ệ n ng ườ i dùng (User Interface) Giao di ệ n đồ ho ạ th ự c s ự là cu ộ c cách m ạ ng mang l ạ i s ự thu ậ n ti ệ n và tho ả i mái cho ng ườ i dùng ứ ng d ụ ng Giao di ệ n WYSIWYG và WIMP đ ang đượ c đ a s ố ng ườ i dùng ư u thích nh ờ tính thân thi ệ n, d ễ s ử d ụ ng c ủ a nó - T ạ o các bi ể u đồ trong th ươ ng m ạ i, khoa h ọ c, k ỹ thu ậ t Các ứ ng d ụ ng này th ườ ng đượ c dùng để tóm l ượ c các d ữ li ệ u v ề tài chính, th ố ng kê, kinh t ế , khoa h ọ c, toán h ọ c giúp cho nghiên c ứ u, qu ả n lý m ộ t cách có hi ệ u qu ả - T ự độ ng hoá v ă n phòng và ch ế b ả n đ i ệ n t ử - Thi ế t k ế v ớ i s ự tr ợ giúp c ủ a máy tính (CAD_CAM) - L ĩ nh v ự c gi ả i trí, ngh ệ thu ậ t và mô ph ỏ ng - Đ i ề u khi ể n các quá trình s ả n xu ấ t (Process Control) - L ĩ nh v ự c b ả n đồ (Cartography) - Giáo d ụ c và đ ào t ạ o M ộ t s ố ví d ụ c ủ a ứ ng d ụ ng k ỹ thu ậ t đồ ho ạ : CuuDuongThanCong com https://fb com/tailieudientucntt Ch ươ ng 1: T ổ ng quan v ề k ỹ thu ậ t đồ h ọ a 10 Hình 1 5 Các ứ ng d ụ ng c ủ a k ỹ thu ậ t đồ ho ạ Hình 1 6 H ệ ứ ng d ụ ng CAD - CAM CuuDuongThanCong com https://fb com/tailieudientucntt Ch ươ ng 1: T ổ ng quan v ề k ỹ thu ậ t đồ h ọ a 11 2 5 Các chu ẩ n giao di ệ n c ủ a h ệ đồ ho ạ M ụ c tiêu c ă n b ả n c ủ a ph ầ n m ề m đồ ho ạ đượ c chu ẩ n là tính t ươ ng thích Khi các công c ụ đượ c thi ế t k ế v ớ i hàm đồ ho ạ chu ẩ n, ph ầ n m ề m có th ể đượ c di chuy ể n m ộ t cách d ễ dàng t ừ h ệ ph ầ n c ứ ng này sang h ệ ph ầ n c ứ ng khác và đượ c dùng trong nhi ề u cài đặ t và ứ ng d ụ ng khác nhau GKS (Graphics Kernel System): chu ẩ n xác đị nh các hàm đồ ho ạ chu ẩ n, đượ c thi ế t k ế nh ư m ộ t t ậ p h ợ p các công c ụ đồ ho ạ hai chi ề u và ba chi ề u GKS Functional Description, ANSI X3 124 - 1985 GKS - 3D Functional Description, ISO Doc #8805:1988 CGI (Computer Graphics Interface System): h ệ chu ẩ n cho các ph ươ ng pháp giao ti ế p v ớ i các thi ế t b ị ngo ạ i vi CGM (Computer Graphics Metafile): xác đị nh các chu ẩ n cho vi ệ c l ư u tr ữ và chuy ể n đổ i hình ả nh VRML (Virtual Reality Modeling Language): ngôn ng ữ th ự c t ạ i ả o, m ộ t h ướ ng phát tri ể n trong công ngh ệ hi ể n th ị đượ c đề xu ấ t b ở i hãng Silicon Graphics, sau đ ó đ ã đượ c chu ẩ n hóa nh ư m ộ t chu ẩ n công nghi ệ p PHIGS (Programmers Hierarchical Interactive Graphics Standard): xác đị nh các ph ươ ng pháp chu ẩ n cho các mô hình th ờ i gian th ự c và l ậ p trình h ướ ng đố i t ượ ng PHIGS Functional Description, ANSI X3 144 - 1985 + Functional Description, 1988, 1992 OPENGL th ư vi ệ n đồ h ọ a c ủ a hãng Silicon Graphics, đượ c xây d ự ng theo đ úng chu ẩ n c ủ a m ộ t h ệ đồ h ọ a n ă m 1993 DIRECTX th ư vi ệ n đồ ho ạ c ủ a hãng Microsoft, Direct X/Direct3D 1997 3 PH Ầ N C Ứ NG ĐỒ HO Ạ (GRAPHICS HARDWARE) 3 1 Các thành ph ầ n ph ầ n c ứ ng c ủ a h ệ đồ ho ạ t ươ ng tác CPU:th ự c hi ệ n các ch ươ ng trình ứ ng d ụ ng B ộ x ử lý hi ể n th ị (Display Processor): th ự c hi ệ n công vi ệ c hi ể n th ị d ữ li ệ u đồ ho ạ B ộ nh ớ h ệ th ố ng (System Memory): ch ứ a các ch ươ ng trình và d ữ li ệ u đ ang th ự c hi ệ n Gói ph ầ n m ề m đồ ho ạ (Graphics Package): cung c ấ p các hàm đồ ho ạ cho ch ươ ng trình ứ ng d ụ ng Ph ầ n m ề m ứ ng d ụ ng (Application Program): ph ầ n m ề m đồ ho ạ ứ ng d ụ ng B ộ đệ m ( Frame buffer): có nhi ệ m v ụ ch ứ a các hình ả nh hi ể n th ị B ộ đ i ề u khi ể n màn hình (Video Controller): đ i ề u khi ể n màn hình, chuy ể n d ữ li ệ u d ạ ng s ố ở frame buffer thành các đ i ể m sáng trên màn hình CuuDuongThanCong com https://fb com/tailieudientucntt Ch ươ ng 1: T ổ ng quan v ề k ỹ thu ậ t đồ h ọ a 12 Hình 1 7 Các thành ph ầ n c ứ ng c ủ a h ệ đồ ho ạ t ươ ng tác 3 2 Máy in Dot size: đườ ng kính c ủ a m ộ t đ i ể m in bé nh ấ t mà máy in có th ể in đượ c Addressability: kh ả n ă ng đị a ch ỉ hoá các đ i ể m in có th ể có trên m ộ t đơ n v ị độ dài (dot per inch) S ố l ượ ng màu có th ể v ẽ trên m ộ t đ i ể m: Dot size Point per inch 8 - 20/ 100inch 200, 600 5/1000inch 1500 Máy v ẽ 6,15/1000 inch 1000, 2000 3 3 Màn hình CRT M ộ t chùm các tia đ i ệ n t ử (tia âm c ự c) phát ra t ừ m ộ t súng đ i ệ n t ử , v ượ t qua cu ộ n lái tia d ẫ n đế n v ị trí xác đị nh trên màn hình đượ c ph ủ m ộ t l ớ p phosphor T ạ i m ỗ i v ị trí t ươ ng tác v ớ i tia đ i ệ n t ử h ạ t phosphor s ẽ phát lên m ộ t ch ấ m sáng nh ỏ Nh ư ng ch ấ m sáng s ẽ m ờ d ầ n r ấ t nhanh nên c ầ n có cách nào nó duy trì ả nh trên màn hình M ộ t trong các cách là: 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 các tia đ i ệ n t ử tr ở l ạ i ví trí c ũ G ọ i là làm t ươ i (refresh CRT) S ố l ượ ng t ố i đ a các đ i ể m có th ể hi ể n th ị trên m ộ t CRT đượ c g ọ i là độ phân gi ả i (Resolution) Hay độ phân gi ả i là s ố l ượ ng các đ i ể m trên m ộ t cm mà có th ể đượ c v ẽ theo chi ề u ngang và chi ề u d ọ c ( đượ c xem nh ư t ổ ng s ố đ i ể m theo m ỗ i h ướ ng) CuuDuongThanCong com https://fb com/tailieudientucntt Ch ươ ng 1: T ổ ng quan v ề k ỹ thu ậ t đồ h ọ a 13 Hình 1 8 Công ngh ệ màn hình CRT Kích th ướ c v ậ t lý c ủ a màn hình đồ ho ạ đượ c tính t ừ độ dài c ủ a đườ ng chéo màn hình Th ườ ng dao độ ng t ừ 12-27 inch, ho ặ c l ớ n h ơ n Thu ộ c tính khác c ủ a màn hình là t ỷ s ố ph ươ ng (aspect ratio) Nó là t ỷ l ệ c ủ a các đ i ể m d ọ c và các đ i ể m ngang c ầ n để phát sinh các đ o ạ n th ẳ ng có độ dài đơ n v ị theo c ả hai h ướ ng trên màn hình Màn hình có t ỷ s ố ph ươ ng khác m ộ t, thì hình vuông hi ể n th ị trên đ ó thành hình ch ữ nh ậ t còn hình tròn thành hình ellipse Màn hình d ạ ng đ i ể m (Raster Display): th ườ ng g ặ p nh ấ t trong s ố các d ạ ng màn hình s ử d ụ ng CRT trên công ngh ệ truy ề n hình M ỗ i đ i ể m trên màn hình đượ c g ọ i là pixel Các thông tin v ề ả nh hi ể n th ị trên màn hình đượ c l ư u tr ữ trong m ộ t vùng b ộ nh ớ g ọ i là vùng đệ m làm t ươ i (Refresh buffer) hay là vùng đệ m khung (Frame Buffer) Vùng l ư u tr ữ t ậ p các giá tr ị c ườ ng độ sáng c ủ a toàn b ộ các đ i ể m trên màn hình và luôn t ồ n t ạ i m ộ t cách song ánh gi ữ a m ỗ i đ i ể m trên màn hình và m ỗ i ph ầ n t ử trong vùng này SONY Trinitron NEC Hybrid Hitachi EDP Standard Dot-trio CuuDuongThanCong com https://fb com/tailieudientucntt Ch ươ ng 1: T ổ ng quan v ề k ỹ thu ậ t đồ h ọ a 14 Để t ạ o ra hình ả nh đ en tr ắ ng, đơ n gi ả n ch ỉ c ầ n l ư u thông tin c ủ a m ỗ i Pixel là m ộ t bít (0,1) (xem hình 1 9) Trong tr ườ ng h ợ p ả nh nhi ề u màu thì c ầ n nhi ề u bít h ơ n, n ế u thông tin m ỗ i pixel đượ c l ư u b ằ ng b bít thì ta có th ể có 2 b giá tr ị m ầ u phân bi ệ t cho pixel đ ó Trong các màn hình màu, ng ườ i ta đị nh ngh ĩ a t ậ p các màu làm vi ệ c trong m ộ t b ả ng tra (LookUp Table - LUT) M ỗ i ph ầ n t ử c ủ a LUT đượ c đị nh ngh ĩ a m ộ t b ộ ba giá tr ị (RGB) mô t ả m ộ t màu nào đ ó 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 đ ó trong LUT, s ố ph ầ n t ử trong b ả ng LUT chính là s ố màu có th ể đượ c hi ể n th ị cùng m ộ t lúc trên màn hình Ví d ụ mô hình đồ ho ạ đ i ể m ngôi nhà và ngôi sao Hình 1 9 Song ánh gi ữ a vùng đệ m khung và màn hình X: 0 ¸ Xmax2 màu/ 1 bit Y: 0 ¸ Ymax16 màu/ 4 bit ;256 màu/ 8bit 2 16 màu/ 16 bit ; 2 24 màu/ 24 bit 640 x 480 x 16 → Video RAM = 2MB 1024 x 1024 x 24 → Video RAM = 24MB Vi ệ c làm t ươ i trên màn hình d ạ ng này đượ c th ự c hi ệ n ở t ố c độ 60 - 80 frame/giây Đ ôi khi t ố c độ làm t ươ i còn đượ c bi ể u di ễ n b ằ ng đơ n v ị Hertz (Hz - s ố chu k ỳ trên/giây), trong đ ó m ộ t chu k ỳ t ươ ng ứ ng v ớ i m ộ t frame V ậ y t ố c độ làm t ươ i 60 frame/giây đơ n gi ả n là 60 Hz Khi đạ t đế n cu ố i m ỗ i dòng quét, tia đ i ệ n t ử quay tr ở l ạ i bên trái c ủ a màn hình để b ắ t đầ u dòng quét k ế ti ế p Vi ệ c quay tr ở v ề bên trái màn hình sau khi làm t ươ i m ỗ i dòng quét đượ c g ọ i là tia h ồ i ngang (Horizontal retrace) Và t ớ i cu ố i m ỗ i frame, tia đ i ệ n t ử (tia h ồ i d ọ c - Vertical retrace) quay tr ở l ạ i góc bên trái c ủ a màn hình để chu ẩ n b ị b ắ t đầ u frame k ế ti ế p Display processo Interface to host computer (Display commands) (interaction data) Keyboard Data input 000000000000000 000000000010000 00 000000000000000 Bitmap refresh buffer (the 1’s are accentuated for contrast) CRT CuuDuongThanCong com https://fb com/tailieudientucntt Ch ươ ng 1: T ổ ng quan v ề k ỹ thu ậ t đồ h ọ a 15 Hình 1 10 Quét mành và quét dòng c ủ a màn hình CRT Ví d ụ v ề vi ệ c tia quét trên màn hình CRT: MOVE 10,15 LINE 400,300 LINE 600,800 Refesh Buffer DrawLine(A, B): Turn beam off, move to A Turn beam on, move to B 3 4 Màn hình tinh th ể l ỏ ng (Liquid Crystal Display – LCD) D ự a vào công ngh ệ truy ề n ánh sáng qua đ i ệ n c ự c mà đặ t gi ữ a là cu ộ n dây xo ắ n Khi ch ư a có t ừ tr ườ ng (ch ư a có dòng đ i ệ n) ở cu ộ n dây thì ánh sáng truy ề n th ẳ ng, khi có t ừ tr ườ ng thì ánh sáng truy ề n đổ i chi ề u Hình 1 11 Công ngh ệ truy ề n ánh sáng trong màn hình tinh th ể l ỏ ng CuuDuongThanCong com https://fb com/tailieudientucntt Ch ươ ng 1: T ổ ng quan v ề k ỹ thu ậ t đồ h ọ a 16 CRT Displays (màn hình CRT) Advantages ( ư u đ i ể m) Đ áp ứ ng nhanh (có độ phân gi ả i cao) Màu s ắ c đ a d ạ ng (Có độ sâu và r ộ ng) Màu s ắ c bão hoà và t ự nhiên Công ngh ệ không quá đắ t và hoàn thi ệ n Góc nhìn r ộ ng, t ươ ng ph ả n và độ sáng cao Disadvantages (nh ượ c đ i ể m) L ớ n và n ặ ng (typ 70x70 cm, 15 kg) Tiêu t ố n ngu ồ n đ i ệ n cao (typ 140W) Có h ạ i cho s ứ c kho ẻ vì tr ườ ng đ i ệ n t ừ và t ừ tính Màn hình nh ấ p nháy (at 50-80 Hz) Hình hay b ị méo t ạ i 4 góc LCD Displays (màn hình tinh th ể l ỏ ng) Advantages ( ư u đ i ể m) Hình dáng nh ỏ , tr ọ ng l ượ ng nh ẹ (approx 1/6 of CRT, typ 1/5 of CRT) Tiêu t ố n ngu ồ n th ấ p (typ 1/4 of CRT) Màn hình ph ẳ ng tuy ệ t đố i nên không méo t ạ i các góc Màu s ắ c đề u, ả nh sinh độ ng Không b ị hi ệ u ứ ng đ i ệ n t ừ tr ườ ng Có th ể màn hình v ừ a l ớ n v ừ a r ộ ng (>20 inch) Disadvantages (nh ượ c đ i ể m) Giá thành cao (presently 3x CRT) Góc nhìn h ẹ p h ơ n (typ +/- 50 degrees) độ t ươ ng ph ả n th ấ p (typ 1:100) độ chói ( độ ng ờ i) th ấ p h ơ n (typ 200 cd/m 2 ) Tóm t ắ t ch ươ ng: S ự ra đờ i c ủ a đồ ho ạ máy tính th ự c s ự là cu ộ c cách m ạ ng trong giao ti ế p gi ữ a ng ườ i dùng và máy tính V ớ i l ượ ng thông tin tr ự c quan, đ a d ạ ng và phong phú đượ c truy ề n t ả i qua hình ả nh Các ứ ng d ụ ng đồ ho ạ máy tính đ ã lôi cu ố n nhi ề u ng ườ i nh ờ tính thân thi ệ n, d ễ dùng, kích thích kh ả n ă ng sáng t ạ o và t ă ng đ áng k ể hi ệ u su ấ t làm vi ệ c Đồ ho ạ máy tính ngày nay đượ c đượ c ứ ng d ụ ng r ấ t r ộ ng rãi trong nhi ề u l ĩ nh v ự c khao h ọ c, k ỹ thu ậ t, ngh ệ thu ậ t, kinh doanh, qu ả n lý…Các ứ ng d ụ ng đồ ho ạ r ấ t đ a d ạ ng, phong phú và phát tri ể n liên t ụ c không ng ừ ng Ngày nay, h ầ u nh ư không có ch ươ ng trình ứ ng d ụ ng nào mà không s ử d ụ ng k ỹ thu ậ t đồ ho ạ để làm t ă ng tính h ấ p d ẫ n cho mình M ộ t h ệ th ố ng đồ ho ạ bao gi ờ c ũ ng g ồ m hai ph ầ n chính đ ó là ph ầ n c ứ ng và ph ầ n m ề m Ph ầ n c ứ ng bao g ồ m các thi ế t b ị hi ể n th ị (thi ế t b ị xu ấ t) và các thi ế t b ị nh ậ p Tiêu bi ể u nh ấ t là màn hình, có hai lo ạ i thông d ụ ng là CRT và LCD Bài t ậ p: 1 C ấ u t ạ o và nguyên lý ho ạ t độ ng c ủ a màn hình d ạ ng đ i ể m Nêu các khái ni ệ m vùng đệ m khung, độ phân gi ả i, t ỷ s ố ph ươ ng c ủ a màn hình lo ạ i này? 2 Ý ngh ĩ a và ho ạ t độ ng c ủ a b ả ng tra LUT? CuuDuongThanCong com https://fb com/tailieudientucntt Ch ươ ng 1: T ổ ng quan v ề k ỹ thu ậ t đồ h ọ a 17 3 Tính Video Ram c ủ a các màn hình l ầ n l ượ t có độ phân gi ả i là 640x480, 1024x768, 1280x1024 mà có m ỗ i pixel đượ c mô t ả là 8bít, 12 bit, 24 bit 4 N ế u chúng ta dùng các giá tr ị 12bit cho m ỗ i pixel trong m ộ t b ả ng tham chi ế u lookup table, có bao nhiêu h ạ ng m ụ c mà lookup table có đượ c? 5 T ạ i sao ph ả i chu ẩ n hoá các ph ầ n m ề m? Li ệ t kê và tìm hi ể u các chu ẩ n hó ph ầ n m ề m đồ ho ạ Bài t ậ p tr ắ c nghi ệ m: 1 T ỷ s ố ph ươ ng (aspect ratio) c ủ a màn hình là 1,4 v ậ y m ộ t hình tròn khi hi ể n th ị trên màn hình đ ó s ẽ cho: a Hình tròn b Hình ellipse n ằ m ngang (bán kính theo tr ụ c x dài h ơ n bán kính theo tr ụ c y) c Hình ellipse đứ ng (bán kính theo tr ụ c x ng ắ n h ơ n bán kính theo tr ụ c y) d Hình thoi 2 Cho màn có độ phân gi ả i 1024x1024 và m ỗ i pixel đượ c mô t ả 24bít v ậ y video RAM c ủ a màn hình là: a 1048576 bít b 2MB c 3MB d 4MB 3 N ế u ta dùng các giá tr ị 24 bit cho m ỗ i pixel trong m ộ t b ả ng LUT Thì b ả ng LUT có s ố màu là: a 24 màu b 1024 màu c 16777216 màu d 16000000 màu CuuDuongThanCong com https://fb com/tailieudientucntt Ch ươ ng 2: Các gi ả i thu ậ t sinh th ự c th ể c ơ s ở 18 CH ƯƠ NG 2: CÁC GI Ả I THU Ậ T SINH TH Ự C TH Ể C Ơ S Ở 1 CÁC ĐỐ I T ƯỢ NG ĐỒ HO Ạ C Ơ S Ở 1 1 H ệ to ạ độ th ế gi ớ i th ự c và h ệ to ạ độ thi ế t b ị a H ệ to ạ độ th ế gi ớ i th ự c (WCS: World Coordinate System) WCS hay h ệ to ạ độ th ự c là h ệ to ạ độ đượ c dùng mô t ả các đố i t ượ ng trong th ế gi ớ i th ự c M ộ t trong h ệ to ạ độ th ự c đượ c dùng nhi ề u nh ấ t là h ệ to ạ độ Descartes B ấ t kì đ i ể m nào trong m ặ t ph ẳ ng đượ c mô t ả b ằ ng c ặ p to ạ độ (x,y) trong đ ó x,y ∈ R G ố c to ạ độ là đ i ể m O có to ạ độ (0,0), Ox,Oy l ầ n l ượ t là tr ụ c hoành và tr ụ c tung và x,y là hoành độ và tung độ Các to ạ độ th ế gi ớ i th ự c cho phép ng ườ i s ử d ụ ng b ấ t kì m ộ t th ứ nguyên (dimension) qui ướ c: foot, cm, nm, km, inch tu ỳ ý b H ệ to ạ độ thi ế t b ị (DCS: Device Coordinate System) H ệ to ạ độ thi ế t b ị là h ệ to ạ độ đượ c dùng b ở i m ộ t thi ế t b ị xu ấ t c ụ th ể nào đ ó nh ư máy in, màn hình Các đ i ể m đượ c bi ể u di ễ n b ở i c ặ p to ạ độ (x,y), nh ư ng x,y ∈ N Đ i ể m trong to ạ độ th ự c đượ c đị nh ngh ĩ a liên t ụ c, còn trong to ạ độ thi ế t b ị thì r ờ i r ạ c do tính ch ấ t c ủ a t ậ p các s ố t ự nhiên Các to ạ độ (x,y) có gi ớ i h ạ n trong m ộ t kho ả ng nào đ ó 1 2 Đ i ể m và đ o ạ n th ẳ ng a Đ i ể m Trong h ệ to ạ độ hai chi ề u (x,y), ngoài ra nó còn có tính ch ấ t màu s ắ c b Đ o ạ n th ẳ ng + Bi ể u di ễ n t ườ ng minh: y = f(x) M ộ t đ o ạ n th ẳ ng đượ c xác đị nh n ế u bi ế t 2 đ i ể m thu ộ c nó Ph ươ ng trình đ o ạ n th ẳ ng đ i qua 2 đ i ể m P (x1,y1) và Q(x2,y2) nh ư sau: (y-y 1 )/( x-x 1 ) = ( y 2 -y 1 )/( x 2 -x 1 ) (y-y 1 )(x 2 -x 1 )=(x-x 1 )(y 2 -y 1 ) (x 2 -x 1 )y=(y 2 -y 1 )x + y 1 (x 2 -x 1 ) - x 1 (y 2 -y 1 ) y = ((y 2 -y 1 )/(x 2 -x 1 ))x + y 1 - ((y 2 -y 1 )/(x 2 -x 1 ))x 1 y = kx + m k = (y 2 -y 1 )/(x 2 -x 1 ) Độ d ố c hay h ệ s ố góc c ủ a đườ ng m = y 1 - kx 1 Đ o ạ n ch ắ n trên tr ụ c y Δ y = k Δ x (t ứ c là khi x thay đổ i thì y thay đổ i theo) Hình 2 1 V ẽ đ o ạ n th ẳ ng PQ + Bi ể u di ễ n không t ườ ng minh: ax+by+c=0 m P( x 1 , y 1 ) Q( x 2 , y 2 ) CuuDuongThanCong com https://fb com/tailieudientucntt Ch ươ ng 2: Các gi ả i thu ậ t sinh th ự c th ể c ơ s ở 19 Ta có (y 2 -y 1 )x - (x 2 -x 1 )y + (x 2 -x 1 )y 1 - (y 2 -y 1 )x 1 = 0 (y 2 -y 1 )x - (x 2 -x 1 )y + x 2 y1 - x 1 y 2 = 0 hay rx + sy + t = 0 s = -(x 2 -x 1 ) r = (y 2 -y 1 ) và t = x 2 y 1 - x 1 y2 + Bi ể u di ễ n thông qua tham s ố : P(u) = P 1 + u(P 2 - P 1 )u ∈ [0,1] x(u) = x 1 + u( x 2 - x 1 ) y (u)= y 1 + u( y 2 - y 1 ) 2 CÁC GI Ả I THU Ậ T XÂY D Ự NG TH Ự C TH Ể C Ơ S Ở 2 1 Gi ả i thu ậ t v ẽ đ o ạ n th ẳ ng thông th ườ ng Nguyên lý chung: cho m ộ t thành ph ầ n to ạ độ x hay y bi ế n đổ i theo t ừ ng đơ n v ị và tính độ nguyên còn l ạ i sao cho g ầ n v ớ i to ạ độ th ự c nh ấ t Ta có ( ) 1 1 1 2 1 2 y x x x x y y y − − − − = Cho x thay đổ i tìm y, trong bài này cho x 1 thay đổ i ti ế n t ớ i x 2 ta ch ọ n đơ n v ị nh ỏ nh ấ t c ủ a màn hình Δ x=1 Gi ả i thu ậ t thông th ườ ng: void dline(int x1,int y1, int x2,int y2, int color) { float y; int x; for (x=x1; x

Ngày đăng: 27/02/2024, 08:17

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w