pertemuan 14 hidden surface removal

18
Hidden Surface Removal

Upload: rosmita-amalia-pratama-mahdi

Post on 29-Nov-2015

88 views

Category:

Documents


5 download

DESCRIPTION

Hidden surface removal adalah suatu algoritma yangdigunakan untuk menghilangkan penampilan bagianyang tertutup oleh objek yang didepannya.• Apabila ada dua bidang yang berpotongan, apabiladitampilkan biasa tanpa menggunakan algoritmaditampilkan biasa tanpa menggunakan algoritmaHidden surface removal maka bagian yangberpotongan itu akan tidak kelihatan, oleh karenabidang yang satu ditutupi oleh bagian yang lain tanpamemotong. Oleh karena itu untuk menampilkan bidangperpotongan, diperlukan Algoritma Hidden surfaceremoval

TRANSCRIPT

Page 1: Pertemuan 14 Hidden Surface Removal

Hidden Surface Removal

Page 2: Pertemuan 14 Hidden Surface Removal

1. Pendahuluan

• Hidden surface removal adalah suatu algoritma yangdigunakan untuk menghilangkan penampilan bagianyang tertutup oleh objek yang didepannya.

• Apabila ada dua bidang yang berpotongan, apabiladitampilkan biasa tanpa menggunakan algoritmaditampilkan biasa tanpa menggunakan algoritmaHidden surface removal maka bagian yangberpotongan itu akan tidak kelihatan, oleh karenabidang yang satu ditutupi oleh bagian yang lain tanpamemotong. Oleh karena itu untuk menampilkan bidangperpotongan, diperlukan Algoritma Hidden surfaceremoval.

Page 3: Pertemuan 14 Hidden Surface Removal

Pendahuluan

• Penggambaran yang dilakukan dengan komputermemungkinkan untuk menghasilkan gambar objek bendatiga dimensi yang menyerupai dengan bentuk yangsebenarnya.

• Objek tiga dimensi ini mempunyai kedalaman arah x,y danz. Untuk menggambarkan objek tersebut secara nyata makaz. Untuk menggambarkan objek tersebut secara nyata makabagian yang tidak tampak dari titik pandang harusdihilangkan, permukaan objek yang berada di belakangpermukaan objek yang lainnya harus disembunyikan.

• Bilamana ada dua permukaan bidang yang berpotonganmaka bagian bidang yang tidak terlihat dari titik pandangjuga harus disembunyikan.

Page 4: Pertemuan 14 Hidden Surface Removal

2. Algoritma HSR

• Untuk melakukan penggambaran objek tigadimensi untuk menampilkan bagian yang terlihatatau tampak dari titik pandang maka telahdikembangkan algoritma yang dikenal denganAlgoritma Hidden Surface Removal.Algoritma Hidden Surface Removal.

• Dari bermacam bentuk algoritma yang ada, akandibahas dua algoritma untuk dibandingkan manayang terbaik ditinjau dari ukuran memori yangdipergunakan dan kecepatan eksekusi, yaitualgoritma Z Buffer dan algoritma Scan Line.

Page 5: Pertemuan 14 Hidden Surface Removal

a. Algoritma Z Buffer

• Algoritma Depth Buffer adalah salah satu dari algoritma Hidden surfaceremoval yang mempergunakan image space sebagai dasar prosespenghitungan tampak atau tidaknya permukaan suatu objek. Algoritma inimelakukan scaning satu kali untuk suatu permukaan objek sampai prosesberakhir.

• Algoritma ini menguji tampak atau tidaknya setiap pixel pada suatupermukaan objek yang satu terhadap permukaan objek yang lain danharga permukaan yang paling dekat dengan bidang pandang yang akanharga permukaan yang paling dekat dengan bidang pandang yang akantersimpan di dalam Depth Buffer dan selanjutnya harga intensitas warnadari permukaan pixel tersebut disimpan di dalam Refresh Buffer ataualgoritma Depth Buffer ini akan menampilkan bagian permukaan objekberdasarkan posisi z yang paling dekat dengan bidang pandang denganproyeksi orthogonal atau proyeksi tegak lurus.

• Permukaan untuk suatu titik pada (x,y) untuk setiap permukaan objek diujimana yang paling dekat dengan bidang pandang. Untuk setiap titik posisi(x,y) pada bidang pandang, permukaan dengan z koordinat terbesar padaposisi itu akan terlihat.

Page 6: Pertemuan 14 Hidden Surface Removal

• Gambar 1 memperlihatkan tiga permukaanbidang pada berbagai kedalaman z dengan posisi(x,y) yang sama untuk setiap permukaan.

Gambar 1. Posisi (x,y) pada BerbagaiKedalaman Z

Page 7: Pertemuan 14 Hidden Surface Removal

Gambar 2. Penampakan S1,S2,S3 pada

• Pada Gambar 2 dapat dilihat bahwa permukaanS1 mempunyai harga z terkecil pada posisi (x,y) ini sehingga harga z disimpan pada Depth Buffer dan harga intensitas S1 pada (x,y) disimpan padaRefresh Buffer.

Gambar 2. Penampakan S1,S2,S3 padaKoordinat (x,z)

Page 8: Pertemuan 14 Hidden Surface Removal

• Algoritma ini membutuhkan dua buffer untukimplementasi, yaitu : Buffer Depth dan Buffer Refresh.– Depth Buffer digunakan untuk menyimpan harga

kedalaman atau harga z masingmasing pixel untuksetiap permukaan objek pada posisi xy pada layarkedalaman atau harga z masingmasing pixel untuksetiap permukaan objek pada posisi xy pada layarsebagai batasan daerah permukaan yang dibandingkan.

– Refresh Buffer digunakan menyimpan hargaintensitas(warna) yang dimiliki oleh masing-masing posisi pixel permukaan yang tersimpan pada Depth Buffer

Page 9: Pertemuan 14 Hidden Surface Removal

• Langkah- langkah algoritma Depth Buffer adalahsebagai berikut :– Inisialisasi Depth Buffer dan Refresh Buffer sehingga

untuk semua koordinat posisi(x,y) depth(x,y) =0 dan refresh(x,y)= background.

– Untuk setiap posisi pada permukaan, bandingkan– Untuk setiap posisi pada permukaan, bandingkanharga kedalaman terhadap harga yang tersimpan padadepth buffer untuk menentukan penampakan.

• Hitung harga z untuk setiap posisi(x,y) pada permukaan.• Jika z>depth(x,y), kemudian masukan depth(x,y) = z dan

refresh (x,y) = i, dimana i adalah harga dari intensitas padaposisi(x,y) di atas permukaan.

Page 10: Pertemuan 14 Hidden Surface Removal

• Pada langkah terakhir, jika z lebih kecil dari harga DepthBuffer untuk posisi tersebut, titik tidak tampak. Ketikaproses ini selesai untuk semua permukaan, DepthBuffer berisi harga z untuk permukaan yang tampakdan Refresh Buffer berisi hanya harga intensitas.

• Metode Depth Buffer tidak membutuhkan sorting dari• Metode Depth Buffer tidak membutuhkan sorting daripermukaan sebuah gambar.

• Sebagai contoh, sebuah sistem dengan resolusi 1024 x1024 membutuhkan lebih dari 1 juta posisi dalamDepth Buffer, dengan setiap posisi berisi bit-bit yangcukup untuk menyatakan keperluan peningkatan darikoordinat z.

Page 11: Pertemuan 14 Hidden Surface Removal

b. Algoritma Scan-Line

• Algoritma Scan Line adalah salah satu darialgoritma Hidden Surface Removal yangdigunakan untuk memecahkan masalahpenggunaan memori yang besar dengan satubaris scan untuk memproses semua permukaanobjek, biasanya Scan Line akan men-sweepingbaris scan untuk memproses semua permukaanobjek, biasanya Scan Line akan men-sweepinglayar dari atas ke bawah.

• Sebuah baris scan horisontal bidang y di cobauntuk semua permukaan dari objek. Perpotonganantara baris scan dan permukaan adalah berupasebuah garis.

Page 12: Pertemuan 14 Hidden Surface Removal

Algoritma Scan-Line

• Algoritma melakukan scan dengan arah sumbu y sehinggamemotong semua permukaan bidang dengan arah sumbu xdan z dan membuang garis-garis yang tersembunyi.

• Sebagai ganti menscan suatu permukaan satu kali dalam satuproses, maka akan berhubungan dengan menscan banyakpermukaan dalam satu kali proses. Sebagaimana setiap barisscan diproses, semua permukaan polygon dipotong oleh barispermukaan dalam satu kali proses. Sebagaimana setiap barisscan diproses, semua permukaan polygon dipotong oleh barisscan untuk menentukan mana yang tampak. Pada setiapposisi sepanjang baris scan, perhitungan kedalaman dibuatuntuk setiap permukaan untuk menentukan mana yangterdekat dari bidang pandang. Ketika permukaan yang tampaksudah ditentukan, harga intensity dimasukkan ke dalam buffer

Page 13: Pertemuan 14 Hidden Surface Removal

Gambar 3. Operasi Scanline, Baris ScanMemotong Objek

Page 14: Pertemuan 14 Hidden Surface Removal

3. Alur Proses Algoritma Z Buffer

Page 15: Pertemuan 14 Hidden Surface Removal

• Alur proses Hidden Surface Removal dengan menggunakanalgoritma Z Buffer dapat dilihat pada Gambar 4. Proses yang dilakukan oleh Z Buffer adalah:– Meng-inisialisasi isi Buffer– Melakukan uji penampakan keseluruhan bagian permukaan

setiap link mulai dari awal link hingga akhir link sebanyak 1 kali.– Memindahkan/menampilkan seluruh isi Z Buffer

• Jadi bilamana Z Buffer melakukan proses Hidden Surface Removal secara lengkap maka Z Buffer sudah melakukan:

Menginisialisasi Depth Buffer dan Refresh Buffer yang berukuran– Menginisialisasi Depth Buffer dan Refresh Buffer yang berukuransebesar bidang gambar.

– Berpindah dari link ke link berikutnya hanya satu kali dimulaidari awal link data permukaan hingga akhir link data permukaanuntuk uji penampakan.

– Memindahkan/menampilkan isi Refresh Buffer yang berukuransebesar bidang gambar.

Page 16: Pertemuan 14 Hidden Surface Removal

4. Alur Proses Algoritma Scan Line

Page 17: Pertemuan 14 Hidden Surface Removal

• Alur proses Hidden Surface Removal denganmenggunakan algoritma Scan Line dapat dilihat pada Gambar slide sebelumnya.

• Yang dilakukan oleh Algoritma Scan Line • Yang dilakukan oleh Algoritma Scan Line secara garis besar adalah:– Meng-inisialisasi Buffer secara berulang.– Melakukan scan baris yang diperlukan.– Memindahkan/menampilkan isi buffer satu baris

secara berulang.

Page 18: Pertemuan 14 Hidden Surface Removal

Referensi

• Ammeraal, Leendert, Programming Principles in Computer Graphic, Chichester: Wiley Professional Computing, 1992.

• Sproull, Robert F., Device Independent Graphics, Singapore, Mc Graw Hill Book Co.,1989.Singapore, Mc Graw Hill Book Co.,1989.

• Rogers, David F., Mathematical Elements for Computer Graphic, NewYork: Mc- Graw Hill,1990.

• Wolfram, Stephen, Mathematica, A System for Doing Mathematics by Computer, Redwood City, California: Addison Wesley Publishing Co, 1991.