Perbedaan Algoritma DDA, Bresenham dan Midpoint Circle


  1. 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

  1. Tentukan dua titik yang akan dihubungkan.

  2. Tentukan salah satu titik sebagai titik awal (x0, y0) dan titik akhir (x1, y1).

  3. Hitung Δx = x1 – x0 dan  Δ y = y1 – y0.

  4. 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|.

  1. Hitung penambahan koordinat pixel yaitu x_increment = Δx / step dan y_increment =  Δy / step.

  2. Koordinat selanjutnya (x+x_incerement, y+y_increment).

  3. Posisi pixel pada layer ditentukan dengan pembulatan nilai koordinasi tersebut.

  4. Ulangi step 6 dan 7 untuk menentukan posisi pixel selanjutnya, sampai x = x1 dan y = y1


  1. 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

  1. Tentukan titik awal a dan akhir

Titik awal (X1,Y1)

Titik akhir (X2, Y2) 

  1. 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)

  1. Perulangan 

rumus yang dipakai dalam perulangan tergantung kondisi  (P) apakah P > 0, P< 0. setelah itu gunakan rumus sesuai kondisi (P)



  1. 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:


  1. Tentukan radius r dengan titik pusat lingkaran(xc,yc) kemudian diperoleh (x0,y0) = (0,r)

  2. Hitung nilai dari parameter P0 = 5/4 – r

  3. 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

  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: Xk+1 = xk + 1 dan Yk+1 = yk , atau Yk+1 = yk -1

  6. Ulangi langkah ke3 sampai 5, sehingga X >= y

Comments

Popular posts from this blog

Sejarah Perkembangan Televisi Digital dan Televisi Analog

Musik Digital: Produksi, Distribusi dan Konsumsi