Definisi dan Cara Kerja DDA, Bresenham, dan Midpoint Circle
DDA (Digital Differential Analyzer)
Merupakan langkah-langkah untuk menyelesaikan masalah secara berurutan. Ada banyak model algoritma yang bisa diterapkan dalam menyelesaikan beberapa pekerjaan. Salah satunya adalah algoritma DDA atau yang biasa disingkat Digital Differential Analyzer.
Algoritma DDA adalah algoritma pembentukan garis yang menggunakan rumus dy = m.dx berdasarkan perhitungan dari dx dan juga dy. Garis yang terbentuk melalui titik koordinat diperoleh dari perhitungan yang kemudian di konversikan menjadi integer.
Algoritma DDA merupakan garis yang membentak diantara 2 titik, yaitu P1 dan P2. Bentuk sudut dari kedua titik tersebut membentuk sudut yang besarnya beragam. Garis lurus yang membentang turunan dari x dan y merupakan konstanta.
Langkah-Langkah Pembentukan Garis Algoritma DDA
Ada beberapa langkah untuk pembentukan garis algoritma DDA, antara lain :
- Pertama, dalam pembentukan garis tentukan dua titik yang akan dihubungkan terlebih dahulu.
- Kemudian, tentukan titik awal dan titik akhir.
- Hitung hasil perhitungan dari dx = x2 - x1 dan dy = y2 - y1.
- Tentukan step, dengan syarat :
Jika dx > dy maka step = dx
Sebaliknya, jika dx < dy, maka step = dy - Hitung penambahan koordinat pixel dengan permasaan menggunakan :
x_inc = dx / step
y_inch = dy / step - Untuk koordinat selanjutnya yaitu x+x_inc, y+y_inch.
- Hasil perhitungan nilai koordinat dibulatkan.
- Untuk menentukan posisi pixel berikutnya, ikuti kembali langkah 6 dan 7.
Algoritma Bresenhem
- Tentukan titik awal 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 di pakai dalam perulangan tergantung kondisi (P) apakah P > 0, P< 0.
setelah itu gunakan rumus sesuai kondisi (P)
Algoritma Midpoint Circle
- Untuk mengatasi masalah yang timbul dari penerapan koordinat polar maupun rectangular, Bresenham menyusun suatu algoritma pembentukan lingkaran yang hanya menggunakan aritmetika integer. Secara prinsip algoritma ini sejenis dengan algoritma penggambaran garis yang disusun oleh orang yang sama.
- Lingkaran merupakan objek yang simetris sehingga karakteristik ini dapat dimanfaatkan untuk mengurangi pekerjaan pada saat menggambar lingkaran. Lingkaran dibagi menjadi 8 oktan (lihat
- Tentukan radius r dengan titk pusat lingkaran(xcenter,ycenter) kemudian diperoleh titik awal (x,r)
- Hitung nilai parameter P0=1-r
- Tentukan nilai awal k=0, untuk setiap posisi xk berlaku sebagai berikut:
- Bila Pk< 0, maka titik selanjutnya adalah (xk+1,yk), dan Pk+1=Pk+(2*xk+1)+1
- Bila tidak, maka titik selanjutnya adalah (xk+1,yk-1), dan Pk+1=Pk+(2*xk+1)+1
- Tentukan titik simetris pada ketujuh oktan yang lain
- Ulangi langkah 3 dan 4, sampai nilai x>=y
Comments
Post a Comment