Odd-even rule and non-zero winding number rule, Computer Graphics

Assignment Help:

What is the difference between odd-even rule and non-zero winding number rule to identify interior regions of an object? Develop an algorithm for a recursive method for filling a 4-connected area? What is the problem associated with this algorithm.

Difference between odd-even rule and non zero winding number:  Odd- even rule: In this algorithm we draw a line from any position p to a distant point outside the coordinate extents of the object and counting the number of edge crossing along the line. If the number of polygon edges crossed by this line is odd, then p is an interior point, otherwise p is an exterior point. To obtain an accurate edge count, we must be sure that the line path we choose does not intersect any polygon vertices. 

Non zero winding number rule: In this algorithm count the number of times the polygon edges wind around a particular point in the counter clockwise direction. This count s called the winding number and the interior points of a two dimensional object are defined to be those that have a non zero value for the winding number. We apply the non zero winding number rule to polygons by initializing the winding number to 0 and again imagining a kine drawn from any position p to a distant point beyond the coordinates extents of the object. The line we choose must not pass through any vertices. As we move along the line from position p to the distant point. We count the number of edges that crosses the line in each direction we add 1 to the winding number every time we intersect a polygon edge that crosses the line from right to lift, and we subtract 1 every line we intersect an edge that crosses from left to right. The final value of the winding number, after all edge crossing have been counted, determines the relative position of p. If the ending number is non zero p is taken to be an exterior point. Recursive boundary fill algorithms may not fill regions correctly if some interior pixels are already displayed in the fill color. This occurs because the algorithm checks next pixels both for boundary color and for fill color. Encountering a pixel with the fill color can cause a recursive branch to terminate leaving other interior pixels unfilled. To avoid this we can first change the color of and interior pixels unfilled. To avoid this we can first change the color of any interior pixels that are initially set to the fill color before applying the boundary fill procedure.  Also since this procedure requires considerable stacking of neighboring points more efficient methods are generally employed. These methods fill horizontal pixel spans across scan lines instead of proceeding to 4 commented or 8 commented neighboring points. Then we need only stack a beginning position for each horizontal pixel span instead of stacking all unprocessed neighboring positions around the current position. Starting from the initial interior point with this method we first fill in the contiguous span of pixels on this starting scan line.

(a) The filled initial pixel span showing the position of the initial point and the stacked positions for pixel spans on adjacent scan lines. (b) Filled pixel scan on the first scan line above the initial scan line and the current contents of the stack. (d) Completed pixel spans for the upper right portion of the defined region and the remaining stacked positions to be processed.  Then we 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. At each subsequent step we unstuck the next start position and repeat process. 


Related Discussions:- Odd-even rule and non-zero winding number rule

Math, what is the numerical numbers

what is the numerical numbers

Line drawing algorithm, when dda line drawing algorithm is more efficient t...

when dda line drawing algorithm is more efficient than bresenhem line drawing algorithm?

What is rotation, What is rotation?  A 2-D rotation is completed by rep...

What is rotation?  A 2-D rotation is completed by repositioning the coordinates with a circular path, in the x-y plane by making an angle with the axes. The transformation is g

Display necessitate to store z-buffer?, Suppose here, one allows 256 depth ...

Suppose here, one allows 256 depth value levels to be employed. Approximately how much memory would a 512x512 pixel display necessitate to store z-buffer? Solution : A system w

Compute the negative of the image, Obtain an MRI image using the Open Sourc...

Obtain an MRI image using the Open Source internet resources. i. Read the image into Scilab ii. Plot the image iii. Covert it into grayscale image and plot it iv. Find/

Stochastic animation - computer animation, Stochastic Animation - Computer ...

Stochastic Animation - Computer Animation This utilizes stochastic processes that are a stochastic process can be identified as a random function. Such randomness could be in

Dda program to plot line segments, Use DDA algorithm to get the output of y...

Use DDA algorithm to get the output of your program as shown in Figure ANs: Use DDA( ) function to plot line segments that have end points on diametrically opposite points

Region filling, what is region filling? give details

what is region filling? give details

Object space - approaches for visible surface determination, Object Space -...

Object Space - approaches for visible surface determination The second approach as object-space that compares all objects directly along with each other inside the scene defin

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd