Penghitungan Subset Visibilitas pada Suatu Orthogonal Polyhedron Jefri Marzal

  

Prosiding Semirata FMIPA Universitas Lampung, 2013

Penghitungan Subset Visibilitas pada Suatu Orthogonal

Polyhedron

  

Jefri Marzal

Program Studi Pendidikan Matematika FKIP Universitas Jambi

E-Mail: jeff_marsal@yahoo.com

  Abstrak : Problem visibilitas (visibility) adalah central untuk banyak aplikasi komputasi

geometri. Salah satu tipe dari problem visibilitas adalah penghitungan daerah penglihatan

  

(view) dari suatu titik pandang yang diberikan. Problem ini dirumuskan sebagai berikut:

misalkan terdapat suatu orthogonal polyhedron yang telah dipartisi menjadi sebuah

himpunan prisma segi-empat

   , dan misalkan c adalah sebuah titik dalam prisma segiempat tersebut, tentukanlah subset dari

   yang terlihat secara total dari c. Dalam

paper ini, suatu prosedur dengan kompleksitas linear diusulkan untuk menghitung subset

visibilitas dari titik pojok prisma segi-empat dalam suatu orthogonal polyhedron.

  Kata kunci : visibilitas, prisma segi-empat, orthogonal polyhedron

  Pendahuluan

  Visibilitas adalah sebuah konsep yang penting dalam komputasi geometri. Persoalan yang melibatkan visibilitas objek telah muncul dalam banyak bidang, misalnya dalam komputer grafik, layout

  VLSI, dan motion planning. Dengan demikian, perbaikan dalam konsep visibilitas akan berpengaruh pada bidang- bidang tersebut dan aplikasinya.

  Salah satu problem dalam visibilitas adalah problem menentukan apakah dua objek saling melihat secara total, parsial, atau tidak sama sekal . Dua titik disebut saling melihat jika segment garis yang menghubungkan kedua titik tersebut tidak terhalang oleh sembarang halangan. Study visibilitas sangat berhubungan dengan studi segment garis yang bebas dalam suatu pandangan (scene). Visibilitas juga dapat didefinisikan dalam istilah teori graph, dimana simpul-simpul mewakili titik-titik pandang, dan p dan q dikatakan saling melihat apabila terdapat sinar yang menghubungan ke dua titik tersebut .

  Penelitian tentang visibiltas dalam 2 dimensi sangat banyak dan berkembang , akan tetapi tidak banyak teori-teori tentang visibilitas 3 dimensi. Penelitian visibilitas 3 dimensi, pendeketanya saat ini kebanyakan adalah konstruktif bukan analitis. Bygi dan Ghodsi menjelaskan beberapa alasan kondisi ini, dan mereka mencoba mendefisisikan struktur geometri dalam ruang 3 dimensi .

  Salah satu persoalan visibilitas adalah bagaimana menghitung daerah pandangan dari suatu titik yang diberikan pada suatu bangun ruang. Dalam paper ini, penelitian berkenaan dengan varian dari persoalan visibilitas yang didefinisikan seperti berikut: misalkan terdapat sebuah polyhedron orthogonal yang disusun atas himpungan prisma segi-empat (rectangular prism) , dan misalkan c adalah titik pojok dari prima segiempat, maka apakah subset  yang terlihat secara total dari c?

  Pada studi ini, penulis mengusulkan suatu prosedur untuk menghitung subset visibilitas dari titik penglihat yang difinisikan. Selanjutnya, ditemukan bahwa kompleksitas waktu eksekusi prosedur bekerja dengan waktu yang linear.

  Definisi Dan Terminologi

  Polygon didefinisikan sebagai bidang datar yang dibatasi oleh segment garis yang saling terhubung secara tertutup. Permukaan polyhedron didefinisikan

  

Jefri: Penghitungan subset visibilitas pada suatu orthogonal polyhedron

  Untuk memfasilitasi diskusi tentang subset visibilitas, maka istilah-istilah berikut, yang sebagian telah diperkenalkan oleh , didefinisikan.

  Misalkan terdapat suatu himpunan prisma segi-empat  disusun dari suatu polyhedron orthgonal dengan algoritma yang disusulkan pada . Prisma segi- empat didefinisikan sebagai prisma yang semua sisinya berbentung persegi panjang dan parallel pada salah satu arah orthogonal dalam dimensi 3. Tujuan dari penghitungan subset visibilitas adalah untuk membangun suatu himpunan yang tidak kosong S = { S

  Visibilitas Dalam Polyhedron Orthogonal

  dari c jika beberapa, tidak semua, titik p dapat dilihat dari c.

  Vr(c)).  disebut dapat terlihat sebagian

  orthgonal dikatakan dapat terlihat secara total dari titik penglihat c jika setiap titik dari  dapat terlihat dari c (yaitu 

  Definisi 3. Bagian  dari polyhedron

  dari polyhedron orthogonal, daerah visibilitas c, dinyatakan dengan Vr(c) adalah himpunan titik polyhedron orthogonal yang dapat dilihat dari c.

  boundary polyhedron orthogonal Definisi 2: Misalkan c adalah sebuah titik

  polyhedron orthogonal dikatakan saling melihat melihat (visible) jika dan hanya jika ruas garis xy tidak memotong

  Definisi 1: Dua titik x dan y dalam

  Salah satu polyhedron yang banyak dipelajari adalah polyhedron orthogonal. Tang mendefinisikan bahwa polyhedron orthogonal adalah polyhedron dimana setiap rusuknya parallel dengan salah satu arah orthogonal . Polyhedron orthogonal banyak dipelajari karena banyak bangun-bagun ruang dan pesoalan sehari-hari yang direpresetasikan secara polyhedron orthogonal.

  sebagai bidang polygon yang terhubung dan terbatas, sedemikian sehingga setiap rusuk dari polygon adalah kepunyaan salah satu polygon yang lain, dengan

  atas dua bagian, satu diantaranya disebut dengan interior yang sifatnya berbatas, dan eksterior yang sifat daerahnya tidak terbatas. Titik pada polyhedron adalah titik pada boundary polyhedron atau dalam interior dari polyhedron. Titik interior dari polyhedron adalah titik dalam interior polyhedron, dan titik boundary adalah titik yang berada pada boundary polyhedron.

  Boundary polyhedron membagi ruang

  lebih sisi bertemu. Simpul adalah titik pada boundary polyhedron dimana tiga atau lebih rusuk bertemu .

  boundary polyhedron dimana dua atau

  Sisi, rusuk dan simpul adalah element- element penting dari permukaan suatu polyhedron. Sisi adalah permukaan suatu polyhedron, dan setiap permukaan polyhedron mempunyai bentuk bidang yang disebut dengan polygon. permukaan polyhedron juga disebut dengan terminology boundary polyhedron. Rusuk adalah sebuah segment garis pada

  Polygon yang berada pada permukaan polyhedron disebut juga dengan sisi, dan setiap sisi tidak saling memotong dengan sisi lainnya pada permukaan polyhedron tersebut. Sementara itu, polyhedron didefinisikan sebagai ruang dimensi 3 yang dibatasi oleh permukaan polyhedron .

  dimensi yang mengerucut secara perlahan dari dasar kesebuah titik yang disebut dengan apex. Dengan demikian, suatu permukaan polyhedron memuat polygon- polygon terhubung yang hanya mempunyai rusuk two-manifold dan simpul two-manifold, dan tipe batas ini disebut batas two-manifold.

  cone didefiniskan sebagai bentuk 3-

  mengelilingi setiap simpul membentuk sirkuit tunggal . Sebuah rusuk yang mempunyai tepat dua polyogon disebut dengan rusuk two-manifold, and simpul yang merupakan puncak dari satu polygon disebut simpul two-manifold . Sebuah

  proviso bahwa polygon-polygon

  j | j=1,...,k }, dimana

  

Prosiding Semirata FMIPA Universitas Lampung, 2013

S j

  1 dan 

  akan berisi semua prisma segi-empat yang dapat terlihat secara total dari titik pojok c j . Lihat Gambar 2 untuk lebih detail.

  i

  (i=1, 2, . . . , k). Untuk setiap titik pojok akan diperiksa apakah setiap prima segi- empat dapat terlihat secara total dari titik pojok tersebut atau tidak. Jika setiap titik dalam prisma segi-empat dapat terlihat dari titik pojok, maka prisma segi-empat tersebut terlihat secara total dari titik pojok tersebut. Kalau tidak, prisma segi- empat terhalang secara total atau sebagian dari titik pojok tersebut. Pada akhir pengulangan, S

  S i

  empat rp j (j =1, 2, …, m) yang dihasilkan dari pempartisian sebuah polyhedron orthogonal. Perhatikan bahwa beberapa titik pojok dapat dipakai oleh lebih dari satu prisma segi-empat, sehingga k  8m. Hal ini akan membuat k subset visibilitas

  c i ( i=1, 2, . . . , k) dari m prima segi-

  Gambar 2. Algoritma membuat subset visibilitas Algoritma yang di atas mengasumsikan ketersediaan titik pojok

  Gambar 1. Pempartisian polyhedron orthgonal Prosedur penghitungan subset visibilitas dari sebuah titik pojok prisma segi-empat berdasarkan observasi berikut: i) setiap prima segi-empat mempunyai enam sisi. Keenam sisi ini dapat dibagi atas dua tipe  sisi Tipe I adalah sisi dari polyhedron orthgonal asal dan sisi Tipe II berasal dari titik interior polyhedron orthogonal asal kecuali pada rusuk-rusuk sisi. Jika rusuk dari suatu sisi adalah juga rusuk dari polyhedron orthogonal asal maka rusuk dikatakan rusuk Tipe I. Jika tidak demikian, maka rusuk terdiri dari titik interior saja dari polyhedron orthgonal asal dan disebut dengan Rusuk Tipe II. (ii) Untuk setiap suatu titik penglihat (view point), prisma segi-empat (prisma segi-empat pertama) dapat terlihat secara total dari titik penglihat tersebut jika dan hanya jika tidak terdapat prisma segi-empat dengan sisi Tipe I berpotongan dengan garis penghubung titik penglihat dengan sebuah titik pada prisma recatangular pertama.

  2 adalah bagian-bagain himpunan .

  disimbolkan sebagai c j . Sebagai tambahan, 

  = { |   dan   Vr(c

  th

  juga titik pojok dari prisma segi-empat yang sama. Titik pojok ke j

  1

  dan u

  1

  adalah titik buatan dari polyhedron. Masing masing v

  i

  )} adalah subset visibilitas untuk titik pojok c j . Gambar 1 menggambarkan suatu polyhedron orthgonal yang dipartisi ke dalam himpunan prisma segi-empat . Setelah pempartisian maka polyhedron orthogonal dilabel dengan v i adalah simpul, dan u

  j

  Gambar 3. Fungsi IsViewBlocked untuk menentukan keterhalangan

  

Jefri: Penghitungan subset visibilitas pada suatu orthogonal polyhedron

  l

  rp l

  tidak menghampat penglihatan dari c

  i

  ke rp j . Hal ini berarti bahwa terdapat sekurang-kurangnya satu titik s dalam rp j yang dihambat oleh rp l . Garis yang menghubungkan c

  i

  dan s akan berpotongan dengan satu atau lebih titik rp

  l

  . Salah satu dari perpotongan ini haruslah terletak dalam sisi Tipe I atau rusuk Tipe I, karena jika tidak semua titik perpotongan akan menjadi titik interior polyhedron rectangular asal yang transaparan dan tidak menghalangi penglihatan. Hal ini membuktikan bahwa jika rp l menghambat penglihatan dari c i ke rp j, maka rp l harus memuat sisi Tipe I atau rusuk Tipe I yang berpotongan dangan salah satu piramida rectangular. Untuk melihat kondisi ini memadai, kita hanya membutuhkan untuk mengambil sembarang titik perpotongan s antara sisi Tipe I rp

  dan salah satu piramida rectangular. Karena s terletak dalam piramida, garis dari c i ke s dapat diperpanjang sampai ke dasar piramida, berakhir di titik t. Jelaslah bahwa titik t pada sisi rp

  l

  j

  tidak dapat dilihat dari c

  i

  karena penglihatan terhalang oleh titik s yang berada pada sisi Tipe I atau rusuk Tipe I rp l . Hal ini berarti bahwa rp l menghalangi penglihatan dari c

  i

  ke rp

  j .

  Untuk menentukan apakah suatu persegi panjang dan suatu piramida segi- empat berpotongan satu sama lain, seseorang dapat memeriksa apakah salah satu dari empat titik pojok persegi panjang terletak dalam pyramid. Jika salah satu ditemukan dalam piramida, maka persegi panjang dan piramida berpotongan satu dengan yang lainnya. Jika tidak ada titik pojok yang yang terletak didalam piramida, kita masih perlu memperhatikan kasus ketika persegi panjang memotong piramida dimana semua titik pojok berada di luar piramida. Hal ini dengan mudah dapat diverifikasi dengan pengambil setiap rusuk piramida dan melihat apakah salah atau rusuk tersebut berpotongan dengan persegi panjang. Jika salah satu rusuk ditemukan berpotongan dengan persegi panjang, maka pyramida dan persegi panjang berpotongan satu sama lainnya. Dalam hal lainnya mereka tidak berpotongan satu sama lain.

  memuat sisi Tipe I dan rusuk Tipe I yang berpotongan dengan salah satu piramida segi-empat yang telah disebutkan di atas. Untuk melihat mengapa ini menjadi condisi yang diperlukan, misalkan diasumsikan bahwa

  Prisma segi-empat rp l menghambat penglihatan dari c i ke rp j jika dan hanya jika rp

  Fungsi IsViewBlocked mengambil sebuat titk cj, dan dua prisma segi-empat,

  False. Untuk sembarang prisma segi-

  rp j dan rp l. Fungsi ini akan mempunyai

  nilai balik True jika penglihatan dari c

  i

  ke

  rp j

  dihambat dengan adanya rp

  l

  . Kalau tidak, maka fungsi mempunyai nilai balik

  empat rp j dan titik c i terletak diluar rp j , terdapat antara satu dan tiga sisi rp

  hanya titik interior saja dari polyhedron orthogonal asal, dengan demikian prisma segi-empat tersebut akan transparent.

  j

  yang dapat terlihat dari c

  i

  , tergantung dari posisi titik tersebut ke prisma rectangualar. Sisi yang dapat terlihat ini dan titik pojok dapat membentuk tiga pyramida segi- empat  piramida yang alasnya berbentuk persegi panjang, dengan setiap sisi yang dapat terlihat pada dasar dan titik pojok pada puncak. Jika prisma segi-empat lain rp l menghambat penglihatan dari dari c

  i

  ke rp

  j

  , baik secara total ataupun sebahagian, maka akan memuat sekurang-kurangnya satu sisi Tipe I ataru rusuk Tipe I. Kalau tidak prisma segi-empat rp

  1 akan terdiri dari

  Sangatlah mudah untuk menentukan apakah sebuah rusuk berpotongan dengan sebuah piramida segi-empat. Pertama- tama dapat dengan cara memeriksa setiap dua titik pangkal rusuk. Jika sekurang- kurangnya satu titik pangkal dalam piramida, maka rusuk mesti berpotongan dangan piramida. Jika kedua titik pangkal rusuk terletak diluar piramida, maka masih ada kemungkinan bahwa rusuk

  

Prosiding Semirata FMIPA Universitas Lampung, 2013

  tersebut memotong piramida. Terdapat S. K. Ghosh and D. Mount, "An output suatu skenario, rusuk berpotongan dengan sensitive algorithm for computing piramida jika dan hanya jika rusuk visibility graphs," SIAM Journal berpotongan dengan satu dari lima sisi Computing, vol. 20, pp. 888-910, 1991. piramida. Dengan demikian perpotongan

  H. S. M. Coxeter, Regular polytopes. New dapat ditentukan dengan memeriksa York: Dover Publications, 1973. apakah sisi piramida berpotongan dengan

  J. R. Rossignac and A. A. G. Requicha, rusuk.

  "Construcitve Non-Regularized

  HASIL DAN PEMBAHASAN Geometry," Computer - Aided Design, vol. 23, pp. 21-32, 1991.

  Cost waktu dapat ditentukan sebagai T. Biedl and B. Genc, "Reconstructing berikut. Subset visibilitas dapat dibangun

  3

  orthogonal polyhedra from putative dengan kompleksitas waktu O(m ) seperti

  3 vertex sets," technical reports, 2007.

  yang ditunjukan di atas. Apabila m < n maka subset visibilitas dapat dibangun K. Tang and T. C. Woo, "Algorithmic dalam waktu yang polynomial n. aspects of alternating sum of volumes.

  Part 1: Data structure and difference Daftar Pustaka operation," Computer-Aided Design, vol. 23, pp. 357-366, June 1991.

  F. d. Durand, G. Drettakis, and C. Puech, A. P. Tomas, A. L. Bajuelos, and F.

  "The 3D Visibility Complex," ACM Marques, "On visibility problems in the Transactions on Graphics, vol. 21, pp. plane - solving minimum vertex guard 176 - 206, 2002. problems by successive

  M. N. Bygi and M. Ghodsi, "3D Visibility approximation," in the 9th Int. Symp.

  Graph," presented at the Computational on Artif. Intel. and Math., 2006. Science and its Applications, Kuala

  J. Marzal, H. Xie, and C. C. Fung, "Vertex Lampur, 2007.

  Configurations and Their Relationship M. Pocchiola and

  G. Vegter, on Orthogonal Pseudo Polyhedra " "Topologically sweeping visibility

  World Academy of Science,

  complexes via pseudotriangulations,"

  Engineering and Technology pp. 1-8, Discrete & Computational Geometry,

  2011. vol. 16, pp. 419 –453, 1996.