Carta Alir Elips Titik Tengah          Contoh Soalan dan Penyelesaian

 

Algo. Elips Titik Tengah (Midpoint Elips Algo)

 

Algoritma ini boleh di gunakan untuk menjana elips, di mana paksi major dan minor selari dengan paksi-x dan paksi-y.  Pendekatan yang digunakan adalah seperti algoritma bulatan titik tengah.

Berdasarkan nilai rx, ry dan ‘pusat’ elips, ( xc, yc ), pengiraan dilakukan terhadap elips yang berpusat di asalan terlebih dahulu manakala kedudukan sebenar yang akan diplotkan adalah ( x + xc, y + yc ).

Pengiraan dilakukan untuk sukuan pertama ini dibahagikan kepada 2 kawasan (bergantung kepada nilai kecerunan garis tangen pada sempadan terbabit).

Kawasan 1

  • Kecerunan garis tangen, | m | < 1
  • Persampelan dilakukan pada setiap unit x

Kawasan 2

  • Kecerunan garis tangen, | m | > 1
  • Persampelan dilakukan pada setiap unit y

                           

Berdasarkan elips yang berpusat di asalan, satu fungsi diperkenalkan :

                             fe ( x, y ) = ry2 x2  +  rx2 y2  +  rx2 ry2

di mana :

                           

2 parameter penentu digunakan untuk menentukan titik yang paling hampir kepada laluan elips, bergantung kepada kaedah persampelan iaitu :

i) kawasan 1 ( persampelan pada unit x ) :

                            p1k = fe ( xk + 1, yk - ½ )

ii) kawasan 2 ( persampelan pada unit y ) :

                            p2k = fe ( xk + ½, yk - 1 )

di mana :

   p1k

Negatif

  • titik tengah yang di uji berada di dalam sempadan elips
  • piksel pada baris imbasan yk lebih hampir dengan laluan sebenar
  • pilih piksel ( xk+1, yk )

Positif

  • titik tengah yang di uji berada di luar sempadan elips
  • piksel pada baris imbasan yk-1 lebih hampir dengan laluan sebenar
  • pilih piksel ( xk+1, yk-1 )

manakala bagi kawasan 2 :

   pk

Negatif

  • titik tengah yang di uji berada di dalam sempadan elips
  • piksel pada baris imbasan xk+1 lebih hampir dengan laluan sebenar
  • pilih piksel ( xk+1, yk-1 )

Positif

  • titik tengah yang di uji berada di luar sempadan elips
  • piksel pada baris imbasan xk lebih hampir dengan laluan sebenar
  • pilih piksel ( xk, yk-1 )

Algoritma elips titik tengah adalah seperti berikut :

  1. Input nilai jejari, rx, ry serta pusat elips ( xc, yc ).  Tetapkan titik pertama di atas elips yang berpusat di asalan sebagai ( 0, r ).

  2. Kira nilai awal pemalar penentu di dalam kawasan 1:

                                 p10  =  ry2 - rx2 ry + ¼ rx2

  1.   Pada setiap xk di kawasan 1, bermula pada k = 0, uji nilai pemalar penentu :

        Jika p1k < 0, titik seterusnya adalah ( xk + 1, yk ) dan

                           p1k+1 = p1k + 2ry2 xk+1  + ry2 ,

        Jika p1k > 0, titik seterusnya adalah (xk+1, yk-1) dan

                          p1k+1 = p1k + 2ry2 xk+1  - 2rxyk+1 + ry2 ,

  1. Teruskan langkah 3 sehingga syarat 2ryx  > 2rx dipenuhi.

  2. Tentukan nilai awal pemalar penentu di kawasan 2 :

                              p20  =  ry2 ( x0 + ½ )2 + rx2 ( y0 - 1)2 - rx2 ry2

  1. Pada setiap yk di kawasan 2, bermula dari k = 0, uji nilai pemalar penentu :

        Jika p2k > 0, titik seterusnya adalah ( xk , yk - 1 ) dan

                           p2k+1 = p2k - 2rx2 yk+1  + rx2 ,

        Jika p2k < 0, titik seterusnya adalah ( xk + 1, yk - 1 ) dan

                          p2k+1 = p2k + 2ry2 xk+1  - 2rxyk+1 + rx2 ,

  1. Tentukan titik-titik simetri pada tiga sukuan yang lain.

  2. Dapatkan nilai sebenar bagi elips yang berpusat di (xc, yc) iaitu (x + xc, y + yc).