Bài giảng Đồ họa máy tính - Đồ họa máy tính Các thuật toán mành hóa - Ma Thị Châu

Tóm tắt Bài giảng Đồ họa máy tính - Đồ họa máy tính Các thuật toán mành hóa - Ma Thị Châu: ... 6,2 6,4 8,4 2 3 6,3 9/13/2011 Ma Thị Châu - Bộ môn KHMT 5 Thuật toán tô phủ Smith Các đoạn chứa (6,4), (8,4) và (6,2) được gọi là vùng bóng tối 9/13/2011 Ma Thị Châu - Bộ môn KHMT 6 Thuật toán tô phủ của Fishkin Vùng bóng tối – shadow 9/13/2011 Ma Thị Châu - Bộ môn KHMT 7 T...11 Ma Thị Châu - Bộ môn KHMT 9 Thuật toán tô phủ của Fishkin x x x x x x Parent child2 child1 9/13/2011 Ma Thị Châu - Bộ môn KHMT 10 Thuật toán tô phủ của Fishkin x x x x x x Parent child2 child1 Shadows of child1 Shadows of child2 9/13/2011 Ma Thị Châu - Bộ môn KHMT 11...ải e + +, phải qua trái e - - -e != 0, nằm trong 0 1 0 1 0 1 2 1 0 9/13/2011 Ma Thị Châu - Bộ môn KHMT 14 Trường hợp đặc biệt • Có 2 trường hợp đặc biệt trong thuật toán Jordan : • Cắt trùng lên cạnh • Cắt trùng lên đỉnh đa giác 9/13/2011 Ma Thị Châu - Bộ môn KHMT 15 ...

pdf18 trang | Chia sẻ: havih72 | Lượt xem: 294 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Đồ họa máy tính - Đồ họa máy tính Các thuật toán mành hóa - Ma Thị Châu, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
9/13/2011 Ma Thị Châu - Bộ môn KHMT 1 
Đồ họa máy tính 
Các thuật toán mành hóa 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 2 
Các thuật toán tô phủ 
Bài toán tô phủ loang (Flood fill problem): 
Với hai màu khác nhau c và c’, một tập các điểm A có cùng màu c được 
bao quanh bởi các điểm có màu khác với c và c’, tìm thuật toán thay màu 
của tất cả các điểm thuộc A và chỉ các điểm này thành màu c’ 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 3 
Thuật toán tô phủ cơ bản 
procedure BFA (integer x, y) 
begin 
 if Inside (x,y) then 
 Begin 
 Set (x,y); 
 BFA (x,y - 1); BFA (x,y + 1); 
 BFA (x - 1,y); BFA (x + 1,y); 
 end 
end; 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 4 
Thuật toán tô phủ của Smith 
Bắt đầu: (7,3). 
FillRight: đoạn (7,3) đến (8,3) được tô. 
FillLeft: (6,3) được tô. 
ScanHi: điểm (6,4) và (8,4) vào ngăn xếp. 
ScanLo:điểm (6,2) vào ngăn xếp. 
Lấy(6,2) ra, và coi đây là điểm bắt đầu. 
Lệnh FillRight và FillLeft: tô phủ đoạn từ 
(2,2) đến (8,2). 
ScanHi và ScanLo:cho (2,3) và (6,3) vào 
ngăn xếp. 
Lấy (6,3) ra. 
(6,3) đã được tô lấy ra (2,3) và cứ tiếp tục 
như thế cho đến khi ngăn xếp rỗng 
6,2 
6,4 
8,4 
2 3
6,3 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 5 
Thuật toán tô phủ Smith 
Các đoạn chứa (6,4), (8,4) và (6,2) được gọi là vùng bóng tối 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 6 
Thuật toán tô phủ của Fishkin 
Vùng bóng tối – shadow 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 7 
Thuật toán tô phủ của Fishkin 
Trước 
seed 
Sau 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 8 
Thuật toán tô phủ của Fishkin 
Current shadow 
x x x 
x x 
x 
Parent 
stackRec = record // Một bản ghi dữ liệu cho vùng bóng tối 
 { integer myLx, myRx, // điểm kết thúc của vùng bóng tối này 
 dadLx, dadRx, // điểm kết thúc của vùng mẹ 
 myY; // dòng quét của vùng này 
 direction myDirection; // -1 ở dưới vùng mẹ,+1 ở trên vùng 
mẹ 
 } 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 9 
Thuật toán tô phủ của Fishkin 
x x x 
x x 
x 
Parent 
child2 child1 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 10 
Thuật toán tô phủ của Fishkin 
x x x 
x x 
x 
Parent 
child2 child1 
Shadows of child1 Shadows of child2 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 11 
Cài đặt thuật toán tô phủ cơ bản 
Cài đặt thuật toán tô phủ Smith 
Cài đặt thuật toán tô phủ Fishkin 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 12 
Định lý Jordan. 
Không đúng đối với đa giác tự cắt 
0 
1 
2 
3 
4 
Số điểm cắt chẵn: Ngoài đa giác 
Số điểm cắt lẻ: Trong đa giác 0 
1 
2 3 4 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 13 
Định lý Jordan 
Kiểm tra đại lượng e 
-Sử dụng cả hướng của đường thẳng 
-đặt e = 0 
-Cắt từ trái qua phải e + +, phải qua trái e - - 
-e != 0, nằm trong 
0 
1 
0 1 
0 
1 
2 
1 
0 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 14 
Trường hợp đặc biệt 
• Có 2 trường hợp đặc biệt trong thuật toán Jordan : 
• Cắt trùng lên cạnh 
• Cắt trùng lên đỉnh đa giác 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 15 
Thuật toán đường quét 
 Kiểm tra Jordan tăng dần 
 Sắp xếp theo giá trị của y 
y 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 16 
Thuật toán đường quét 
 Kiểm tra Jordan tăng dần 
 Sắp xếp theo giá trị của y 
 Sử dụng sự liên kết giữa các đường quét – giá trị 
cho đường quét trước gần bằng giá trị cho đường 
quét sau. 
 Lưu trữ danh sách các cạnh đang xét 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 17 
Danh sách các cạnh đang xét 
Xóa 
Tạo 
Thay thế 
Các đỉnh là các ‘sự kiện’ trong danh sách cạnh – các cạnh có thể được 
xét, không được xét hoặc được thay bằng các cạnh khác 
- Sắp xếp các giao điểm theo x 
- Kết quả chính là phần giữa cạnh bên trái và bên phải 
y 
9/13/2011 Ma Thị Châu - Bộ môn KHMT 18 
Danh sách các cạnh đang xét 
Phần thảo luận buổi sau: 
1. Các thuật toán cắt xén 03 sv – Presentation120p 

File đính kèm:

  • pdfbai_giang_do_hoa_may_tinh_do_hoa_may_tinh_cac_thuat_toan_man.pdf