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

 

 

 

Back  Next