Esther Wibowo esther.visual@gmail.com
Topik Hari Ini Dasar Transformasi Translation Pemindahan, Penggeseran Scaling Perubahan Ukuran Shear Distorsi? Rotation Pemutaran Representasi Matriks Transformasi Gabungan
Mengapa perlu transformasi? Memposisikan objek menggeser atau me Pebisnis merubah ukuran grafik Pembuat peta merubah ukuran (skala) bagan Arsitek merubah sudut pandang Animasi
Translation Pemindahan Bila kita ingin memindahkan objek Misal: Dari kiri ke kanan (searah dengan sumbu X) Dari bawah ke atas (searah dengan sumbu Y) Rumus: + T + T
Scaling Pengubahan Ukuran Mengalikan tiap komponen dengan suatu nilai skalar. Uniform scaling (pengubahan ukuran ang seragam) : nilai skalar pengali tiap komponen adalah sama. 2
Non Uniform Scaling Skalar pengali berbeda untuk tiap komponen. X 2 Y.5 Rumus: * S * S
Shear Pemindahan posisi ang hana melibatkan sebagian sisi dari bentuk bangun (ada titik sumbu ang tidak berubah). Menebabkan distorsi bentuk bangun. Rumus: + H* + H*
Rotation Pemutaran (, ) r (, ) r cos (φ) r sin (φ) r cos (φ + θ) r sin (φ + θ) Distribusi trigonometri r cos(φ) cos(θ) r sin(φ) sin(θ) r sin(φ) sin(θ) + r cos(φ) cos(θ) θ φ Substitusi cos(θ) sin(θ) sin(θ) + cos(θ)
Rangkuman Rumus Transformasi Translasi: + T + T Skala / Perubahan ukuran: * S * S Shear: + H * + H * Rotasi / Pemutaran: *cos Ѳ *sin Ѳ *sin Ѳ + *cos Ѳ Poros selalu di (,)!
Matriks Transformasi Merepresentasikan dan menghitung transformasi dalam bentuk matriks Kegunaan : memudahkan perhitungkan beberapa transformasi ang berurutan (multiple transformations) Transformasi ang berurutandapatdihitungsekaligus dengan mengalikan matriks matriks transformasi. a c b d e g f h i k j l
Representasi Matriks Representasi transformasi ke dalam matriks a c b d Penghitungan transformasi dalam matriks a c b d a c + + b d
Transformasi dalam Matriks () Matriks indetitas Bila dikalikan (,) tidak akan mengubah nilai (,). Pengubahan ukuran s s * * s s
Transformasi dalam Matriks (2) Shear Rotasi sh sh + + * * sh sh * cos * sin * sin * cos θ θ θ θ + θ θ θ θ cos sin sin cos
Transformasi Tambahan () Refleksi (Mirroring) terhadap sumbuy Refleksi terhadap sumbu X
Transformasi Tambahan (2) Refleksi terhadap sumbu Y Refleksi terhadap sumbu X
Transformasi Tambahan (3) Refleksi terhadap titik asal
Refleksi terhadap garis Refleksi terhadap garis
Shear Shear Y Shear X
Masalah! Bagaimana dengan translation? Bukan merupakan transformasi linear. Ciri transformasi linear : Garis paralel tetap paralel Rasio tidak berubah Titik asal tidak berubah setelah dipetakan t t + + + + t t
Koordinat Homogen () Mengatasi masalah ketidak konsistenan representasi transformasi dalam matriks. Menambahkan koordinat ke 3 dalam matriks. koordinat homogen w
Koordinat Homogen (2) (,,w) merepresentasikan suatu titik Untuk mengembalikan ke matriks dimensi 2, masingmasing komponen dibagi w (/w, /w, ) (,,) merupakan suatu titik di tak terhingga. (,,) tidak ada. 3 6 9 2 4 6 2 3 / / w w w
Matriks untuk Translation Kembali ke masalah representasi matriks untuk translasi, bagaimana merepresentasikan : Menggunakan kolom paling kanan : t t t t + + + + t t Matriks translasi
Contoh Translation dengan Matriks + + t t t t t 2 t
Transformasi Matriks 3 Dimensi Translation Scaling Rotation Shear t t s s cos sin sin cos θ θ θ θ sh sh
Kombinasi Transformasi Setelah menggunakan koordinat homogen, matriks transformasi sudah konsisten. Kita bisa menggabungkan perhitungan transformasi linear dengan translasi. Titik asal bisa berubah. w f e d c b a w
Komposisi Matriks Transformasi ang berurutandapatdihitungdengan pengalian matriks. w s s t t w cos sin sin cos θ θ θ θ p T(t,t ) R(Ѳ) S(s,s ) p
Urutan Perkalian Matriks Perkalian matriks tidak komunikatif (urutan tidak bisa diubah), kecuali untuk translasi sejenis. p (T * (R * (S*p) ) ) p (T*R*S) * p p T * R * S * p p T R S p Dalam perhitungan matriks, urutan translasi dibaca dari kanan ke kiri. Jadi dari rumus di atas urutan translasina : shear rotation translation.
Contoh Komposisi Matriks Ingin melakukan rotasi dan translasi Putar segmen garis di bawah ini dengan sumbu ujung a di koordinat (3,). Perhatikan bahwa segmen garis tidak memiliki titik awal di (,) sumbu rotation bukan di (,)! a a 3 6 3
Cara Yang Salah Mengaplikasikan rotasi kepada kedua titik ujung segmen garis menghasilkan posisi ang salah. Bisa saja memutar kedua titik sebesar 45 o kemudian mengembalikan titik a ke posisi semula tapi kita tidak tahu berapa nilai translasi ang diperlukan. a a a Salah R(45) Hasil ang benar
Urutan Perhitungan Hilangkan dulu efek rotasi pada titik a. a Translasikan segmen garis sehingga titik a di (,) T( 3,) a Rotasikan segmen garis R(45 o ) a Kembalikan segmen garis ke titik awal semula T(3,) a
Mana representasi ang benar? 3 cos(45) sin(45) sin(45) cos(45) 3 a a a a 3 cos(45) sin(45) sin(45) cos(45) 3 a a a a atau
Komposisi Matriks Inilah representasi ang benar dari komposisi matriks beberapa transformasi tadi : Untuk menghitung secara cepat beberapa titik pada suatu bentuk bangun dengan urutan transformasi ang sama, hitung dulu matriks transformasi na, baru dikalikan dengan masing masing titik pada bentuk bangun. 3 cos(45) sin(45) sin(45) cos(45) 3 a a a a
Animasi Transformasi geometrik sesuai untuk dipakai dalam animasi, misal animasi jarum jam ang berputar 3 o tiap jam atau 6 o tiap menit. Gerakan kontinu harus dipecah dalam gerakan gerakan kecil ang dapat dideskripsikan dengan transformasi. Perubahan gerakan harus : Cukup kecil Cukup cepat hingga tidak terdeteksi oleh penonton.
Contoh Animasi Sebuah jam dengan jarum jam : Bergerak dari kiri bawah ke kanan atas dengan jarak tiap gerakan 2 unit ke kanan dan unit ke atas T(2,) Jarum jam bergerak 45 o per gerakan R(45 o )
Metode Solusi Melacak pergerakan dan mendeteksi koordinat sumbu jarum jam saat ini. Menghitung rotasi jarum berdasar koordinat sumbu jarum jam saat ini. Menghitung translasi jam dan jarum jam baru dari koordinat saat ini. Kembali melacak koordinat sumbu jam ang baru. Menghitung rotasi jarum jam ang baru berdasar koordinat sumbu jam baru. Menghitung translasi jam dan jarum jam baru dari koordinat saat ini. Dst.
Metode Solusi 2 Koordinat jam ditahan pada koordinat (,) Menghitung kumpulan transformasi sebelum animasi mulai dijalankan. Menghitung posisi dan rotasi jam beserta jarumna dengan kumpulan translasi tersebut dengan variabel dari posisi (,).
Interpolasi Salah satu model animasi Initial state final desired state initial final
Soal Animasi Jam Dalam contoh jam tadi, ada translasi T(2,). Semisal diinginkan ada gerakan. Natakan posisi awal p (,) T dan posisi akhir p (2,) T Titik p α adalah titik ang menghubungkan p dan p α posisi awal α posisi akhir Teknik ini disebut Conve Combination (Kombinasi Cembung)
Interpolasi Matriks Interpolasi juga dapat diterapkan pada matriks homogen. Matriks matriks ini memetakan objek dari posisi awal hingga posisi akhir. Kombinasi Cembung dapat pula digunakan untuk matriks transformasi ang memiliki initial state berbeda dengan final state. Misalna initial state : rotation, final state : shearing.
Interpolasi Titik Dua objek S dan S memiliki salah satu titik p. P (, ),..., Pn (n, n) and P (, ),..., Pn (n, n )
Interpolasi D ke C S Huruf D, S Huruf C Masing masing memiliki titik dan 2 sebagai titik awal dan dan akhir. Titik 3 sebagai titik kontrol. Hasil akhir memiliki titik 2 dan 4 sebagai ujung dan titik 5 sebagai titik kontrol.
Hasil Interpolasi D ke C Berikut adalah hasil interpolasi saat α,.2,.4,.6,.8,