View
192
Download
0
Category
Preview:
Citation preview
5/12/2018 0807643-Taufik Ismail a-Primitif Garis - slidepdf.com
http://slidepdf.com/reader/full/0807643-taufik-ismail-a-primitif-garis 1/4
Makalah
“Algoritma Primitif Garis”
Tugas ini disusun untuk memenuhi salah satu tugas Mata Kuliah
Grafika Komputer
Disusun Oleh :
Taufik Ismail Abdilah (0807643)
Program Studi Ilmu Komputer
Fakultas Pendidikan Matematika dan Ilmu Pengetahuan Alam
Universitas Pendidikan Indonesia
2011
5/12/2018 0807643-Taufik Ismail a-Primitif Garis - slidepdf.com
http://slidepdf.com/reader/full/0807643-taufik-ismail-a-primitif-garis 2/4
1 | GRAFKOM
Algoritma Primitif Garis
Garis merupakan salah satu primitif grafika yang terdiri dari kumpulan titik. Dalam
penggambarannya bisa dilakukan dengan beberapa algoritma diantaranya, Algoritma Naïve,
Algoritma DDA (Depth Duration Area), dan Algoritma Midpoint. Setiap Algoritma memiliki
karakteristik tertentu sehingga bisa menghasilkan gambar garis yang berbeda.
a. Algoritma Naïve
Berikut adalah potongan source code dari algoritma naïve dalam bahasa java :
public void paint(Graphics g) {
System.out.println("\nNaive");int x;
float y, m, b;
m = (y1-y0)/(x1-x0);
b = y0 - m*x0;
y = y0;
for(x=x0;x<x1;x++){g.drawRect(x, (int) y, 1, 1);
y = m*x+b;
System.out.println("x = "+x+" y = "+y);
}
}
Setelah di kompilasi maka hasil dari program diatas adalah sebagai
berikut :
b. Algoritma DDA
Berikut adalah potongan source code dari algoritma DDA dalam bahasa java :
public void paint(Graphics g) {
System.out.println("\nDDA");int x;
5/12/2018 0807643-Taufik Ismail a-Primitif Garis - slidepdf.com
http://slidepdf.com/reader/full/0807643-taufik-ismail-a-primitif-garis 3/4
2 | GRAFKOM
float y, m;
m = (y1-y0)/(x1-x0);
y = y0;
for(x=x0;x<x1;x++){
g.drawRect(x, (int) y, 1, 1);
System.out.println("x = "+x+" y = "+y);
x++;y+=m;
}
}
Setelah di kompilasi maka hasil dari program diatas adalah sebagai
berikut :
Dalam Algoritma DDA, iterasi yang dilakukan lebih sedikit karena penambahan nilai
“x” dilakukan 2 kali yaitu pada saat looping dan di dalam looping. Hal ini
menyebabkan gambar garis yang dihasilkan menjadi tidak sepanjang garis yang
dihasilkan Algoritma sebelumnya (Naïve), dengan kemiringan yang berbeda pula.
c. Algoritma Midpoint
Berikut adalah potongan source code dari algoritma MidPoint dalam bahasa java :
public void paint(Graphics g) {
System.out.println("\nMidPoint");
int Dx, Dy, d, incE, incNE, xi, yi;
Dx = x1-x0;
Dy = y1-y0;
d=2*Dy-Dx;
incE=2*Dy;
incNE=2*(Dy-Dx);
xi=x0;
yi=y0;
g.drawRect(xi, yi, 1, 1);
while(xi<x1){
System.out.println("x = "+xi+" y = "+yi);if(d<=0){
5/12/2018 0807643-Taufik Ismail a-Primitif Garis - slidepdf.com
http://slidepdf.com/reader/full/0807643-taufik-ismail-a-primitif-garis 4/4
3 | GRAFKOM
d+=incE;
}else{
d+=incNE;
yi++;
}
xi++;
g.drawRect(xi, yi, 1, 1);}
}
Setelah di kompilasi maka hasil dari program diatas adalah sebagai
berikut :
Recommended