Transformasi 2D

30

description

Transformasi 2D. Transformasi. Transformasi adalah perubahan posisi suatu objek ke posisi lain atau perubahan bentuk suatu objek ke objek lain menurut suatu aturan tertentu - PowerPoint PPT Presentation

Transcript of Transformasi 2D

Page 1: Transformasi 2D
Page 2: Transformasi 2D

TransformasiTransformasi adalah perubahan posisi suatu objek ke posisi

lain atau perubahan bentuk suatu objek ke objek lain menurut suatu aturan tertentu

Transformasi banyak digunakan untuk menggambar suatu objek dengan bentuk bentuk lain objek simetris dan untuk keperluan animasi

Page 3: Transformasi 2D

Jenis Transformasi Jenis transformasi :

- Transformasi objek Semua titik pada suatu objek akan diubah dengan aturan

tertentu, sistem koordinat tetap

- Transformasi sistem koordinat Objek tetap, tapi sistem koordinatnya berubah sehingga

posisi objek mengalami penyesuaian

Page 4: Transformasi 2D

Transformasi dasarBeberapa transformasi dasar : Translation (Penggeseran ) Scaling (penskalaan) Rotation (Pemutaran)

Page 5: Transformasi 2D

TranslasiPenggeseran dilakukan dengan penambahan

posisi awal dengan translasion vektor atau shift vektor (trx,try)

trx = pergeseran arah sumbu x (absis)try = pergeseran arah sumbu y (ordinat)

Koordinat baru hasil translasi secara sederhana dapat ditulis sbg:

x’ = x+ trxy’ = y+ try dimana x’,y’ merupakan koordinat hasil

translasi x dan y adalah koordinat awal trx,try adalah vektor tranlasi

Page 6: Transformasi 2D

Objek Translasi

Page 7: Transformasi 2D

Contoh translasi

Untuk menggambarkan translasi suatu objek yang berupa segitiga dengan koordinat A(10,10), B(30,10), dan C(10,30) dengan translation vector (10,20), pertama tama dihitung koordinat hasil translasi

Titik Ax’A = xA + trx = 10+10 = 20y’A = yA + try = 10+20 = 30Hasil translasi titik A’(20,30)Titik Bx’B = xB + trx = 30+10 = 40y’B = yB + try = 10+20 = 30Hasil translasi titik B’(40,30)Titik Cx’C = xC + trx = 10+10 = 20y’C = yC + try = 30+20 = 50Hasil translasi titik C’(20,50)

Page 8: Transformasi 2D

Contoh programint poly[8];void translasi (int Trx,int Try);void setgrafis();

void main() {setgrafis();poly[0]=10; poly[1]=10; //Apoly[2]=30; poly[3]=10; //Bpoly[4]=10; poly[5]=30; //Cpoly[6]=10; poly[7]=10; //A

drawpoly(4,poly);getch();translasi(10,20);cleardevice();drawpoly (4,poly);getch();closegraph(); }

void translasi(int Trx,int Try) {for (int i=0;i<8;i+=2) {poly[i]=poly[i]+Trx;poly[i+1]=poly[i+1]+Try;}}

Page 9: Transformasi 2D

ScalingMelakukan perubahan terhadap ukuran suatu objek,

apakah diperbesar atau diperkecilPenskalaan dilakukan dengan perkalian antara posisi awal

dengan scaling factor(Sx,Sy)Titik hasil scaling dapat ditentukan dengan : x’ = x.Sx y’ = y.Sy dimana x dan y adalah koordinat awal x’ dan y’ koordinat hasil scaling Sx dan Sy adalah scaling faktor

Page 10: Transformasi 2D

Objek Scaling

Mengubah bujursangkar menjadi persegi panjang dengan menggunakan faktor skala Sx=2 dan Sy=1

Page 11: Transformasi 2D

Contoh penskalaanUntuk menggambarkan skala suatu objek yang merupakan segiempa

t dengan koordinat A(10,10), B(30,10), C(30,20), D(10,20) diskala dengan scaling factor(3,2)

Titik Ax’A  = xA.sx= 10* 3 =30y’A = yA.sy= 10 * 2=20Hasil skala titik A’(30,20)Titik Bx’B  = xB.sx= 30* 3 =90y’B = yB.sy= 10 * 2=20Hasil skala titik B’(90,20)Titik Cx’C  = xC.sx= 30* 3 =90y’C = yC.sy= 20 * 2=40Hasil skala titik C’(90,40)Titik Dx’D  = xD.sx= 10* 3 =30y’D = yD.sy= 20 * 2=40

Hasil skala titik D’(30,40)

Page 12: Transformasi 2D

Fixed point scalingLokasi skala suatu objek dapat dikontrol dengan

menentukan titik tertentu yang disebut fixed pointKoordinat fixed point dapat terletak pada sembarang posisiPolygon kemudian diskala relatif terhadap fixed point

dengan melakukan skala jarak dari tiap titik terhadap fixed point

Untuk titik dengan koordinat (x,y) diperoleh (x’,y’) sebagai skala

x’=xf+(x-xf)Sx y’=yf+(y-yf)Sy xf dan yf = fixed point

Page 13: Transformasi 2D

Fixed point scaling

Penskalaan relatif terhadap titik fixed point yg dipilih(xf,yf). Jarak antara tiap sudut poligon terhadap fixed point diskala dengan menggunakan persamaan transformasi

Page 14: Transformasi 2D

Rotasi Memindahkan sebuah objek menurut garis melingkar Untuk melakukan rotasi diperlukan sudut rotasi a dan pivot

point(xp,yp) Nilai sudut rotasi positif menentukan arah rotasi berlawanan

dengan arah jarum jam sedangkan sudut rotasi negatif memutar objek searah jarum jam

Untuk melakukan rotasi dengan koordinat titik asal (x,y) dengan sudut rotasi a adl:

x’= x cos a – y sin a y’= y sin a + y cos a Untuk rotasi dengan sembarang pivot point (xp,yp): x’= xp + (x-xp) cos a - (y-yp) sin a y’= yp + (x-xp) sin a + (y-yp)cos a

Page 15: Transformasi 2D

Objek rotasi

Rotasi sebuah objek dengan sudut θ terhadap pivot point

Rotasi sebuah titik dari posisi (x,y) ke posisi (x’,y’) dengan sudut θ relatif terhadap koordinat asal

Page 16: Transformasi 2D

Contoh rotasiUntuk menggambarkan rotasi suatu objek yang berupa segitiga dengan koordinat A(1

0,10), B(30,10), dan C(10,30) dengan sudut rotasi 30’ terhadap titik pusat koordinat Cartesian  (10,10), dilakukan dengan menghitung koordinat hasil rotasi tiap titik satu demi satu.

Titik Ax’A = xp+(xA-xp) cos 30’ – (yA-yp)sin 30’=10+(10-10)* 0.9 –(10-10) *0.5 = 10y’A = yp+(xA-xp) sin 30’ + (yA-yp)cos 30’=10+(10-10)*0.5 +(10-10)*0.9= 10Hasil rotasi titik A(10,10)

Titik Bx’B = xp+(xB-xp) cos 30’ – (yB-yp)sin 30’=10+(30-10)* 0.9 –(10-10) *0.5 = 28y’B = yp+(xB-xp) sin 30’ + (yB-yp)cos 30’=10+(30- 10)*0.5 +(10-10)* 0.9=20Hasil rotasi titik B(28,20))

Page 17: Transformasi 2D

Titik Cx’C = xp+(xC - xp) cos 30’ – (yC- yp)sin 30’=10+(10 - 10)* 0.9 – (30- 10) *0.5=0y’C = yp+(xC - xp) sin 30’ + (yC - yp)cos 30’=10+(10 - 10)*0.5 + (30- 10)*0.9=28Hasil rotasi titik C(0,28)

Page 18: Transformasi 2D

Transformasi AffineOperasi transformasi dapat dikerjakan dengan

menggunakan matriks transformasi , seperti yang dikenalkan pada transformasi affine :

Translasi Q=PM+tr maka hasil penggeseran dinyatakan sebagai : Qx ,Qy = Px + trx , Py + try dengan M sebagai matriks identitas atau dengan a,b,c,d dapat ditentukan dengan nilai

),(),(),( trytrxcd

abpypxQyQx

01

10

Page 19: Transformasi 2D

Transformasi AffineScaling Rotasi

Sy 0

0Sx ),(),( PyPxQyQx

)cos( )sin(-

)sin( )cos(),(),(

PyPxQyQx

Page 20: Transformasi 2D

contohTitik A(10,10) dengan vektor translasi trx=3

dan try=2 tentukan titik hasil translasi: =

= (10.1+10.0 , 10.0+10.1) + (3,2) A’ = (13,12)

)2,3(1 0

0 1)10,10(

Page 21: Transformasi 2D

Sistem koordinat homogenSistem koordinat homogen adalah sistem

koordinat yang lebih tinggi dimensinya 1 tingkat dari koordinat yang ditinjau

Penggunaan sistem koordinat homogen agar transformasi affine dapat diterapkan menurut perkalian matriks secara seragam

Sistem koordinat homogen dari 2D adalah 3D

Page 22: Transformasi 2D

Sistem koordinat homogenbentuk matriks transformasi untuk sistem koordinat

homogen:Translasi

trx dan try dapat disisipkan dalam matriks

),(d c

b a),(),( trytrxpypxQyQx

),(

1 0 0

0 d c

0 b a

),(),( trytrxpypxQyQx

1trx try

0 d c

0 b a

),(),( pypxQyQx

Page 23: Transformasi 2D

Sistem koordinat homogenScaling

Rotation

1 0 0

0Sy 0

0 0Sx

Ms

1 0 0

0 )cos( )sin(-

0 )sin( )cos(

Mr

Page 24: Transformasi 2D

contohTitik A(10,10) dengan vektor translasi trx=3

dan try=2 tentukan titik hasil translasi:A(10,10) A(10,10,1)

=

= (10.1+10.0+1.3, 10.0+10.1+1.2, 1)= (13,12,1) (13,12)

1 2 3

0 1 0

0 0 1

)1,10,10(

Page 25: Transformasi 2D

contohdiketahui titik p dengan koordinat (4,3),akan dilakukan transformasi sebagai

berikut:

- diputar dengan sudut putar 30°

- digeser sejauh (8,6), dan

- diperbesar 2 kali kearah sumbu x dan y

P’ = (19.933, 21.199)

1 12 16

0 1.733 1-

0 1 733.1

1 0 0

0 2 0

0 0 2

1 6 8

0 1 0

0 0 1

1 0 0

0 0.866 0.500-

0 0.500 0.866

1 12 16

0 1.733 1-

0 1 733.1

)1,3,4(

Page 26: Transformasi 2D

Transformasi lainnyaShearing (pembebanan) proses transformasi dengan membebani objek terhadap

arah tertentu sehingga dihasilkan suatu objek yang terdistorsi

Page 27: Transformasi 2D

shearing proses shearing dapat dilakukan terhadap sumbu x maupun

sumbu y Proses shearing kearah sumbu x dan y dapat dinyatakan: Qx = Px+hPy Qy = gPx+Py dimana g: bagian absis yg ditambahkan ke ordinat h:bagian ordinat yg ditambahkan ke absisMatriks transformasi

Matriks pada koordinat homogen

1h

g 1Msh

1 0 0

0 1h

0 g 1

Msh

Page 28: Transformasi 2D

Transformasi lainnyaReflection(pemantulan) transformasi yang menghasilkan pemantulan dari sebuah

objek mirror image dari objek 2D dihasilkan relatif terhadap

sumbu refleksi dengan memutar objek 180° terhadap sumbu tersebut

Refleksi objek terhadap sumbu y

Refleksi objek terhadap sumbu x

Page 29: Transformasi 2D

Reflection Matriks refleksi terhadap sumbu x

Matriks refleksi terhadap sumbu y

Matriks refleksi terhadap sumbu xy

1 0 0

0 1- 0

0 0 1

Mrf

1 0 0

0 1 0

0 0 1-

Mrf

1 0 0

0 1- 0

0 0 1-

Mrf

Page 30: Transformasi 2D

Bahan lanjutMID TEST