Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Transformasi 2D.

Presentasi serupa


Presentasi berjudul: "Transformasi 2D."— Transcript presentasi:

1 Transformasi 2D

2 Transformasi Transformasi 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

3 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

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

5 Translasi Penggeseran 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+ trx y’ = y+ try dimana x’,y’ merupakan koordinat hasil translasi x dan y adalah koordinat awal trx,try adalah vektor tranlasi

6 Objek Translasi

7 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 A x’A = xA + trx = 10+10 = 20 y’A = yA + try = 10+20 = 30 Hasil translasi titik A’(20,30) Titik B x’B = xB + trx = 30+10 = 40 y’B = yB + try = 10+20 = 30 Hasil translasi titik B’(40,30) Titik C x’C = xC + trx = 10+10 = 20 y’C = yC + try = 30+20 = 50 Hasil translasi titik C’(20,50)

8 Contoh program int poly[8]; void translasi (int Trx,int Try);
void setgrafis(); void main() { setgrafis(); poly[0]=10; poly[1]=10; //A poly[2]=30; poly[3]=10; //B poly[4]=10; poly[5]=30; //C poly[6]=10; poly[7]=10; //A drawpoly(4,poly); getch(); translasi(10,20); cleardevice(); drawpoly (4,poly); 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;

9 Scaling Melakukan perubahan terhadap ukuran suatu objek, apakah diperbesar atau diperkecil Penskalaan 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

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

11 Contoh penskalaan Untuk menggambarkan skala suatu objek yang merupakan segiempat dengan koordinat A(10,10), B(30,10), C(30,20), D(10,20) diskala dengan scaling factor(3,2) Titik A x’A  = xA.sx= 10* 3 =30 y’A = yA.sy= 10 * 2=20 Hasil skala titik A’(30,20) Titik B x’B  = xB.sx= 30* 3 =90 y’B = yB.sy= 10 * 2=20 Hasil skala titik B’(90,20) Titik C x’C  = xC.sx= 30* 3 =90 y’C = yC.sy= 20 * 2=40 Hasil skala titik C’(90,40) Titik D x’D  = xD.sx= 10* 3 =30 y’D = yD.sy= 20 * 2=40 Hasil skala titik D’(30,40)

12 Fixed point scaling Lokasi skala suatu objek dapat dikontrol dengan menentukan titik tertentu yang disebut fixed point Koordinat fixed point dapat terletak pada sembarang posisi Polygon 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

13 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

14 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

15 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

16 Contoh rotasi Untuk menggambarkan rotasi suatu objek yang berupa segitiga dengan koordinat A(10,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 A x’A = xp+(xA-xp) cos 30’ – (yA-yp)sin 30’ =10+(10-10)* 0.9 –(10-10) *0.5 = 10 y’A = yp+(xA-xp) sin 30’ + (yA-yp)cos 30’ =10+(10-10)*0.5 +(10-10)*0.9= 10 Hasil rotasi titik A(10,10) Titik B x’B = xp+(xB-xp) cos 30’ – (yB-yp)sin 30’ =10+(30-10)* 0.9 –(10-10) *0.5 = 28 y’B = yp+(xB-xp) sin 30’ + (yB-yp)cos 30’ =10+(30- 10)*0.5 +(10-10)* 0.9=20 Hasil rotasi titik B(28,20) )

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

18 Transformasi Affine Operasi 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

19 Transformasi Affine Scaling Rotasi

20 contoh Titik A(10,10) dengan vektor translasi trx=3 dan try=2
tentukan titik hasil translasi: = = ( , ) + (3,2) A’ = (13,12)

21 Sistem koordinat homogen
Sistem 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

22 Sistem koordinat homogen
bentuk matriks transformasi untuk sistem koordinat homogen: Translasi trx dan try dapat disisipkan dalam matriks

23 Sistem koordinat homogen
Scaling Rotation

24 contoh Titik A(10,10) dengan vektor translasi trx=3 dan try=2 tentukan titik hasil translasi: A(10,10)  A(10,10,1) = = ( , , 1) = (13,12,1)  (13,12)

25 contoh diketahui 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, )

26 Transformasi lainnya Shearing (pembebanan)
proses transformasi dengan membebani objek terhadap arah tertentu sehingga dihasilkan suatu objek yang terdistorsi

27 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 absis Matriks transformasi Matriks pada koordinat homogen

28 Transformasi lainnya Reflection(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 x Refleksi objek terhadap sumbu y

29 Reflection Matriks refleksi terhadap sumbu x
Matriks refleksi terhadap sumbu y Matriks refleksi terhadap sumbu xy

30 Bahan lanjut MID TEST


Download ppt "Transformasi 2D."

Presentasi serupa


Iklan oleh Google