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