Giáo trình Đồ họa máy tính
MỤC LỤC
LỜI NÓI ĐẦU.3
CHƯƠNG 1- GIỚI THIỆU VỀ ĐỒ HỌA MÁY TÍNH.5
1. MỘT SỐ ỨNG DỤNG CỦAĐỒ HỌA MÁY TÍNH.6
1.1. Hỗ trợ thiết kế .6
1.2. Biểu diễn thông tin .6
1.3. Lĩnh vực giải trí, nghệ thuật.8
1.4. Giáo dục và đào tạo.9
1.5. Giao tiếp giữa máy tính vàngười dùng.9
2. KHÁI NIỆM VỀ ĐỒ HỌA MÁY TÍNH.11
3. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA .12
3.1. Phần cứng .12
3.2. Phần mềm.24
CHƯƠNG 2- CÁC ĐỐI TƯỢNG ĐỒ HỌA CƠ SỞ.30
1. CÁC ĐỐI TƯỢNG ĐỒ HỌA CƠ SỞ.32
1.1. Hệ tọa độ thế giới thực và hệ tọa độ thiết bị.32
1.2. Điểm.34
1.3. Đoạn thẳng, đường gấp khúc .34
1.4. Vùng tô .37
1.5. Kí tự, chuỗi kí tự .37
2. CÁC THUẬT TOÁN VẼ ĐƯỜNG.38
2.1. Thuật toán vẽ đoạn thẳng.39
2.2. Thuật toán vẽ đường tròn.49
2.3. Thuật toán vẽ các đường conics và một số đường
cong khác.55
3. CÁC THUẬT TOÁN TÔ MÀU .56
3.1. Thuật toán tô màu dựa theo dòng quét .57
3.2. Thuật toán tô màu dựa theo đường biên .69
CHƯƠNG 3- CÁC PHÉP BIẾN ĐỔI TRONG ĐỒ HỌA
HAI CHIỀU.80
1. CÁC PHÉP BIẾN ĐỔI HÌNHHỌC CƠ SỞ .81
1.1. Phép tịnh tiến .81
1.2. Phép biến đổi tỉ lệ .82
1.3. Phép quay.83
1.4. Biểu diễn ma trận của phép biến đổi .84
2. KẾT HỢP CÁC PHÉP BIẾN ĐỔI.87
2.1. Kết hợp các phép tịnh tiến .87
2.2. Kết hợp các phép tỉ lệ .87
2.3. Kết hợp các phép quay.88
2.4. Phép quay có tâm quay là điểm bất kì.89
3. MỘT SỐ TÍNH CHẤT CỦA PHÉP BIẾN ĐỔI AFFINE
.90
4. MỘT SỐ PHÉP BIẾN ĐỔI KHÁC .91
4.1. Phép đối xứng.91
4.2. Phép biến dạng .92
4.3. Phép biến đổi ngược.93
4.4. Phân rã phép biến đổi .94
5. PHÉP BIẾN ĐỔI GIỮA CÁC HỆ TỌA ĐỘ.95
CHƯƠNG 4- HIỂN THỊ ĐỐI TƯỢNG HAI CHIỀU.100
1. QUY TRÌNH HIỂN THỊ ĐỐI TƯỢNG HAI CHIỀU .100
1.1. Một số khái niệm.100
1.2. Hệ tọa độ quan sát và hệ tọa độ thiết bị chuẩn.103
1.3. Chuyển đổi từ cửa sổ sang vùng quan sát.104
1.4. Các thuật toán xén hình.106
2. CÁC THUẬT TOÁN XÉN ĐIỂM, ĐOẠN THẲNG .106
2.1. Thuật toán Cohen-Sutherland.107
2.2. Thuật toán Liang-Barsky .114
3. THUẬT TOÁN XÉN ĐA GIÁC .120
213
CHƯƠNG 5- GIỚI THIỆU ĐỒ HỌA BA CHIỀU.128
1. TỔNG QUAN VỀ ĐỒ HỌA BA CHIỀU.128
1.1. Sơ lược về quy trình hiển thị .130
1.2. Mô hình khung nối kết .132
1.3. Vẽ các đối tượng theo mô hình khung nối kết bằng
cách sử dụng các phép chiếu.135
1.4. Phép chiếu song song.136
1.5. Phép chiếu phối cảnh.139
2. BIỂU DIỄN ĐỐI TƯỢNG BACHIỀU.141
2.1. Biểu diễn mặt đa giác .142
2.2. Các đường congvà mặt cong .150
2.3. Các mặt có quy luật .151
2.4. Các mặt tròn xoay.154
2.5. Các mặt cong bậc hai .155
2.6. Vẽ đường cong và mặt cong bằng Bezier và B-Spline
.157
CHƯƠNG 6- CÁC PHÉP BIẾN ĐỔI TRONG ĐỒ HỌA BA
CHIỀU.179
1. CÁC PHÉP BIẾN ĐỔI HÌNH HỌC .180
1.1. Một số khái niệm liên quan .180
1.2. Phép tịnh tiến .183
1.3. Phép biến đổi tỉ lệ .184
1.4. Phép biến dạng .185
1.5. Phép quay.186
1.6. Kết hợp các phép biến đổi affine ba chiều.192
2. PHÉP BIẾN ĐỔI MÔ HÌNH VÀ PHÉP BIẾN ĐỔI HỆ
TRỤC TỌA ĐỘ .193
PHỤ LỤC B - HƯỚNG DẪN SỬ DỤNG THƯ VIỆN ĐỒ
HỌA TRONG BC.197
1. MỘT SỐ LƯU Ý CHUNG.197
d cua ban %s”, n, Ten); outtextxy(100, 100, szMsg). Chương trình minh họa // Ham minh hoa cac ham ve chu void TextDemo(void) { // horizontal text justification settings char *szHJust[] = { "LEFT_TEXT", "CENTER_TEXT", "RIGHT_TEXT" }; 208 // vertical text justification settings char *szVJust[] = { "BOTTOM_TEXT", "CENTER_TEXT", "TOP_TEXT" }; int x = MaxX/2, y = MaxY/2; char Msg[80]; settextstyle(DEFAULT_FONT, HORIZ_DIR, 1); for (int hj=LEFT_TEXT; hj<=RIGHT_TEXT; hj++) for (int vj=BOTTOM_TEXT; vj<=TOP_TEXT; vj++) { cleardevice(); // Thiet lap su canh chinh settextjustify(hj, vj); // In chuoi thong bao ung voi che do canh chinh sprintf(msg, "%s %s", szHJust[hj], szVJust[vj]); // Ve duong chu thap de thay duoc tac dung su canh chinh line(x-100, y, x+100, y); line(x, y-100, x, y+100); // Ve chu ra outtextxy(x, y, msg); getch(); } } 7. CÁC HÀM VỀ ẢNH BITMAP Nhóm các hàm và ý nghĩa sử dụng Tên hàm Ý nghĩa getimage Lưu một vùng ảnh trên màn hình vào bộ nhớ. putimage Đưa một ảnh trong bộ nhớ được lưu từ hàm getimage 209 Tên hàm Ý nghĩa ra màn hình. imagesize Trả về kích thước (tính bằng bytes) dùng để lưu trữ một vùng ảnh trên màn hình. Hàm này dùng kèm với hàm getimage . Tham khao setwritemode Một số điểm cần lưu ý • Hàm getimage chỉ lưu được các ảnh có kích thước không lớn hơn 64Kb • Hàm putimage lúc hiển thị một ảnh đã được lưu trong bộ nhớ khi gọi hàm getimage ra màn hình chỉ cần 2 tham số là tọa độ góc trên bên trái (left, top) thay vì phải cần 4 tham số như lúc lưu một vùng ảnh trong hàm getimage . 210 TÀI LIỆU THAM KHẢO 1. Francis S. Hill. Computer Graphics. Macmillan Publishing Company, NewYork, 1990, 754 tr. 2. James D.Foley, Andries Van Dam, Feiner, John Hughes. Introduction to Computer Graphics. Addision Wesley, NewYork, 1995, 559 tr. 3. James D.Foley, Andries Van Dam, Feiner, John Hughes. Computer Graphics - Principle and Practice. Addision Wesley, NewYork, 1996, 1175 tr. 4. Dương Anh Đức, Lê Đình Duy. Giáo trình Đồ họa máy tính. Khoa Công nghệ thông tin, Trường Đại học Khoa học Tự nhiên (lưu hành nội bộ), 1996, 237 tr. 5. Hoàng Kiếm, Dương Anh Đức, Lê Đình Duy, Vũ Hải Quân. Giáo trình Cơ sở Đồ họa Máy Tính, NXB Giáo dục, 2000. 6. Donald Hearn, M.Pauline Baker. Computer Graphics, C version. Prentice Hall International Inc, Upper Saddle River, New Jersey, 1997, 652tr. 211 MỤC LỤC LỜI NÓI ĐẦU ............................................................................ 3 CHƯƠNG 1 - GIỚI THIỆU VỀ ĐỒ HỌA MÁY TÍNH ......... 5 1. MỘT SỐ ỨNG DỤNG CỦA ĐỒ HỌA MÁY TÍNH.......... 6 1.1. Hỗ trợ thiết kế ............................................................. 6 1.2. Biểu diễn thông tin ...................................................... 6 1.3. Lĩnh vực giải trí, nghệ thuật....................................... 8 1.4. Giáo dục và đào tạo...................................................... 9 1.5. Giao tiếp giữa máy tính và người dùng...................... 9 2. KHÁI NIỆM VỀ ĐỒ HỌA MÁY TÍNH...........................11 3. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA .............................12 3.1. Phần cứng ...................................................................12 3.2. Phần mềm...................................................................24 CHƯƠNG 2 - CÁC ĐỐI TƯỢNG ĐỒ HỌA CƠ SỞ .............30 1. CÁC ĐỐI TƯỢNG ĐỒ HỌA CƠ SỞ................................32 1.1. Hệ tọa độ thế giới thực và hệ tọa độ thiết bị..........32 1.2. Điểm ............................................................................34 1.3. Đoạn thẳng, đường gấp khúc ....................................34 1.4. Vùng tô........................................................................37 1.5. Kí tự, chuỗi kí tự ........................................................37 2. CÁC THUẬT TOÁN VẼ ĐƯỜNG....................................38 2.1. Thuật toán vẽ đoạn thẳng .........................................39 2.2. Thuật toán vẽ đường tròn..........................................49 2.3. Thuật toán vẽ các đường conics và một số đường cong khác............................................................................55 3. CÁC THUẬT TOÁN TÔ MÀU .........................................56 3.1. Thuật toán tô màu dựa theo dòng quét ....................57 3.2. Thuật toán tô màu dựa theo đường biên ..................69 212 CHƯƠNG 3 - CÁC PHÉP BIẾN ĐỔI TRONG ĐỒ HỌA HAI CHIỀU ..............................................................................80 1. CÁC PHÉP BIẾN ĐỔI HÌNH HỌC CƠ SỞ ...................81 1.1. Phép tịnh tiến ............................................................81 1.2. Phép biến đổi tỉ lệ .....................................................82 1.3. Phép quay....................................................................83 1.4. Biểu diễn ma trận của phép biến đổi .......................84 2. KẾT HỢP CÁC PHÉP BIẾN ĐỔI...................................87 2.1. Kết hợp các phép tịnh tiến .......................................87 2.2. Kết hợp các phép tỉ lệ ...............................................87 2.3. Kết hợp các phép quay...............................................88 2.4. Phép quay có tâm quay là điểm bất kì.....................89 3. MỘT SỐ TÍNH CHẤT CỦA PHÉP BIẾN ĐỔI AFFINE ................................................................................................90 4. MỘT SỐ PHÉP BIẾN ĐỔI KHÁC ..................................91 4.1. Phép đối xứng.............................................................91 4.2. Phép biến dạng ..........................................................92 4.3. Phép biến đổi ngược...................................................93 4.4. Phân rã phép biến đổi ...............................................94 5. PHÉP BIẾN ĐỔI GIỮA CÁC HỆ TỌA ĐỘ....................95 CHƯƠNG 4 - HIỂN THỊ ĐỐI TƯỢNG HAI CHIỀU ........100 1. QUY TRÌNH HIỂN THỊ ĐỐI TƯỢNG HAI CHIỀU ...100 1.1. Một số khái niệm .....................................................100 1.2. Hệ tọa độ quan sát và hệ tọa độ thiết bị chuẩn....103 1.3. Chuyển đổi từ cửa sổ sang vùng quan sát..............104 1.4. Các thuật toán xén hình..........................................106 2. CÁC THUẬT TOÁN XÉN ĐIỂM, ĐOẠN THẲNG ......106 2.1. Thuật toán Cohen-Sutherland.................................107 2.2. Thuật toán Liang-Barsky ........................................114 3. THUẬT TOÁN XÉN ĐA GIÁC ......................................120 213 CHƯƠNG 5 - GIỚI THIỆU ĐỒ HỌA BA CHIỀU.............128 1. TỔNG QUAN VỀ ĐỒ HỌA BA CHIỀU........................128 1.1. Sơ lược về quy trình hiển thị ..................................130 1.2. Mô hình khung nối kết ............................................132 1.3. Vẽ các đối tượng theo mô hình khung nối kết bằng cách sử dụng các phép chiếu...........................................135 1.4. Phép chiếu song song...............................................136 1.5. Phép chiếu phối cảnh...............................................139 2. BIỂU DIỄN ĐỐI TƯỢNG BA CHIỀU..........................141 2.1. Biểu diễn mặt đa giác ..............................................142 2.2. Các đường cong và mặt cong ...................................150 2.3. Các mặt có quy luật .................................................151 2.4. Các mặt tròn xoay....................................................154 2.5. Các mặt cong bậc hai...............................................155 2.6. Vẽ đường cong và mặt cong bằng Bezier và B-Spline ..........................................................................................157 CHƯƠNG 6 - CÁC PHÉP BIẾN ĐỔI TRONG ĐỒ HỌA BA CHIỀU .....................................................................................179 1. CÁC PHÉP BIẾN ĐỔI HÌNH HỌC ..............................180 1.1. Một số khái niệm liên quan ....................................180 1.2. Phép tịnh tiến ..........................................................183 1.3. Phép biến đổi tỉ lệ ...................................................184 1.4. Phép biến dạng ........................................................185 1.5. Phép quay..................................................................186 1.6. Kết hợp các phép biến đổi affine ba chiều.............192 2. PHÉP BIẾN ĐỔI MÔ HÌNH VÀ PHÉP BIẾN ĐỔI HỆ TRỤC TỌA ĐỘ ....................................................................193 PHỤ LỤC B - HƯỚNG DẪN SỬ DỤNG THƯ VIỆN ĐỒ HỌA TRONG BC ..................................................................197 1. MỘT SỐ LƯU Ý CHUNG...............................................197 214 2. KHỞI TẠO VÀ ĐÓNG CHẾ ĐỘ ĐỒ HỌA ...................198 3. HỆ THỐNG TỌA ĐỘ .....................................................201 4. VẼ ĐIỂM, ĐƯỜNG, VÙNG ...........................................202 5. TÔ MÀU VÙNG ..............................................................204 6. CÁC HÀM VẼ CHỮ........................................................206 7. CÁC HÀM VỀ ẢNH BITMAP........................................208 TÀI LIỆU THAM KHẢO......................................................210 MỤC LỤC ...............................................................................211
File đính kèm:
- Giáo trình Đồ họa máy tính.pdf