Dda vs Bresenham

Post on 20-Feb-2016

225 views 0 download

description

Materi Grafika Komputer

Transcript of Dda vs Bresenham

Digital Differential Analyzer (DDA)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 - y04. Tentukan step, yaitu jarak maksimum jumlah penambahan nilai

x maupun nilai y dengan cara : bila nilai | ∆y| > | ∆x| maka step = nilai | ∆y|. bila tidak maka step = | ∆x|.

5. Hitung penambahan koordinat pixel yaitu x_increment = ∆x / step dan y_increment = ∆y / step.

6. Koordinat selanjutnya =(x+x_incerement, y+y_increment).

7. Posisi pixel pada layer ditentukan dengan pembulatan nilai koordinat tersebut.

8. Ulangi step 6 dan 7 untuk menentukan posisi pixel selanjutnya, sampai x = x1 dan y = y1

Untuk menggambarkan algoritma DDA dalam pembentukan suatu garis yang menghubungkan titik (10,10) dan (17,16), pertama-tama ditentukan dx dan dy, kemudian dicari step untuk mendapatkan x_increment dan y_increment.∆x = x1 - x0 = 17-10 = 7 |∆x| = 7∆y = y1 - y0 = 16 -10 = 6 |∆y| = 6karena |∆x| > |∆y|, maka step = |∆x| = 7, maka diperoleh :

x_inc = 7/7= 1 y_inc = 6/7 = 0,86

K X Y Pembulatan(10,10)

0 11 10,86 (11,11)1 12 11,72 (12,12)2 13 12,58 (13,13)3 14 13,44 (14,13)4 15 14,3 (15,14)5 16 15,16 (16,15)6 17 16,02 (17,16)

Digital Differential Analyzer (DDA)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 - y04. Tentukan step, yaitu jarak maksimum jumlah penambahan nilai

x maupun nilai y dengan cara : bila nilai | ∆y| > | ∆x| maka step = nilai | ∆y|. bila tidak maka step = | ∆x|.

5. Hitung penambahan koordinat pixel yaitu x_increment = ∆x / step dan y_increment = ∆y / step.

6. Koordinat selanjutnya =(x+x_incerement, y+y_increment).

7. Posisi pixel pada layer ditentukan dengan pembulatan nilai koordinat tersebut.

8. Ulangi step 6 dan 7 untuk menentukan posisi pixel selanjutnya, sampai x = x1 dan y = y1

Untuk menggambarkan algoritma DDA dalam pembentukan suatu garis yang menghubungkan titik (10,10) dan (17,16), pertama-tama ditentukan dx dan dy, kemudian dicari step untuk mendapatkan x_increment dan y_increment.∆x = x1 - x0 = 17-10 = 7 |∆x| = 7∆y = y1 - y0 = 16 -10 = 6 |∆y| = 6karena |∆x| > |∆y|, maka step = |∆x| = 7, maka diperoleh :

x_inc = 7/7= 1 y_inc = 6/7 = 0,86

K X Y Pembulatan(10,10)

0 11 10,86 (11,11)1 12 11,72 (12,12)2 13 12,58 (13,13)3 14 13,44 (14,13)4 15 14,3 (15,14)5 16 15,16 (16,15)6 17 16,02 (17,16)

Algoritma Garis Bressenhem

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

2. Tentukan salah satu titik sebagai titik awal (x0, y0) dan titik akhir (x1, y1)

3. Hitung ∆x, ∆y, 2∆x, dan 2∆y – 2∆x.4. Hitung parameter p0 = ∆2y – ∆x.5. Untuk setiap x k sepanjang jalur garis, dimulai dengan

k = 0 bila pk <0 maka titik selanjutnya (xk+1, yk) dan pk+1=

pk + 2∆y bila tidak maka titik selanjutnya adalah (xk+1, yk+1)

dan pk+1= pk + 2∆y – 2∆x6. Ulangi langkah nomor 5 untuk menentukan posisi pixel

selanjutnya, sampai x = x1 dan y = y1

Untuk menggambarkan algoritma Bressenham dalam pembentukan suatu garis yang menghubungkan titik (10,10) dan (17,16), pertama-tama ditentukan bahwa titik (10,10) berada disebelah kiri merupakan titik awal, sedangkan (17,16) merupakan titik akhir. Posisi yang membentuk garis dapat ditentukan dengan perhitungan sebagai berikut :∆x = x1 - x0 = 17-10 = 7 |∆x| = 7∆y = y1 - y0 = 16 -10 = 6 |∆y| = 6Parameter p0 = ∆2y – ∆x, p0=52∆y = 12 2∆y – 2∆x = -2

k pk (xk+1,yk+1)(10,10)

0 5 (11,11)1 3 (12,12)2 1 (13,13)3 -1 (14,13)4 11 (15,14)5 9 (16,15)6 7 (17,16)

Algoritma Garis Bressenhem 1. Tentukan dua titik yang akan dihubungkan dalam pembentukan

garis. 2. Tentukan salah satu titik sebagai titik awal (x0, y0) dan titik

akhir (x1, y1)3. Hitung ∆x, ∆y, 2∆x, dan 2∆y – 2∆x.4. Hitung parameter p0 = ∆2y – ∆x.5. Untuk setiap x k sepanjang jalur garis, dimulai dengan

k = 0 bila pk <0 maka titik selanjutnya (xk+1, yk) dan pk+1=

pk + 2∆y bila tidak maka titik selanjutnya adalah (xk+1, yk+1)

dan pk+1= pk + 2∆y – 2∆x6. Ulangi langkah nomor 5 untuk menentukan posisi pixel

selanjutnya, sampai x = x1 dan y = y1

Untuk menggambarkan algoritma Bressenham dalam pembentukan suatu garis yang menghubungkan titik (10,10) dan (17,16), pertama-tama ditentukan bahwa titik (10,10) berada disebelah kiri merupakan titik awal, sedangkan (17,16) merupakan titik akhir. Posisi yang membentuk garis dapat ditentukan dengan perhitungan sebagai berikut :∆x = x1 - x0 = 17-10 = 7 |∆x| = 7∆y = y1 - y0 = 16 -10 = 6 |∆y| = 6Parameter p0 = ∆2y – ∆x, p0=52∆y = 12 2∆y – 2∆x = -2

k pk (xk+1,yk+1)(10,10)

0 5 (11,11)1 3 (12,12)2 1 (13,13)3 -1 (14,13)4 11 (15,14)5 9 (16,15)6 7 (17,16)

Algoritma Pembentukan Lingkaran

Prosedur untuk menampilkan lingkaran dan elips dibuat dengan persamaan dasar dari lingkaran x2+ y2=r2

Dengan demikian, hanya diperlukan untuk menghitung segmen 45° dalam menentukan lingkaran selengkapnya.Kuadran I (x,y),(y,x)Kuadran II (-x,y),(-y,x)Kuadran III (-x,-y),(-y-x)Kuadran IV (x,-y),(y,-x)

Langkah-langkah pembentukan lingkaran :Tentukan radius r dengan titik pusat lingkaran (xc , yc ) kemudian diperoleh ((xc , yc )=0 , r)

Hitung nilai dari parameter P0=54−r ≈1−r

Tentukan nilai awal k = 0, untuk setiap posisi xk berlaku: bila pk <0 maka titik selanjutnya (xk+1, yk) dan

pk +1=pk+2 xk+1+1 bila pk > 0 maka titik selanjutnya (xk+1 , yk−1) dan

pk +1=pk+2 xk+1+1−2 yk+1