Tugas Grafika Komputer membuat Translasi, Skala, dan Rotasi dengan menggunakan program Processing


1. Translasi
 
Translasi adalah memindahkan suatu objek sepanjang garis lurus dari suatu lokasi koordinat tertentu ke lokasi yang lain.
Translasi dilakukan dengan penambahan translasi pada suatu titik koordinatdengan  translation vector atau shift vector, yaitu (tx, ty), dimana :
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.

Contoh:
Untuk menggambarkan translasi suatu objek yang berupa segitiga dengan koordinat:
A (50,20), B(100,100), dan C(50,100) dengan translation vector (100,100),
pertama tama dihitung koordinat hasil translasi satu demi satu.

TVektor = (50,20)

Titik A  (50,20)
x’= (50+100) = 150
y’= (20+100) = 120
Hasil translasi Titik A’ = (150,120)

Titik B(100,100)
x’= (100+100) = 200
y’= (100+100) = 200
Hasil translasi Titik B’ = (200,200)

Titik C (50,100)
x’= (50+100) = 150
y’= (10+100) = 110
Hasil translasi Titik C’ = (150,110)

Listing translasi yang digunakan dalam program Processing :
{
size(300,300);
background(255);
noStroke();
beginShape(TRIANGLES);
fill(220);
vertex(50,20);
vertex(100,100);
vertex(50,100);
fill(255);
vertex(50+100,20+100);
vertex(100+100,100+100);
vertex(50+100,100+100);
fill(128);
pushMatrix();
translate(100,100);
vertex(50,20);
vertex(100,100);
vertex(50,100);
popMatrix();
endShape();
}

Tampilah dari Hasil listing diatas :
Gambar 1.1 Hasil Translasi menggunakan program Processing


2. Skala
Transformasi skala adalah perubahan ukuran suatu objek. Koordinat baru diperoleh dengan   melakukan  perkalian nilai koordinat dengan skala factor, yaitu (sx,sy) dimana :
sx  = 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(50,20), B(100,100), C(50,100) dan D (100,30) diskala dengan skala factor (5,4), pertama-tama dihitung koordinat hasil skala satu demi satu. 


SVektor = (5,4)

Titik A (50,20)
x’= (50.5) = 50
y’= (20.4) = 80
Hasil skalaTitik A’ = (50,80)

Titik B (100,100)
x’= (100.5) = 500
y’= (100.4) = 400
Hasil skalaTitik B’ = (500,400)

Titik C (50,100)
x’= (50.5) = 250
y’= (100.4) = 400
Hasil skalaTitik C’ = (250,400)

Titik D (100,30)
x’= (100.5) = 500
y’= (30.4) = 70
Hasil skala titik C’ = (500,70)


Listing skala yang digunakan dalam  program Processing :
void setup()
{
size(400,400);
background(255);
stroke(128);
rect(50, 20, 20, 50);
stroke(0);
pushMatrix();
scale(5.4);
rect(50, 20, 20, 50);
popMatrix();
}

Tampilan dari hasil listing diatas :

Gambar 2.1 Hasil Skala menggunakan program Processing


3. Rotasi

Rotasi dua dimensi pada suatu objek akan memindahkan objek tersebut menurut garis melingkar. 
Untuk  melakukanrotasi diperlukan sudut rotasi θ dan pivot    point(xp,yp). 
Nilai positif dari sudut rotasi menentukan arah rotasi berlawanan dengan arah jarum jam. Sedangkan  sudut rotasi negative memutar objek    searah dengan jarum jam.

Rotasi suatu titik terhadap pivot point (xp, yp) menggunakan bentuk trigonemetri, sebagai berikut:

x’ = xp + (x – xp) cos θ – (y – yp) sin θ
y’ = yp + (x – xp) sin θ + (y – yp) cos θ

Contoh:
Untuk menggambarkan rotasi suatu objek yang merupakan segitiga dengan koordinat  A(50,20), B(100,100), dan C(50,10)0  dirotasi dengan sudut rotasi 300, terhadap titik pusat koordinat cartesian (20,10).

Xp=10
Yp=10

Rvektor = (10,15)
Titik A = (10,10)
x’= 10+(50-10)cos 30– (20-10)sin 300
= 10+(40) . 0,9 – (10) . 0,5
=40

y’= 10+(50-10)sin 30+ (20-10)cos 300
= 10+(40) . 0,5 – (10) . 0,9
=16

Hasil dari rotasi titik A’= (40,16)

Titik B = (100,100)
x’= 10+(100-10)cos 30– (100-10)sin 300
= 10+(90) . 0,9 – (90) . 0,5
=45

y’= 10+(100-10)sin 30+ (100-10)cos 300
= 10+(90) . 0,5 – (90) . 0,9
= -31

Hasil dari rotasi titik B’= (45,-31)

Titik C = (50,100)
x’= 10+(50-10)cos 30– (100-10)sin 300
= 10+(40) . 0,9 – (90) . 0,5
= 0

y’= 10+(50-10)sin 30+ (100-10)cos 300
= 10+(40) . 0,5 – (90) . 0,9
=-56

Hasil dari rotasi titik C’= (0 ,-56)



Listing yang digunakan pada program Processing:
void setup()
{
size(200,200);
background(255);
smooth();
fill(220);
noStroke();
beginShape(TRIANGLES);
vertex(50,20);
vertex(100,100);
vertex(50,100);
stroke(255,0,0);
vertex(40,16);
vertex(45,-31);
vertex(0,-56);
pushMatrix();
translate(10,10);
rotate(radians(30));
fill(0);

popMatrix();
endShape();
}

Tampilan dari hasil listing diatas :

Gambar 3.1 Hasil Rotasi menggunakan program Processing

Arti Lagu Shin Jae - Falling Tears - Ost 49 Days


kau bernafas, kau tinggal, di dalam hatiku

Hatiku menangis, kau berjalan di dalam hatiku

Hari sejak kau berada di samping ku, kau selalu ada di dalam pikiranku, memanggil ku

Air mata dingin tetap mengalir, jatuh terus menerus

Hatiku sakit karena kau dan ini tetap menyakitkan

Hari ketika aku merindukan mu, hari seperti ini, karena aku kehilangan mu

Air mataku kembali mengalir

Aku tersedak kata-kata, bahkan menelannya, kata-kata “Aku mencintaimu”

Melancar diatas angin, terbang jauh jauh, aku merindukan kata-kata yang kau katakana

Kata-kata yang tidak akan bisa kusampaikan padamu, menjadi menghela napas panjang dan mengalir melalui hatiku

Air mata dingin tetap mengalir, jatuh terus menerus

Hatiku sakit karena kau dan ini tetap menyakitkan

Hari ketika aku merindukan mu, hari seperti ini, karena aku kehilangan mu

Air mataku kembali mengalir

Kau yang selalu terlihat baik di depan ku, ini memenuhi hatiku, memenuhinya

Menjadi air mata dari sakit hatiku, air mata kerinduan, kau tetap tinggal di dalam hatiku seperti itu

Air mata dingin tetap mengalir, jatuh terus menerus

Karena aku cinta kamu, karena air mata itu adalah air mata cinta

Bahkan jika kau ada di sampingku dan tidak dapat mengatakan kata itu

Aku sungguh cinta kamu

Moment ^^

Sweet Anime.......












Lirik lagu Falling Tears Shin Jae Ost 49 DayS

niga sumswinda niga salgoitda nae gaseumsogeseo
simjangi ullinda niga geotgoitda nae gaseumsogeseo

cheoeum naege watdeon nalbuteo geuriumi doeeo neon nareul bureunda

jakku nunmuri nanda sirin nunmuri nanda
gaseum apaseo neo ttaemune apawaseo

niga geuriun naren itorok geuriun naren
bogo sipeo tto nunmuri nanda

mogi meinda kkeutnae samkyeonaenda saranghandan geu mal
barame ttuiunda meolli bonaebonda bogo sipdan geu mal

chama jeonhal suga eopdeon mal gin hansumi doeeo gaseume heureunda

jakku nunmuri nanda sirin nunmuri nanda
gaseum apaseo neo ttaemune apawaseo

niga geuriun naren itorok geuriun naren
bogo sipeo tto nunmuri nanda

jakku heulleonaerinda niga heulleonaerinda
gaseume chaseo gaseume niga neomchyeoseo

apeun nunmuri doenda geuriun nunmuri doenda
nae gaseume neon geureoke sanda

jakku nunmuri nanda sirin nunmuri nanda
saranghanikka sarangeun nunmurinikka

neoreul gyeote dugodo ireoke gyeote dugodo
motdahan mal neoreul saranghanda