Membuat Translasi, Skala dan Rotasi

Translasi 
Diketahui titik kordinat  A(10,10), B(30,10), dan C(10,30) dengan translasi vektor (10,20)
langkah - langkah dengan mencari A', B' dan C' :
Titik A (10, 10)
X’= X + tX
    = 10 + 10 =20
Y’= Y + tY
    = 10 + 20 = 30
Hasil translasi titik A’ (20, 30)
Titik B (30, 10)
X’= X + tX
    = 30 + 10 =40
Y’= Y + tY
    = 10 + 20 = 30
Hasil translasi titik B’ (40, 30)
Titik C (10, 30)
X’= X + tX
    = 10 + 10 =20
Y’= Y + tY
    = 30 + 20 = 50
Hasil translasi titik C’ (20, 50)

Listing dalam Processing :

void setup()
{
  size(200,200);
  background (255);
  noStroke();
  fill(70);
  triangle(10, 10, 30, 10, 10, 30);
  fill(50,50,115,90);
  pushMatrix();
  translate(10,20);
  triangle(20, 30, 40, 30, 20, 50);
  popMatrix();
}


hasil tampilan dari listing diatas :



Skala
Diketahui titik kordinat A(10,10),
B(30,10), C(30,20), D(10,20) dengan skala faktor (3,2) 
cari A', B',C' dan D' :
Titik A (10, 10)
X’= X . sX
    = 10 . 3 =30
Y’= Y . sY
    = 10 . 2 = 20

Hasil skala titik A’ (30, 20)
Titik B (30, 10)
X’= X . sX
    = 30 . 3 =90
Y’= Y . sY
    = 10 . 2 = 20
Hasil skala titik B’ (90, 20)

Titik C (30, 20)
X’= X . sX
    = 30 . 3 =90
Y’= Y . sY
    = 20 . 2 = 40
Hasil skala titik C’ (90, 40)
Titik D (10, 20)
X’= X . sX
    = 10 . 3 =30
Y’= Y . sY
    = 20 . 2 = 40
Hasil skala titik D’ (30, 40)


Listing dalam Processing : 

void setup()
{
  size (400,300);
  background (255);
  stroke(100);
  fill(80);
  quad(10, 10, 30, 10, 30, 20, 10, 20);
  stroke(1);
  pushMatrix();
  scale(3.2);
  fill(70);
  quad(30, 20, 90, 20, 90, 40, 30, 40);
  popMatrix();
}


hasil tampilan dari listing diatas :



Rotasi
Diketahui titik kordinat A(10,10), B(30,10), dan C(10,30) dengan sudut rotasi 30 derajat dan sudut cartesian (10,10)

langkah - langkah :
Titik A (10, 10)
X’= Xp + (X - Xp) cos(300) - (Y-Yp) sin(300)
    = 10 + (10 – 10) 0,9 – (10 – 10) 0,5
    = 10 + 0 – 0 = 10
Y’= Yp + (X-Xp) sin(300) + (Y-Yp) cos(300)
    = 10 + (10 – 10) 0,5 + (10 – 10) 0,9
    = 10 + 0 – 0 = 10
Hasil rotasi titik A’ (10, 10)

Titik B (30, 10)
X’= Xp + (X - Xp) cos(300) - (Y-Yp) sin(300)
    = 10 + (30 – 10) 0,9 – (10 – 10) 0,5
    = 10 + 18 – 0 = 28
Y’= Yp + (X-Xp) sin(300) + (Y-Yp) cos(300)
    = 10 + (30 – 10) 0,5 + (10 – 10) 0,9
    = 10 + 10 – 0 = 20
Hasil rotasi titik B’ (28, 20)

Titik C (10, 30)
X’= Xp + (X - Xp) cos(300) - (Y-Yp) sin(300)
    = 10 + (10 – 10) 0,9 – (30 – 10) 0,5
    = 10 + 0 +10 = 20
Y’= Yp + (X-Xp) sin(300) + (Y-Yp) cos(300)
    = 10 + (10 – 10) 0,5 + (30 – 10) 0,9
    = 10 + 0 + 18 = 28
Hasil rotasi titik C’ (20, 28)

listing dalam Processing :


void setup()
{
  size(100,100);
  background (255);
  noStroke();
  fill(90);
  triangle(10, 10, 30, 10, 10, 30);
  fill(0,0,115,125);
  pushMatrix();
  rotate(radians(30));
  triangle(10, 10, 28, 20, 20, 28);
  popMatrix();
}

hasil tampilan listing diatas :


Tidak ada komentar:

Posting Komentar