Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehroni ndruru Telah diubah "7 tahun yang lalu
1
Kumpulan Materi Kuliah
2
Algoritma Pembentuk Lingkaran Komputer Grafik
3
Algoritma Pembentuk Lingkaran Secara umum prosedur pembentuk lingkaran dibuat dengan rumus dasar x 2 + y 2 = r 2 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. Algoritma Simetris delapan titik Algoritma Lingkaran Midpoint
4
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 0 dalam menentukan lingkaran selengkapnya. Dengan titik pusat lingkaran tertentu, delapan titik simetris dapat ditampilkan
5
8 Titik Simetris Lingkaran
6
Contoh list program : pembentuk lingkaran 8 titik simetris Void 8_titik_Simetris(int x, int y, int value) { SetPixel(x,y,value); SetPixel(-x,y,value); SetPixel(x,-y,value); SetPixel(-x,-y,value); SetPixel(y,x, value); SetPixel(-y,x,value); SetPixel(y,-x,value); SetPixel(-y,-x,value); }
7
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.
8
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 P 0 = 5/4 - r 3.Tentukan nilai awal k=0, untuk setiap posisi xk berlaku sebagai berikut: Bila Pk < 0, maka titik selanjutnya adalah (x k+1,y k ) dan Parameter selanjutnya P k+1 =P k + 2x k+1 + 1 Bila tidak Pk > 0, maka selanjutnya adalah (x k+1,y k-1 ) dan Parameter selanjutnya P k+1 =P k + 2x k+1 + 1 - 2y k+1 Dimana 2x k+1 = 2x k + 2 dan 2y k+1 = 2y k - 2
9
4.Tentukan titik simetris pada ketujuh oktan yang lain 4.Gerakkan setiap posisi pixel(x,y) pada garis melingkar dari lingkaran dengan titik pusat (xc,yc) dan tentukan nilai koordinat: X k+1 = x k + 1 Y k+1 = yk, atau Y k+1 = yk -1 4.Ulangi langkah ke3 sampai 5, sehingga X >= y
10
Contoh : Algoritma Midpoint Bentuklah suatu lingkaran dengan titik pusat (0,0) dan radius(r) 10, perhitungan berdasarkan oktan 45 0 dari kuadran pertama di mana x=0 sampai dengan x=y. Nilai parameter dapat ditentukan dengan P 0 =1- r =1 – 10 = - 9
11
Jawab: Untuk k = 0 diperoleh P 0 = -9 P 0 < 0 maka titik selanjutnya adalah (x 0+1,y 0 ) = (0+1, 10) = (1, 10) = (x 1,y 1 ) dan Parameter selanjutnya P 1 = P 0 + 2x 1 + 1 = -9 + 2(1) +1 = -6 P 1 < 0 maka titik selanjutnya adalah (x 1+1,y 1 ) = (1+1, 10) = (2, 10) = (x 2,y 2 ) dan Parameter selanjutnya P 2 = P 1 + 2x 2 + 1 = -6 + 2(2) +1 = - 1 P 2 < 0 maka titik selanjutnya adalah (x 2+1,y 2 ) = (2+1, 10) = (3, 10) = (x 3,y 3 ) dan Parameter selanjutnya P 3 = P 2 + 2x 3 + 1 = - 1 + 2(3) +1 = 6 Untuk k = 3 diperoleh P 3 = 6 Pk > 0, maka selanjutnya adalah (x 3+1,y 3-1 ) (x 3+1,y 3 ) = (3+1, 9) = (4, 9) = (x 4,y 4 ) dan Parameter selanjutnya P 4 =P 3 + 2x 4 + 1 - 2y 4 Dimana 2x 3+1 = 2x k + 2 dan 2y 3+1 = 2y k – 2 o. o Seterusnya hingga k = 7 Untuk k = 7 diperoleh P 7 = 6 P 7 > 0, maka selanjutnya adalah (x 6+1,y 6 -1 ) (x 6+1,y 6 -1 ) = (6+1, 8 - 1) = (7, 7) = (x 7,y 7 )
12
Koordinat titk awal adalah (x,r)=(0,10). KPkPk (X k+1, Y k+1 )2X k+1 2Y k+1 0123456701234567 -9 -6 6 -3 8 5 6 (0,10) (1,10) (2,10) (3,10) (4,9) (5,9) (6,8) (7,7) 0 2 4 6 8 10 12 14 20 18 16 14
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.