Professional Documents
Culture Documents
Vng t
Vng c xc nh bi im nh pixel-defined region Vng xc nh bi a gic polygonal region
pixel-defined region
polygonal region
Pixel-defined region
Vng c nh ngha bi mu ca pixel, chia lm 3 phn:
Vng trong interior Vng ngoi exterior Bin (lin tc) - boundary
exterior
interior
boundary
Boundary defined
Cc pixel thuc bin c cng mu boundary-color Cc pixel trong vng khng c mu ny Nu mt s pixel trong vng c mu boundary-color th vng s cha l
inside color
Interior-defined
Boundary-defined
5
Polygonal Region
nh ngha bng a gic: xc nh cc nh cc nh pi = (xi,yi) Cc loi a gic:
Convex Concave, simple Nonsimple
polygonal region
convex
concave
nonsimple
6
seed pixel
inside color fill color
Interior-defined
Recursive Flood-Fill
(4,2) 6 5 4 3 2 1 0
(3,2)
(2,2) (4,2)
(1,2) (3,2)
(3,3)
S
(2,3) (2,1)
0 12 3 4 56
8
Boundary-defined
10
Ci tin
Run - ng chy
Dy cc pixel lin tip theo hng ngang nm trong vng t Mi run c t tn bng pixel cc tri (hay phi) ca run
b a
s d e
11
Stack:
b c d
b c d Stack:
b c
c
e
e
12
out
1
in
in
2
in
out
out
out
out
13
9 8 7 6 5 4 3 2 1 0
Ti dng scanline y = 3:
Cc honh giao im sau khi lm trn l 1, 2, 7, 9 Do , 2 run [1,2] v [7,9] c t
14
0 12 3 4 56 7 89
Demo
15
Cc trng hp c bit
Cc cnh nm ngang khng xt n v chng s c t khi xt 2 cnh k vi n Khi scanline i qua nh ca a gic, n s giao vi 2 cnh. Trong trng hp nh khng l cc tr, s giao im ca scanline vi a gic l s l.
out
2 giao im in in
in
16
y-monotonic:
minimum vi 1 cnh maximum vi cnh cn li
Cnh nm ngang
17
X l
Trc qu trnh t mu, kim tra cc nh.
Nu nh khng phi l cc tr, xt cnh pha di.
Gim tung trn y_upper xung mt n v
9 8 7 6 5 4 3 2 1 0
0 12 3 4 56 7 89
Sau khi ci tin, danh sch cc cnh ca a gic nh sau mt cnh b xa v 2 cnh c rt gn:
e1 = (6,8) to (9,5) e2 = (9,4) to (9,1) e3 = (9,1) to (5,5) e4 = (5,5) to 1,2) e5 = (1,2) to (2,6) e6 = (2,7) to (4,8)
18
Hn ch ca thut ton
xc nh giao im ca ng scanline v cnh ca a gic, chng ta phi duyt tt c cc cnh ca a gic. Khi s cnh ca a gic kh ln, chng ta phi mt rt nhiu thi gian duyt ht cc cnh, trong khi s cnh m ng scanline ct th rt t.
19
Gi s rng 1 cnh ca a gic c tung b chn bi [y_lower, y_upper] th khi tung ca dng qut khng thuc on ny, chng khng ct cnh
-> Gim s lng tnh ton, khng nht thit phi tnh giao im vi tt c cc cnh
1/m
y_upper
y_lower
20
y_upper
x_int
recip_slope
21
V d v AEL
9 8 7 6 5 4 3 2 1 0
e5 e4 e3 e2
0 12 3 4 56 7 89
Ti dng scanline y = 3:
AEL
y_upper
6/5
1/5
7/3
4/3
-1
0
22
x_int
1/m
9 8 7 6 5 4 3 2 1 0
e5
e4 e3 e2
0 12 3 4 56 7 89
23
9 8 7 6 5 4 3 2 1 0
e1
y+1 y
e5
e4 e3 e2
0 12 3 4 56 7 89
Ti y : ael = {e5, e4, e3, e1} Ti y+1 : ael = {e5, e1}
24
9 8 7 6 5 4 3 2 1 0
e1
e5
e4 e3 e2
y+1 y
0 12 3 4 56 7 89
Ti y : ael = {e5, e4, e3, e2} Ti y+1 : ael = {e5, e4, e3, e1}
25
EdgeTable
xc nh cnh no c chn vo AEL, chng ta phi xt tng nh ca a gic. Tuy nhin, cu trc EdgeTable c to ra lu tr thng tin cc cnh trc khi qu trnh t mu xy ra, bo m yu cu cp nht nhanh chng AEL: Mi cnh c xc nh y_upper, recip_slope thng qua nh a gic, v x_int l honh nh di ca cnh. EdgeTable l mt mng cc danh sch cc cnh (nh danh sch AEL). EdgeTable[y] cha danh sch cc cnh c y_lower = y
26
Building EdgeTable
A D C
yA xB xE 1/mBA 1/mED yC xB 1/mBC
yD
J
G
yA
xJ
1/mJA
yJ-1
xI xF
1/mIJ 1/mFG
yG yE-1
xH xF
1/mHG 1/mFE
yG
27
V d EdgeTable
11 10 9 8 7 6 5 4 3 2 1 0
9 8 7 6 5 4 3 2 1 0
e6
e7
e1 e5 e4 e3 e2
e6 e1 e4
-1
e5
6 5 1 9 1/5 -1 5 4
1 9
4/3 0
e3
e2
0 12 3 4 56 7 89
28
29
V d
9 8 7 6 5 4 3 2 1 0
AEL
e6
e7 e1
e5
e4 e3 e2
11 10 9 8 7 6 5 4 3 2 1 0
4/3 -1 0 5 8 7 6 5
8 8
2 9
2 -1
e6 e1 e4
e5
6 5 1 9 1/5 -1 5 4
1 9
4/3 0
e3
e2
0 12 3 4 56 7 89
5 6 6/5 7/5 8/5 9/5 9 1 1/5 -1 4 5 8
11/3 7/3 9 1 5 8
-1
4 8
-1 0
30
31