Efficient ray shooting and hidden surface removal

M. de Berg*, D. Halperin, M. Overmars, J. Snoeyink, M. van Kreveld

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review


In this paper we study the ray-shooting problem for three special classes of polyhedral objects in space: axis-parallel polyhedra, curtains (unbounded polygons with three edges, two of which are parallel to the z-axis and extend downward to minus infinity), and fat horizontal triangles (triangles parallel to the xy-plane whose angles are greater than some given constant). For all three problems structures are presented using O(n2+e{open}) preprocessing, for any fixed e{open} > 0, with O(log n) query time. We also study the general ray-shooting problem in an arbitrary set of triangles. Here we present a structure that uses On4+e{open}) preprocessing and has a query time of O(log n). We use the ray-shooting structure for curtains to obtain an algorithm for computing the view of a set of nonintersecting prolyhedra. For any e{open} > 0, we can obtain an algorithm with running time {Mathematical expression}, where n is the total number of vertices of the polyhedra and k is the size of the output. This is the first output-sensitive algorithm for this problem that does not need a depth order on the faces of the polyhedra.

Original languageEnglish
Pages (from-to)30-53
Number of pages24
Issue number1
StatePublished - Jul 1994


  • Computational geometry
  • Hidden surface removal
  • Multilevel data structures
  • Output-sensitive
  • Ray shooting


Dive into the research topics of 'Efficient ray shooting and hidden surface removal'. Together they form a unique fingerprint.

Cite this