Tugas Grafika Komputer Algoritma DDA
A. DEFINISI ALGORITMA DDA
Algoritma DDA (Digital Differential Analyzer) adalah algoritma pembentukan garis berdasarkan perhitungan dx maupun dy, menggunakan rumus dy = m . dx. Garis dibuat menggunakan dua endpoint, yaitu titik awal dan titik akhir. Setiap koordinat titik yang membentuk garis diperoleh dari perhitungan, kemudian dikonversikan menjadi nilai integer.
B. KONSEP ALGORITMA DDA
1. Tentukan dua titik yang akan dihubungkan
2. Tentukan yang akan menjadi titik awal (x0,y0) dan titik akhir (x1,y1)
3. Hitung
7. Luas pixel ditentukan dengan pembulatan nilai tersebut
8. Ulangi langkah 6 dan 7 sampai x = x1 dan y = y1
C. FLOWCHART ALGORITMA DDA
D. COTOH PROGRAM DENGAN ALGORITMA DDA
Coding menggunakan MATLAB
E. PEMBAHASAN
Dari hasil “Contoh Program dengan Algoritma DDA” diatas kita bisa mengetahui titik-titik dari hasil titik yang telah dibuat, yaitu x0 = 10, y0 = 10, x1 = 17, y1 = 16. Dan hasil dari titik-titik yang bisa dijadikan garis sama dengan yang saya kerjakan secara manual malalui konsep algoritma DDA yang pada saat pembelajaran nilai titik awal dan akhirnya serupa. Dengan menggunakan codingan dan bantuan dari software bisa memudahkan dalam membuat suatu garis yang nantinya bisa dijadikan bangun ruang dan berlanjut ke polygon.
Jika ada yang kurang tepat silahkan dikoreksi. Semoga bermanfaat.
Algoritma DDA (Digital Differential Analyzer) adalah algoritma pembentukan garis berdasarkan perhitungan dx maupun dy, menggunakan rumus dy = m . dx. Garis dibuat menggunakan dua endpoint, yaitu titik awal dan titik akhir. Setiap koordinat titik yang membentuk garis diperoleh dari perhitungan, kemudian dikonversikan menjadi nilai integer.
B. KONSEP ALGORITMA DDA
1. Tentukan dua titik yang akan dihubungkan
2. Tentukan yang akan menjadi titik awal (x0,y0) dan titik akhir (x1,y1)
3. Hitung
- dx = x1 – x0
- dy = y1 – y0
- jika nilai dx > dy maka step = dx
- jika nilai dx < dy maka step = dy
- x.tambah = dx / step
- y.tambah = dy / step
7. Luas pixel ditentukan dengan pembulatan nilai tersebut
8. Ulangi langkah 6 dan 7 sampai x = x1 dan y = y1
C. FLOWCHART ALGORITMA DDA
D. COTOH PROGRAM DENGAN ALGORITMA DDA
Coding menggunakan MATLAB
function draw(x0,y0,x1,y1)Hasil :
clc
clear
point = input('Give coord[ x0 y0 x1 y1]; ');
x0 = point(1); y0 = point(2); x1 = point(3); y1 = point(4);
dx = abs(x1-x0);
dy = abs(y1-y0);
sx = sign(x1-x0)
sy = sign(y1-y0);
if (dy > dx)
step = dy;
else
step = dx;
end
x(1)=x0; y(1)=y0; j=1;
for i=0:step
if (x1 == x)&(y1 ==y)
break;
end
j=j+1;
x(j)=x(j-1) + (dx/step)*sx;
y(j)=y(j-1) + (dy/step)*sy;
end
plot(round(x), round(y), 'rs');
grid on, hold on
plot(x,y,'b^');
axis([point(1)-2 point(3)+2 point(2)-2 point(4)+2]);
legend('DDA Points','Actual Points',2);
title('Digital Differential Line Drawing Algorithm')
E. PEMBAHASAN
Dari hasil “Contoh Program dengan Algoritma DDA” diatas kita bisa mengetahui titik-titik dari hasil titik yang telah dibuat, yaitu x0 = 10, y0 = 10, x1 = 17, y1 = 16. Dan hasil dari titik-titik yang bisa dijadikan garis sama dengan yang saya kerjakan secara manual malalui konsep algoritma DDA yang pada saat pembelajaran nilai titik awal dan akhirnya serupa. Dengan menggunakan codingan dan bantuan dari software bisa memudahkan dalam membuat suatu garis yang nantinya bisa dijadikan bangun ruang dan berlanjut ke polygon.
Jika ada yang kurang tepat silahkan dikoreksi. Semoga bermanfaat.