0807643-Taufik Ismail a-Primitif Garis

5
  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 Matematik a dan Ilmu Pengetahuan Alam Universitas Pendidikan Indonesia 2011

Transcript of 0807643-Taufik Ismail a-Primitif Garis

Page 1: 0807643-Taufik Ismail a-Primitif Garis

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

Page 2: 0807643-Taufik Ismail a-Primitif Garis

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;

Page 3: 0807643-Taufik Ismail a-Primitif Garis

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){

Page 4: 0807643-Taufik Ismail a-Primitif Garis

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 :