Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Geometric Transformations
2
Transformasi Gambar Beberapa object menampilkan simetri tertentu, jadi hanya bagian dari itu saja yang perlu dideskripsikan, bagian lainnya dikonstruksi dengan refleksi, rotasi dan translasi bagian aslinya. Seorang designer mungkin ingin melihat object dari titik yang berbeda, merotasi obyek atau memindahkan sudut pandang “kamera sintetis”. Dalam animasi, satu atau lebih obyek bergerak relatif satu dg lainnya, sehingga sistem koordinat lokal mereka harus dipindah dan dirotasi saat animasi berjalan
3
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...
4
Contoh 2
5
Contoh 3 5 langkah animasi “rotasi kubus”
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.
6
Dua Macam Transformasi
Transformasi Obyek Merubah koordinat setiap titik menurut aturan tertentu, dan sistem koordinat dibiarkan tidak berubah. Transformasi Koordinat Merubah sistem koodirnat, dan menampilkan kembali semua titik asli di atas sistem koordinat yang baru.
7
TRANSFORMASI OBYEK {.4, 2} {1,1} TRANSFORMASI KOORDINAT {1,1} {1,1}
8
Transformasi Obyek 2D Merubah setiap titik P {Px, Py} menjadi titik baru Q {Qx, Qy} dg aturan tertentu function T, 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}
9
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}
10
Affine Transformation: sifat-sifatnya
Mempertahankan garis Mempertahankan parallelism Mempertahankan jarak proposional
11
Transformasi Dasar Affine transformations, biasanya kombinasi 4 transformasi dasar: 1: Translation 2: Scaling 3: Rotation 4: Shearing
12
Titik hasil transformasi
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
13
Scaling Sx, Sy 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
14
Rotation Menggunakan relasi trigonometri, sebuah titik dirotasi dg sudut q dari titik pusat, dg rumus: Jadi q Rotate by q Original points Transformed points
15
Rotation - turunan Q P [1] [2] [3] [4] PY [1] PX R
Substitusi dari [3] and [4]… Sama dengan bentuk [2]…
16
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
17
Shearing g =0, h=0.5 g=0.5, 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
18
Matrix Representation
Semua affine transformations pada 2D secara generik dapat dideskripsikan dg persamaan sbb: i.e.
19
Rangkuman Transformasi
1: Translation 2: Scaling 3: Rotation 4: Shearing T T T T
20
Matrix Representation
Semua affine transformations pada 2D secara generik dapat dideskripsikan dg persamaan sbb: i.e.
21
Problem Affine transformation adalah kombinasi linier yang diikuti translasi Sayangnya, porsi translasi bukan sebuah perkalian matrix, tetapi sebuah penjumlahan tambahan atau vector – ini menyusahkan.
22
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:
23
Multiple Transformations: Rotation and Scaling
Not only is the object rotated, but it also moves around the origin
24
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
25
Untuk merotasi kotak dg sudut: dari titik
{x1,y1} {0,0} Untuk merotasi kotak dg sudut: dari titik {x1, y1} Translasi semua titik melalui {-x1,-y1} Rotasi semua titik dari titik pusat dg sudut Translasi balik semua titik melalui {x1,y2}
26
Rotation dari pivot point
27
Modelling Scenes Modelling scene yg kompleks dg menyusun dari banyak obyek memerlukan 2 langkah: a) modelling obyek, b) menempatkannya di scene dg transformasi
28
Scene Graphs TRINITY
29
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
30
Koordinat Lokal vs Global
+ + Setiap obyek memiliki lokal koordinat Tidak berarti setiap obyek memiliki transformasi yang sama =
31
Kita biasanya ingin yang lebih versatile
+ + + + transform transform transform Kita biasanya ingin yang lebih versatile =
32
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.
33
Coordinate Transforms
x {1,1} v u v’ {1*,1*} u’ Obyek didefinisikan dg Local Coordinate System y Obyek ditransformasikan pada Global Coordinate System
34
Identity x y x y {1,1} v u {1,1} v’ u’
35
Translation x y x y {1+tx,1+ty} v’ u’ {1,1} v u u {0, 1, 1} origin v
36
Rotation v’ u’ x y x y {1,1} v u
37
Scaling {sx*1,sy*1} v u x y {1,1} v u x y
38
Composite Transformations
x y x y {1,1} u v’ u’ O = v = u =
39
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) ); }
40
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.
42
Transforming Images 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 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
43
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
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.