Giáo trình Kỹ thuật đồ họa
MỤC LỤC
LỜI NÓI ĐẦU . 3
CHƢƠNG 1 - GIỚI THIỆU VỀ ĐỒ HỌA MÁY TÍNH . 3
1. MỘT SỐ ỨNG DỤNG CỦA ĐỒ HỌA MÁY TÍNH . 3
1.1. Hỗ trợ thiết kế. 3
1.2. Biểu diễn thông tin . 3
1.3. Lĩnh vực giải trí, nghệ thuật . 4
1.4. Giáo dục và đào tạo . 4
1.5. Giao tiếp giữa máy tính và ngƣời dùng . 4
2. KHÁI NIỆM VỀ MÁY TÍNH . 4
3. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA . 5
3.1. Phần cứng . 5
3.2. Phần mềm . 9
CHƢƠNG 2 - CÁC ĐỐI TƢỢNG ĐỒ HỌA CƠ SỞ . 11
1. CÁC ĐỐI TƢỢNG ĐỒ HỌA CƠ SỞ . 11
1.1. Hệ tọa độ thế giới thực và hệ tọa độ thiết bị . 11
1.2. Điểm . 12
1.3. Đoạn thẳng, đƣờng gấp khúc . 12
1.4. Vùng tô . 13
1.5. Kí tự, chuỗi kí tự . 13
2. CÁC THUẬT TOÁN VẼ ĐƢỜNG . 13
2.1. Thuật toán vẽ đoạn thẳng . 14
2.2. Thuật toán vẽ đƣờng tròn . 18
2.3. Thuật toán vẽ các đƣờng conics và một số đƣờng cong khác . 21
3. CÁC THUẬT TOÁN TÔ MÀU . 22
3.1. Thuật toán tô màu dựa theo dòng quét . 22
3.2. Thuật toán tô màu dựa theo đƣờng biên . 29
CHƢƠNG 3 - CÁC PHÉP BIẾN ĐỔI TRONG ĐỒ HỌA HAI CHIỀU 4
1. CÁC PHÉP BIẾN ĐỔI HÌNH HỌC CƠ SỞ . 4
1.1. Phép tịnh tiến . 4
1.2. Phép biến đổi tỉ lệ . 4
1.3. Phép quay . 5
1.4. Biểu diễn ma trận của phép biến đổi . 5
2. KẾT HỢP CÁC PHÉP BIẾN ĐỔI . 6
2.1. Kết hợp các phép tịnh tiến . 6
2.2. Kết hợp các phép tỉ lệ . 7
2.3. Kết hợp các phép quay . 7
2.4. Phép quay có tâm quay là điểm bất kì . 7
3. MỘT SỐ TÍNH CHẤT CỦA PHÉP BIẾN ĐỔI AFFINE . 8
4. MỘT SỐ PHÉP BIẾN ĐỔI KHÁC . 8
4.1. Phép đối xứng . 8
4.2. Phép biến dạng . 9
69
4.3. Phép biến đổi ngƣợc . 3
4.4. Phân rã phép biến đổi . 10
5. PHÉP BIẾN ĐỔI GIỮA CÁC HỆ TỌA ĐỘ . 10
CHƢƠNG 4 - HIỂN THỊ ĐỐI TƢỢNG HAI CHIỀU . 12
1. QUY TRÌNH HIỂN THỊ ĐỐI TƢỢNG HAI CHIỀU . 12
1.1. Một số khái niệm . 12
1.2. Hệ tọa độ quan sát và hệ tọa độ thiết bị chuẩn . 13
1.3. Chuyển đổi từ cửa sổ sang vùng quan sát . 13
1.4. Các thuật toán xén hình . 14
2. CÁC THUẬT TOÁN XÉN ĐIỂM, ĐOẠN THẲNG . 14
2.1. Thuật toán Cohen-Sutherland . 14
2.2. Thuật toán Liang-Barsky . 18
3. THUẬT TOÁN XÉN ĐA GIÁC . 21
CHƢƠNG 5 - GIỚI THIỆU ĐỒ HỌA BA CHIỀU . 27
1. TỔNG QUAN VỀ ĐỒ HỌA BA CHIỀU . 27
1.1. Sơ lƣợc về quy trình hiển thị . 27
1.2. Mô hình khung nối kết . 28
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 30
1.4. Phép chiếu song song . 31
1.5. Phép chiếu phối cảnh . 32
2. BIỂU DIỄN ĐỐI TƢỢNG BA CHIỀU . 33
2.1. Biểu diễn mặt đa giác . 34
2.2. Các đƣờng cong và mặt cong . 37
2.3. Các mặt có quy luật . 37
2.4. Các mặt tròn xoay . 38
2.5. Các mặt cong bậc hai. 39
2.6. Vẽ đƣờng cong và mặt cong bằng Bezier và B-Spline . 40
CHƢƠNG 6 - CÁC PHÉP BIẾN ĐỔI TRONG ĐỒ HỌA BA CHIỀU51
1. CÁC PHÉP BIẾN ĐỔI HÌNH HỌC . 51
1.1. Một số khái niệm liên quan . 51
1.2. Phép tịnh tiến . 3
1.3. Phép biến đổi tỉ lệ . 52
1.4. Phép biến dạng . 53
1.5. Phép quay . 54
1.6. Kết hợp các phép biến đổi affine ba chiều . 56
2. PHÉP BIẾN ĐỔI MÔ HÌNH VÀ PHÉP BIẾN ĐỔI HỆ TRỤC TỌA ĐỘ 57
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
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
70
7. CÁC HÀM VỀ ẢNH BITMAP . 208
TÀI LIỆU THAM KHẢO . 210
MỤC LỤC . 211
nh họa
// Ham minh hoa cac ham ve chu
void TextDemo(void)
{
// horizontal text justification settings
char *szHJust[] = { "LEFT_TEXT",
"CENTER_TEXT",
"RIGHT_TEXT"
};
// 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();
}
}
19. 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ớ.
66
Tên hàm Ý nghĩa
putimage Đƣa một ảnh trong bộ nhớ đƣợc lƣu từ hàm getimage 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 .
67
TÀI LIỆU THAM KHẢO
72. Francis S. Hill. Computer Graphics. Macmillan Publishing Company, NewYork, 1990, 754 tr.
73. James D.Foley, Andries Van Dam, Feiner, John Hughes. Introduction to Computer Graphics. Addision Wesley, NewYork,
1995, 559 tr.
74. James D.Foley, Andries Van Dam, Feiner, John Hughes. Computer Graphics - Principle and Practice. Addision Wesley,
NewYork, 1996, 1175 tr.
75. 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.
76. 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.
77. Donald Hearn, M.Pauline Baker. Computer Graphics, C version. Prentice Hall International Inc, Upper Saddle River, New
Jersey, 1997, 652tr.
68
MỤC LỤC
LỜI NÓI ĐẦU ......................................................................................... 3
CHƢƠNG 1 - GIỚI THIỆU VỀ ĐỒ HỌA MÁY TÍNH ....................... 3
1. MỘT SỐ ỨNG DỤNG CỦA ĐỒ HỌA MÁY TÍNH ....................... 3
1.1. Hỗ trợ thiết kế............................................................................ 3
1.2. Biểu diễn thông tin .................................................................... 3
1.3. Lĩnh vực giải trí, nghệ thuật ...................................................... 4
1.4. Giáo dục và đào tạo ................................................................... 4
1.5. Giao tiếp giữa máy tính và ngƣời dùng ..................................... 4
2. KHÁI NIỆM VỀ MÁY TÍNH .......................................................... 4
3. TỔNG QUAN VỀ MỘT HỆ ĐỒ HỌA ............................................ 5
3.1. Phần cứng .................................................................................. 5
3.2. Phần mềm .................................................................................. 9
CHƢƠNG 2 - CÁC ĐỐI TƢỢNG ĐỒ HỌA CƠ SỞ .......................... 11
1. CÁC ĐỐI TƢỢNG ĐỒ HỌA CƠ SỞ ............................................ 11
1.1. Hệ tọa độ thế giới thực và hệ tọa độ thiết bị ............................ 11
1.2. Điểm ........................................................................................ 12
1.3. Đoạn thẳng, đƣờng gấp khúc ................................................... 12
1.4. Vùng tô .................................................................................... 13
1.5. Kí tự, chuỗi kí tự ..................................................................... 13
2. CÁC THUẬT TOÁN VẼ ĐƢỜNG ................................................ 13
2.1. Thuật toán vẽ đoạn thẳng ........................................................ 14
2.2. Thuật toán vẽ đƣờng tròn ........................................................ 18
2.3. Thuật toán vẽ các đƣờng conics và một số đƣờng cong khác . 21
3. CÁC THUẬT TOÁN TÔ MÀU ..................................................... 22
3.1. Thuật toán tô màu dựa theo dòng quét .................................... 22
3.2. Thuật toán tô màu dựa theo đƣờng biên .................................. 29
CHƢƠNG 3 - CÁC PHÉP BIẾN ĐỔI TRONG ĐỒ HỌA HAI CHIỀU 4
1. CÁC PHÉP BIẾN ĐỔI HÌNH HỌC CƠ SỞ .................................... 4
1.1. Phép tịnh tiến ............................................................................. 4
1.2. Phép biến đổi tỉ lệ ...................................................................... 4
1.3. Phép quay .................................................................................. 5
1.4. Biểu diễn ma trận của phép biến đổi ......................................... 5
2. KẾT HỢP CÁC PHÉP BIẾN ĐỔI ................................................... 6
2.1. Kết hợp các phép tịnh tiến ......................................................... 6
2.2. Kết hợp các phép tỉ lệ ................................................................ 7
2.3. Kết hợp các phép quay .............................................................. 7
2.4. Phép quay có tâm quay là điểm bất kì ....................................... 7
3. MỘT SỐ TÍNH CHẤT CỦA PHÉP BIẾN ĐỔI AFFINE ................ 8
4. MỘT SỐ PHÉP BIẾN ĐỔI KHÁC .................................................. 8
4.1. Phép đối xứng ............................................................................ 8
4.2. Phép biến dạng .......................................................................... 9
69
4.3. Phép biến đổi ngƣợc .................................................................. 3
4.4. Phân rã phép biến đổi .............................................................. 10
5. PHÉP BIẾN ĐỔI GIỮA CÁC HỆ TỌA ĐỘ .................................. 10
CHƢƠNG 4 - HIỂN THỊ ĐỐI TƢỢNG HAI CHIỀU ........................ 12
1. QUY TRÌNH HIỂN THỊ ĐỐI TƢỢNG HAI CHIỀU .................... 12
1.1. Một số khái niệm ..................................................................... 12
1.2. Hệ tọa độ quan sát và hệ tọa độ thiết bị chuẩn ........................ 13
1.3. Chuyển đổi từ cửa sổ sang vùng quan sát ................................ 13
1.4. Các thuật toán xén hình ........................................................... 14
2. CÁC THUẬT TOÁN XÉN ĐIỂM, ĐOẠN THẲNG ..................... 14
2.1. Thuật toán Cohen-Sutherland .................................................. 14
2.2. Thuật toán Liang-Barsky ......................................................... 18
3. THUẬT TOÁN XÉN ĐA GIÁC .................................................... 21
CHƢƠNG 5 - GIỚI THIỆU ĐỒ HỌA BA CHIỀU ............................ 27
1. TỔNG QUAN VỀ ĐỒ HỌA BA CHIỀU ...................................... 27
1.1. Sơ lƣợc về quy trình hiển thị ................................................... 27
1.2. Mô hình khung nối kết ............................................................ 28
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 30
1.4. Phép chiếu song song .............................................................. 31
1.5. Phép chiếu phối cảnh ............................................................... 32
2. BIỂU DIỄN ĐỐI TƢỢNG BA CHIỀU .......................................... 33
2.1. Biểu diễn mặt đa giác .............................................................. 34
2.2. Các đƣờng cong và mặt cong .................................................. 37
2.3. Các mặt có quy luật ................................................................. 37
2.4. Các mặt tròn xoay ................................................................... 38
2.5. Các mặt cong bậc hai............................................................... 39
2.6. Vẽ đƣờng cong và mặt cong bằng Bezier và B-Spline ........... 40
CHƢƠNG 6 - CÁC PHÉP BIẾN ĐỔI TRONG ĐỒ HỌA BA CHIỀU51
1. CÁC PHÉP BIẾN ĐỔI HÌNH HỌC ............................................... 51
1.1. Một số khái niệm liên quan ..................................................... 51
1.2. Phép tịnh tiến ............................................................................. 3
1.3. Phép biến đổi tỉ lệ .................................................................... 52
1.4. Phép biến dạng ........................................................................ 53
1.5. Phép quay ................................................................................ 54
1.6. Kết hợp các phép biến đổi affine ba chiều .............................. 56
2. PHÉP BIẾN ĐỔI MÔ HÌNH VÀ PHÉP BIẾN ĐỔI HỆ TRỤC TỌA ĐỘ 57
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
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
70
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:
KyThuatDoHoa.pdf

