1. Trang chủ
  2. » Công Nghệ Thông Tin

slike bài giảng đồ họa máy tính các thuật toán tô màu

44 1,2K 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 439 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trang 2Bà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... Các hướng tiếp cậnCó hai phương pháp - Tô màu theo lân cận - Tô màu theo dòng quét... Tra

Trang 1

ĐỒ HỌA RASTER

CÁC THUẬT TOÁN TÔ MÀU

Giảng viên : Bùi Tiến Lên

Trang 2

Trang 2

Bà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 :

{(x1, y1), (x2, y2) … (xn, yn)}

Trang 3

Cá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 4

Tô màu theo lân cận

Trang 5

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.

Trang 6

Trang 6

Thuậ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

xy

Trang 7

Cài đặt đệ 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);

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);

}

}

Trang 8

kích thước !

Trang 9

Thuậ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 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

Trang 10

Trang 10

Thuậ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 11

Thuật toán cải tiến

Minh họa tô loang

Trang 12

Trang 12

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 13

Thuật toán cải tiến

Minh họa bổ sung những điểm hạt giống mới

biênhạt giống

Trang 14

Trang 14

Tô theo lân cận - Một số vấn đề

Sử dụng lân cận nào ?

Trang 15

Tô theo lân cận - Một số vấn đề

Đường biênmàu gì ?

Trang 16

Trang 16

Tô theo lân cận - Một số vấn đề

Trang 17

Tô màu theo dòng quét

Trang 18

Trang 18

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 20

bước 2 : Phân trường hợp

Theo tung độ

Trang 21

Tô hình tam giác

Trang 22

Trang 22

Tô hình tam giác

Tô tam giác (Y1 = Y2 = Y3)

Trang 23

Tô hình tam giác

Tô tam giác (Y1 < Y2 = Y3)

1 Tìm hoành độ giao điểm xl, xrgiữ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.

Trang 24

8

4 174 264 354 444

Trang 25

Tô hình tam giác

1 2

1 2

cu moi

1

YY

X

Xk

với

kx

x

Xlàđầu

x

điểmgiao

độhoànhtính

Trang 27

Tô hình đa giác lồi

Cách tô

1 Chia đa giác lồi có n đỉnh

{p0, p1, , pn-1} thành n-2 tam giác.

pn-2

pn-1

p0

Trang 28

Trang 28

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 29

Thu t toán tô đa giác tổng quát ậ

Thu t toán tô đa giác tổng quát ậ

Trang 30

bước 2 Tô từng dòng

c1 Tìm các giao điểm.

c2 Sắp xếp các giao điểm.

c3 Tô các đoạn thẳng.

Trang 31

Lưu ý

Bỏ cạnh nằm ngang

bỏ

bỏ

Trang 32

Bình thường

y

Trang 33

y

Trang 34

1

Trang 35

{(1, 1) (2, 7) (4, 9) (7, 9) (9, 5) (9, 1) (7, 1) (5, 5) (4, 1)}

Trang 37

h

Trang 38

k=1/4

Trang 39

Thông tin cạnh đa giác

cạnh y lower y upper x lower k

Trang 40

Trang 40

Thông tin các cạnh đa giác

cạnh y lower y upper x lower k

Trang 41

Phương trình đoạn thẳng

F(x, y) = (Y2 – Y1)(x – X1) – (X2 – X1)(y – Y1)

(X1,Y1)

(X2,Y2)

Trang 42

Trang 42

Xác định bên trong tam giác như thế nào ?

(X 1 ,Y 1 )

(X 2 ,Y 2 ) (X 3 ,Y 3 )

Trang 43

Chiều các đỉnh của tam giác

Tính diện tích tam giác

xy

yxy

yx

S = 1 2 − 3 + 2 3 − 1 + 3 1 − 2

Trang 44

Trang 44

Thuật toán

1 Tìm xmin, xmax, ymin, ymax

2 Lặp y : ymin … ymax, x : xmin … xmax

Nếu (x, y) nằm bên trong tam giác thì

Tô (x, y)

ymin

ymax

Ngày đăng: 17/10/2014, 07:28

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm