Kỹ thuật đồ họa liên quan mật thiết dến tin học và toán học bời hầu hèt các giai thuật vẽ, tô cùng các phép biến hình đều được xây dựng dựa trên nền táng cua hình học không eian hai chiề
Trang 3HỌC VIỆN CÔNG NGHỆ Bưu CHINH v iễ n t h ô n g
Trang 4LỜI NÓI ĐẦU
f)ồ họa máy tính (Computer Graphics) là một lĩnh vực lý thú và có nhiều ứng dụng Irong thực tế, nó góp phần làm cho giao tiếp giữa con người và má\ tính trơ nên thân thiện h(Tii Giao diện kiểu văn bản (text)
đã được thav thế bàng giao diện dồ hoạ
Kỹ thuật đồ họa liên quan mật thiết dến tin học và toán học bời hầu hèt các giai thuật vẽ, tô cùng các phép biến hình đều được xây dựng dựa trên nền táng cua hình học không eian hai chiều và ba chiều Hiện nay,
Kỳ thuật đồ họa là một môn học được giang dạv cho sinh viên chuyên ngành Công nghệ Thông tin Đê phục vụ nhu cầu học tập cho sinh viên Học viện Công nghệ Bưu chính Viền thông phối hợp với Nhà xuất bán
Thông tin và Truyền thông xuất ban “Giáo trình Kỹ thuật đồ họa" do
ThS Trịnh Thị Vân Anh biên soạn
Trong cuốn giáo trình nàv, chúng tôi muốn cung cấp cho bạn đọc các Iv thuyết cơ sở về đồ họa máy tính, từ các kiến thức cư ban nhất như các thuật loán vẽ đưòmg thăng, đưcnig tròn, đa giác, ký tự đến các kỳ thuật xén tin, các phép hiế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, \ịS V 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 Cuối cùng chúng
ta tìm hiểu về ánh sáng và hình học tractal Nếu như chương 1 giúp bạn đọc có được cái nhìn tồng quan về lịch sừ phát triển của kỹ thuật đô họa cũng như các ứng dụng rộng Icrn cúa lĩnh vực này, thì 8 chương tiếp theo, mỗi chương sẽ là một vấn đề từ đưn gián đến phức tạp về CC7 sờ nền tảng cho ngành kỳ thuật đồ hoạ Cuối mồi chương đều có phần bài tập kiểm tra nhằm giúp bạn đọc tổng hcTp lại kiến thức vừa họ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
có thể viết bàng C/C++ hay BC, thậm chí bằng VB đềa được Cuối giáo
Trang 5trình có phần Phụ lục gồm các hưcVng dẫn làm bài tập lập trình, ngôn ngữ hay dùng ớ đây là C/C++ hay BC.
Giáo trình gồm 9 chưOTg với nội dung như sau:
Chươniĩ ỉ: Tông quan về kv thuật đồ họa
Chirơng 2: Các giái thuật sinh thực Ihề co sư
Chương i ; Các phép biến đồi đồ họa
Chương 4: Các giải thuật đồ họa cơ sớ
Chương 5: Phép chiếu - Projection
Chương ố; Màu sắc trong đồ họa
Chương 7: Đường cong và mặt cong trong 3D
Chương 8: Ánh sáng
Chương 9: Hình học Practal
Với bố cục rõ ràng, hình ảnh phong phú và đa dạna hy vọng giáo trình sẽ cung cấp cho bạn đọc thật đầy đủ các thông tin hữu ích và có tính thực tiễn cao cho môn kỳ thuật đồ họa Giáo trinh là tài liệu học tập và tham ỉdiảo hữu ích cho sinh viên tất cá các trưcTng dại học và cao đăng kỳ ửiuật trong cá nước Trong quá trình biên soạn giáo trình sẽ khó tránh khỏi những thiếu sót, Học viện rất mong nhận được ý kiến góp ý cùa các bạn đồng nghiệp và bạn đọc gần xa đề giáo trinh được hoàn thiện han
t r o n g lần lái b à n tiếp ihco.
Trân trọng cảm ơn!
HỌC VIỆN CÔNG NGHỆ Bưu CHÍNH VIỄN THÔNG
Trang 6MỤC LỤC
Lởi nói ííầ u 3
Chưong 1: TỎNG QUAN VỀ KỸ THIIẠT ĐÒ H O Ạ 11
I ỉ Các khái niệm tônị> cỊiuin cua kỹ ihuậl Jồ họa máy lín h 11
1.1.1 Lịch sứ phát triên 11
1.1.2 Kỹ thuật đồ họa máv t í n h 12
/ 2 ( 'ác kỹ lìniụl đo họu 13
1.2.1 Kỳ thuật đồ họa điểm 13
1.2.2 Kỳ thuật đồ họa véc tơ 14
1.2.3 Phân loại cua đồ họa máy tính 16
1.2.4 Các ứng dụng tiêu biếu cua kỹ thuật dồ họa 17
1.2.5 Các chuân giao diện cua hệ đồ h ọ a 19
1.3 Phản cimí> tỉỏ h ọ a 20
1 I Í'í'u' thành phíìn phân (-ứnịj ciia hệ đô họíi tiriTriịỊ tííe 20
1.3.2 Máy in 21
1.3.3 Màn h ìn h C R T 22
1.3.4 Mủn hình tinh thê lỏng 25
Tóm íủt chiarnị’ 27
Bài tậ p 27
ChưoTig 2: CÁC GIAI THLỈẠT SINH THỤC TMÉ c ơ s ớ 28
2.1 i 'úc hự thoriỊ’ lọa độ ironỊỊ đỏ họa 28
2.1.1 Hệ tọa độ thực 29
2.1.2 Hệ tọa dộ thiết b ị 29
2.1.3 l oa dò thiết hi chuân 30
Trang 72 2 ỉ ) iê m và đ o ạ n t h ă n ị i 30
2.2.1, f)iê m 30
2.2.2 Đoạn thãng 31
2.3 t 'ác lỉiai thuật xây íiựnịỊ (hực llìê c<r S(f 32
2.3.1 Giai thuật vẽ doạn thăng thông thường 32
2.3.2 Giải thuật Bresenham 32
2.3.3 Giai thuật trung điêm-Midpoint 35
2.3.3 Giai thuậl sinh đường tròn 3K 2.3.5 Giai thuật sinh đường tròn Midpoint 42
2.3.6 Giai thuật sinh điùĩng e-lip 44
2.3.7 Giai thuật sinh ký tự 48
2.3.8 Giai thuật sinh đa uiác (Polygon) 50
Tóm tát chưonị’ 57
Bùi lậ p 58
Chưo-ng 3: CÁC PHÉP F31ẺN DÕI DÒ ÍIỌA 59
3 ỉ Các phép hién đói hình học hai vhièu 59
3.1.1, Phép biến dôi Artìne (Atìlne Transtormations) 59
3.1.2 Các phép biến đối dối tưcmg 59
2.2 Tọa độ đồriỊ' nhất và CÍIC phép hiến đ ô i 65
3.2.1 Tọa độ dồng n h ấ l 65
3.2.2 Phép biến đối với tọa dộ đồng n h ấ l 66
3.2.3 Cai dậl c / c ’ ^ tho phép qiiaỵ lain giác quanh 1 diêm (xq.vq): 68
3.3 c 'ác phép hién đôi hình học ha chiếu 69
3.3.1 Biêu diễn dièm trong không uian 3 chiều 69
3.3.2 Phép tịnh tiến 69
3.3.3 Phép ti l ệ 70
3.3.4 Phép biến dạng 71
3.3.5 Phép lấy dối x ứ n g 72
3.3.6 Phép quay 3 chiều 72
3.3.7 Cài đặt b ả n g C / C + ^ 78
Tóm íắt chưcrnịỉ 79
Dùi tậ p ^ 80
Trang 8Chu-o-nj >4; CAC' Ci l AI 1 I I U Ạ I Í ) Ò H Ọ A C'() S O 8 2
4 / Mò hình chuyên ilõi lỊirra ha hữ ihônị^ lọci J ộ 82
4.1.1 Mô hinh cliusên d ô i 82
4.1.2 I’hép ánh xạ lừ cưa sô vào khung n h i n 83
4 2 ( 'ác ịĩiai ihìiâl xén lia 85
4.2.1 Kliái niệm 85
4.2.2 Xén tia d i ê m 85
4.2.3 Xén tia doạn tliănu 86
4.2.4 (ìiai ihuật xén lia da iziác (Sutherland ilodgman) 96
'rỏm lả! d ìin rn ịỉ 101
BÙI tậ p 101
Chu-o-ngS: PHÉP CHIHU -P R 0 JE C T 1 0 N 103
5 l Khái niệm chiing 103
5.1.1 Nguyên lý \ ề 31) (three-Dimension) 103
5 ỉ 2 Dặc diếm của kỹ thuật đồ họa 3 D 103
5.1.3 Các pliưong pháp hién thị 3 D 104
5.2 Phép chiéu 105
5.3 Phép chiéii SOHÌ^ son;^ 107
5.3.1 Phép chiếu trực g ia o 107
5.3.2 Phép chiếu trục lượng 108
^ "í Rhé p c h i ê u x i ê n - O h l i q u e 1 1 ? 5.4^ Phép chiếii phổi canh 1 15 5.4.1 IMiép chiếu pliối canh một lảm cliiếii 116
5.4.2 Phép chiốii phối canh hai tâm chiếu 117
5.4.3 Phép chiếu phối canh ba tâm ch iếu 118
Tóm lăí chiam ỊỊ 119
Bùi lá p 120
ChưoTig 6; MAI! SÁC TRONCi DÒ H Ọ A 121
6 ì A n h .sáiìiỉ và m à u s ắ c 121
6.1.1 Quan niệm về ánh sáng 121
6.1.2 Yeu tố \ ật l ý 121
Trang 96.1.3 Cám nhận màu sẳc cúa con người 1 124
6.1.4 Các dặc trưng cơ ban cua ánh s á n g 1127
6.2 Anh sáng đ<m s ẳ c 1 12K 6.2.1 Cường độ sáng và cách tín h 1128
6.2.2 Phép hiệu chinh gama 1 129 6.2.3 Xấp xi bán tông - halttone 1 130 6.2.4 Ma trận Dither và phép lấy xấp XI bán tông 1 132 6.3 Các hệ màu trong mùn hình đồ h ọ a 1 133 6.3.1 Hệ màu R G B 1 134 6.3.2 H ệ m à u C M Y 1 135 6.3.3 Hệ màu Y I Q 1 136 6.3.4 Hệ màu HSV (Hue Saturation, Value) - Mỹ thuật 1 137 6.3.5 Biểu đồ màu CIE 1 139 6.4 Chuyên đôi giữa cúc hệ m ùu 1 143 6.4.1 Chuyén đồi HSV - RGB 1 143 6.4.2 Chuyền đôi RGB sang XYZ 1 144 T óm tá t c h ư ơ n ị’ 1 146 Bùi tậ p 1 147 Chương 7: ĐƯỜNG CONG VÀ MẶT CONG TRONG 3 D 1 148 7.7 Đường cong (C urve) 1 148 7.1.1 Điểm biéu diễn đuờng cong 1 148 7.1.2 ĐưcTng cong đa thức bậc ba tham biến 1 149 7.1.3 Đường cong Hermite 1 150 7.1.4 Dường cong Bezier 1 151 7.1.5 Đường cong B-Spline 1
7.2 Mô hình hê mặt vù cúc phiarnịỉ pháp xây d ự n g I 7.2.1 Các khái niệm cơ b à n 1
7.2.2 Biểu diễn mảnh tử giác 1
7.2.3 Mô hình hoá các mặt cong (Surtầce Patches) 1
7.2.4 Mặt từ các đường cong 1
Tôm tẳí chư ơng 1
Bài lậ p 1
154 164 164
165
167 172 179 180
Trang 10rhưo-ong 8: ANll SANCi 181
<s ì / (iiứi ihiệu 181
8.1.1 Mục tiêu chính trong đồ họa m.iy l í n h 181
8.1.2 Các giai pháp trong đỏ họa máy tinh 182
H.2 2 ( 'ác kỹ thuật chiếu SCÌHÍ' ironíỉ đồ họa mày íinh ] 85
8.2.1 Đánh giá về cường độ ánh s á n g 185
8.2.2 Cường độ ánh sáng 186
8.2.3 Những thuộc tính bao quanh cua vật c h ấ t 187
8.2.4 Thuộc tính khuếch tán cua vật chất 188
8.2.5 Sự tương tác bề mặt/ánh sáng 190
8.2.6 Sự khúc xạ và sự truyền sáng 191
H ^ 3 c ' á c c ó n ị ỉ n ị i h ệ 191
8.3.1 Raytracing 191
8.3.2 Radiosity 199
8.3.3 Pholon Mapping 205
8 4 Sự so sánh ịỉiữa các kỹ’ ihuật 212
8.4.1 Raytracing 212
8.4.2 Radiositv 213
8.4.3 Photon mapping 214
Tóòm tát chiarnịỉ, 214
Chưeơng9: HÌNll n ọ c I RACTAl 215
9 / Sự ru úời và các ứnị’ ditìiịi cua hình học phún h ìn h 215
9.1.1 Sự ra dời cua lý thuyết hình học phân hình 215
9.1.2 Các ứng dụng tống quát cua hình học phân hình 217
9.2 Một số kv ihuật cài đật hình học phân hình 217
9,2.1 Họ dường Von Kock 217
9.2.2 Đưừng Sicrpinski 221
9 .ỉ c 'ây F raclal 222
9.3.1 Các cây thực tế 222
9.3.2 Biếu diỗn toán học cua c â v 223
9 .4 Tập Mamielhrot 227
9.4.1 Đặt vấn đ ề 227
Trang 119.4.2 Côim thức toán học 22S 9.4.3 Thuật toán tliè liiện tập Mandclbrot 22'í
9.5 Tập.lulia 23<I
9.5.1 [)ặt \ ấn d ề 23(1
9.5.2 Công thức toán liọc 231
9.5.3 Thuật toán thè hiện tập íiilia 23 !
9.6 Hụ các líirờní^ COHỊỈ Phocnix 233
Bài tậ p 235
PHỤ LỤC 230
1 Yêu cẩu 236
2 Khcri tạo \ à dỏng chế dộ dồ họa 23(1
3 Các hàm cơ b á n 23X
Tài liệu íhum khao 25‘>
Trang 12C h u ô n g 1TỔNG QUAN VỀ KỸ THUẬT Đ ồ HỌA
1.1 C Á C KHÁI NỈỆIV1 TONG QUAN CỦA KỸ TH IỈẬ T
Đ Ò HỌA MÁY TÍNH
1.1.1 Lịch sử ph át triên
I.ịch sư cua dồ họa iná\ tính từ thập niên 1960 dược dánh dấu bơi dự án SketchPad dược phát triên tại Học viện Còng nghệ Mas.s.achusetls (MIT) bơi Ivan Sutherland Các ihành tựu thu được dã đượíc báo cáo tại hội nghị Fall loint Computer và dà> cũng chính là sự kiện lân đâu tiên người ta có thê tạo mới hiên thị và thay đôi được dừ liệu hiình ánh trực tiếp trên màn hinh máy lính troim thời gian thực Hệ thốr gi Sketchpad nà\ đirợc dùne dê thiếi kế hộ thốntỉ mạch điện và hao gồm nhừne thành phần sau:
- CR r màn hinh
l ĩ ú l ; > á n ị Ị \ à m ộ l b à n Ị ) l i í i n l)c K ) u ỏ i n c á v Ị i l i i m c l i ứ i I i ù n u
- Máy lính chửa chưcynu trinh \ir lý các thỏim lin
'n/'ớì hệ thống nà\ người sư dụníi có tliê \ ẽ trực tiếp các sơ dồ mạcli
điện lên mùn hình thòng qua bủi sáne chưưnu irình sẽ phản tich và lính t oán các ihôna số cần thiết cùa mạch diện d(i ngirừi dùng vẽ nên.(rCing trong nãm 1960 này William í etter - nhà khoa học naười Mỹ; (đang ntihiên cứu xây dựnti mô hình buồng lái má\ hay cho hãng Boeing cua Mỹ ỏ n g dựa trên hinh anh ba chiều cua mô hình người
phi Cíôníỉ trone b u ồ n e lái máv ba\ dê xâv dự ng một m ô hinh tôi ưu cho
buồHịS lái Phương pháp này cho phép các nhà thiết ké quan sál mội
Trang 13cácli irực quan \ ị Irí cua nmrời lai troim khdane Ong dặt tên chí' phiKĩim pháp nà\ là d o họa iná_\ lính (C o m p u lcr (iraphics)
Màn hình là thiòl bị tliòne dụna nỉiãl ironu hệ dô họa các thcv.o lac cua hau het các màn hìnỉi dcu dựa trẽn thiẽl kè ônu tia âm cực ‘Í ’R I (C\Uhode ra> lube)
Kv ihu ậl d ồ h ọ a d ư ợ c liên lục lioàn thiện \ ào thập niên 1 9 7 0 VƠI
sự xuầt hiện cua các chuân do họa làm tănu ciámu klia năne t>iac ticỊ’
và (ái sư dụng cua phân mêm cũne như cúc ihư viện dô họa
Sự phái triẻn \ irrn bậc cua cône imhệ vi diện tư \ à phàn cứng máv tính \ ào thập nièn 1980 ỉàm xuất hiện hàna loạt các vi m ạ c h ho trự cho \ iệc lru\ xuất dồ họa di cùna \ (Vi sự uiam uiá đánu kê c u a ma\ tính cá nhân, làm dồ liọa imà> càrm di sâu vào cuộc sông ihực lẻ
Những năm 1980 cỏ raster ẹraphics (dô họa diêm), lỉan đ.àu có các chuẩn đồ họa ví dụ như: (ÌKS (Graphics Kcrnol Sv^tem): European etTort (kết qua cua châu Ảu) lìecomes ISO 2D Standard (tnr thành chuẩn I S 0 2Ĩ))
T h ậ p n i ê n 9 0 p h á t tr iên đặc hiộl \ e p liầ n c ứ n u ihiel hị h i n h học
đồ họa Silicon, xuât hiện các chuân cônc Iigliiệp: Ỉ’H1(ÌS (Prograrnmers Ilierarchical Interactive (ìrapliics Standard) xác dịnh các phương pháp chuân cho các mỏ hình thời uian thực và lập trình hướng dối tượiU’
G ia o (iiện n g ư à i m á y ( l l u m a n ('(Mnpnler I n t e r ta c e - I K ' I )
Ntỉà> n a y \ u ầ l h i ệ n a n h h i ệ n llụrc c ạ c d ồ h ọ a c h o m a n tíiili (Cỉraphics C'ards ĩor l’C’s) a a m c b o x e s \ à g a m c playcrs ( ' ô n g n g h i ệ p
phim anli nhờ vào dồ liọa niá> linli (Computer graphics hecciiiiing routine in nio\ie industiA ) và M a\a (thế giới vậl chất tri giác dưcTC) 1.1.2 Kỹ th u ậ t đồ họa máy tính
ỉ)ồ họa máv lính là một lình vực cua khoa học máy tính nghiên cíai về cơ sơ toán học, các thuật toán cũng như các kỳ thuật đ ê cho phép tạo hién thị và điều khiên hinh anh irèn màn hình máy tínih f)ồ họa má\ tính cỏ liên quan ít nhiều đến một số ITnh vực như đại sò
Trang 14hìnln học giai tích, hình học họa hình, quang học và kỹ thuật máy tínhi dặc hiệt lá cliê lạo piiân cứng (các loại màn hình, các thiêt bị xuait nhập, các \ i mạch dồ họa ).
Theo nghía rộng hơn dò họa má> tính là phưưng pháp và công nghiệ dùng trong việc chu\ên dôi qua lại giữa dừ liệu và hình ánh trên màni hình hằng má\ tính t)ồ họa máy tính hav kỹ thuật đồ họa máv tínhi còn được hiêu dưứi dạng phương pháp và kỹ thuật tạo hinh ánh từ các mỏ hình toán học mô ta các đối tượng hay dừ liệu lấy dược từ các đoi tượng ironc thực le
1.2 C Á C KỸ T H I ẠT ĐÒ HỌA
1.2.1 Kỹ th u ậ t đồ họa điểm
- Kỹ thuật đồ họa là các mô hình, hinh ánh cua các đòi tượng dượíc hiên thị thông qua tìme pixel (từng mẫu rừi rạc)
- Đặc điẽnv Có thê thay đôi thuộc tính của lừng điêm ánh rời rạc
+ Xoá đi từng pixel cua mò hình và hình anh các đối tượng
+ Các mô hình hình anh được hiền thị như một lưới điêm (grid) các pixel rời rạc
+ Từna pixel đều có vị tri xác định, dược hiền thị với một giá irị rời rac (số ngu\ên) các thỏnR số hiên thị (màu sẳc hoăc dộ sán^)
- rập hợp tất cá các pixel cua lưới ditMii cho chúng ta mô hình, hinh ảnh đổi lưựim mà chúng ta muốn hiên thị
Hình ì ỉ : Anh đồ họa điêm