Natan Rubin

Senior Academic

Linear data structures for fast ray-shooting amidst convex polyhedra

Haim Kaplan, Natan Rubin, Micha Sharir

We consider the problem of ray shooting in a three-dimensional scene consisting of k (possibly intersecting) convex polyhedra with a total of n facets. That is, we want to preprocess them into a data structure, so that the first intersection point of a query ray and the given polyhedra can be determined quickly. We describe data structures that require tilde{O}(n\cdot \mathrm{poly}(k)) preprocessing time and storage (where the tilde{O}(\cdot) notation hides polylogarithmic factors), and have polylogarithmic query time, for several special instances of the problem. These include the case when the ray origins are restricted to lie on a fixed line ℓ 0, but the directions of the rays are arbitrary, the more general case when the supporting lines of the rays pass through ℓ 0, and the case of rays orthogonal to some fixed line with arbitrary origins and orientations. We also present a simpler solution for the case of vertical ray-shooting with arbitrary origins. In all cases, this is a significant improvement over previously known techniques (which require Ω(n 2) storage, even when k ∼ n).

Publication language English
Pages 283-310
Journal Algorithmica
Volume 55
Issue number 2
Publication status Published - 01.01.2009

Keywords

Computational geometry
Convex polyhedra
Lines in space
Ray-shooting

ASJC Scopus subject areas

General Computer Science
Computer Science Applications
Applied Mathematics
Access to Document
10.1007/s00453-008-9220-0
Other files and links
Link to publication in Scopus