Download miễn phí Giáo trình Kỹ thuật đồ họa





Mục lục
Chương 1: GIỚI THIỆU THUẬT TOÁN VẼVÀ TÔ.6
CÁC ĐƯỜNG CƠBẢN.6
1.1 Tổng quan.6
1.2. Hệtọa độthếgiới thực, hệtọa độthiết bịvà hệtọa độchuẩn.7
1.3. Thuật toán vẽ đoạn thẳng.9
1.3.1. Thuật toán DDA (Digital DifferentialAnalyzer).10
1.3.2. Thuật toán Bresenham.13
1.4. Thuật toán vẽ đường tròn.17
1.4.1. Thuật toán đơn giản.17
1.4.2. Thuật toán MidPoint.18
1.4.3. Vẽ đường tròn bằng thuật toán Bresenham.21
1.4.4. Thuật toán vẽEllipse.22
1.4.5. Vẽ đường conics và một số đường cong khác.24
1.4.6. Vẽ đa giác.25
1.4.7. Tổng kết chương 1.28
1.4.8. Bài tập chương 1.28
Chương 2 : CÁC THUẬT TOÁN TÔ MÀU.31
2.1. Tổng quan.31
2.2. Các không gian màu.31
2.2.1. Không gian màu RGB (Red - Green - Blue).31
2.2.2. Không gian màu CMY (Cyan - Magenta - Yellow).32
2.2.3. Không gian màu HSV ( Hue - Saturation - Value ).32
2.3. Các thuật toán tô màu.33
2.3.1. Tô đơn giản.33
2.3.2. Tô màu theo dòng quét (scan - line).38
2.3.3. Phương pháp tô màu dựa theo đường biên.42
2.4. Tổng kết chương 2.45
2.5. Bài tập chương 2.46
Chương 3 : PHÉP BIẾN ĐỔI TRONG ĐỒHỌA HAI CHIỀU.47 U
3.1. Tổng quan.47
3.2. Phép tịnh tiến (translation).47
3.3. Phép biến đổi tỷlệ.48
3.4. Phép quay.49
3.5. Phép đối xứng.51
3.6. Phép biến dạng.51
3.7. Phép biến đổi Affine ngược ( The inverse of an Affine transformation).52
3.8. Một sốtính chất của phép biến đổi affine.53
3.9. Hệtọa độthuần nhất.53
3.10. Kết hợp các phép biến đổi (composing transformation).54
3.11. Tổng kết chương 3.55
3.12. Bài tập chương 3.55
Chương 4.58
WINDOWING và CLIPPING.58
4.1. Tổng quan.58
4.2. Các khái niệm vềWindowing.58
Chương 1: Giới thiệu thuật toán vẽvà tô các đường cơbản
4.3. Các thuật toán Clipping.63
4.4. Phép biến đổi từcửa sổ- đến – vùng quan sát.84
4.5. Tổng kết chương 4.86
4.6. Bài tập chương 4.86
Chương 5 : ĐỒHỌA BA CHIỀU.88 U
5.1. Tổng quan.88
5.2. Giới thiệu đồhọa 3 chiều.88
5.3. Biểu diễn đối tượng 3 chiều.90
5.4. Các phép biến đổi 3 chiều.95
5.4.1. Hệtọa độbàn tay phải - bàn tay trái.95
5.4.2. Các phép biến đổi Affine cơsở.95
5.5. Tổng kết chương 5.97
Chương 6 : QUAN SÁT ẢNH BA CHIỀU.98 U
6.1. Tổng quan.98
6.2. Các phép chiếu.98
6.2.1. Các phép chiếu song song.100
6.2.2. Các phép chiếu phối cảnh.105
6.3. Biến đổi hệtọa độquan sát (hệquan sát).107
6.3.1. Xác định mặt phẳng quan sát.108
6.3.2. Không gian quan sát.112
6.3.3. Clipping.115
6.4. Cài đặt các thao tác quan sát (Implementation of Viewing Operations).116
6.5. Cài đặt phần cứng.125
6.6. Lập trình xem ảnh ba chiều.126
6.7. Các mởrộng đến Đường ống quan sát (Viewing Pipeline).130
6.8. Tổng kết chương 6.130
6.9. Bài tập chương 6.131
Chương 7.134
KHỬCÁC MẶT KHUẤT VÀ ĐƯỜNG KHUẤT.134
7.1. Tổng quan.134
7.2. Khửcác mặt nằm sau (Back-Face Removal).135
7.3. Phương pháp dùng vùng đệm độsâu (Depth-Buffer Method).138
7.4. Phương pháp đường quét (Scan-Line Method).140
7.5. Phương pháp sắp xếp theo độsâu (Depth- Sorting Method).143
7.6. Phương pháp phân chia vùng (Area- Subdivision Method).147
7.7. Các phương pháp Octree (Octree Methods).150
7.8. Loại bỏcác đường bịche khuất.154
7.9. Tổng kết chương 7.156
7.10. Bài tập chương 7.157



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

g ta có thể cần lưu trữ thông tin về mỗi
biên cửa sổ, và chúng ta có thể cần thay đổi thủ tục inside và find_intersection để
quản lý thuộc tính của các biên tuỳ ý.
Một tiếp cận khác để clipping các vùng đa giác là dùng các phương pháp
phương trình tham số. Các cửa sổ hình dạng tuỳ ý sau đó có thể được xử lí bằng cách
dùng phương trình tham số của đường thẳng để mô tả cả hai: biên cửa sổ và các biên
của vùng bị cắt.
Các vùng bị clipping hình dạng khác đa giác cần thực hiện nhiều công việc hơn
một chút, vì biên của các vùng này không được định nghĩa bằng các phương trình
Trang 81
Chương 4: Windowing và Clipping
đường thẳng. Ví dụ, trong hình 4-18, phương trình đường tròn được cần để tìm hai
giao điểm trên biên cửa sổ.
Hình 4-18: Clipping một vùng có hình dạng tròn.
Clipping văn bản (Text Clipping)
Có vài kỹ thuật có thể được dùng để clipping văn bản trong gói đồ họa. Việc
chọn lựa phương pháp cụ thể để cài đặt phụ thuộc vào các phương pháp đã được dùng
để sinh ra các kí tự và mức độ tinh vi được đòi hỏi bởi người dùng trong việc xử lí
văn bản (xem hình 4-19).
Trước khi clipping
Trước khi clipping Sau khi clipping
Hình 4-19
Clipping văn bản dùng
các biên chữ nhật. Bất
kỳ hình chữ nhật nào
mà nằm đè lên biên cửa
sổ đều bị vứt bỏ hoàn
toàn.
Phương pháp đơn giản nhất để xử lí các chuỗi kí tự có liên quan đến một biên cửa
sổ là dùng chiến lượt “clipping tất cả văn bản hay không clipping gì cả” (all-or-none
text-clipping), được trình bày trong hình 6-19. Nếu tất cả chuỗi kí tự nằm bên trong
một cửa sổ, chúng ta giữ lại nó. Ngược lại, chuỗi vứt bỏ. Thủ tục này có thể được cài
đặt bằng việc xem xét một hình chữ nhật bao quanh mẫu văn bản. Các vị trí biên của
hình chữ nhật sau đó được so sánh với các biên cửa sổ, và chuỗi bị huỷ bỏ nếu có bất
kì sự nằm đè nào. Phương pháp này cho ta clipping nhanh nhất.
Một sự chọn lựa để loại bỏ toàn bộ chuỗi kí tự nếu nó nằm đè lên biên một cửa sổ
là dùng chiến lược “clipping kí tự toàn bộ hay không” (all-or-none character-
clipping). Ở đây chúng ta vứt bỏ chỉ những kí tự nào không hoàn toàn nằm trong cửa
Trang 82
Chương 4: Windowing và Clipping
sổ ( xem hình 4-20). Trong trường hợp này, các giới hạn biên của các kí tự đơn lẻ được
so sánh với cửa sổ. Bất kì kí tự nào hay nằm đè lên hay nằm bên ngoài biên cửa sổ
đều bị cắt bỏ.
Hình 4-20
Các chuỗi kí tự có
thể hoàn toàn bị cắt
để mà chỉ những kí
tự hoàn nằm bên
trong cửa sổ mới
được giữ lại.
Trước khi clipping Sau khi clipping
Phương pháp sau cùng cho việc quản lí việc cắt văn bản là cắt các kí tự riêng lẻ.
Bây giờ chúng ta xem các kí tự cũng tương tự như các đoạn thẳng. Nếu một kí tự riêng
lẻ nằm đè lên biên cửa sổ, chúng ta cắt bỏ phần nằm ngoài cửa sổ (xem hình 4-21).
Các kí tự được hình thành với các đoạn thẳng có thể được xử lí theo cách này, bằng
cách dùng thuật toán clipping đường. Việc xử lí các kí tự được hình thành bởi các bản
đồ bit cần clipping những pixel đơn lẻ bằng cách so sánh các vị trí liên hệ của các mẫu
lưới (patern grid) với các biên cửa sổ.
Hình 4-21
Clipping các kí tự
đơn lẻ.
Trước khi clipping Sau khi clipping
Tẩy xoá (banking)
Thay vì lưu giữ lại thông tin trong một vùng được định nghĩa,, một vùng cửa sổ
có thể được dùng để xóa bỏ bất kì thứ gì bên trong biên của nó. Những gì nằm bên
ngoài được giữ lại.
Việc xoá bỏ tất cả các màu kết xuất trong một vùng chỉ định có ý nghĩa thuận lợi
cho việc nạp chồng các hình ảnh khác. Các kỹ thuật này thường được dùng để thiết kế
các trang trình bày (layout) trong quảng cáo hay trong các ứng dụng xuất bản
(publishing) hay cho việc thêm các nhãn hay mẫu thiết kế đến một hình ảnh. Kỹ
Trang 83
Chương 4: Windowing và Clipping
thuật cũng được dùng để nối kết các biểu đồ, bản đồ, hay giản đồ. Hình 4-22 minh
họa vài ứng dụng của tẩy xóa.
Khi hai hiển thị che phủ lên nhau dùng đến các phương pháp tẩy xóa, một cái có
thể được nghĩ đến như cận cảnh (ảnh ở gần-foreground) và những cái còn lại được
xem như ảnh nền (background). Một cửa sổ xóa, cái đang bao quanh vùng hiển thị cận
ảnh, được đặt lên trên ảnh nền, và các phần hình ảnh nằm trong vùng cửa sổ bị xóa
sạch. Hai hiển thị được nối kết lại, với các thông tin của cận ảnh được đặt vào vùng
cửa sổ bị xóa.
(a)
(b)
Hình 4-22
Các ví dụ về tẩy xóa: (a
vùng được cung cấp để
nhãn; (b) Một vùng
dùng để xóa một phần c
hiển thị trước đó để tạ
một vùng trống cho n
chồng ảnh mới lên.
) Một
dán
được
ủa
o ra
ạp
4.4. Phép biến đổi từ cửa sổ - đến – vùng quan sát
Khi tất cả các điểm, đoạn thẳng, và văn bản vừa bị cắt, chúng được ánh xạ lên
vùng vùng quan sát để hiển thị. Phép biến đổi đến vùng quan sát này được thực hiện
để các vị trí tọa độ liên hệ được giữ lại.
Trong hình 4-23, một điểm ở vị trí (xw, yw) trong một cửa sổ được ánh xạ và
trong vị trí (xv, yv) trong vùng quan sát. Để duy trì sự sắp đặt liên hệ tương tự trong
vùng quan sát như trong cửa sổ, chúng ta cần:
minmax
min
minmax
min
xvxv
xvxv
xwxw
xwxw

−=−
− (4-10)

minmax
min
minmax
min
yvyv
yvyv
ywyw
ywyw

−=−
− (4-11)
Ta viết lại phương trình (4-10) và (4-11) như các phép tính biến đổi rõ ràng cho các
tọa độ xv và yv:
minmin
minmax
minmax )( xvxwxw
xwxw
xvxvxv +−−
−= (4-12)
minmin
minmax
minmax )( yvywyw
ywyw
yvyvyv +−−
−=
Trang 84
Chương 4: Windowing và Clipping
Các phép tính biến đổi từ cửa sổ - đến - vùng quan sát có thể được viết chặt chẽ hơn
như sau:
xv = sx(xw - xwmin) + xvmin (4-13)
yv = sy(yw - ywmin) + yvmin
Phép biến đổi này bao gồm cả hai phép biến đổi tỉ lệ và tịnh tiến. Các hệ số tỉ lệ
sx và sy phụ thuộc vào kích thước liên hệ của cửa sổ và vùng quan sát. Các hệ số tỉ lệ
này phải bằng nhau nếu các đối tượng muốn được bảo tồn sự cân đối (đồng dạng) khi
chúng được ánh xạ đến vùng quan sát. Khi cửa sổ và vùng quan sát có kích thước
bằng nhau (sx = sy = 1), không có sự thay đổi nào về kích thước của các đối tượng
được biến đổi. Giá trị của xvmin và yvmin cho biết các hệ số tịnh tiến để di chuyển các
đối tượng vào vùng quan sát.
Các chuỗi kí tự có thể được quản lí theo hai cách khi chúng được ánh xạ đến
vùng quan sát. Việc ánh xạ đơn giản nhất bảo tồn kích thước kí tự, thậm chí khi vùng
quan sát được mở rộng hay thu nhỏ lại so với cửa sổ. Phương pháp này có thể được
dùng đến khi văn bản được tạo ra với các font chuẩn – không thể bị thay đổi. Trong
các hệ thống khi mà có sự cho phép thay đổi kích thước kí tự chuẩn, sự định nghĩa
chuỗi có thể được đặt trong cửa sổ tương tự như các từ gốc. Đối với các kí tự được
hình thành bởi các đoạn thẳng, việc ánh xạ đến vùng quan sát có thể được thực hiện
như một dãy tuần tự các phép biến đổi đường (xem hình 4-23).
x
Hì...
 
Top