Computer Graphics Lab 214457 ( ) Class: SE(IT)
Assignment No 4
Problem Statement:
Implement the following polygon filling methods : i) Flood fill / Seed fill ii) Boundary fill ; using mouse click,
keyboard interface and menu driven programming
Objective:
To understand the basic concepts of a polygon filling
Outcome:
To implement a polygon filling methods using Flood fill / Seed fill and Boundary fill
CO Relevance: CO3
PO/PSOs Relevance: PO1, PO2, PO5, PO6
Theory Concepts:
Polygon Filling Approaches:
There are two types of seed fill algorithms.
1. Boundary Fill Algorithm
2. Flood Fill Algorithm.
Boundary Fill Algorithm:-
Boundary Fill is algorithm used for the purpose of coloring figures in computer graphics. Boundary fill
fills chosen area with a color until the given colored boundary is found.
Algorithm :
Step 1 : The boundary fill procedure accepts the input as coordinates of an interior point (x, y), a fill color, and a
boundary color.
Step 2 : Starting from (x, y)which is seed pixel, the procedure tests the neighboring positions to determine whether
they are boundary color.
Step 3 : If not, they are painted with the fill color, and the neighbors are tested.
Step 4 : This process continues until all pixels up to the boundary color for the area have been tested.
There are two methods for filling the pixel and find the neighbor pixel :
(i) 4-connected.
Department of Information Technology, ZCOER, Narhe, Pune-41 Page 24
Computer Graphics Lab 214457 ( ) Class: SE(IT)
(ii) 8-connected.
(i) 4-Connected Method :
Four_Fill (x, y, fill_col, bound_color)
if (curr_pixel_color != bound_color) and (curr_pixel_color != fill_col) then
set_pixel(x, y, fill_col)
Four_Fill (x+1, y, fill_col, bound_col);
Four_Fill (x-1, y, fill_col, bound_col);
Four_Fill (x, y+1, fill_col, bound_col);
Four_Fill( x, y-1, fill_col, bound_col);
end;
(ii) 8-Connected Method
The fill operation can proceed above, below, right and left side as well as through diagonal pixels of the current
pixels. This process will continue until we find a boundary with different color.
Flood Fill
The purpose of Flood Fill is to color an entire area of connected pixels with the same color.
Fig.: Four connected method and Eight connected method
Similarly boundary fill algorithm, we start with seed pixel, seed pixel is examined for specified interior color
instead of boundary color
Pseudo Code for boundry fill Algorithm
void boundaryFill4(int x, int y, int fill_color,int boundary_color)
{
if(getpixel(x, y) != boundary_color &&
getpixel(x, y) != fill_color)
{
putpixel(x, y, fill_color);
boundaryFill4(x + 1, y, fill_color, boundary_color);
boundaryFill4(x, y + 1, fill_color, boundary_color);
boundaryFill4(x - 1, y, fill_color, boundary_color);
Department of Information Technology, ZCOER, Narhe, Pune-41 Page 25
Computer Graphics Lab 214457 ( ) Class: SE(IT)
boundaryFill4(x, y - 1, fill_color, boundary_color);
}
}
Pseudo Code for Flood fill Algorithm
Procedure floodfill (x, y,fill_ color, old_color: integer)
If (getpixel (x, y)=old_color)
{
setpixel (x, y, fill_color);
fill (x+1, y, fill_color, old_color);
fill (x-1, y, fill_color, old_color);
(x, y+1, fill_color, old_color);
(x, y-1, fill_color, old_color);
}
Output:
(Execute the program and attach the printout here)
Conclusion:
In This way we have studied that how to fill polygon using Flood fill / Seed fill and Boundary fill method.
Department of Information Technology, ZCOER, Narhe, Pune-41 Page 26
(
Computer Graphics Lab 214457 ) Class: SE(IT)
Viva Questions:
1.Explain Flood fill algorithm
2.Explain boundary fill algorithm
3. Explain inside outside test to fill polygon
4. What is seed pixel.
5. Explain 4-connected method
6. Explain 8-connected method
Date:
Marks obtained:
Sign of course coordinator:
Name of course Coordinator :
Department of Information Technology, ZCOER, Narhe, Pune-41 Page 27