dda vs bresenham

2
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 - y0 4. 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| = 6 karena |∆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 - y0 4. 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| = 6 karena |∆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∆x 6. 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| = 6 Parameter p0 = ∆2y – ∆x, p0=5 2∆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

Upload: dedipurniawan

Post on 20-Feb-2016

225 views

Category:

Documents


0 download

DESCRIPTION

Materi Grafika Komputer

TRANSCRIPT

Page 1: 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

Page 2: Dda vs Bresenham

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