Presentation is loading. Please wait.

Presentation is loading. Please wait.

Prof. Harriet Fell Spring 2007 Lecture 9 – January 29, 2007

Similar presentations


Presentation on theme: "Prof. Harriet Fell Spring 2007 Lecture 9 – January 29, 2007"— Presentation transcript:

1 Prof. Harriet Fell Spring 2007 Lecture 9 – January 29, 2007
CS U540 Computer Graphics Prof. Harriet Fell Spring 2007 Lecture 9 – January 29, 2007 November 14, 2018

2 Today’s Topics Fill: Boundary Fill vs. Polygon Fill 2D Polygon Fill
November 14, 2018

3 Scan Line Polygon Fill November 14, 2018

4 Parity Check Draw a horizontal half-line from P to the right.
Count the number of times the half-line crosses an edge. 1 in 4 out 7 in 7 in November 14, 2018

5 Polygon Data Structure
edges xmin ymax 1/m (9, 6) 1 6 8/4 xmin = x value at lowest y ymax = highest y Why 1/m? (1, 2) If y = mx + b, x = (y-b)/m. x at y+1 = (y+1-b)/m = (y-b)/m + 1/m. November 14, 2018

6 Polygon Data Structure
13 12 11 10  e6 9 8 7  e4  e5 6  e3  e7  e8 5 4 3 2 1  e2  e1  e11 0  e10  e9 Edge Table (ET) has a list of edges for each scan line. 13 e6 10 e5 e3 e7 e4 e8 5 e9 e2 e11 e10 e1

7 Preprocessing the edges
For a closed polygon, there should be an even number of crossings at each scan line. We fill between each successive pair. count twice, once for each edge delete horizontal edges chop lowest pixel to only count once November 14, 2018

8 Polygon Data Structure after preprocessing
13 12 11 10  e6 9 8 7  e4  e5 6  e3  e7  e8 5 4 3 2 1  e2  e1  e11 0  e10  e9 11  e6 10 Edge Table (ET) has a list of edges for each scan line. 13 7  e3  e4  e5 6  e7  e8 e6 10 e5 e3 e7 e4 e8 5 e9 e2 e11 e11 e10 e1

9 The Algorithm Start with smallest nonempty y value in ET.
Initialize SLB (Scan Line Bucket) to nil. While current y  top y value: Merge y bucket from ET into SLB; sort on xmin. Fill pixels between rounded pairs of x values in SLB. Remove edges from SLB whose ytop = current y. Increment xmin by 1/m for edges in SLB. Increment y by 1. November 14, 2018

10 Running the Algorithm ET e6 e5 e3 e7 e4 e8 e9 e2 e11 e10 11  e6
13 12 11  e6 10 9 8 7  e3  e4  e5 6  e7  e8 5 4 3 2 1  e2  e11 0  e10  e9 xmin ymax 1/m e /5 e3 1/ /3 e /5 e e6 6 2/ /3 e /2 e e /8 e /4 e /3 Running the Algorithm 13 e6 10 e5 e3 e7 e4 e8 5 e9 e2 e11 e10 5 10 15

11 Running the Algorithm y=0 SCB e10 e6 11 10 1/4 4 -3/4  e5 e3 e7 e9
13 e6 11 10 1/4 4 -3/4 10 e5 e3 e7 e9 e4 e8 11 3/8 11 8 3/8 5 e9 e2 e11 e10 5 10 15 November 14, 2018

12 Running the Algorithm y=1 SLB e2 e6 2 1 3/5 6 -2/5  e5 e3 e7 e11 e4
13 e6 2 1 3/5 6 -2/5 10 e5 e3 e7 e11 e4 e8 6 6 2/3 4 2/3 5 e9 e10 e2 e11 9 1/2 10 1/4 4 -3/4 e10 e9 5 10 15 11 6/8 11 3/8 8 3/8 November 14, 2018

13 Running the Algorithm y=2 SLB e2 e6 1 3/5 1 1/5 6 -2/5  e5 e3 e7 e11
13 e6 1 3/5 1 1/5 6 -2/5 10 e5 e3 e7 e11 e4 e8 6 2/3 7 1/3 4 2/3 5 e9 e10 e2 e11 9 1/2 8 3/4 4 -3/4 e10 e9 5 10 15 11 6/8 12 1/8 8 3/8 November 14, 2018

14 Running the Algorithm y=3 SLB e2 e6 4/5 1 1/5 6 -2/5  e5 e3 e7 e11
13 e6 4/5 1 1/5 6 -2/5 10 e5 e3 e7 e11 e4 e8 7 1/3 8 4 2/3 5 e9 e10 e2 e11 8 8 3/4 4 -3/4 e10 e9 5 10 15 12 1/8 12 4/8 8 3/8 November 14, 2018

15 Running the Algorithm y=4 SLB e2 e6 4/5 6 -2/5  e5 e3 e7 e11 e4 e8 8
13 e6 4/5 6 -2/5 10 e5 e3 e7 e11 e4 e8 8 4 2/3 5 e9 e10 e2 e11 8 4 -3/4 e10 e9 5 10 15 12 4/8 8 3/8 Remove these edges. November 14, 2018

16 Running the Algorithm y=4 SLB e2 e6 2/5 4/5 6 -2/5  e5 e3 e7 e9 e4
13 e6 2/5 4/5 6 -2/5 10 e5 e3 e7 e9 e4 e8 12 7/8 12 4/8 8 3/8 5 e9 e11 and e10 are removed. e2 e11 e10 5 10 15 November 14, 2018

17 Running the Algorithm y=5 SLB e2 e6 2/5 6 -2/5  e5 e3 e7 e9 e4 e8
13 e6 2/5 6 -2/5 10 e5 e3 e7 e9 e4 e8 13 2/8 12 7/8 8 3/8 5 e9 e2 e11 e10 5 10 15 November 14, 2018

18 Running the Algorithm Remove this edge. y=6 SLB e2 e6 6 -2/5  e5 e3
13 e6 6 -2/5 10 e5 e3 e7 e7 e4 e8 10 9 1/2 10 -1/2 5 e9 e8 e2 e11 10 12 8 2 e10 e9 5 10 15 13 2/8 13 5/8 8 3/8 November 14, 2018

19 Running the Algorithm Add these edges. e3 1/3 12 1/3  e4 4 12 -2/5 
13 e6 e5 10 e5 4 13 e3 e7 e4 e8 y=7 SLB e7 5 9 1/2 10 -1/2 e9 e2 e11 e8 e10 12 8 2 5 10 15 e9 13 5/8 8 3/8


Download ppt "Prof. Harriet Fell Spring 2007 Lecture 9 – January 29, 2007"

Similar presentations


Ads by Google