Các thuật toán tô màu

44 413 1
Các thuật toán tô màu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin

ĐỒ HỌA RASTERĐỒ HỌA RASTER CÁC THUẬT TOÁN TÔ MÀUCÁC THUẬT TOÁN TÔ MÀU Giảng viên : Bùi Tiến Lên Bài toán tô màuBài toán tô màu Tô màu là thao tác tìm các điểm sáng “nằm bên trong” một vùng khép kín. Input : Vùng S Output : {(x 1 , y 1 ), (x 2 , y 2 ) … (x n , y n )} Trang Trang 22 {(x 1 , y 1 ), (x 2 , y 2 ) … (x n , y n )} Các hướng tiếp cậnCác hướng tiếp cận Có hai phương pháp - Tô màu theo lân cận - Tô màu theo dòng quét Trang Trang 33 Toõ maứu theo laõn caọnToõ maứu theo laõn caọn Lân cận là gì ?Lân cận là gì ? Có hai loại lân cận : lân cận 4 và lân cận 8. Lân cận 4 N 4 (x, y) = {(x-1, y), (x, y+1), (x+1, y), (x, y-1)} Lân cận 8 N 8 (x, y) = {(x-1, y), (x-1, y+1), (x, y+1), (x+1, y+1), (x+1, y), (x+1, y-1), (x, y-1), (x-1, y-1)} Trang Trang 55 (x,y) phảitrái dưới trên x y (x,y) x y trái Thuật toán đệ quiThuật toán đệ qui bước 1 Kẻ biên vùng cần tô bước 2 Xác đònh một điểm (x, y) nằm bên trong vùng cần tô bươc 3 Tô điểm (x, y), sau đó tô loang sang những điểm lân cận Trang Trang 66 x y Caứi ủaởt ủeọ quiCaứi ủaởt ủeọ qui // To loang void BoundaryFill(CDC *pDC, int x, int y, int fill_color, int boundary_color) { int color; color = pDC->GetPixel(x, y); if((color != fill_color) && (color != boundary_color)) { pDC - >SetPixel(x, y, fill_color); Trang Trang 77 pDC - >SetPixel(x, y, fill_color); BoundaryFill(pDC, x-1, y, fill_color, boundary_color); BoundaryFill(pDC, x, y+1, fill_color, boundary_color); BoundaryFill(pDC, x+1, y, fill_color, boundary_color); BoundaryFill(pDC, x, y-1, fill_color, boundary_color); } } Nhận xét thuật toán đệ quiNhận xét thuật toán đệ qui Ưu điểm Có thể tô vùng có hình dạng bất kỳ. Khuyết điểm Không thể dùng để tô các vùng có kích thước lớn. Trang Trang 88 kích thước ! Thuật toán cải tiếnThuật toán cải tiến bước 1 Cất điểm hạt giống đầu tiên vào kho. bước 2 Lặp nếu kho không rỗng - c 1 Lấy điểm hạt giống. - c Tô điểm hạt giống sau đó tô loang sang trái và Trang Trang 99 - c 2 Tô điểm hạt giống sau đó tô loang sang trái và sang phải. - c 3 Bổ sung những điểm hạt giống mới vào kho từ dòng trên và dòng dưới. Thuật toán cải tiếnThuật toán cải tiến hạt giống : điểm sáng kho : chứa các điểm hạt giống Trang Trang 1010 [...]... p0pn-2pn-1 2 Tô từng tam giác p3 Trang 27 Tô hình đa giác Nguyên lý chia tam giác Mọi đa giác không tự cắt đều có thể phân chia thành các tam giác Trang 28 Thuậ Thuật toán tô đa giác tổng quát Thuật toán ymax bước 1 Tìm ymin và ymax ymin = min{yi, (xi, yi) ∈ P} y ymax = max{yi, (xi, yi) ∈ P} bước 2 Tô từng dòng Lặp y : ymin … ymax c1 Tìm các giao điểm c2 Sắp xếp các giao điểm y ymin c3 Tô các đoạn thẳng... ? Trang 14 Tô theo lân cận - Một số vấn đề Đường biên màu gì ? Trang 15 Tô theo lân cận - Một số vấn đề Trang 16 Tô màu theo dòng quét Khái niệm dòng quét Dòng quét là dòng điểm sáng trên màn hình y Trang 18 Tô hình chữ nhật l r y t y b Trang 19 Tô hình tam giác Input (X1, Y1), (X2, Y2), (X3, Y3) Cách tô bước 1 : Sắp xếp các đỉnh Y1 ≤ Y2 ≤ Y3 bước 2 : Phân trường hợp Theo tung độ Trang 20 Tô hình tam.. .Thuật toán cải tiến Minh họa tô loang biên biên Trang 11 Thuật toán cải tiến Tiêu chuẩn để là điểm hạt giống 1 Điểm này chưa được tô và không phải điểm biên 2 Điểm này thoả : - Điểm trái đầu tiên - hoặc bên trái của nó là điểm biên (nếu nó không phải là điểm trái đầu tiên) Trang 12 Thuật toán cải tiến Minh họa bổ sung những điểm hạt giống mới biên biên hạt giống biên biên biên Trang 13 Tô theo... cột xr xr Trang 23 Tô hình tam giác Ví dụ Các hoành độ giao điểm của các dòng quét với cạnh (2, 2), (11, 6) 6 5 4 3 2 2 1 8 4 17 4 26 4 35 4 44 4 Trang 24 Tô hình tam giác Cách tính hoành độ giao điểm 2 x đầu là X1 xmoi = xcu + k với X2 − X1 k= Y2 − Y1 1 Trang 25 Tô hình tam giác 3 Y3 Y2 y Y1 2 1 Trang 26 Tô hình đa giác lồi p0 p3 p1 p2 p0 p1 pn-1 p2 pn-2 Cách tô 1 Chia đa giác lồi có n đỉnh {p0, p1,... Trang 21 Tô hình tam giác Y1 1 3 Xmin 2 Xmax Tô tam giác (Y1 = Y2 = Y3) 1 Tìm Xmin, Xmax 2 Tô dòng Y1 bắt đầu tại cột Xmin, kết thúc tại cột Xmax Trang 22 Tô hình tam giác Y2 2 3 y y Y1 1 xl Tô tam giác (Y1 < Y2 = Y3) Lặp y : Y1 … Y2 1 Tìm hoành độ giao điểm xl, xr giữa dòng quét y với các cạnh trái và cạnh phải của tam giác 2 Tô dòng y bắt đầu tại cột xl, kết thúc tại cột xr xr Trang 23 Tô hình tam... d I3 c h I4 e f g Trang 34 Ví dụ {(1, 1) (2, 7) (4, 9) (7, 9) (9, 5) (9, 1) (7, 1) (5, 5) (4, 1)} c 9 b 8 d 7 6 5 4 a 3 h 2 1 e g i 1 2 f 3 4 5 6 7 8 9 Trang 35 Tiền xử lý 1 c 9 b 8 d 7 6 5 4 Loại bỏ các cạnh {c, f, i} a 3 h 2 1 e g i 1 2 f 3 4 5 6 7 8 9 Trang 36 . ĐỒ HỌA RASTERĐỒ HỌA RASTER CÁC THUẬT TOÁN TÔ MÀUCÁC THUẬT TOÁN TÔ MÀU Giảng viên : Bùi Tiến Lên Bài toán tô màuBài toán tô màu Tô màu là thao tác tìm các điểm sáng “nằm bên trong” một. : điểm sáng kho : chứa các điểm hạt giống Trang Trang 1010 Thuật toán cải tiếnThuật toán cải tiến biên biên Minh họa tô loang Trang Trang 1111 Thuật toán cải tiếnThuật toán cải tiến Tiêu chuẩn. xét thuật toán đệ quiNhận xét thuật toán đệ qui Ưu điểm Có thể tô vùng có hình dạng bất kỳ. Khuyết điểm Không thể dùng để tô các vùng có kích thước lớn. Trang Trang 88 kích thước ! Thuật toán

Ngày đăng: 20/10/2014, 06:35

Tài liệu cùng người dùng

Tài liệu liên quan