Saturday, November 14, 2015

Midpoint Ellipse Algorithm



1.      Input rx,ry and ellipse center (xc,yc) and obtain the first point on an ellipse centered on the origin as (x0,y0) = (0,ry)
2.      Calculate the initial value of the decision parameter in region 1 as
P10=ry2-rx2ry +(1/4)rx2
At each xk position in region1 starting at k=0 perform the following test.
3.      If P1k<0, the next point along the ellipse centered on (0,0) is (xk+1, yk) and

p1k+1 = p1k +2 ry2xk +1 + ry2
4.      Otherwise the next point along the ellipse is (xk+1, yk-1) and
p1k+1 = p1k +2 ry2xk +1 - 2rx2 yk+1 + ry2
with 2 ry2xk +1 = 2 ry2xk + 2ry2 2 rx2yk +1 = 2 rx2yk + 2rx2
And continue until 2ry2 x>=2rx2 y
5.      Calculate the initial value of the decision parameter in region 2 using the last point (x0,y0) is the last position calculated in region 1.
p20 = ry2(x0+1/2)2+rx2(yo-1)2 – rx2ry2
       6. At each position yk in region 2, starting at k=0 perform the following test, If p2k>0 the next point along the ellipse centered on (0,0) is (xk,yk-1) and
p2k+1 = p2k – 2rx2yk+1+rx2 Otherwise the next point along the ellipse is (xk+1,yk-1) and
p2k+1 = p2k + 2ry2xk+1 – 2rxx2yk+1 + rx2 Using the same incremental calculations for x any y as in region 1.
6. Determine symmetry points in the other three quadrants.
7. Move each calculate pixel position (x,y) onto the elliptical path centered on (xc,yc) and plot the coordinate values
x=x+xc, y=y+yc
1.      Repeat the steps for region1 unit 2ry2x>=2rx2y

No comments:

Post a Comment