Anda di halaman 1dari 17

GRAFIKA

KOMPUTER
ALGORITMA GARIS
DDA DAN BRESSENHAM
PENGERTIAN GARIS

 Sebuah garis dinyatakan dengan 4 nilai.


 4 nilai tersebut yaitu : x1,y1,x2,y2
 Koordinat / titik awal (x1,y1)
 Koordinat / titik akhir (x2,y2)
KUADRAN GARIS

Kuadran Kriteria Arah Garis Contoh


I X1<X2 dan (1,1) dan
Y1<Y2 (10,10)
II X1>X2 dan (10,5) dan
Y1<Y2 (5,20)
III X1>X2 dan (10,5) dan
Y1>Y2 (5,2)
IV X1<X2 dan (5,10) dan
Y1>Y2 (10,4)
PERSAMAAN GARIS LURUS

Persamaan :
Y = mx + c
m : gradien
c : konstanta

m = gradien / kemiringan garis


ALGORITMA DDA (DIGITAL DIFFERENTIAL
ANALYZER)
 Algoritma sederhana untuk menggambar garis
 Garis dikelompokkan ke dalam 3 bentuk : cenderung mendatar, cenderung tegak
dan miring 45 derajat
 Nilai untuk gradien : m>1, m=1, 0<m<1
ALGORITMA DDA (DIGITAL DIFFERENTIAL
ANALYZER)
 Hasil dari fungsi : bilangan riil
 Koordinat pixel : integer
 Harus dibulatkan ke dalam integer terdekat
ALGORITMA DDA (DIGITAL DIFFERENTIAL
ANALYZER)
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 :

5. bila nilai |Δy| > |Δx| maka step = nilai |Δy|.

6. bila tidak maka step = |Δx|.

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

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

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

10. Ulangi step 6 dan 7 untuk menentukan posisi pixel selanjutnya, sampai x = x1 dan y = y1
CONTOH ALGORITMA DDA

• Diketahui 2 buah titik A(10,10) dan titik B(17,16) bila titik A sebagai titik awal dan titik
B sebagai titik akhir, tentukan titik-titik antara yang menghubungkan titik A dan titik B
sehingga membentuk garis AB dengan menggunakan algoritma DDA.
CONTOH ALGORITMA DDA

• Titik awal = A(10,10)

• Titik akhir = B(17,16)

• Dx= X1-X0 = 17 – 10 = 7

• Dy= Y1-Y0 = 16 – 10 = 6

• Absolut (Dx) = 7

• Absolut (Dy) = 6

• Absolut (Dx) > absolute (Dy) maka steps = Absolut (Dx) = 7

• X_increment = 7/7 = 1

• Y_increment = 6/7 = 0,86

• X1 = X + X_increment = 10 + 1 =11

• Y1 = Y + Y_increment = 10 + 0,857 = 10,857 =11


CONTOH ALGORITMA DDA

K X Y X_incre Y_incre
- - - 10 10
0 11 10,857 11 11
1 12 11,71 12 12
2 13 12,57 13 13
3 14 13,43 14 14
4 15 14,28 15 14
5 16 15,14 16 15
6 17 16 17 16
KELEMAHAN ALGORITMA DDA

• Menggunakan pembulatan sehingga kurang akurat


ALGORITMA BRESSENHAM

• Bressenham mengembangkan algoritma klasik yang lebih menarik, karena hanya menggunakan
perhitungan matematika dengan bilangan integer.
• tidak perlu membulatkan nilai posisi setiap pixel setiap waktu.
• Algoritma garis Bressenhem disebut juga midpoint line algorithm adalah algoritma konversi
penambahan nilai integer yang juga dapat diadaptasi untuk menggambar sebuah lingkaran
ALGORITMA BRESSENHAM
ALGORITMA BRESSENHAM

1. Tentukan dua titik yang akan dihubungkan dalam pembentukan garis.

2. Tetukan salah satu titik disebelah kiri sebagai titik awal (x0, y0) dan titik lainnya sebagai titik akhir (x1, y1 ).

3. Hitung Δx, Δy, 2Δy, dan 2Δy – 2Δx.

4. Hitung parameter p0 = 2Δy – Δx.

5. Untuk setiap xk sepanjang jalur garis, dimulai dengan k = 0

6. bila pk <0 maka titik selanjutnya (xk+1, yk) dan pk+1 = pk +2Δy

7. bila tidak maka titik selanjutnya adalah (xk+1, yk+1)

8. dan pk+1=pk+2Δy-2Δx.

9. Ulangi langkah nomor 5 untuk menentukan posisi pixel selanjutnya, sampai x=xn.
CONTOH
TERIMA KASIH

Anda mungkin juga menyukai