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