3D Viewing & Projection.

Slides:



Advertisements
Presentasi serupa
Peserta mengerti tahap-tahap pada ADC
Advertisements

KIMIA UNSUR-UNSUR TRANSISI
PERTEMUAN 3 Algoritma & Pemrograman
Penyelidikan Operasi 1. Konsep Optimisasi.
KEBIJAKAN PEMERINTAH PROVINSI JAWA TIMUR
Penyusunan Data Baseline dan Perhitungan Capaian Kegiatan Peningkatan Kualitas Permukiman Kumuh Perkotaan DIREKTORAT PENGEMBANGAN KAWASAN PERMUKIMAN DIREKTORAT.
BALTHAZAR KREUTA, SE, M.SI
PENGEMBANGAN KARIR DOSEN Disarikan dari berbagai sumber oleh:
Identitas, persamaan dan pertidaksamaan trigonometri
ANGGOTA KELOMPOK WISNU WIDHU ( ) WILDAN ANUGERAH ( )
METODE PENDUGAAN ALTERNATIF
Dosen Pengampu: Muhammad Zidny Naf’an, M.Kom
GERAK SUGIYO, SPd.M.Kom.
Uji Hipotesis Luthfina Ariyani.
SOSIALISASI PEKAN IMUNISASI NASIONAL (PIN) POLIO 2016
PENGEMBANGAN BUTIR SOAL
Uji mana yang terbaik?.
Analisis Regresi linear berganda
PEERSIAPAN DAN PENERAPAN ISO/IEC 17025:2005 OLEH: YAYAN SETIAWAN
E Penilaian Proses dan Hasil Belajar
b. Kematian (mortalitas)
Ilmu Komputasi BAGUS ADHI KUSUMA
Uji Hipotesis dengan SPSS
OVERVIEW PERUBAHAN PSAK EFFEKTIF 2015
Pengolahan Citra Berwarna
Teori Produksi & Teori Biaya Produksi
Pembangunan Ekonomi dan Pertumbuhan Ekonomi
PERSIAPAN UN MATEMATIKA
Kriptografi.
1 Bab Pembangunan Ekonomi dan Pertumbuhan Ekonomi.
Ekonomi untuk SMA/MA kelas XI Oleh: Alam S..
ANALISIS PENDAPATAN NASIONAL DALAM PEREKONOMIAN TIGA SEKTOR
Dosen: Atina Ahdika, S.Si., M.Si.
Anggaran biaya konversi
Junaidi Fakultas Ekonomi dan Bisnis Universitas Jambi
Pemodelan dan Analisis
Bab 4 Multivibrator By : M. Ramdhani.
Analisis Regresi – (Lanjutan)
Perkembangan teknologi masa kini dalam kaitannya dengan logika fazi
DISTRIBUSI PELUANG KONTINU
FETAL PHASE Embryolgy II
Yusuf Enril Fathurrohman
Sampling Pekerjaan.
Gerbang Logika Dwi Indra Oktoviandy (A )
SUGIYO Fisika II UDINUS 2014
D10K-6C01 Pengolahan Citra PCD-04 Algoritma Pengolahan Citra 1
Perpajakan di Indonesia
Bab 2 Kinerja Perusahaan dan Analisis Laporan Keuangan
Penyusunan Anggaran Bahan Baku
MOMENTUM, IMPULS, HUKUM KEKEKALAN MOMENTUM DAN TUMBUKAN
Theory of Computation 3. Math Fundamental 2: Graph, String, Logic
Strategi Tata Letak.
Theory of Computation 2. Math Fundamental 1: Set, Sequence, Function
METODE PENELITIAN.
PENGUJIAN HIPOTESIS.
(Skewness dan kurtosis)
Departemen Teknik Mesin dan Biosistem INSTITUT PERTANIAN BOGOR
Dasar-dasar piranti photonik
Klasifikasi Dokumen Teks Berbahasa Indonesia
Mekflu_1 Rangkaian Pipa.
Digital to Analog Conversion dan Rekonstruksi Sinyal Tujuan Belajar 1
SEKSI NERACA WILAYAH DAN ANALISIS BPS KABUPATEN TEMANGGUNG
ASPEK KEPEGAWAIAN DALAM PENILAIAN ANGKA KREDIT
RANGKAIAN DIODA TK2092 Elektronika Dasar Semester Ganjil 2015/2016
Ruang Euclides dan Ruang Vektor 1.
Bab Anuitas Aritmetrik dan Geometrik
Penyelidikan Operasi Pemrograman Dinamik Deterministik.
Kesetimbangan Fase dalam sistem sederhana (Aturan fase)
ANALISIS STRUKTUR MODAL
Transcript presentasi:

3D Viewing & Projection

Konsep 3D Untuk mendapatkan tampilan 3D yang dimodelkan dalam koordinat dunia, pertama harus menentukan koordinat referensi untuk “kamera” Koordinat referensi ini mendefinisikan posisi dan orientasi utk bidang datar kamera, yang digunakan untuk menampilkan objek

Konsep 3D Deskripsi objek dikirim ke koordinat referensi kamera dan diproyeksikan ke display plane (bidang datar untuk tampilan) Titik-titik di dunia nyata dipetakan ke dalam ruang 2 dimensi objek Display plane y kamera x z

Konsep 3D Cahaya menyebabkan suatu objek dapat terlihat Warna objek ditentukan dari properti objek tersebut

Daftar Istilah Bidang proyeksi/projection plane = bidang pandang/view plane, didefinisikan dengan view reference point (VRP) pada koordinat dunia dan view plane normal (VPN) VPN merupakan arah pandang, dan arah atas yang tegak lurus dengannya merupakan Vektor Up (VUP), dan yang ketiga adalah vektor yang tegak lurus dengan VPN dan VUP Viewing reference coordinate (VRC) didefinisikan pada bidang pandang dengan VRP sebagai origin Pusat proyeksi / center of projection (COP)

kamera objek Bidang pandang y x y z z x Koordinat Dunia Pusat proyeksi Proyektor Koordinat Viewing

Tranformasi Koordinat Dunia Ke Koordinat Kamera y x z y x z Pref = koordinat view reference point di koordinat dunia Peye = letak kamera di sistem koordinat kamera

Tranformasi Koordinat Dunia Ke Koordinat Kamera Kamera mengarah ke sumbu z negatif y Sistem Koordinat Kamera harus disusun dahulu x z y x -z z Pref = koordinat view reference point di koordinat dunia Pcam / Peye = letak kamera di sistem koordinat kamera

Menyusun Sistem Koordinat Kamera v u Y / Vup X Z - Z Pref Pcam

Menyusun Sistem Koordinat Kamera Perhatikan arah kamera ke sumbu z negatif, berarti vektor untuk sumbu z negatif tersebut dihitung dengan cara Pref – Pcam. Maka arah sumbu z positif adalah Pcam – Pref. Asosiasikan sumbu z tersebut dengan vektor n. Vektor n ini harus normal maka dapat dihitung dengan cara : n = Pcam – Pref / |Pcam – Pref |.

Menyusun Sistem Koordinat Kamera Setelah vektor n terbentuk, ada dua vektor lagi yang perlu dibentuk, yaitu u dan v. Asosiasikan u dengan x dan v dengan y. Yang perlu diperhatikan adalah ketiga vektor tersebut harus Orthonormal (saling tegak lurus dan normal). Pertama, kita menentukan vektor pandang atas / Vup sebagai vektor v. Dimana vektor pandang ini sebagai sumbu y, maka bisa ditentukan nilainya adalah (0,1,0). Tapi ini belum tentu Orthonormal dengan n, maka solusinya tentukan dulu vektor u, dimana vektor u harus tegak lurus dengan Vup dan n. Maka dapat dihitung u = Vup x n / |Vup x n| (ingat aturan tangan kanan dan cross product)

Menyusun Sistem Koordinat Kamera Setelah n dan u ditemukan, maka yang terakhir kita dapat menentukan vektor v. Vektor v tegak lurus dengan vektor u dan n maka v = n x u. (ingat aturan tangan kanan dan cross product). Maka setelah u,v,n terbentuk, sistem koordinat kamera sudah dapat didefinisikan.

Menyusun Sistem Koordinat Kamera v = n x u n v u

Tranformasi Koordinat Dunia Ke Koordinat Kamera Translasi ke origin y x z y x -z u v n z Pref = koordinat view reference point di koordinat dunia Peye = letak kamera di sistem koordinat kamera

Translasi Ke Origin Setelah sistem koordinat kamera terbentuk, maka harus dipindah dan disesuaikan ke origin dari koordinat kamera Untuk mengembalikan ke posisi origin maka dilakukan matriks inverse translasi dari koordinat kamera. 1 0 0 −𝑡𝑥 0 1 0 −𝑡𝑦 0 0 0 0 1 0 −𝑡𝑧 1 = 1 0 0 −𝑃𝑐𝑎𝑚𝑥 0 1 0 −𝑃𝑐𝑎𝑚𝑦 0 0 0 0 1 0 −𝑃𝑐𝑎𝑚𝑧 1

Tranformasi Koordinat Dunia Ke Koordinat Kamera Rotasi untuk menyesuaikan y x y z y x -z x z z Pref = koordinat view reference point di koordinat dunia Peye = letak kamera di sistem koordinat kamera

Rotasi Untuk Menyesuaikan Untuk menyesuaikan ke sistem koordinat maka dapat juga dikatakan bahwa titik yang yang akan dipindah ke koordinat kamera diproyeksikan ke sistem koordinat kamera (u,v,n). Maka : 𝑢 𝑣 𝑛 . P = 𝑢𝑥 𝑢𝑦 𝑢𝑧 0 𝑣𝑥 𝑣𝑦 𝑣𝑧 0 𝑛𝑥 𝑛𝑦 𝑛𝑧 0 0 0 0 1 . 𝑥 𝑦 𝑧

Matriks Transformasi Ke Koordinat Kamera Berdasarkan penjelasan sebelumnya maka urutan transformasinya adalah translasi kemudian rotasi. Tidak berlaku sebaliknya. Maka bisa didefinisikan matriks gabungan untuk transformasi ke koordinat kamera adalah M = R.T M adalah matriks transformasi ke koordinat kamera R adalah matriks rotasi dan T adalah matriks translasi Jadi untuk mendapatkan posisi titik di koordinat kamera rumusnya adalah : Koord_cam = M.Koord_dunia

Contoh Soal Sebuah titik Pref (0,1,4) dilihat dari kamera yang posisinya di Pcam(4,4,4) dengan vektor arah pandang atas Vup(0,1,0). Tentukan posisi titik tersebut terhadap bidang pandang kamera.

Jawaban Ingat, ada dua langkah : Susun sistem koordinat kamera Pindah ke origin dari kamera

Langkah 1 : susun koordinat kamera v = n x u = ( 4 5 , 3 5 ,0) x (0,0,-1) = (− 3 5 , 4 5 ,0)

Langkah 2 : pindah ke origin kamera Koord_cam = M.koord_dunia = R.T.koord_dunia M = 𝑢𝑥 𝑢𝑦 𝑢𝑧 0 𝑣𝑥 𝑣𝑦 𝑣𝑧 0 𝑛𝑥 𝑛𝑦 𝑛𝑧 0 0 0 0 1 . 1 0 0 −𝑃𝑐𝑎𝑚𝑥 0 1 0 −𝑃𝑐𝑎𝑚𝑦 0 0 0 0 1 0 −𝑃𝑐𝑎𝑚𝑧 1 = 0 0 −1 0 − 3 5 4 5 0 0 4 5 3 5 0 0 0 0 0 1 . 1 0 0 −4 0 1 0 −4 0 0 0 0 1 0 −4 1 = 0 0 −1 4 − 3 5 4 5 0 − 4 5 4 5 3 5 0 − 28 5 0 0 0 1

Koord_cam = M.koord_dunia Jadi posisi titik di koordinat dunia adalah di (0,0,-5)

Proyeksi Koordinat dunia -> koordinat kamera -> proyeksi objek 3 dimensi ke bidang pandang 2 dimensi 2 metode : proyeksi paralel dan proyeksi proyeksi perspektif Objek yang diproyeksikan ditentukan dengan menghitung perpotongan garis proyeksi dengan bidang pandang

Proyeksi Paralel Posisi koordinat ditransformasi ke bidang pandang sejalan dengan garis sejajar/paralel

Proyeksi Perspektif

Proyeksi Perspektif Posisi objek ditransformasikan ke bidang pandang sejalan dengan garis-garis yang bertemu di sebuah titik, yang disebut projection reference point (prp)

Viewing Frustrum Viewing frustrum Field of view (fovy) Width (w) Height (h) Projection Reference Point (prp) / Posisi kamera (Peye) near far Aspect ratio = width / height

Proyeksi Perspektif (x,y,z) (x’,y’,z’) = (x’,y’,d) (0,0,0) θ d View plane

Proyeksi Perspektif (x,y,z) (x’,y’,z’) = (x’,y’,d) (0,0,0) 1 θ d View plane Θ = fovy / 2 d = cot Θ x‘ / d = x / z -> x’ = d.x / z y‘ / d = y / z -> y’ = d.y / z

Ingat : Trigonometri Jadi : cot Θ = b / a = 1 / tan Θ = cos Θ / sin Θ

Matriks (tanpa aspect ratio) x‘ / d = x / z -> x’ = d.x / z y‘ / d = y / z -> y’ = d.y / z Matriks = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 −1/𝑑 0 . 𝑥 𝑦 𝑧 ℎ = 𝑥 𝑦 𝑧 −𝑧/𝑑 Catatan : d negatif karena arah pandang ke z negatif Ingat koordinat homogen : (x/h, y/h, z/h, h), maka : 𝑥 −𝑧/𝑑 𝑦 −𝑧/𝑑 𝑧 −𝑧/𝑑 1 = − 𝑑.𝑥 𝑧 − 𝑑.𝑦 𝑧 −𝑑 1

Matriks (dengan aspect ratio) Matriks = 1 𝑎𝑠𝑝𝑒𝑐𝑡_𝑟𝑎𝑡𝑖𝑜 0 0 0 0 1 0 0 0 0 1 0 0 0 −1/𝑑 0 . d = 𝑑 𝑎𝑠𝑝𝑒𝑐𝑡_𝑟𝑎𝑡𝑖𝑜 0 0 0 0 𝑑 0 0 0 0 𝑑 0 0 0 −1 0 Catatan : d negatif karena arah pandang ke z negatif Ingat koordinat homogen : (x/h, y/h, z/h, h), maka :

Matriks (dengan memperhatikan near dan far) 𝑑 𝑎𝑠𝑝𝑒𝑐𝑡_𝑟𝑎𝑡𝑖𝑜 0 0 0 0 𝑑 0 0 0 0 𝑑 0 0 0 −1 0 -> 𝑑 𝑎𝑠𝑝𝑒𝑐𝑡_𝑟𝑎𝑡𝑖𝑜 0 0 0 0 𝑑 0 0 0 0 𝐴 𝐵 0 0 −1 0 𝐴 𝐵 −1 0 . 𝑧 1 = 𝐴𝑧+𝐵 −𝑧 , ingat koordinat homogen, maka Az+B/-z = -A – (B/z) z = -Near -> -n = -1 -> -A- (B/ -n) = -1 -> -A+(B/n) = -1 z = -Far -> -f = +1 -> -A – (B / -f) = +1 -> -A+(B/f) = +1 A dan B dipilih untuk memetakan near dan far ke -1 dan +1 (unit cube)

Matriks (dengan memperhatikan near dan far) Dengan menggunakan simultaneous equation pada : -A+(B/n) = -1 dan -A+(B/f) = +1 Maka didapat bahwa : A = - (𝑓+𝑛) (𝑓−𝑛) B = −2𝑓𝑛 (𝑓−𝑛) Substitusikan A dan B ke matriks fullnya, maka hasil jadi matriks proyeksi perspective dicantumkan di slide berikut.

Matriks Proyeksi Perspektif 𝑑 𝑎𝑠𝑝𝑒𝑐𝑡_𝑟𝑎𝑡𝑖𝑜 0 0 0 0 𝑑 0 0 0 0 − (𝑓+𝑛) (𝑓−𝑛) −2𝑓𝑛 (𝑓−𝑛) 0 0 −1 0 Ingat d = cot Θ, dimana Θ adalah fovy /2, maka : cot Θ 𝑎𝑠𝑝𝑒𝑐𝑡_𝑟𝑎𝑡𝑖𝑜 0 0 0 0 cot Θ 0 0 0 0 − (𝑓+𝑛) (𝑓−𝑛) −2𝑓𝑛 (𝑓−𝑛) 0 0 −1 0

gluPerspective (OpenGL) gluPerspective (fovy, aspect_ratio, zNear > 0, zFar > 0)

Contoh Soal Tiga buah titik A(0,0,0), B(1,0,0), C(0,0,1) membentuk segitiga ABC terletak di world coordinates system (sistem koordinat dunia). Kamera : Peye(3,1,3) Koordinat referensi objek di dunia : Pref (2,1,2) Vektor up : (0,1,0) near = 0.1, far = 10 fovy = 60o aspect ratio = 2.0 a. Tentukan posisi segitiga ABC relatif terhadap sistem koordinat mata / kamera ! b. Tentukan titik hasil proyeksi perspektif dari segitiga ABC tersebut !