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 |
|
|
Kawasan 2 |
|

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 |
|
|
Positif |
|
manakala bagi kawasan 2 :
| pk |
Negatif |
|
|
Positif |
|
Algoritma elips titik tengah adalah seperti berikut :
Input nilai jejari, rx, ry serta pusat elips ( xc, yc ). Tetapkan titik pertama di atas elips yang berpusat di asalan sebagai ( 0, r ).
Kira nilai awal pemalar penentu di dalam kawasan 1:
p10 = ry2 - rx2 ry + ¼ rx2
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 - 2rx2 yk+1 + ry2 ,
Teruskan langkah 3 sehingga syarat 2ry2 x > 2rx2 y dipenuhi.
Tentukan nilai awal pemalar penentu di kawasan 2 :
p20 = ry2 ( x0 + ½ )2 + rx2 ( y0 - 1)2 - rx2 ry2
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 - 2rx2 yk+1 + rx2 ,
Tentukan titik-titik simetri pada tiga sukuan yang lain.
Dapatkan nilai sebenar bagi elips yang berpusat di (xc, yc) iaitu (x + xc, y + yc).