Selasa, 17 April 2012

Tugas Grafika Komputer

Tugas Grafka Komputer
Dosen   : H.Fitriyadi, M.Kom
Software   : Processing 1.5
Translasi    
Translasi adalah operasi mentranformasi objek dari satu daerah ke daerah lain dengan sebuah vektor.
Untuk membuat translasi persegi panjang dengan data sebagai berikut :
  - Panjang  : 200
  - Lebar     : 100
  - Nilai Translasi Vektor (250,150)
  - tx : 250
  - ty: 150

Dalam processing dituliskan dengan perintah translate (250,150)
 
Listing Translasi :

void setup()
{
  size(600,500);
  background (255);
  noStroke();
  fill(220);
  rect(100,100,200,100);
  fill(255,0,0,128);
  rect(100+250, 100+150,200,100);
  fill(0,0,128,128);
  pushMatrix();
  translate(250,150);
  rect(100,100,200,100);
  popMatrix();
}

Tampilan :
Untuk persegi panjang yang berwarna merah transparan tidak akan kelihatan karena ditumpuk oleh persegi yang berwana biru. Untuk melihat persegi yang berwarna merah transparan bisa dengan mengubah nilai kordinat salah satu rect misalnya pada rect persegi panjang berwarna merah transparan : 
rect (75+250, 75+150, 200, 100) maka hasilnya akan kelihatan persegi panjang merah transparan seperti pada gambar dbawah :

Rotasi 
Rotasi adalah operasi merotasi objek dengan titik sebagai pusat. Membuat rotasi persegi panjang menggunakan  software Processing dengan data sebagai berikut :
  - Panjang  :  200
  - Lebar     :  100
Nilai sudut rotasi 75 derajat dengan menggunakan perintah rotate(radians(75))
Listing Rotasi :
void setup()
{
  size (500,500);
  background(255);
  smooth();
  fill(192);
  noStroke();
  rect(200, 100, 200, 100);
  pushMatrix(); 
  translate(200, 100);
  
  rotate(radians(75));
  fill(0);
  rect(0, 0, 200, 100);
  popMatrix();
}
Tampilan : 

Skala
Skala adalah perbandingan antara jarak pada peta, denah, gambar dengan jarak sesungguhnya.
Membuat skala persegi panjang dengan 
  - Panjang   :  200
  - Lebar      :  100
Nilai skala faktor (3.5) dengan menggunakan perintah scale (3.5)
Listing Skala :
void setup()
{
  size (900,600);
  background (255);
  stroke(128);
  fill(220);
  rect(50, 50, 200, 100);
  stroke(1);
  pushMatrix();
  scale(3.5);
  fill(220);
  rect(50, 50, 200, 100);
  popMatrix();
}
Tampilan: