#TRANSLASI#
Translasi adalah memindahkan suatu objek sepanjang garis lurus dari suatu lokasi koordinat tertentu ke lokasi yang lain. Translasi dilakukan dengan penam-bahan translasi pada suatu titik koordinatdengan translation vector atau shift vector, yaitu (tx, ty), dimana :
langkah - langkah dengan mencari A', B' dan C' :
void setup()
hasil tampilan dari listing diatas:
hasil tampilan dari listing diatas:
Titik A (10,10)
Titik B (30, 10)
Titik C (10, 30)
listing dalam Processing :
tx : translasi vector sumbu x
ty : translasi vector sumbu y
Koordinat baru titik yang ditranslasi dapat diperoleh dengan menggunakan rumus :
x’ = x + tx
y’ = y + ty
Dimana (x, y) adalah koordinat asal suatu objek sedangkan (x’, y’) koordinat baru objek setelah ditranslasi.
Diketahui titik kordinat A(10,10), B(30,10), dan C(10,30) dengan translasi vektor (10,20)
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 :
{
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();
}
#SKALA#
Transformasi skala adalah perubahan ukuranvsuatu objek. Koordinat baru diperoleh dengan melakukan perkalian nilai koordinat dengan skala factor, yaitu (sx,sy) dimanasx = skala factor untuk sumbu x sy = skala factor untuk sumbu y. Koordinat baru titik yang diskala dapat diperoleh dengan:
x’ = x . sx
y’ = y . sy
Skala factor sx dan sy dapat diberikan sembarang nilai positif. Nilai lebih dari 1 menandakan bahwa sebuah objek diper-besar sedang nilai nilai kurang dari 1 menunjukkan bahwa objek diperkecil.
Contoh :
Untuk menggambarkan skala suatu objek yang merupakan segi empat dengan koordinat A(10,10), B(30,10), C(30,20) dan D (10,20) diskala dengan skala factor (3,2), pertama-tama dihitung koordinat hasil skala satu demi satu.
Diketahui :
SVektor = (3,2)
Titik A (10,10)
Titik B (30,10)
Titik C (30,20)
Titik D (10,20)
Jawab :
Titik A (10,10)
x’= (10.3) = 30
y’= (10.2) = 20
Hasil skalaTitik A’ = (30,20)
Titik B (30,10)
x’= (30.3) = 90
y’= (10.2) = 20
Hasil skalaTitik B’ = (90,20)
Titik C (30,20)
x’= (30.3) = 90
y’= (20.2) = 40
Hasil skalaTitik C’ = (90,40)
Titik D (10,20)
x’= (10.3) = 30
y’= (20.2) = 40
Hasil skala titik C’ = (30,40)
Listing skala yang digunakan dalam program Processing :
void setup()
{
size(400,400);
background(255);
stroke(128);
rect(10, 30, 30, 10);
stroke(0);
pushMatrix();
scale(3.2);
rect(10, 30, 30, 10);
popMatrix();
Tampilan dari hasil listing skala 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)
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)
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)
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 :




mudah dimengerti
BalasHapusmakasih yak :)
Useful.
BalasHapus