ALGORITMA DDA, BRESENHAM DAN ALGORITMA LINGKARAN
1. ALGORITMA DDA
A. PENGERTIAN ALGORITMA DDA
Algoritma DDA adalah algoritma
pembentukan garis berdasarkan perhitungan dx maupun dy, menggunakan rumus
dy=m.dx. Semua koordinat titik yang membentuk garis diperoleh dari perhitungan
kemudian dikonversikan menjadi nilai integer.
DDA ( Digital Differential
Analyzer) adalah garis yang membentang antara 2 titik, P1 dan P2. Dimana ke-2
titik ini membentuk sudut yang besarnya sangat bervariasi. Bekerja atas dasar
penambahan nilai x dan nilai y. Dimana pada garis lurus, turunan pertama dari x
dan y adalah kostanta.
Langkah - langkah umum algoritma DDA
1. Penetuan titik awal dan akhir
- Titik awal (X1,Y1)
- Titik akhir (X2, Y2)
2. Pengubahan Posisi (Steps)
- Jika DX > DY maka steps = DX
- Jika tidak maka = DY
- DX = X2 - X1
- DY = Y2 - Y1
- Pengubahan Nilai X (X_inc) = DX / Steps
- pengubahan Nilai Y (Y_inc) = DY / Steps
3. Perulangan
- X = X + X_inc
- Y = Y + Y_inc
Berikut Contoh Programnya beserta outputnya
Berikut Outputnya
2. ALGORITMA
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-knversi) 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.
Posisi pixel sepanjang line-path kemudian ditentukan dengan penyamplingan pada
unit interval x.dimulai dari endpoint kiri (Xo,Yo) dari garis yang diberikan,
kita pindahkan beberapa kolom berturut-turut (berdasarkan posisi x) dan plot
pixel-pixel yang mempunyai nilai scan-line y ke jarak yang paling dekat dengan
line-path.
Langkah umum algoritma Bresenham
1. Tentukan titik awal dan akhir
- Titik awal (X1,Y1)
- Titik akhir (X2, Y2)
- 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)
3. Perulangan
rumus yang di pakai dalam perulangan tergantung kondisi (P) apakah P > 0, P< 0.
setelah itu gunakan rumus sesuai kondisi (P)
Berikut Contoh Program beserta outputnya
Source code bisa download disini
Komentar
Posting Komentar