# CS 552 Computer Graphics Lecture 16 Polygon Filling

- Slides: 52

CS 552: Computer Graphics Lecture 16: Polygon Filling

Recap • Midpoint ellipse drawing algorithm • Inside-Outside Test • Filling rectangle • Issues related to polygon filling

Objective After completing this lecture students will be able to • Describe different polygon filling algorithm • Solve numerical problems

Coherence Example Slope of the edge Change in y coordinates between the two scan lines is ? Given the current x-intercept, the next x-intercept coordinate =

Different situations while scanning • Intersection point change by the amount of the slope of the line • Edges may start / end • Tracking of intersection points is the key o Vertices o Edges • Edge table (ET), Active Edge Table (AET)

Scan Line Polygon Filling Algorithm • Pixels within the boundary of a polygon belong to the polygon • Moving from bottom to top up the polygon • Starting at a left edge, fill pixels in spans until a right edge is reached • Once we have an intersection o Incrementally compute the next intersection from the current one.

Algorithm •

Example (10, 50) (40, 40) (40, 20) (10, 10) (70, 10)

Filling Ellipse Arcs • The Same general strategy works here too Span table

Boundary Fill Algorithm • Start at a point inside a region and paint the interior outward toward the boundary. • If the boundary is specified in a single color, o the fill algorithm processed outward pixel by pixel Ø until the boundary color is encountered. • Input: the coordinate of the interior point (x, y), a fill color, and a boundary color.

Algorithm 1. Start from an interior point. 2. If the current pixel is not already filled and if it is not an edge point, then 1. Set the pixel with the fill color, 2. Store its neighbouring pixels (4 or 8 -connected) in the stack for processing. 3. Store only neighboring pixel that is not already filled and is not an edge point. 3. Select the next pixel from the stack, and continue with step 2.

Boundary Fill Algorithm • The order of pixels that should be added to stack using • 4 -connected • above, below, left, and right. • 8 -connected is above, below, left, right, above-left, above-right, below -left, and below-right.

Boundary Fill Algorithm 4 -connected (Example) Start Position

Boundary Fill Algorithm 4 -connected (Example) 3 2 1 3

Boundary Fill Algorithm 4 -connected (Example) 4 2 1 2 4 1

Boundary Fill Algorithm 4 -connected (Example) 2 1

Boundary Fill Algorithm 4 -connected (Example) 5 5 1 1

Boundary Fill Algorithm 4 -connected (Example) 1 1

Boundary Fill Algorithm 4 -connected (Example)

Boundary Fill Algorithm 8 -connected (Example) Start Position

Boundary Fill Algorithm 8 -connected (Example) 4 2 1 5 3 5 4 3 2 1

Boundary Fill Algorithm 8 -connected (Example) 6 4 2 1 6 3 4 3 2 1

Boundary Fill Algorithm 8 -connected (Example) 7 8 8 4 2 1 7 3 4 3 2 1

Boundary Fill Algorithm 8 -connected (Example) 12 11 9 12 7 10 11 10 9 4 2 1 7 3 4 3 2 1

Boundary Fill Algorithm 8 -connected (Example) 11 9 7 11 10 10 9 4 2 1 7 3 4 3 2 1

Boundary Fill Algorithm 8 -connected (Example) 9 7 10 10 9 4 2 1 7 3 4 3 2 1

Boundary Fill Algorithm 8 -connected (Example) 9 7 9 4 2 1 7 3 4 3 2 1

Boundary Fill Algorithm 8 -connected (Example) 7 4 2 1 7 3 4 3 2 1

Boundary Fill Algorithm 8 -connected (Example) 4 2 1 3 4 3 2 1

Boundary Fill Algorithm 8 -connected (Example) 1 2 3 3 2 1

Boundary Fill Algorithm 8 -connected (Example) 1 2 2 1

Boundary Fill Algorithm 8 -connected (Example) 1 1

Boundary Fill Algorithm 8 -connected (Example)

Boundary Fill Algorithm • Considerable stacking of neighboring pixels was required • Fill horizontal pixel spans across scan lines • Only stack a beginning position for each horizontal pixel spans

Algorithm 1. Starting from the initial interior pixel, then fill in the contiguous span of pixels on this starting scan line. 2. Locate and stack starting positions for spans on the adjacent scan lines, where spans are defined as the contiguous horizontal string of positions bounded by pixels displayed in the area border color. 3. At each subsequent step, unstack the next start position and repeat the process.

Span Flood-Fill Algorithm (example) 11 10 9 8 7 6 5 S 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Span Flood-Fill Algorithm (example) 11 10 9 8 7 6 2 5 S 4 1 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Span Flood-Fill Algorithm (example) 11 10 9 8 7 3 6 2 5 S 4 1 3 3 1 2 1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Span Flood-Fill Algorithm (example) 11 10 9 8 5 7 3 6 4 6 2 5 S 4 1 3 6 5 4 1 2 1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Span Flood-Fill Algorithm (example) 11 10 9 7 8 5 7 3 6 4 6 2 5 S 4 1 3 7 5 4 1 2 1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Span Flood-Fill Algorithm (example) 11 10 9 7 8 5 7 3 6 4 6 2 5 S 4 1 3 5 4 1 2 1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Span Flood-Fill Algorithm (example) 11 10 9 8 8 5 7 3 6 4 7 6 2 5 S 4 1 3 8 4 1 2 1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Span Flood-Fill Algorithm (example) 11 10 9 8 8 5 7 3 6 4 7 6 2 5 S 4 1 3 4 1 2 1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Span Flood-Fill Algorithm (example) 11 10 9 8 8 5 7 3 6 4 5 9 7 6 2 S 4 1 3 9 1 2 1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Span Flood-Fill Algorithm (example) 11 10 9 8 8 5 7 3 6 4 5 9 4 10 7 6 2 S 1 3 10 1 2 1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Span Flood-Fill Algorithm (example) 11 10 9 8 8 5 7 3 6 4 5 9 4 10 3 11 7 6 2 S 1 1 2 1 0 0 1 2 3 11 4 5 6 7 8 9 10 11 12 13 14

Span Flood-Fill Algorithm (example) 11 10 9 8 8 5 7 3 6 4 5 9 4 10 3 11 2 12 7 6 2 S 1 1 1 0 0 1 2 3 12 4 5 6 7 8 9 10 11 12 13 14

Span Flood-Fill Algorithm (example) 11 10 9 8 8 5 7 3 6 4 5 9 4 10 3 11 2 12 7 6 2 S 1 1 1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Span Flood-Fill Algorithm (example) 11 10 9 8 8 5 7 3 6 4 5 9 4 10 3 11 2 12 7 6 2 S 1 1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Flood Fill Algorithm • Fill in (recolor) an area that is not defined within a single color boundary. • Replace a specified interior color instead of searching for a boundary color value. • This approach is called a flood-fill algorithm.

Flood Fill Algorithm 1. Start from a specified interior pixel (x, y) and reassign all pixel values that are currently set to a given interior color with the desired fill color. 2. If the area has more than one interior color, we can first reassign pixel values so that all interior pixels have the same color. 3. Using either 4 -connected or 8 -connected approach, we then step through pixel positions until all interior pixels have been repainted.

Thank you Next Lecture: Scan Converting Patterns

- Polygon filling in computer graphics
- Polygon filling algorithms
- Region filling
- Boundary fill algorithm in computer graphics
- Ppt
- Active edge table in computer graphics
- Boundary fill 4(x-1,y, fillcolor,________)
- Convex and concave polygon in computer graphics
- Most of the graphics monitors today operate as
- Graphics hardware in computer graphics ppt
- Sebutkan algoritma filling polygon!
- Ece552
- Omd 552 hospital waste management
- Tipos de resguardos en máquinas
- Sec552
- +1 (617) 552-2015
- Cis 552
- Ece 552
- Cs 552
- Not polygon
- 01:640:244 lecture notes - lecture 15: plat, idah, farad
- Computer security 161 cryptocurrency lecture
- Computer aided drug design lecture notes
- Architecture lecture notes
- Computer architecture lecture
- Angel
- Projection in computer graphics
- What is video display devices in computer graphics
- In two dimensional viewing we have?
- Shear transformation in computer graphics
- Acos glsl
- Scan conversion of ellipse
- Center of mass of a rigid body
- Starburst method in computer graphics
- Difference between horizontal retrace and vertical retrace
- Computer graphics
- Bresenham's line algorithm in computer graphics
- Cs 418
- Cs 418 interactive computer graphics
- Hidden surface removal adalah
- Achromatic light in computer graphics
- Interactive input methods in computer graphics
- Uniform scaling in computer graphics
- Uniform scaling in computer graphics
- Fundamentals of computer graphics
- Logical input devices in computer graphics
- Sierpinski gasket in computer graphics
- Line drawing algorithm in computer graphics ppt
- Dda in computer graphics
- In two dimensional viewing system have
- Keyframe system in computer graphics
- Solid
- Scan conversion in computer graphics