Mid Point Circle
Drawing Derivation (Algorithm)
The mid
point circle algorithm is used to determine the pixels needed for rasterizing a
circle while drawing a circle on a pixel screen.
In this
technique algorithm determines the mid point between the next 2 possible
consecutive pixels and then checks whether the mid point in inside or outside
the circle and illuminates the pixel accordingly.
This is how a pixel screen is
represented:
A circle is highly symmetrical and can be divided into 8 Octets on graph. Lets take center of
circle at Origin i.e (0,0) :
We need
only to conclude the pixels of any one of the octet rest we can conclude
because of symmetrical properties of circle.
Let us Take Quadrant 1:
Radius = OR = r
Radius = x intercept = y
intercept
At point R
coordinate
of x = coordinate of y or we can
say x=y
let us take Octet 2 of quadrant 1
here first pixel would be (0,y)
here value of y intercept = radius (r)
as
circle’s center is at origin
DERIVATION
Now we need to determine the next pixel.
We have chosen octet 2 where circle is moving forward and
downwards so y can never be increased, either it can be same or decremented.
Similarly x will always be increasing as circle is moving forward too.
So y is needed to be decided.
Now we need to decide whether we should go with point N or S.
For that decision Mid Point circle drawing technique will us
decide our next pixel whether it will be N or S.
As is the next most pixel
of therefore we can write,
And similarly in this case.
Let M is the midpoint
between and .
And coordinates of point (M) are
Equation of Circle
with Radius r
(x– h)2 + (y – k)2 =
r2
When coordinates of centre
are at Origin i.e., (h=0, k=0)
x2 + y2 = r2 (Pythagoras theorem)
Function of Circle Equation
F(C) = x2 + y2 - r2
Function of Midpoint M (xk+1 , yk -1/2) in circle equation
F(M)= xk+12 + (yk
-1/2)2 - r2
=
(xk+1)2 + (yk
-1/2)2 - r2
The above equation is too our decision
parameter pk
Pk =
(xk+1)2 + (yk
-1/2)2 - r2 …….(i)
To find out the next decition parameter we need to get Pk+1
Pk+1 =
(xk+1+1)2 +
(yk+1 -1/2)2 - r2
Now,
Pk+1- Pk
= (xk+1+1)2 +
(yk+1 -1/2)2 - r2
-[(xk+1)2 +
(yk -1/2)2 - r2]
= ((xk+1)+1)2 + (yk+1
-1/2)2
- (xk+1)2 - (yk
-1/2)2
= (xk+1)2
+ 1 +2(xk+1) + yk+12 +(1/4)
- yk+1
- (xk+1)2 - yk2
– (1/4) + yk+1
= 2(xk+1)
+ yk+12 - yk2
- yk+1 + yk +1
= 2(xk+1)
+( yk+12 - yk2
) - (yk+1 - yk) +1
Pk+1 = Pk + 2(xk+1)+(
yk+12 - yk2
) - (yk+1 - yk) +1 …..(ii)
Now let us conclude the initial decision parameter
For that we have to choose coordinates of starting point i.e. (0,r)
Put this in (i) i.e. Pk
Pk =
(xk+1)2 + (yk
-1/2)2 - r2
P0 = (0+1)2 +
(r -1/2)2 - r2
= 1 + r2
+ ¼ - r – r2
= 1 + ¼ -
r
…..(initial
decision parameter)
Now If Pk ≥ 0 that means midpoint is outside the circle and S
is closest pixel so we will choose S
(xk+1,yk-1)
That means yk+1 = yk-1
Putting coordinates of S in (ii) then,
Pk+1 =
Pk + 2(xk+1)+(
yk-12 - yk2
) - (yk-1 - yk) +1
= Pk + 2(xk+1)+(
yk -1)2 - yk2
) - ((yk-1) - yk) +1
= Pk + 2(xk+1)+yk
2+1-2yk - yk2
- yk+1 + yk +1
= Pk + 2(xk+1)-2yk
+2 + 1
= Pk + 2(xk+1)-2(yk
-1) + 1
As we know (xk+1 = xk+1)
and (yk-1 = yk-1)
Therefore,
Pk+1 = Pk + 2xk+1 - 2yk-1
+ 1
And if Pk <
0 that means midpoint
is inside the circle and N is closest pixel so we will choose N (xk+1
, yk)
i.e. yk+1
= yk
Now put coordinates of N in (ii)
Pk+1 =
Pk + 2(xk+1)+(
yk2 - yk2
) - (yk - yk) +1
= Pk + 2(xk+1)+(
yk2 - yk2
) - (yk - yk) +1
= Pk + 2(xk+1)
+1
as xk+1 = xk+1
,
therefore,
Pk+1 = Pk + 2xk+1 +1
Hence we have derived the mid point circle
drawing algorithm.
More>>
Bresenhams line drawing derivation
Bresenhams circle drawing derivation
What is computer graphics
Bresenhams line drawing derivation
Bresenhams circle drawing derivation
What is computer graphics
Thank you so much
ReplyDeleteyk-1 = y(k-1) ===> this should be yk-1 = y(k+1) right?
Uneufucontn Amanda Rivers https://marketplace.visualstudio.com/items?itemName=0liodiratn.Descargar-Airline-Director-2---Tycoon-Game-gratuita
ReplyDeletejuncrogegen
caudupWpio-re Manuel Felony https://www.solvomate.fi/profile/taliesinetaliesine/profile
ReplyDeleteromabacksnak
graminObritdzuWest Valley City Irla Burns link
ReplyDeleteboatratealin
YconfnogQscar-nu-1986 Kimberly Turner link
ReplyDeleteclick
https://colab.research.google.com/drive/1f2tzM1eO6xmeQw9sBHj3xX1iWclEuYch
click here
adgravconse