1 / 40

Geometric Transformations

Geometric Transformations. Contoh 1. Bagian-bagian (part) obyek dg koordinat lokal masing-masing: Obyek yang lebih besar dibangun dengan duplikasi dan transformasi beberapa bagian/komponen/part. etc. Contoh 2. Contoh 3.

dixie
Download Presentation

Geometric Transformations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Geometric Transformations

  2. Contoh 1 • Bagian-bagian (part) obyek dg koordinat lokal masing-masing: • Obyek yang lebih besar dibangun dengan duplikasi dan transformasi beberapa bagian/komponen/part. etc...

  3. Contoh 2

  4. Contoh 3 • Pada setiap frame animasi, obyek ditransformasikan (dalam hal ini dengan rotasi). • Obyek dapat ditransformasi dg merubah ukuran (scaling), atau bentuk (deformasi) atau lokasi (translasi) • Efek2 animasi selanjutnya dapat dilakukan dg tidak merubah obyek, tetapi cara menampilkannya, zooming dan panning. 5 langkah animasi “rotasi kubus”

  5. Transformasi Obyek 2D • Merubah setiap titik P {Px, Py}menjadi titik baru Q {Qx, Qy} dg aturan tertentu • functionT, yang memetakanl pasangan koordinat ke pasangan koordinat baru: • T ({Px,Py}) = {Qx,Qy} • Atau mudahnya T(P) = Q • mis: • P adalah titik {2, 2} • T adalah scaling dg faktor 2. • Maka T(P) = T({2, 2}) = {4,4} P = {Px, Py} ??? DO SOMETHING ??? Q = {Qx, Qy} P = {2, 2} Scale by 2 Q = {4, 4}

  6. Transformasi • Koleksi semua titik suatu obyek, dapat ditransformasi dengan transformasi yang sama T. mis: garis atau lingkaran • Image sebuah garis, L, dg T, adalah kumpulan semua image titik-titik dari L. • Perhatian utama pada pemetaan, image-image tsb masih terhubung dg kurva dg beberapa bentuk. • Untuk beberapa pemetaan, hasil transformasi garis bisa saja bukan berupa garis lagi. • Affine Transformations, adalah transformasi yang mempertahankan garis-garis, dan umum dipakai transformasi pada computer graphics P1 {0, 2} P2 {2, 2} P0 {0, 0} P3 {2, 0} Q1 {0, 4} Q2 {4, 4} Q3 {4, 0} Q0 {0, 0}

  7. Affine Transformation: sifat-sifatnya • Mempertahankan garis • Mempertahankan parallelism • Mempertahankan jarak proposional

  8. Transformasi Dasar • Affine transformations, biasanya kombinasi 4 transformasi dasar: • 1: Translation • 2: Scaling • 3: Rotation • 4: Shearing

  9. Translation • Sebuah translasi memindahkan obyek ke posisi yang berbeda. • Hal itu dilakukan dengan menambahkan offset atau vector translasi • Notasi Vector: t Ditranslasi dg t Titik original Titik hasil transformasi

  10. Scaling • Merubah ukuran obyek dg 2 faktor skala, Sx and Sy • (Jika Sx != Sy, maka mendapatkan non-uniform scale) Sx, Sy Scale by Sx, Sy Original points Transformed points

  11. Rotation • Menggunakan relasi trigonometri, sebuah titik dirotasi dg sudut q dari titik pusat, dg rumus: • Jadi q Rotate by q Original points Transformed points

  12. Q P PY PX R Rotation - turunan [1] [2] [3] [4] [1] Substitusi dari [3] and [4]… Sama dengan bentuk [2]…

  13. Shearing • Shearing pada arah x : • Kuantitas h menentukan fraction koordinat y apa yang akan ditambahkan kepada koordinat x, dan dapat positif atau negatif • Secara umum: shearing secara simultan pada arah x dan y adalah

  14. Shearing g =0, h=0.5 Shear by {g,h} Original points Transformed points g=0.5, h=0.5 Shear by {g,h} Original points Transformed points

  15. Matrix Representation • Semua affine transformations pada 2D secara generik dapat dideskripsikan dg persamaan sbb: • i.e.

  16. Rangkuman Transformasi • 1: Translation • 2: Scaling • 3: Rotation • 4: Shearing T T T T

  17. Matrix Representation • Semua affine transformations pada 2D secara generik dapat dideskripsikan dg persamaan sbb: • i.e.

  18. Problem • Affine transformation adalah kombinasi linier yang diikuti translasi • Sayangnya, porsi translasi bukan sebuah perkalian matrix, tetapi sebuah penjumlahan tambahan atau vector – ini menyusahkan.

  19. Homogeneous Coordinates • Triknya, kita gunakan 1 komponen tambahan kepada P dan Q, juga kolom ke 3 M sbb Rotate by q: Translation by {tx, ty} Scale by Sx, Sy Shear by g, h:

  20. Multiple Transformations:Rotation and Scaling Not only is the object rotated, but it also moves around the origin

  21. Pivotal points • Seringkali kita ingin merotasi atau men-scaling tidak dari titik pusat, tetapi titik lain (pivotal point) • Kebanyakan, kita ingin merotasi dari titik pusat atau titik tengah obyek • Dalam hal ini , lokasi obyek tidak berubah

  22. {x1,y1} {0,0} dari titik {x1, y1} Untuk merotasi kotak dg sudut: • Translasi semua titik melalui {-x1,-y1} • Rotasi semua titik dari titik pusat dg sudut • Translasi balik semua titik melalui {x1,y2}

  23. Rotation dari pivot point

  24. Modelling Scenes Modelling scene yg kompleks dg menyusun dari banyak obyek memerlukan 2 langkah: a) modelling obyek, b) menempatkannya di scene dg transformasi

  25. Scene Graphs TRINITY

  26. A Scene Graph Body Hood Trunk Front Bumper Rear Bumper Left Door Left Door Glass Right Door Right Door Glass Left Front Wheel Right Front Wheel Left Rear Wheel Right Rear Wheel

  27. Koordinat Lokal vs Global + + Setiap obyek memiliki lokal koordinat Tidak berarti setiap obyek memiliki transformasi yang sama =

  28. + + + + transform transform transform Kita biasanya ingin yang lebih versatile =

  29. Current Transformation Matrix (CTM) • Salah satu caranya adalah dg: CURRENT TRANSFORMATION MATRIX {CTM} • Semua transformasi hanya berferk pada CTM • Prosedure draw akhirnya memanggil berdasarkan CTM • CTM bisa dianggap merepresentasikan “current coordinate frame” untuk menggambar.

  30. v {1,1} u Coordinate Transforms x v’ {1*,1*} u’ Obyek didefinisikan dg Local Coordinate System y Obyek ditransformasikan pada Global Coordinate System

  31. x x v’ v {1,1} {1,1} y y u’ u Identity

  32. x x v’ v {1+tx,1+ty} {1,1} y y u’ u Translation u {0, 1, 1} origin v

  33. x x v’ v {1,1} y y u’ u Rotation

  34. x x v v {sx*1,sy*1} {1,1} y y u u Scaling

  35. x x v’ u {1,1} u’ y y u Composite Transformations O = v = u =

  36. Transforming Images • Simply juggling array positions can achieve simple 90 degree rotations for (int x=0; x<width; x++) for (int y=0; y<height; y++) { set(x, y, get (y, x) ); }

  37. Transformations on Pixels • Alternatif lain, kita dapat menerapkan transform rotasi kepada setiap pixel. • Hal itu bekerja pada beberapa kasus, tetapi menjadi masalah kalau rotasi bukan kelipatan dari 90 derajat. • Biasanya tidak ada korespondensi 1-to-1 antara pixel original dan pixel hasil transformasi. • Apalagi, rounding pada blok berdekatan akan menyebabkan error, yang akan menghasilkan gap pada image hasil transformasi.

  38. Solusinya adalah melihatnya dari sudut pandang raszterisasi polygon hasil transformasi yang memiliki texture image original ROTATE IMAGE dg sudut q : Temukan “frame” yg akan dirotasi pada image Untuk setiap scanline (y) Gunakan interpolasi utk temukan startx dan endx Utk setiap pixel x (antara startx dan endx) Temukan {u,v} yg koresponden thd {x, y} Hal ini dilakukan dg merotasi {x,y} dg -q set ( {x,y}, get {u,v}) Hal ini memastikan bahwa setiap pixel dirotasi tanpa meninggalkan gap Transforming Images start_x end_x v N.B. In most cases there will be some distortion in the image. So rotating images by arbitrary angles can cause degradation. u

  39. Tugas • Buatlah program processing, yang merotasi image berwarna berukuran minimal 200 x 200 pixel, maksimum 500 x 500 pixel. • Kumpulkan maksimum 2 pekan. • Tuliskan nama dan nomor mahasiswa

More Related