Geometric Transformations

Slides:



Advertisements
Presentasi serupa
4.1. Hukum-hukum Dasar untuk Sistem
Advertisements

KINEMATIKA Kinematika adalah cabang ilmu Fisika yang membahas gerak benda tanpa memperhatikan penyebab gerak benda tersebut. Penyebab gerak yang sering.
Translasi Rotasi Refleksi Dilatasi
1 ANALISA VARIABEL KOMPLEKS Oleh: Drs. Toto’ Bara Setiawan, M.Si. (
Example 1 : Tentukan matriks refleksi terhadap garis y = x Jawab: K = R(-450) * Refleksi thd sb-y * R(450) 2/2 2/2 0 -2/2 2/2 0 0.
Selamat Datang Dalam Kuliah Terbuka Ini
Menentukan komposisi dua fungsi dan invers suatu fungsi
KETENTUAN SOAL - Untuk soal no. 1 s/d 15, pilihlah salah satu
TEXT Part 1 & TRANSFORMATION SMA KD.
Materi Kuliah Kalkulus II
GEOMETRI TRANSFORMASI
TRANSFORMASI GEOMETRI
Transformasi geometri.  Pemindahan objek (titik, garis, bidang datar) pada bidang.  Perubahan yang (mungkin) terjadi: Kedudukan / letak Arah Ukuran.
Selamat Datang Dalam Kuliah Terbuka Ini
Luas Daerah ( Integral ).
Fungsi Invers, Eksponensial, Logaritma, dan Trigonometri
Grafika Komputer (TIZ10)
Pertemuan-4 : Recurrences
FUNGSI MATEMATIKA DISKRIT K- 6 Universitas Indonesia
Pemrograman Terstruktur
FUNGSI STRUKTUR DISKRIT K-8 Program Studi Teknik Komputer
Perbaikan Citra pada Domain Spasial
APLIKASI FUNGSI DLM EKONOMI
Transformasi Geometri 2 Dimensi
TRANSFORMASI 2 DIMENSI Dasar Representasi Titik dan Transformasi
KOMPUTER GRAFIKA TRANSFORMASI 2D (ROTASI DAN SHEARING)
Pengolahan Citra Digital: Transformasi Citra (Bagian 1 : FT – DCT)
TRANSFORMASI GEOMETRI.
KOMPUTER GRAFIKA TRANSFORMASI 2D (TRANSLASI DAN SKALA)
ELASTISITAS PERMINTAAN DAN PENAWARAN
Imam Cholissodin| 04 |Transformations Imam Cholissodin|
Perspective & Imaging Transformation
05 |Beyond Transformation Eriq Muhammad Adams J |
Imam Cholissodin| 06 | Viewing / Camera Imam Cholissodin|
COMPUTER GRAPHICS D10K-5C01 GK11: OpenGL Transformasi dan Interaksi Dr. Setiawan Hadi, M.Sc.CS. Program Studi S-1 Teknik Informatika FMIPA Universitas.
MODUL KULIAH 10 Ekstraksi Fitur Bentuk
TRANSFORMASI 2D.
Produksi 3D untuk Desainer
Transformasi Geometri Sederhana
Transformasi Geometri Sederhana
Pengantar Grafika 3D Fakultas Ilmu Komputer 2014
GEOMETRI SUDUT DAN BIDANG.
Transformasi 2D Grafika Komputer.
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
Anna Dara Andriana, S.Kom., M.Kom
Transformasi geometri
Konsep 3D dan Representasi Objek 3D
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
AYO BELAJAR TRANSFORMASI GEOMETRI !!!
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
Transformasi 2D.
KOMPUTER GRAFIKA TRANSFORMASI 2D (TRANSLASI DAN SKALA)
Transformasi (Refleksi).
KOMPUTER GRAFIKA TRANSFORMASI 2D (ROTASI DAN SHEARING)
Kelompok 2 Agra Ahmad Afandi Ahmad Afif Alfian Hadi Pratama
TRANSFORMASI OBJEK (TRANSFORMASI AFFINE 2D DAN 3D)
Transformasi 3 Dimensi Disampaikan oleh: Edy Santoso, S.Si., M.Kom
TRANSFORMASI 2 DIMENSI Oleh : Hieronimus Edhi Nugroho, M.Kom
Transformasi 2 Dimensi.
Grafika Komputer Transformasi 2 Dimensi.
DIMENSI DUA transformasi TRANSLASI.
Transformasi 3D Grafika Komputer Defiana Arnaldy, M.Si
Konsep 3D dan Representasi Objek 3D
TRANSFORMASI GRAFIK 2 DIMENSI
Ihr Logo Dasar teori dan algoritma grafika komputer.
3D Viewing & Projection.
Transformasi Geometri 2 Dimensi
Peta Konsep. Peta Konsep B. Transformasi pada Garis dan Kurva.
Transformasi Geometri 2 Dimensi
KOMPUTER GRAFIKA TRANSFORMASI 2D (TRANSLASI DAN SKALA)
Transcript presentasi:

Geometric Transformations

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

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 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.

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.

TRANSFORMASI OBYEK {.4, 2} {1,1} TRANSFORMASI KOORDINAT {1,1} {1,1}

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}

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}

Affine Transformation: sifat-sifatnya Mempertahankan garis Mempertahankan parallelism Mempertahankan jarak proposional

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

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

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

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

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

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

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

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

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

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

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

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:

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

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

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}

Rotation dari pivot point

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

Scene Graphs TRINITY

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

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

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

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.

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

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

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

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

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

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

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) ); }

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.

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

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