Your SlideShare is downloading.
×

×

Saving this for later?
Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.

Text the download link to your phone

Standard text messaging rates apply

Like this presentation? Why not share!

- Computer Graphics - Bresenham's lin... by Saikrishna Tanguturu 21798 views
- Bresenham circle by Taher Barodawala 12359 views
- Ellipses drawing algo. by Mohd Arif 3787 views
- Graphics6 bresenham circlesandpolygons by Ketan Jani 8875 views
- Line drawing algorithms by Susheel Thakur 1008 views
- bresenham circles and polygons in c... by Daroko blog(www.p... 1586 views

7,733

Published on

No Downloads

Total Views

7,733

On Slideshare

0

From Embeds

0

Number of Embeds

0

Shares

0

Downloads

231

Comments

0

Likes

4

No embeds

No notes for slide

- 1. Midpoint Circle AlgorithmMid point algorithm is very similar toBresenham’s approach. It is based on thefollowing function for testing the spatialrelationship between an arbitrary point(x,y)and a circle of radius centered at the origin: < 0 (x,y) inside circlef(x,y) = x2 + y2 – r2 = 0 (x,y) on the circle > 0 (x,y) outside circle`
- 2. Now consider the coordinates of the pointhalfway between pixel T & S (xi + 1, yi – ½)This is called the midpoint and we use it todefine a decision parameter: pi = f( xi +1, yi – ½) = (xi + 1)2 + (yi – ½)2 – r2If pi is –ve , the midpoint is inside the circle,then we choose pixel T. If pi is +ve, themidpoint is outside the circle, & we choose S.
- 3. Similarly, the decision parameter for the nextstep is:pi+1 = (xi+1 + 1)2 + (yi+1 – ½)2 – r2Since x i+1 = xi + 1 pi+1 - pi = [(xi + 1)+ 1]2 – (xi + 1)2 + (y i+1 – ½)2 – (yi – ½)2Hence pi+1 = pi + 2(xi + 1) + 1 + (y i+12 – yi2) – (y i+1 – yi)
- 4. If pixel T is chosen (meaning pi < 0), we have yi+1 = yi.If pixel S is chosen (meaning pi > 0), we have yi+1 = yi – 1. Thus, pi+1= pi + 2(xi + 1) +1 if pi<0 pi + 2(xi + 1) +1 – 2(yi – 1) if pi>0In terms of (xi, yi), we have pi+1= pi + 2xi + 3 if pi<0 pi + 2(xi - yi ) + 5 if pi>0
- 5. Finally, we compute the initial value for thedecision parameter using the originaldefinition of pi and (0,r): pi = (0 + 1)2 + (r – ½)2 – r2 = 5/4 – rOne can see that this is not really integercomputation. However, when r is an integerwe can simply set p1= 1 – r. The error ofbeing ¼ less than the precise value does notprevent p1 from getting the appropriate sign.
- 6. It does not affect the rest of the scanconversion process, because the decisionvariable is only updated with integer incrementin subsequent steps.
- 7. Algorithm:The following is a description of this midpointcircle algorithm that generates the pixelcoordinates in the 90˚ to 45 ˚ octant: int x = 0, y = r, p = 1-r while (x <=y) { setpixel(x,y); if (p < 0) p = p + 2x + 3
- 8. else { p = p + 2(x – y) + 5 y- - } x++ }

Be the first to comment