algoritma pembentuk lingkaran

14
M. Alaik Nasrullah (407532305056) D3 Elektronika Algoritma Pembentuk Lingkaran Secara umum prosedur pembentuk lingkaran dibuat dengan rumus dasar x2+y2=R2. Terdapat beberapa cara untuk membentuk suatu lingkaran namun tidak efisien. Lingkaran dapat dibuat dengan menggambarkan seperempat lingkaran karena bagian lain dapat dibuat sebagai bagian yang simetris. A Algoritma Simetris delapan titik Pada algoritma ini pembuatan lingkaran dilakukan dengan menentukan satu titik awal. Bila titik awal pada lingkaran(x,y) maka terdapat tiga posisi lain, sehingga dapat diperoleh delapan titik. Dengan demikian sebenarnya hanya diperlukan untuk menghitung segmen 45’ dalama menentukan lingkaran selengkapnya. Dengan titik pusat lingkaran tertentu, delapan titik simetris dapat ditampilkan dengan prosedur Circle Point Sebagai berikut: procedure CirclePoints(x, y, value:integer); begin putPixel(x,y,value); putPixel(-x,y,value); putPixel(x,-y,value); putPixel(-x,-y,value); putPixel(y,x,value); putPixel(-y,x,value); putPixel(y,-x,value);

Upload: alaik-nasrulla-5972

Post on 14-Jun-2015

644 views

Category:

Documents


26 download

TRANSCRIPT

Page 1: Algoritma Pembentuk Lingkaran

M. Alaik Nasrullah

(407532305056)

D3 Elektronika

Algoritma Pembentuk Lingkaran

Secara umum prosedur pembentuk lingkaran dibuat dengan rumus dasar x2+y2=R2. Terdapat beberapa cara untuk membentuk suatu lingkaran namun tidak efisien. Lingkaran dapat dibuat dengan menggambarkan seperempat lingkaran karena bagian lain dapat dibuat sebagai bagian yang simetris.

A Algoritma Simetris delapan titik

Pada algoritma ini pembuatan lingkaran dilakukan dengan menentukan satu titik awal. Bila titik awal pada lingkaran(x,y) maka terdapat tiga posisi lain, sehingga dapat diperoleh delapan titik. Dengan demikian sebenarnya hanya diperlukan untuk menghitung segmen 45’ dalama menentukan lingkaran selengkapnya. Dengan titik pusat lingkaran tertentu, delapan titik simetris dapat ditampilkan dengan prosedur Circle Point Sebagai berikut:

procedure CirclePoints(x, y, value:integer);

begin

putPixel(x,y,value);

putPixel(-x,y,value);

putPixel(x,-y,value);

putPixel(-x,-y,value);

putPixel(y,x,value);

putPixel(-y,x,value);

putPixel(y,-x,value);

putPixel(-y,-x,value);

end;

Page 2: Algoritma Pembentuk Lingkaran

B .Algoritma Lingkaran Midpoint

Algoritma Lingkaran Midpoint juga disebut algoritma lingkaran Bressenham. Bressenham mengembangkan generator lingkaran yang cukup efisien. Algoritma yang digunakan membentuk semua titik berdasarkan titik pusat dengan penambahan semua jalur sekeliling lingkaran. Algoritma ini diturunkan dari algoritma Midpoint untuk pembentukan garis. Dalam hal ini hanya diperhatikan bagian 45’ dari suatu lingkaran, yaitu oktan kedua dari x=0 ke x=R/Ö2, dan menggunakan CirclePoints untuk menampilkan titik dari seluruh lingkaran.Langkah langkah untuk membentuk lingkaran algoritma Circle Midpoint:

1.Tentukan radius r dengan titk pusat lingkaran(xc,yc) kemudian diperoleh

(x0,y0)=(0,r)

2.Hitung nilai dari parameter

P0=5/4r

3.Tentukan nilai awal k=0, untuk setiap posisi xk berlaku sebagai berikut:

oBila Pk < 0, maka titik selanjutnya adalah (xk+1,yk))

dan Pk+1

=Pk+2xk+1+1

Bila tidak, maka selanjutnya adalah (xk+1,yk-1),

dan Pk+1=Pk 2xk+1 +12yk+1

Dimana 2xk+1=2xk+2

Dan 2yk+=2yk2

4.Tentukan titik simetris pada ketujuh oktan yang lain

5.Gerakkan setiap posisi pixel(x,y) pada garis melingkar dari lingkaran dengan

titik pusat (xc,yc) dan tentukan nilai koordinat:

x=x+xc

y=y+yc

6.Ulangi langkah ke3

sampai 5, sehingga x>=y

Page 3: Algoritma Pembentuk Lingkaran

Contoh algoritma lingkaran midpoint

Untuk menggambarkan algoritma Bressenham dalam pembentukan suatu lingkaran dengan titik pusat (0,0) dan radius 10, perhitungan berdasarkan pada oktan dari kuadran pertama di mana x=0 sampai x=y. Nilai parameter dapat ditentukan dengan

Prosedur algoritma lingkaran midpoint Input yang digunakan pada prosedur ini adalah koordinat titik pusat dan radius lingkaran. Posisi pixel ditentukan dengan rutin setPixel. uses graph,crt;

Page 4: Algoritma Pembentuk Lingkaran
Page 5: Algoritma Pembentuk Lingkaran

5. Algoritma Pembentukan Elips

Elips merupakan modifikasi dari bentuk lingkaran, dengan memasukkan mayor dan minor axis pada prosedur lingkaran. Elips ditentukan oleh satu set titik dengan memperhitungkan jumlah jarak dari kedua posisi(foci). Bla jarak ke kedua foci dari sembarang titik p(x,y) pada elips diberi label d1 dan d2, maka persamaan elips menjadi d1+d2=konstan

Untuk menggambarkan jarak d1 dan d2 dengan ketentuan koordinat masing masing

Dimana mayor dan minor axis elips dalam posisi pararel dengan sumbu x dan sumbu y pada contoh ini, parameter rx disebut semi major axis dan ry disebut semi minor axis, sehingga persamaan elips dengan parameter rx dan ry menjadi

Algoritma elips Midpoint Untuk algoritma pembentukan elips, pendekatan yang dilakukan sama dengan penggunaan pada saat menampilkan lingkaran. Dengan parameter untuk elips pada posisi standar, yaitu rx, ry, dan(xc,yc). Bila elips ditampilkan pada posisi standar, maka dapat dilakukan dengan memutar elips tersebut menurun koordinat titik pusat, dan mendapatkan kembali mayor dan minor axis. Metode midpoint untuk elips dijalankan pada kuadran pertama dalam dua bagian. Bagian pertama menrut kemiringan elips rx<ry. Penambahan dengan unit step pada arah sumbu x dilakukan bila slope lebih kecil dari 1, dan dengan unit step menurut sumbu y bila kemiringan lebih besar dari 1.

Bagian 1 dan 2 dapat digunakan untuk bermacam macam cara. Pertama dimulai dari posisi (0,ry) dan step searah jarum jam sepanjang jalur elips pada kuadran pertama. Pergeseran dengan unit step dalam x pada saat slope lebih besar dari 1. Alternatif lain, dimulai dari (rx,0) dan seleksi titik dalam arah berlawanan dengan arah jarum jam. Penggeseran unit step y ke unit step x pada saat kemiringan lebih besar dari 1. dengan prosesor pararel, posisi pixel dapat dihitung dalam dua bagian sekaligus Pembentukan elips menurut algoritma Circle midpoint sebagai berikut:

Page 6: Algoritma Pembentuk Lingkaran

1.Tentukan rx,ry dan pusat elips (xc,yc) kemudian diperoleh

(xo,yo)=(0,ry)

2.Hitung nilai parameter

3.Tentukan nilai awal k=0, untuk setiap posisi xk berlaku sebagai berikut :

4.Tentukan nilai parameter pada bagian kedua menggunakan titik terakhir (x0,y0) yang telah dihitung pada bagian pertama, sebagai berikut

Page 7: Algoritma Pembentuk Lingkaran

5.Setiap posisi yk pada bagian kedua, dimulai dengan k=0

6.Tentukan titik simetris pada ketiga kuadran lainnya

7.Gerakkan setiap posisi(x,y) pada garis melingkar dari elisp dengan titik pusat(xc,yc) dan tentukan nilai koordinat

x=x+xc y=y+yc

8.Ulangi langkah untuk bagian pertama di atas, sehingga

Contoh algoritma elips Midpoint

Untuk menggambarkan algoritma midpoint dalam pembentukan elips dengan titik pusat(0,0) dan mayor axis rx=6, serta minor axis ry=8, perhitungan berdasarkan pada kuadran pertama sebagai berikut:, nilai parameter dapat ditentukan

Page 8: Algoritma Pembentuk Lingkaran

Prosedur algoritma elips Midpoint

Prosedur berikut menampilkan posisi pixel pada monitor dengan algorima Midpoint. Input yang digunakan adalah koordinat titik pusat mayor axis, dan minor axis. Posisi pixel ditentukan dengan rutin setPixel.

Page 9: Algoritma Pembentuk Lingkaran
Page 10: Algoritma Pembentuk Lingkaran