Hidden Surface Removal (HSR)

Slides:



Advertisements
Presentasi serupa
PERSAMAAN GERAK LURUS smanda giri.
Advertisements

BAB III RUANG DIMENSI TIGA.
Oleh : Novita Cahya Mahendra
ASSALAMUALAIKUM WR. WB VIII B MENENTUKAN GRADIEN By : Ratna Rahmadani.
Riset Operasional Pertemuan 9
KINEMATIKA GERAK LURUS
Bentuk Koordinat Koordinat Kartesius, Koordinat Polar, Koordinat Tabung, Koordinat Bola Desember 2011.
Materi Kuliah Kalkulus II
Surface Rendering dan Warna
Grafika Komputer (TIZ10) Grafik 3D Disusun oleh Teady Matius Prodi Teknik Informatika – Universitas Bunda Mulia.
INTEGRAL PERMUKAAN.
Vektor dan Skalar Vektor adalah Besaran yang mempunyai besar dan arah.
Vektor GARIS DAN BIDANG DALAM RUANG BERDIMENSI 3
HASIL KALI SILANG.
BAB 2 MEDAN LISTRIK Hukum Coulomb :
Persamaan Garis Singgung pada Kurva
FI-1201 Fisika Dasar IIA Kuliah-03 Medan Listrik (1) PHYSI S.
Pengantar Vektor.
By Eni Sumarminingsih, SSi, MM
PEMBANGKITAN CITRA GRAFIK Dosen :Dewi Octaviani, S.T, M.C.s
MATEMATIKA BISNIS PERTEMUAN kedua Hani Hatimatunnisani, S. Si
PERSAMAAN GARIS PROGRAM STUDI PENDIDIKAN MATEMATIKA Oleh Kelompok 4 :
ASSALAMUALAIKUM WR WB.
Grafika Komputer (Defiana Arnaldy, M.Si)
BAB V (lanjutan) VEKTOR.
ALJABAR LINIER & MATRIKS
Vektor Ruang Dimensi 2 dan Dimensi 3
BAB V (lanjutan) VEKTOR.
Persamaan Kuadrat jika diketahui grafik fungsi kuadrat
Grafika Komputer PS Teknik Informatika
D3 Manajemen Informatika S1 Sistem Informasi
KOMPUTER GRAFIK Algoritma Garis Naïve dan DDA
S1 Teknik Informatika Disusun Oleh Dr. Lily Wulandari
Hubungan Non Linier Pemahaman fungsi non linier dalam mempelajari ilmu pertanian juga penting meskipun banyak hubungan antara variabel dapat dijelaskan.
Pengertian garis Lurus Koefisien arah/gradien/slope
INTEGRAL PERMUKAAN.
S1 Teknik Informatika Disusun Oleh Dr. Lily Wulandari
KOMPUTER GRAFIKA TRANSFORMASI 3D (KONSEP 3 DIMENSI)
QUIZ Diketahui vektor a, b, dan c:
PROYEKSI SIKU-SIKU gambar proyeksi siku-siku dilihat dari enam arah pandang yaitu Pandangan Atas (PA) adalah tampak benda bila dilihat dari atas Pandangan.
Clipping Edy Mulyanto.
(Tidak mempunyai arah)
MATEMATIKA BISNIS Sri Nurmi Lubis, S. Si
Gambar ini menjelaskan prosedur untuk pengisian solid dari poligon Gambar ini menjelaskan prosedur untuk pengisian solid dari poligon. Titik potong.
MEDAN LISTRIK Fandi Susanto S.Si.
Pengantar Grafika 3D Fakultas Ilmu Komputer 2014
Teknologi Dan Rekayasa TECHNOLOGY AND ENGINERRING
ASSALAMUALAIKUM WR WB.
Hidden Surface Removal (HSR)
Konsep 3D dan Representasi Objek 3D
Dasar teori dan algoritma grafika komputer
3D Elisabeth, S.kom.
Proyeksi.
PENJUMLAHAN VEKTOR SMA Titian Teras Jambi UNTUK SMA KELAS X (SEPULUH)
Akibat Muatan Garis dan Muatan Bidang
P. XII z n bidang. GARIS DAN BIDANG DALAM RUANG BERDIMENSI 3
Pertemuan ke-7 FUNGSI LINIER.
Fungsi Kuadrat HOME NEXT PREV a. Persamaan grafik fungsi kuadrat
Grafik Fungsi Aljabar next
LATIHAN04-1 Soal 1 : Diberikan D = dalam koordinat bola .
Matriks dan Aljabar Linier-Garis dan Bidang di Ruang Dimensi 3
Konsep 3D dan Representasi Objek 3D
Teknologi Dan Rekayasa TECHNOLOGY AND ENGINERRING Mapping And Surveing Department MACAM-MACAM GARIS.
Ihr Logo Dasar teori dan algoritma grafika komputer.
S1 Teknik Informatika Disusun Oleh Dr. Lily Wulandari
3D Viewing & Projection.
Peta Konsep. Peta Konsep B. Kedudukan Dua Garis.
MEDAN LISTRIK.
D3 Manajemen Informatika S1 Sistem Informasi
D3 Manajemen Informatika 2 DB 23
Transcript presentasi:

Hidden Surface Removal (HSR)

Hidden Surface Removal Sering disebut juga visible surface detection Salah satu cara untuk mempercepat pemrosesan grafik 3D. Dengan cara menghilangkan semua permukaan yang tidak terlihat (yang menghadap ke belakang, atau tertutup objek lain) Waktu yang diperlukan untuk memproses sebuah scene menjadi cepat

Hidden Surface Removal Tepat Tidak boleh menghapus permukaan yang seharusnya terlihat Efisien Semua permukaan yang tidak terlihat tidak perlu diproses

Metode Painter’s Algorithm Z-Buffering Back Space Detection Ray Casting

Painter’s Algorithm PROBLEM :

Depth Cueing Intensitas dan efek yang berbeda untuk jarak yang berbeda

Z-Buffering Membandingkan kedalaman permukaan pada tiap posisi pixel pada bidang proyeksi Mencatat semua koordinat Z setiap titik yang diletakkan di layar Ketika akan menampilkan koordinat, dibandingkan dengan koordinat lain untuk melihat apakah ada yang menghalangi di depan, jika ada maka koordinat tersebut tidak perlu digambar

Z-Buffering Memori yang dibutuhkan untuk implementasi adalah sebesar lebar dikali panjang memori layar Memerlukan 2 buffer : depth buffer dan refresh buffer Depth buffer menyimpan nilai kedalaman untuk setiap posisi (x,y) Refresh buffer menyimpan nilai intensitas untuk setiap posisi

Langkah-Langkah Z-Buffering Pertama-tama, semua posisi pada depth buffer di-set 0 (kedalaman minimum), dan refresh buffer di-set pada intensitas background. Tiap permukaan pada polygon diproses, menghitung kedalaman (nilai z) pada tiap posisi pixel (x,y). Nilai z hasil perhitungan dibandingkan dengan nilai yang disimpan sebelumnya pada posisi (x,y) yang sama. Jika nilai z hasil perhitungan lebih besar maka simpan nilai z yang baru, dan nilai intensitas permukaan ditentukan di refresh buffer

Langkah-Langkah Z-Buffering Inisialisasi depth buffer dan refresh buffer untuk posisi (x,y) Depth (x,y) = 0, refresh(x,y) = Ibackgnd Untuk tiap posisi pada setiap permukaan polygon, bandingkan nilai kedalaman dengan nilai kedalaman sebelumnya yang tersimpan di depth buffer Hitung kedalaman z untuk tiap posisi (x,y) pada polygon jika z > depth(x, y), maka set : depth(x,y) = z, refresh(x,y) = Isurface(x,y) Ibackgnd = nilai intensitas background Isurface = nilai intensitas permukaan pada posisi pixel (x,y)

z-buffer(x,y)=max depth COLOR(x,y)=warna background for(tiap polygon P dalam daftar polygon) do{ for(tiap pixel(x,y) pada P) do{ Hitung z-depth pada P di (x,y) If (z-depth > z-buffer[x,y]) then{ z-buffer[x,y]=z-depth; COLOR(x,y)=intensitas P di (x,y); }

Z-Buffering Kelebihan Kekurangan Waktu yang diperlukan meningkat linier terhadap jumlah polygon Dapat merender scene yang kompleks dengan benar Mudah diimplementasikan Kekurangan Butuh banyak memori Cukup lambat

Contoh

Jawab

Z-Buffer Sebuah titik (x,y,z) berada dipermukaan polygon, bila Ax + By + Cz + D = 0, maka

Contoh Diketahui 3 buah polygon A,B, dan C dengan persamaan berikut Polygon A: fA(x,y, z) = 2x + 12y – 4z + 8 Polygon B: fB(x,y,z) = 4x – 6y + 2z – 6 Polygon C: fC(x,y,z) = 8x – 4y + 4z – 8 Tentukan depth-buffer dari ketiga polygon tersebut untuk bidang pandang berikut Bila ketiga polygon tersebut digambar dilayar menggunakan algoritma depth-buffer, tentukan, polygon mana yang tampak dilayar untuk bidang pandang tersebut.

Back Face Detection Pada objek solid, ada permukaan yang menghadap ke penonton dan ada yang berlawanan dengan penonton (front faces) (back faces). Misal : sumbu z menunjuk ke penonton. Jika komponen z dari vektor adalah negatif maka back face, jika positif maka front face

Back Face Detection Permukaan polygon (A,B,C,D adalah parameter bidang permukaan polygon) f(x,y,z) = Ax + By + Cz + D Vektor normal N dari permukaan : N(A,B,C)

Back Face Detection Sebuah titik (x,y,z) berada dibelakang permukaan polygon bila Ax + By + Cz + D < 0

Back Face Detection Titik pandang (kamera) : Vview(xv,yv,zv) Permukaan polygon di belakang titik pandang (tidak nampak) jika : N . Vview > 0 Arah pandang adalah sumbu z negatif Vview = ( 0,0, −1) Permukaan polygon berada di belakang jika: (A,B,C) .(0,0,−1) > 0, − C > 0 Atau C ≤ 0

Contoh 1 Permukaan normal segitiga N(0.5 , 0.8 , 0.1) menuju keluar permukaan depan segitiga Sebuah verteks pada segitiga adalah (3,2,2) dan kamera (1,8,0). Apakah permukaan depan dari segitiga tersebut terletak dibelakang atau didepan kamera? Atau apakah kamera bisa melihat bagian permukaan depan dari segitiga tersebut ? N = (0,5 , 0,8 , 0,1) Permukaan depan

Jawab Vview adalah vektor dari kamera ke verteks segitiga, yaitu: Vview = (3,2,2) – (1,8,0) = (2, –6,2) N . Vview = (0,5 , 0,8 , 0,1) . (2, –6,2) = (0,5). (2) + (0,8).(–6) + (0,1).(2) = – 3,6 Hasil N . Vview negatif maka bisa dilihat

Contoh 2 Kamera berada di posisi (2,1,5). Sebuah bidang mempunyai persamaan 5x + 3y – 2z + 12 = 0. Apakah bidang tersebut berada dibelakang atau didepan kamera? Jawab : 5(2) + 3(1) – 2(5) + 12 = 15 > 0 Karena itu, bidang berada di depan kamera.

Ray Casting Jika kita memancarkan sebuah garis lurus dari sebuah posisi pixel pada bidang pandang, kita dapat menentukan objek apa yang berpotongan dengan garis tersebut. Setelah menghitung semua titik perpotongan, kita mengidentifikasi bahwa permukaan yang dapat dilihat adalah yang mempunyai titik perpotongan terdekat

Ray Casting