Senin, 09 Desember 2013

☺☺☺ hy,.,.......
Nama Saya Apsyalom Magang kali ini saya akan posting tugas dari Dosen Saya mudah-mudahan bermanfaat yaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


Algoritma pembentukan garis DDA :
SOAL

1. Tentukan dua titik yang akan dihubungkan dalam pembentukan garis.
2. Tentukan salah satu titik sebagai awal(x0,y0) dan titik akhir(x1,y1).
3. Hitung dx=x1¬x0, dan dy= y1¬y0.
4. Tentukan langkah, yaitu dengan cara jarak maksimum jumlah penambahan nilai x maupun nilai y, dengan caara :
Bila nilai absolut dari dx lebih besar dari absolut dy, maka langkah= absolut dari dx.
Bila tidak maka langkah= absolut dari dy
5. Hitung penambahan koordinat pixel yaitu x_increment=dx/langkah, dan y_increment=dy/langkah.
6. Koordinat selanjutnya (x+x_increment, y+y_increment).
7. Posisi pixel pada layar ditentukan dengan pembulatan nilai koordinat tersebut.
8. Ulangi nomor 6 dan 7 untuk menentukan posisi pixel selanjutnya,sampai x= x1 dan y= y1

CONTOH SOURCE CODENYA :


package Garis;

import java.awt.Graphics;


public class Garis {
 
    public void Garisku (Graphics g, int x0, int y0, int x1, int y1){
        int dx,dy,steps;
        int x_tambah,y_tambah,x,y;
                           
  dx= x1-x0;
  dy= y1-y0;    
              
  if (Math.abs(dx) > Math.abs(dy)){
   steps = Math.abs(dx);
  }
  else{
   steps = Math.abs(dy);
  }
  x_tambah = dx / steps;
  y_tambah = dy / steps;
                x=x0;
                y=y0;
                      
                g.fillRect(x, y, 1, 1);
  for (int k=10; k< steps ;k++){
   x += x_tambah;
   y += y_tambah;
 
                        g.fillRect(x, y, 1, 1);
  }            
      
    }
  
}

Contoh Source Code untuk memanggil Class Garis yang bagian pertama yang sudah kita buat
Source Code nya :

package garis;

import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class tampilgaris extends JPanel{
    @Override
    public void paintComponent(Graphics g){
        apsya baru = new apsya();
        g.setColor(Color.green);
        baru.Garisku(g, 200, 300, 400, 300);
        baru.Garisku(g, 200, 160, 400, 160);
            }
  
    public static void main(String[] args) {
        apsya baru = new apsya();
        JFrame frame = new JFrame("apsya Gambar ");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(new tampilgaris());
        frame.setSize(600, 600);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
             
    }
}
      

Tidak ada komentar:

Posting Komentar