3D Viewing & Projection.

Slides:



Advertisements
Presentasi serupa
BAB 2 VEKTOR Besaran Skalar Dan Vektor
Advertisements

BAB 1 ANALISIS VEKTOR 1.1 SKALAR DAN VEKTOR Skalar Vektor Medan skalar
Vektor Vektor memiliki besaran dan arah. Beberapa besaran fisika yang
BAB 3 PERSAMAAN GARIS LURUS Terdiri dari dua sumbu koordinat
Transformasi geometri.  Pemindahan objek (titik, garis, bidang datar) pada bidang.  Perubahan yang (mungkin) terjadi: Kedudukan / letak Arah Ukuran.
Grafika Komputer (TIZ10) Grafik 3D Disusun oleh Teady Matius Prodi Teknik Informatika – Universitas Bunda Mulia.
Hidden Surface Removal (HSR)
Aljabar Vektor (Perkalian vektor-lanjutan)
Grafika Komputer (TIZ10)
Transformasi Geometri 2 Dimensi
KOMPUTER GRAFIKA TRANSFORMASI 2D (ROTASI DAN SHEARING)
Grafika Komputer (Defiana Arnaldy, M.Si)
BAB V (lanjutan) VEKTOR.
BAB V (lanjutan) VEKTOR.
Imam Cholissodin| 06 | Viewing / Camera Imam Cholissodin|
Imam Cholissodin| 06 | Viewing / Camera Imam Cholissodin|
Matakuliah : D0684 – FISIKA I
Pengertian garis Lurus Koefisien arah/gradien/slope
KOMPUTER GRAFIKA TRANSFORMASI 3D (KONSEP 3 DIMENSI)
BAB I TEGANGAN DAN REGANGAN
Matematika SMK Persiapan Ujian Nasional Trigonometri Kelas/Semester: II/2.
PENGERTIAN SUDUT JURUSAN
PENGERTIAN SUDUT JURUSAN
TRANSFORMASI 2D.
Tri Rahajoeningroem,MT T. Elektro - UNIKOM
Transformasi Geometri Sederhana
Irma Damayantie, S.Ds., M.Ds Prodi Desain Interior - FDIK
GEOMETRI DALAM BIDANG Pertemuan 14.
Transformasi Geometri Sederhana
※ KOORDINAT KARTESIUS & KOORDINAT KUTUB
PERKALIAN VEKTOR Di sini ditanyakan apa yang dimaksud dengan fisika.
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
Transformasi geometri
Hidden Surface Removal (HSR)
Konsep 3D dan Representasi Objek 3D
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
VektoR.
Vektor Vektor memiliki besaran dan arah. Beberapa besaran fisika yang
Proyeksi.
PERPUTARAN ( ROTASI ) Selanjutnya P disebut pusat rotasi dan  disebut sudut rotasi.  > 0 jika arah putar berlawanan arah putaran jarum jam.
Akibat Muatan Garis dan Muatan Bidang
Aljabar Linear Elementer
Transformasi (Refleksi).
KOMPUTER GRAFIKA TRANSFORMASI 2D (ROTASI DAN SHEARING)
TRANSFORMASI OBJEK (TRANSFORMASI AFFINE 2D DAN 3D)
Vektor Vektor memiliki besaran dan arah. Beberapa besaran fisika yang
Transformasi 2 Dimensi.
BAB I ANALISIS VEKTOR 1.1 SKALAR DAN VEKTOR Skalar Vektor Medan skalar
Vektor Vektor memiliki besaran dan arah. Beberapa besaran fisika yang
Irma Damayantie, S.Ds., M.Ds. Prodi Desain Interior - FDIK
Transformasi Translasi
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
DIMENSI DUA transformasi TRANSLASI.
※ KOORDINAT KARTESIUS & KOORDINAT KUTUB
Kelas 1.C Nina Ariani Juarna Ghia Mugia Wilujeng Faujiah Lulu Kamilah.
VEKTOR.
Konsep 3D dan Representasi Objek 3D
Vektor Vektor memiliki besaran dan arah. Beberapa besaran fisika yang
Vektor Vektor memiliki besaran dan arah. Beberapa besaran fisika yang
Peta Konsep. Peta Konsep C. Penerapan Matriks pada Transformasi.
Transformasi Geometri 2 Dimensi
Peta Konsep. Peta Konsep A. Macam-Macam Transformasi.
※ KOORDINAT KARTESIUS & KOORDINAT KUTUB
Transformasi Geometri 2 Dimensi
Peta Konsep. Peta Konsep C. Transformasi Geometris.
Vektor Proyeksi dari
SYNTHETIC CAMERA Hieronimus Edhi Nugroho, M.Kom 12/6/2018
Komponen vektor merupakan proyeksi vektor pada sumbu sistem koordinat
Analisis Penampang Pertemuan – 12, 13, 14, 15
Irma Damayantie, S.Ds., M.Ds. Prodi Desain Interior - FDIK
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 !