Perbedaan Algoritma DDA, Bresenham dan Midpoint Circle
DDA
algoritma pembentukan garis berdasarkan perhitungan Δx dan Δy, menggunakan rumus y = m. Δ x. Garis dibuat dengan menentukan dua endpoint yaitu titik awal dan titik akhir. Setiap koordinat titik yang membentuk garis diperoleh dari perhitungan, kemudian dikonversikan menjadi nilai integer
Cara kerja / langkah-langkah
Tentukan dua titik yang akan dihubungkan.
Tentukan salah satu titik sebagai titik awal (x0, y0) dan titik akhir (x1, y1).
Hitung Δx = x1 – x0 dan Δ y = y1 – y0.
Tentukan step, yaitu jarak maksimum jumlah penambahan nilai x maupun nilai y dengan cara :
bila nilai |Δy| > |Δx| maka step = nilai |Δy|.
bila tidak maka step = |Δx|.
Hitung penambahan koordinat pixel yaitu x_increment = Δx / step dan y_increment = Δy / step.
Koordinat selanjutnya (x+x_incerement, y+y_increment).
Posisi pixel pada layer ditentukan dengan pembulatan nilai koordinasi tersebut.
Ulangi step 6 dan 7 untuk menentukan posisi pixel selanjutnya, sampai x = x1 dan y = y1
Bresenham Algoritma bresenham merupakan suatu algoritma (pendekatan) yang dikreasikan oleh bresenham yang tidak kalah akurat dan efisien dengan algoritma primitif lainnya (seperti DDA).
Bagian pengkonversian (scan-konversi) garis akan melakukan kalkulasi untuk penambahan nilai-nilai integer (yang dibutuhkan untuk membentuk garis) yang disesuaikan dengan tipe grafik yang dipakai oleh layar komputer (keadaan monitor pc) kita. Untuk mengilustrasikan pendekatan bresenham, pertama kita harus memperhatikan proses scan- konvensi untuk garis dengan slope positif yang lebih kecil dari 1.
Langkah umum algoritma Bresenham
Tentukan titik awal a dan akhir
Titik awal (X1,Y1)
Titik akhir (X2, Y2)
Tentukan Nilai pengubahan posisi (P)
DX = X2 - X1
DY = Y2 - Y1
P (Awal) = 2 * DY - DX
Jika P < 0 maka X = X + 1, Nilai Y Tetap
(P) Selanjutnya adalah P = P + (2 * DY)
Jika tidak maka X = X + 1, Y = Y + 1
(P)Selanjutnya adalah P = P + 2 * (DY - DX)
Perulangan
rumus yang dipakai dalam perulangan tergantung kondisi (P) apakah P > 0, P< 0. setelah itu gunakan rumus sesuai kondisi (P)
Midpoint Circle
Algoritma Lingkaran Midpoint juga disebut algoritma lingkaran Bressenham. Bresenham 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 Circle Points untuk menampilkan titik dari seluruh lingkaran.
Langkah- langkah untuk membentuk lingkaran algoritma circle midpoint:
Tentukan radius r dengan titik pusat lingkaran(xc,yc) kemudian diperoleh (x0,y0) = (0,r)
Hitung nilai dari parameter P0 = 5/4 – r
Tentukan nilai awal k=0, untuk setiap posisi xk berlaku sebagai berikut: Bila Pk < 0, maka titik selanjutnya adalah (xk+1 ,yk ) dan Parameter selanjutnya Pk+1 =Pk + 2xk+1 + 1 Bila tidak Pk > 0, maka selanjutnya adalah (xk+1 ,yk-1 )dan Parameter selanjutnya Pk+1=Pk + 2xk+1 + 1 – 2yk+1 Dimana 2xk+1 = 2xk + 2 dan 2yk+1 = 2yk – 2
Tentukan titik simetris pada ketujuh oktan yang lain
Gerakkan setiap posisi pixel(x,y) pada garis melingkar dari lingkaran dengan titik pusat (xc,yc) dan tentukan nilai koordinat: Xk+1 = xk + 1 dan Yk+1 = yk , atau Yk+1 = yk -1
Ulangi langkah ke3 sampai 5, sehingga X >= y
Comments
Post a Comment