TRANSFORMASI 2 DIMENSI

download TRANSFORMASI 2 DIMENSI

of 28

Transcript of TRANSFORMASI 2 DIMENSI

GRAFIKA KOMPUTER TRANSFORMASI 2 DIMENSI KELOMPOK 1 DEWI AYU PRATAMI MURNI NOVITA SARI FITHRI RIZQI KHAIRANI FAUZANA S POCUT RIZKY NADYA SORAYA HARDIYANA LIDYA ANDINY NASUTION 091401007 091401011 091401025 091401031 091401073 091401077 091401083 Translasi Translasimerupakansuatuprosesyang menyebabkanperpindahanobjekdarisatu titikketitiklain.Translasidilakukandengan penambahantranslasipadasuatutitik koordinatdengantranslasivector yaitu(trx,try),dimanatrxadalahtranslation vector menurut sumbu x sedangkan try adalah translasi vector terhadap sumbu y. Translasi (lanj) Koordinatbarutitikyangditranslasidapat diperoleh dengan menggunakan rumus: x = x + trx y = y + try Dimana(x,y)adalahkoordinatasalsuatuobjek dan(x,y)adalahkoordinatbaruobjektersebut setelahditranslasi.Setiaptitikdariobjekakan ditranslasi dengan besaran yang sama. Translasi (Lanj) Titik koordinat tujuan translasi benda dapat kita cari dengan menggunakan perhitungan matriks translasi. Matriks ini digunakan untuk mempermudah mencari titik koordinat tujuan . Matriks Translasi 2D

10Tx 01Ty 001

Keterangan Tx adalah nilai pergeseran benda sejajar atau searah sumbu x. Ty adalah nilai pergeseran benda sejajar atau searah sumbu y. Contoh :

A(2,3) - > A' (5,7) 1032 5 0143= 7 0011 1

B(2,8) -> B'(5,12) 103250148= 12 00111

C(7,8) -> C'(10,12) 1037 10 0148= 12 00111

D(7,3) -> D'(10,7) 1037 10 0143=700111 NB: Angka 1 digunakan hanya sebagai angka dummy untuk membuat matriks dengan jumlah baris yang sama dengan matriks translasi-nya. Terdapat sebuah benda ABCD dimana titik A(2,3) , titik B(2,8) , titik C(7,8) dan titik D(7,3), kemudian benda tersebut digeser searah sumbu x positifsebanyak 3 dan digeser searah sumbu y positif sebanyak 4. Tentukan titik koordinat tujuan dari benda ABCD! Pembahasan: Benda ABCD adalah benda 2D, maka matriks yang digunakan adalah matriks translasi 2D. Nilai Tx = 3 dan nilai Ty = 4. Sehingga matriks yang terbentuk menjadi seperti di bawah. 103 014 001 Sourcode :Output : void Draw(){ glClear(GL_COLOR_BUFFER_BIT);

glBegin(GL_QUADS);

glColor3f (0, 1, 1); glVertex3f(0.10,0.10,0.0); glColor3f (0, 1, 0); glVertex3f(0.10,0.40,0.0); glColor3f (1, 0, 0); glVertex3f(0.40,0.40,0.0); glColor3f (1, 0, 1); glVertex3f(0.40,0.10,0.0); glEnd(); glFlush(); }

void DrawScale(){ glTranslated(0.20,0.20,0); // mentranslasi semua objek glColor3f(1.0,0.0,1.0); Draw();

} Contoh Program Translasi Rotasi Rotasiadalahperpindahanobekdarititik P(x,y)ketitipP(x,y)yangberputarsebesar sudut . Rotasi2dimensidigunakanterhadapobjek denganmelakukanperputaransepanjang jalur bundar pada bidang xy. Untukmelakukanrotasi,harusditentukansudut rotasidanposisi(xr,yr)darititikrotasi(pivot point)sebagaitempatdimanaobjekakandi rotasi. Nilaipositifuntuksudutrotasiakanmenentukan perputaranberlawanandenganarahjarumjam terhadap pivot point. Nilainegatifakan menentukanperputaransesuai dengan arah jarum jam. Rotasi Rotasi Rotasi Denganrepresentasivektor,kitadapatmenuliskan persamaan rotasi dalam bentuk matriks : dimana matriks rotasi adalah untuk mendapatkan persamaan transformasi untuk rotasi pada posisi (xr,yr). Contoh Program Rotasi Sourcode :Output : Void Draw { glBegin(GL_QUADS);

glVertex3f(0.10,0.10,0.0); glVertex3f(0.10,0.20,0.0); glVertex3f(0.40,0.20,0.0); glVertex3f(0.40,0.10,0.0); glEnd(); glFlush(); }

void DrawScale(){ glRotatef(180,1,1,0); // merotate semua objek Draw(); }

Scaling Scaling m adalah perpindahan obyek dari titik P ke titik P, dimana jarak titik P adalah m kali titik P Scaling faktor mx dan my dapat diberikan nilai sembarang. Nilai lebih dari satu menandakan bahwa obyek diperbesar, sedangkan nilai kurang dari satu menunjukkan bahwa obyek diperkecil. Matrik Transformasidari Scaling 2D Proses scaling dengan menggunakan definisi vektor2D dapat dituliskan dengan Matrik Transformasi dari Scaling Sour Code : Output : Void Draw { glBegin(GL_QUADS);

glVertex3f(0.10,0.10,0.0); glVertex3f(0.10,0.40,0.0); glVertex3f(0.40,0.40,0.0); glVertex3f(0.40,0.10,0.0); glEnd(); glFlush(); }

void DrawScale(){ glTranslated(0.20,0.20,0); // men-scale semua objek glColor3f(1.0,0.0,1.0); Draw(); }

Contoh Program Scaling REFLEKSI Suatu transformasi yang memasangkan setiap titik pada bidang dengan menggunakan sifat bayangan cermin dari titik-titik yang akan dipindahkan. Sifat-Sifat Utama: Jarak titik ke cermin sama dengan jarak titik bayangannya ke cermin. Suatu bangun yang di- refleksikan akan kongruendengan bayangannya. Sudut-sudut yang dihasilkan oleh cermin dengan garis penghubung setiap titik ke bayangannya adalah sudut siku-siku. Terhadap Sumbu X Persamaan matriks: | | | | M M((

=1 00 1'Terhadap Sumbu Y Persamaan matriks: | | | | M M((

=1 00 1'Terhadap Sumbu X = Y Persamaan matriks: | | | | M M((

=0 11 0'Terhadap Sumbu X = -Y Persamaan matriks: | | | | M M((

=0 11 0'Terhadap Titik Asal (0,0) Persamaan matriks: | | | | M M((

=1 00 1'Terhadap Garis X = h Persamaan matriks: | | | |((

+((

=021 00 1'hM MTerhadap Garis Y = k Persamaan matriks: | | | |((

+((

=kM M201 00 1'Terhadap Titik (a,b) Persamaan matriks: | | | |((

+((

=kM M20'1 00 1"| | | |((

+((

=021 00 1'hM MShears Terhadap Sumbu X Persamaan matriks: | | | | MdM((

=1 01'1Terhadap Sumbu Y Persamaan matriks: | | | | MdM((

=10 1'2