3.4
วงรี(Elipse)
จากรูปเราสามารถหาสมการของวงรีได้ดังนี้
(X-Xc/Hx)2
+(Y-Yc/ Hy)2 = 1
และได้มีการพัฒนา Algorithm สำหรับวงรีขึ้น นั่นคือ Midpoint Ellipse Algorithm ซึ่งมีขั้นตอนดังนี้
1.
Input Hx, Hy ,จุดศูนย์กลางวงรี (Xc,Yc) โดยจุดแรกที่จะ plot บนเส้นรอบวง ของ วงรีที่มีศูนย์กลางอยู่ที่จุดกำเนิด
คือ(X0,Y0) = (0,Hy) 2.
คำนวณค่าเริ่มต้นสำหรับการตัดสินใจในการคำนวณหาจุดที่จะ
plot ต่อไปใน Region 1 ดังนี้ P10 = Hy2
Hx2Hy + ¼ Hx2 3.
ที่แต่ละตำแหน่ง Xk เริ่มที่ k = 0 IF Pk < 0 then จุดต่อไปบนเส้นรอบวงสำหรับวงรีที่มีจุดศูนย์กลางที่(0,0) คือ (Xk + 1,Yk) และ P1k+1 = P1k +2Hy2Xk+1
+ Hy2 Else จุดต่อไป คือ (Xk
+ 1,Yk - 1) และ P1k+1 = P1k +2Hy2Xk+1
+ Hy2 2Hx2Yk+1 4.
คำนวณค่าเริ่มต้นสำหรับการตัดสินใจในการคำนวณหาจุดที่จะ
plot ต่อไปใน Region 2 โดยใช้จุดสุดท้ายของ Region
1 เป็นจุดเริ่ม (X0,Y0) ดังนี้ P20 = Hy2
(X0+ ½ )2 Hx2Hy2 + Hx2(Y0 - 1)2 5.
ที่แต่ละตำแหน่ง Yk เริ่มที่ k = 0 IF Pk > 0 then จุดต่อไปบนเส้นรอบวงสำหรับวงรีที่มีจุดศูนย์กลางที่
(0,0) คือ (Xk + 1,Yk - 1 ) และ P2k+1
= P2k -2Hx2Yk+1 + Hx2 Else จุดต่อไป คือ (Xk
+ 1,Yk - 1) และ P2k+1 = P2k +2Hy2Xk+1
+ Hx2 2Hx2Yk+1 6.
กำหนดจุดที่สมมาตรใน 3 ส่วนที่เหลือ 7.
บวกจุดศูนย์กลางวงรีกับจุดที่คำนวณได้แต่ละจุด
ดังนี้
X
= X + Xc
Y = Y +Yc จากนั้นจึงทำการplotจุด (X,Y) 8.
ทำซ้ำ ขั้นตอนสำหรับ Region 1 จนกระทั่ง 2Hy2X
>= 2Hx2Y |