Chapter III
Chapter III
Drawing a circle on the screen is a little complex than drawing a line. There are two
popular algorithms for generating a circle − Bresenham’s Algorithm and Midpoint
Circle Algorithm. These algorithms are based on the idea of determining the
subsequent points required to draw the circle. Let us discuss the algorithms in detail −
The equation of circle is X2+Y2=r2,X2+Y2=r2, where r is radius.
Bresenham’s Algorithm
We cannot display a continuous arc on the raster display. Instead, we have to choose
the nearest pixel position to complete the arc.
From the following illustration, you can see that we have put the pixel
at X,YX,Y location and now need to decide where to put the next pixel − at
N X+1,YX+1,Y or at S X+1,Y−1X+1,Y−1.
This can be decided by the decision parameter d.
Algorithm
Step 1 − Get the coordinates of the center of the circle and radius, and store them in x,
y, and R respectively. Set P=0 and Q=R.
Step 2 − Set decision parameter D = 3 – 2R.
Step 3 − Repeat through step-8 while P ≤ Q.
Step 4 − Call Draw Circle X,Y,P,QX,Y,P,Q.
Step 5 − Increment the value of P.
Step 6 − If D < 0 then D = D + 4P + 6.
Step 7 − Else Set R = R - 1, D = D + 4P−QP−Q + 10.
Step 8 − Call Draw Circle X,Y,P,QX,Y,P,Q.
Draw Circle Method(X, Y, P, Q).
f(xi - 1/2 + e, yi + 1)
= (xi - 1/2 + e)2 + (yi + 1)2 - r2
= (xi- 1/2)2 + (yi + 1)2 - r2 + 2(xi - 1/2)e + e2
= f(xi - 1/2, yi + 1) + 2(xi - 1/2)e + e2 = 0
Let di = f(xi - 1/2, yi + 1) = -2(xi - 1/2)e - e2
Thus,
= di - 2(xi - 1) + 2(yi + 1) + 1
= di + 2(yi + 1 - xi + 1) + 1