Hidden Surface Removal (HSR)

Slides:



Advertisements
Presentasi serupa
PERSAMAAN GERAK LURUS smanda giri.
Advertisements

BAB III RUANG DIMENSI TIGA.
Gradien Oleh : Zainul Munawwir
Surface Rendering dan Warna
Grafika Komputer (TIZ10) Grafik 3D Disusun oleh Teady Matius Prodi Teknik Informatika – Universitas Bunda Mulia.
Hidden Surface Removal (HSR)
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 :
DEPARTEMEN TEKNIK ELEKTRO UNIVERSITAS INDONESIA
FI-1201 Fisika Dasar IIA Kuliah-03 Medan Listrik (1) PHYSI S.
Pengantar Vektor.
PERSAMAAN GARIS PROGRAM STUDI PENDIDIKAN MATEMATIKA Oleh Kelompok 4 :
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
INTEGRAL PERMUKAAN.
S1 Teknik Informatika Disusun Oleh Dr. Lily Wulandari
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.
MATERI POKOK YANG DISAJIKAN
Fungsi Riri Irawati, M.Kom 3 sks.
(Tidak mempunyai arah)
Pertemuan 4 Fungsi Linier.
MATEMATIKA BISNIS Sri Nurmi Lubis, S. Si
GEOMETRI DALAM BIDANG Pertemuan 14.
MEDAN LISTRIK Fandi Susanto S.Si.
NILAI MUTLAK PERSAMAAN GARIS FUNGSI
ASSALAMUALAIKUM WR WB.
Konsep 3D dan Representasi Objek 3D
Dasar teori dan algoritma grafika komputer
DOSEN Fitri Yulianti, SP, MSi.
3D Elisabeth, S.kom.
Proyeksi.
PENJUMLAHAN VEKTOR SMA Titian Teras Jambi UNTUK SMA KELAS X (SEPULUH)
BAB III RUANG DIMENSI TIGA.
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
P. XII z n bidang. GARIS DAN BIDANG DALAM RUANG BERDIMENSI 3
Sistem Koordinat dan Bentuk Dasar Geometri (Output Primitif)
ALJABAR LINIER & MATRIKS
BAB 3 VEKTOR 2.1.
Pertemuan ke-7 FUNGSI LINIER.
BAB I ANALISIS VEKTOR 1.1 SKALAR DAN VEKTOR Skalar Vektor Medan skalar
Fungsi Kuadrat HOME NEXT PREV a. Persamaan grafik fungsi kuadrat
Grafik Fungsi Aljabar next
Matriks dan Aljabar Linier-Garis dan Bidang di Ruang Dimensi 3
Konsep 3D dan Representasi Objek 3D
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.
BAB 2 VEKTOR 2.1.
Pertemuan 2 – Pendahuluan 2
PERTEMUAN 6 Cross Product, Garis dan Bidang di Ruang-3.
D3 Manajemen Informatika S1 Sistem Informasi
PERSAMAAN LINIER DUA VARIABEL.
Bab 2 Fungsi Linier.
BAB III RUANG DIMENSI TIGA.
Komponen vektor merupakan proyeksi vektor pada sumbu sistem koordinat
SISTEM KOORDINAT NURFARIDA F. Universitas Negeri Jakarta 2019.
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