0% found this document useful (0 votes)
46 views

Assignment No 4

This document discusses two polygon filling methods: flood fill/seed fill and boundary fill. It provides pseudocode for implementing both methods using a 4-connected or 8-connected approach. It also includes theory on how each algorithm works and sample output is requested.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views

Assignment No 4

This document discusses two polygon filling methods: flood fill/seed fill and boundary fill. It provides pseudocode for implementing both methods using a 4-connected or 8-connected approach. It also includes theory on how each algorithm works and sample output is requested.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

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

You might also like