chuong_2a [Compatibility Mode].pdf

Post on 16-Jan-2016

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

ÑOÀ HOÏA RASTERÑOÀ HOÏA RASTER

CAÙC THUAÄT TOAÙN TOÂ MAØUCAÙC THUAÄT TOAÙN TOÂ MAØU

Giaûng vieân : Buøi Tieán Leân

Baøi toaùn toâ maøuBaøi toaùn toâ maøuToâ maøu laø thao taùc tìm caùc ñieåm saùng “naèm beân trong” moät vuøng kheùp kín.Input :

Vuøng SOutput :

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

Trang Trang 22

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

Caùc höôùng tieáp caänCaùc höôùng tieáp caänCoù hai phöông phaùp - Toâ maøu theo laân caän- Toâ maøu theo doøng queùt

Trang Trang 33

Toâ maøu theo laân caänToâ maøu theo laân caän

Laân caän laø gì ?Laân caän laø gì ?Coù hai loaïi laân caän : laân caän 4 vaø laân caän 8.Laân caän 4

N4(x, y) = {(x-1, y), (x, y+1), (x+1, y), (x, y-1)}Laân caän 8

N8(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) phaûitraùi

döôùi

treân

x

y (x,y)

x

y

traùi

Thuaät toaùn ñeä quiThuaät toaùn ñeä quiböôùc 1 Keû bieân vuøng caàn toâböôùc 2 Xaùc ñònh moät ñieåm (x, y) naèm beân trong vuøng caàn toâböôc 3 Toâ ñieåm (x, y), sau ñoù toâ loang sang nhöõng ñieåm laân caän

Trang Trang 66x

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

}

}

Nhaän xeùt thuaät toaùn ñeä quiNhaän xeùt thuaät toaùn ñeä quiÖu ñieåm

Coù theå toâ vuøng coù hình daïng baát kyø.

Khuyeát ñieåmKhoâng theå duøng ñeå toâ caùc

vuøng coù kích thöôùc lôùn.

Trang Trang 88

kích thöôùc !

Thuaät toaùn caûi tieánThuaät toaùn caûi tieánböôùc 1

Caát ñieåm haït gioáng ñaàu tieân vaøo kho.böôùc 2

Laëp neáu kho khoâng roãng- c1 Laáy ñieåm haït gioáng.- c Toâ ñieåm haït gioáng sau ñoù toâ loang sang traùi vaø

Trang Trang 99

- c2 Toâ ñieåm haït gioáng sau ñoù toâ loang sang traùi vaø sang phaûi.

- c3 Boå sung nhöõng ñieåm haït gioáng môùi vaøo kho töø doøng treân vaø doøng döôùi.

Thuaät toaùn caûi tieánThuaät toaùn caûi tieánhaït gioáng : ñieåm saùng

kho : chöùa caùc ñieåm haït gioáng

Trang Trang 1010

Thuaät toaùn caûi tieánThuaät toaùn caûi tieán

bieân bieân

Minh hoïa toâ loang

Trang Trang 1111

Thuaät toaùn caûi tieánThuaät toaùn caûi tieánTieâu chuaån ñeå laø ñieåm haït gioáng

1. Ñieåm naøy chöa ñöôïc toâ vaø khoâng phaûi ñieåm bieân.2. Ñieåm naøy thoaû :

- Ñieåm traùi ñaàu tieân.- hoaëc beân traùi cuûa noù laø ñieåm bieân (neáu noù khoâng

phaûi laø ñieåm traùi ñaàu tieân).

Trang Trang 1212

phaûi laø ñieåm traùi ñaàu tieân).

Thuaät toaùn caûi tieánThuaät toaùn caûi tieán

bieân bieân

Minh hoïa boå sung nhöõng ñieåm haït gioáng môùi

Trang Trang 1313

bieân bieân

bieân

haït gioáng

Toâ theo laân caän Toâ theo laân caän -- Moät soá vaán ñeàMoät soá vaán ñeà

Söû duïng laân caän naøo ?

Trang Trang 1414

Toâ theo laân caän Toâ theo laân caän -- Moät soá vaán ñeàMoät soá vaán ñeà

Ñöôøng bieânmaøu gì ?

Trang Trang 1515

Toâ theo laân caän Toâ theo laân caän -- Moät soá vaán ñeàMoät soá vaán ñeà

Trang Trang 1616

Toâ maøu theo doøng queùtToâ maøu theo doøng queùt

Khaùi nieäm doøng queùtKhaùi nieäm doøng queùtDoøng queùt laø doøng ñieåm saùng treân maøn hình

y

Trang Trang 1818

y

Toâ hình chöõ nhaätToâ hình chöõ nhaät

l r

ty

Trang Trang 1919

b

y

Toâ hình tam giaùcToâ hình tam giaùcInput

(X1, Y1), (X2, Y2), (X3, Y3)

Caùch toâ

böôùc 1 : Saép xeáp caùc ñænhY ≤ Y ≤ Y

Trang Trang 2020

Y1 ≤ Y2 ≤ Y3

böôùc 2 : Phaân tröôøng hôïpTheo tung ñoä

Toâ hình tam giaùcToâ hình tam giaùc

Y1 = Y2 = Y3

1 3 2

Y1 < Y2 = Y3

1

2 3

Trang Trang 2121

Y1 = Y2 < Y3

12

3

Y1 < Y2 < Y3

1

2

3

Toâ hình tam giaùcToâ hình tam giaùc

1 3 2Y1

X X

Trang Trang 2222

Toâ tam giaùc (Y1 = Y2 = Y3)1. Tìm Xmin, Xmax

2. Toâ doøng Y1 baét ñaàu taïi coät Xmin, keát thuùc taïi coät Xmax

Xmin Xmax

Toâ hình tam giaùcToâ hình tam giaùc

Toâ tam giaùc (Y1 < Y2 = Y3)Laëp y : Y1 … Y2

1. Tìm hoaønh ñoä giao ñieåm xl, xrgiöõa doøng queùt y vôùi caùc caïnh

2 3Y2

y

Trang Trang 2323

l rgiöõa doøng queùt y vôùi caùc caïnh traùi vaø caïnh phaûi cuûa tam giaùc.

2. Toâ doøng y baét ñaàu taïi coät xl, keát thuùc taïi coät xr.1

Y1y

y

xl xr

Toâ hình tam giaùcToâ hình tam giaùcVí duï

Caùc hoaønh ñoä giao ñieåm cuûa caùc doøng queùt vôùi caïnh (2, 2), (11, 6).

654

2

Trang Trang 2424

5432

1

84

174

264

354

444

Toâ hình tam giaùcToâ hình tam giaùc

12

cumoi

1

XXk

vôùi

kxx

X laø ñaàu x

ñieåm giao ñoä hoaønh tính Caùch

−=

+=

1

2

Trang Trang 2525

12

12

YYk

−= 1

Toâ hình tam giaùcToâ hình tam giaùc

2

3

Y2

Y3

Trang Trang 2626

1Y1y

Toâ hình ña giaùc loàiToâ hình ña giaùc loài

Caùch toâ1. Chia ña giaùc loài coù n ñænh

{p0, p1, ... , pn-1} thaønh n-2 tam giaùc.- ∆1 p0p1p2

- ∆ p p p

p0

p1

p2

p3

Trang Trang 2727

- ∆2 p0p2p3

- ...- ∆i p0pipi+1

- ...- ∆n-2 p0pn-2pn-1

2. Toâ töøng tam giaùc.

p1

p2

p3

pn-2

pn-1

p0

Toâ hình ña giaùcToâ hình ña giaùcNguyeân lyù chia tam giaùc

Moïi ña giaùc khoâng töï caét ñeàu coù theå phaân chia thaønh caùc tam giaùc.

Trang Trang 2828

ThuThuậật toaùn toâ ña giaùc toång quaùtt toaùn toâ ña giaùc toång quaùt

Thuaät toaùnThuaät toaùn

böôùc 1 Tìm ymin vaø ymax

ymin = min{yi, (xi, yi) ∈ P}ymax = max{yi, (xi, yi) ∈ P}

böôùc 2 Toâ töøng doøng

ymax

yI1 I2 I3 I4

P

Trang Trang 3030

böôùc 2 Toâ töøng doøngLaëp y : ymin … ymax

c1 Tìm caùc giao ñieåm.c2 Saép xeáp caùc giao ñieåm.c3 Toâ caùc ñoaïn thaúng.

ymin

P

y

Löu yùLöu yùBoû caïnh naèm ngang

Trang Trang 3131

boû

boû

Löu yùLöu yùDoøng queùt ñi qua ñænh

a

b

cd

e

Trang Trang 3232

a c e

f

g

h

I1 I2 I3 I4

Bình thöôøng

y

Löu yùLöu yùDoøng queùt ñi qua ñænh

a

b

cd

eI1 I2 I3 I4 I5

Loãi

y

Trang Trang 3333

a c e

f

g

h

I1 I2 I3 I4 I5

Löu yùLöu yùCaét bôùt caïnh c theo truïc y 1 ñôn vò

a

b

cd

eI1 I2 I3 I41y

1

Trang Trang 3434

a c e

f

g

h

I1 I2 I3 I4

Ví duïVí duï

6

7

8

9b

c

d

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

Trang Trang 35351 2 3 4 5 6 7 8 9

1

2

3

4

5

6

a

e

f

gh

i

Tieàn xöû lyù 1Tieàn xöû lyù 1

6

7

8

9b

d

Loaïi boû caùc caïnh

c

Trang Trang 36361 2 3 4 5 6 7 8 9

1

2

3

4

5

6

a

egh

Loaïi boû caùc caïnh{c, f, i}

fi

Tieàn xöû lyù 2Tieàn xöû lyù 2

6

7

8

9b

d

Trang Trang 37371 2 3 4 5 6 7 8 9

1

2

3

4

5

6

Xöû lyù caùc caïnh{a, e}a

egh

ToâToâ

6

7

8

9b

dk=1

k=-3/4

Trang Trang 38381 2 3 4 5 6 7 8 9

1

2

3

4

5

6

a

egh

k=1/6

k=0k=-1/2k=1/4

Thoâng tin caïnh ña giaùcThoâng tin caïnh ña giaùc

caïnh ylower yupper xlower k

a 1 7 1 1/6

b 7 9 2 1

d 5 9 9 -3/4

e 1 5 9 0

g 1 5 7 -1/2

Trang Trang 3939

g 1 5 7 -1/2

h 1 5 4 1/4

Thoâng tin caùc caïnh ña giaùcThoâng tin caùc caïnh ña giaùc

caïnh ylower yupper xlower k

a 1 6 1 1/6

b 7 9 2 1

d 5 9 9 -3/4

e 1 4 9 0

g 1 5 7 -1/2

Trang Trang 4040

g 1 5 7 -1/2

h 1 5 4 1/4

Phöông trình ñoaïn thaúngPhöông trình ñoaïn thaúngF(x, y) = (Y2 – Y1)(x – X1) – (X2 – X1)(y – Y1)

(X2,Y2)

Trang Trang 4141

(X1,Y1)

Xaùc ñònh beân trong tam giaùc nhö theá naøo ? Xaùc ñònh beân trong tam giaùc nhö theá naøo ?

(X3,Y3)

Trang Trang 4242(X1,Y1)

(X2,Y2)

Chieàu caùc ñænh cuûa tam giaùcChieàu caùc ñænh cuûa tam giaùcTính dieän tích tam giaùc

(X2,Y2) (X2,Y2)

( ) ( ) ( )

2yyxyyxyyx

S 213132321 −+−+−=

Trang Trang 4343

S>0 S<0(X1,Y1)

(X3,Y3)

(X1,Y1)

(X3,Y3)

Thuaät toaùnThuaät toaùn1. Tìm xmin, xmax, ymin, ymax

2. Laëp y : ymin … ymax, x : xmin … xmax

Neáu (x, y) naèm beân trong tam giaùc thìToâ (x, y)

y

Trang Trang 4444xmin xmax

ymin

ymax

top related