DDA atau Digital Diferential Analyzer adalah scan conversion algorithm yang didasari oleh perhitungan berikut :
Δy = m . Δ x
Δx = Δy / m
Algoritma DDA
-
Jika 0<m<1 maka yk+1 = yk + m
xk+1 = xk + 1
-
Jika m>1 maka xk+1 = xk + 1/m
yk+1 = yk + 1
Algoritma
DDA bekerja bekerja atas dasar penambahan nilai x dan nilai y. Pada
garis lurus, turunan pertama dari x dan y adalah konstanta. Sehingga
untuk memperoleh suatu tampilan dengan ketelitian tinggi, suatu garis
dapat dibangkitkan dengan menambah nilai x dan y masing-masing sebesar
eΔx dan eΔy, dengan besaran dengan nilai yang sangat kecil.Kondisi ideal
ini sukar dicapai, karenanya pendekatan yang mungkin dilakukan adalah
berdasarkan piksel-piksel yang bisa dialamati/dicapai atau melalui
penambahan atau pengurangan nilai x dan y dengan suatu besaran dan
membulatkannya ke nilai integer terdekat.
Langkah-langkah membuat garis dengan DDA :
-
Tentukan 2 buah titik.
-
Tentukan yang menjadi titik awal (X0,Y0) dan titik akhir (X1,Y1).
-
Hitung Dx dan DyDx = X1-X0 dan Dy = Y1 – Y0
-
Bandingkan Abs(Dx) dan Abs(Dy)Jika Abs(Dx) > Abs(Dy) makaSteps = Abs(Dx) bila tidak Steps = Abs(Dy)
-
Hitung penambahan koordinat pixel, yaitu:X_increment = dx/steps, danY_increment = dy/steps.
-
Koordint selanjutnya, yaituX+X_incrementY+Y_increment
-
Posisi pixel ditentukan dengan pembulatan nilai koordinat tersebut.
-
Ulangi langkah 6 dan 7 untuk posisi selanjutnya sampai X = X1, Y = Y1
Carta alir bagi algoritma DDA
Contoh dan penyelesaian penentuan titik dengan Algoritma DDA
1. Inputkan
2 titik yaitu (2,6) dan (10,2). Mula-mula cari nilai kecerunan garis tersebut.
2. Kemudian, lihat sama ada garis tersebut x1 < x 2 yang dilukis dari kiri ke kanan atau x1 > x 2 yang di lukis dari kana ke kiri. Nilai kecerunan tadi juga di rujuk.
Berdasarkan titik yang diberi, kiraanya adalah seperti berikut :
sebagai contoh :





Langkah seperti gambar di atas diulang sebanyak
Δx kali dan hasilnya seperti di bawah ini :





















Tidak ada komentar:
Posting Komentar