Thuật toân tô mău theo vết dầu loang

Một phần của tài liệu Giáo trình lý thuyết đồ họa Đại Học Huế (Trang 34 - 36)

Lấy P(x,y) ∈ S, tô mău P.

Xĩt câc ñiểm lđn cận của P (Hình 2.6).

Nếu câc ñiểm lđn cận ñó vẫn còn thuộc S vă chưa

ñược tô mău thì tô mău câc ñiểm lđn cạn ñó...

Thuật toân trín có thể ñược minh họa bằng thủ tục

ñệ qui:

Procedure TOLOANG(x,y:Integer; Color:Word); Begin

If (P(x,y)∈S)and(P(x,y)chưa tô) Then Begin PutPixel(x,y,Color); TOLOANG(x+1,y,Color); TOLOANG(x-1,y,Color); x 0 xi x Dy y Hình 2.5 O X X X X O Hình 2.6

TOLOANG(x,y+1,Color); TOLOANG(x,y-1,Color); End;

End;

BĂI TP

1. Viết hăm DienTich(P:Array; n:Byte); ñể tính diện tích của ña giâc lồi có n ñỉnh lưu trong mảng P.

2. Viết hăm KiemTrăx,y:Integer; P:Array; n:Byte):Boolean; ñể kiểm tra ñiểm (x,y) nằm trong hay ngoăi ña giâc có n ñỉnh ñược lưu trong mảng P theo hai câch:

- Dùng công thức tính diện tích ña giâc (ñối với ña giâc lồi). - Dùng thuật toân Jordan (ñối với ña giâc bất kỳ).

2. Viết chương trình căi ñặt thuật toân tô mău một ña giâc theo thuật toân Scanlinẹ

3. Viết chương trình căi ñặt thuật toân tô mău một ña giâc theo vết dầu loang theo hai phương ân:

ạ ðệ quị b. Khửñệ quị

4. Viết thủ tục FillRec(x1,y1,x2,y2:Integer; color:Byte); ñể tô mău hình chữ nhật xâc

ñịnh bởi 2 ñỉnh (x1,y1) vă (x2,y2).

5. Viết thủ tục FillEllipse(x,y,Rx,Ry:Integer; color:Byte); ñể tô mău Ellipse có tđm (x,y) vă bân kính theo hai trục lă Rx vă Rỵ

6. Viết thủ tục FillSector(x,y,Rx,Ry,g1,g2:Integer; color:Byte); ñể tô mău hình quạt Ellipse có tđm (x,y), bân kính theo hai trục lă Rx vă Ry, góc bắt ñầu lă g1 vă góc kết thúc lă g2.

7. Viết thủ tục Donut(x,y,Rmin,Rmax:Integer; color:Byte); ñể tô mău hình vănh khăn có tđm (x,y) vă bân kính hai ñường tròn tương ứng lă Rmin vă Rmax.

Băi tp ln: Xđy dựng một thư viện ñồ họa MYGRAPH tương tự như thư viện

CHƯƠNG III XĨN HÌNH

3.1. ðẶT VẤN ðỀ

Cho một miền D ⊂ Rn vă F lă một hình trong Rn (F ⊂ Rn). Ta gọi F ∩ D lă hình có

ñược từ F bằng câch xĩn văo trong D vă ký hiệu lă ClipD(F).

Băi toân ñặt ra lă xâc ñịnh ClipD(F).

3.2. XĨN ðOẠN THẲNG VĂO VÙNG HÌNH CHỮ NHẬT CỦA R2

Một phần của tài liệu Giáo trình lý thuyết đồ họa Đại Học Huế (Trang 34 - 36)

Tải bản đầy đủ (PDF)

(146 trang)