Thursday, April 12, 2012

TUGAS GRAFIKA KOMPUTER (Translasi, Skala dan Rotasi dengan Menggunakan Processing)


TRANSLASI


Armada Yogi C.R
310109021277
Pembuatan translasi persegi panjang dengan
Nilai Translasi Vektor (200,150)
tx      : 200
ty      : 150
dalam processing dituliskan dengan perintah translate (200,150)
Listing Translasi :
void setup()
{
  size(600,500);
  background (125);
  noStroke();
  // Menggambar posisi awal persegi panjang dengan warna putih dengan panjang = 100 dan    lebar = 80
  fill(230);
  rect(80,80,100,80);
//perintah menggambar persegi panjang berwarna merah transparan dengan mengubah kordinat dengan cara menambahkan nilai kordinat awal dengan nilai translasi vector dengan panjang = 200 dan lebar = 150
  fill(125,0,0,115);
  rect(80+200, 80+150,200,150);
//menggambar persegi panjang berwarna biru transparan dengan menumpuk hasil penjumlahan kordinat   awal dengan translasi vektor hingga warna berubah menjadi ungu.
  fill(0,0,115,125);
  pushMatrix();
  translate(200,150);
  rect(80,80,200,150);
  popMatrix();
}

Berikut adalah hasil dari listing.

Untuk menampilkan warna merah yang tertumpuk oleh warna biru, kita dapat merubah pada bagian translate menjadi (80,40) dan rect menjadi(40+200, 40+150,200,150).
Hasilnya terlihat pada gambar berikut.


 SKALA
Membuat skala persegi panjang dengan 
panjang    : 100
lebar         : 80
nilai skala faktor (3.2) dengan menggunakan perintah scale (3.2)
Catatan:             
pemisah antara 3 dengan 2 menggunakan  titik(.) bukan koma(,) 
Listing Skala :
void setup()
{
  size (600,500);
  background (125);
 // Membuat persegi warna putih dengan posisi original
  stroke(100);
  fill(230);
  rect(40, 40, 100, 80);
  // Membuat persegi warna hitam dengan skala vector (3.2)
  stroke(1);
  pushMatrix();
  scale(3.2);
  fill(12);
  rect(40, 40, 100, 80);
  popMatrix();
}

Hasil tampilan gambar dari listing di atas.

ROTASI
Membuat rotasi persegi panjang dengan 
panjang : 200
lebar : 100
nilai sudut rotasi 45 derajat dengan menggunakan perintah rotate(radians(45))
Listing Skala :
void setup()
{
  size (500,400);
  background(125);
  smooth();
  fill(225);
  noStroke();
  rect(150, 100, 200, 100);
  pushMatrix();
//memindahkan titik asal ketitik poros 
  translate(200, 100);
//rotasi pada poros 45 derajat 
  rotate(radians(45));
  //menggambar persegi dititik asal dengan perputara 45 derajat
  fill(0);
  rect(0, 0, 200, 100);
  popMatrix();
}
Hasil tampilan gambar dari listing di atas.






No comments:

Post a Comment