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 :
Sumber :
Tidak ada komentar:
Posting Komentar