Abstract
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).
Similar content being viewed by others
References
Agarwal, P.K., Matoušek, J.: Ray shooting and parametric search. SIAM J. Comput. 22, 794–806 (1993)
Agarwal, P.K., Matoušek, J.: Range searching with semialgebraic sets. Discrete Comput. Geom. 11, 393–418 (1994)
Agarwal, P.K., Sharir, M.: Ray shooting amidst convex polyhedra and polyhedral terrains in three dimensions. SIAM J. Comput. 25, 100–116 (1996)
Aronov, B., de Berg, M., Gray, C.: Ray shooting and intersection searching amidst fat convex polyhedra in 3-space. In: Proc. 22nd Annu. ACM Sympos. Comput. Geom., pp. 88–94 (2006)
Aronov, B., Sharir, M., Tagansky, B.: The union of convex polyhedra in three dimensions. SIAM J. Comput. 26, 1670–1688 (1997)
Bern, M., Dobkin, D.P., Eppstein, D., Grossman, R.: Visibility with a moving point of view. Algorithmica 11, 360–378 (1994)
Brönnimann, H., Devillers, O., Dujmovic, V., Everett, H., Glisse, M., Goaoc, X., Lazard, S., Na, H.-S., Whitesides, S.: Lines and free line segments tangent to arbitrary three-dimensional convex polyhedra. SIAM J. Comput. 37, 522–551 (2007)
de Berg, M.: Ray Shooting, Depth Orders and Hidden Surface Removal, Lecture Notes in Computer Science, vol. 703. Springer, Berlin (1993)
de Berg, M., van Kreveld, M., Overmars, M., Schwarzkopf, O.: Computational Geometry: Algorithms and Applications, 2nd edn. Springer, Heidelberg (2000)
Dobkin, D.P., Kirkpatrick, D.G.: Determining the separation of preprocessed polyhedra: a unified approach. In: Proc. of the 17th Int. Colloq. on Automata Languages and Programming, pp. 400–413 (1991)
Pellegrini, M.: Ray shooting on triangles in 3-space. Algorithmica 9, 471–494 (1993)
Pellegrini, M.: Ray shooting and lines in space. In: Goodman, J.E., O’Rourke, J. (eds.) Handbook of Discrete and Computational Geometry, 2nd edn. Chapman & Hall/CRC, Boca Raton, pp. 839–856 (2004)
Preparata, F.P., Tamassia, R.: Efficient point location in a convex spatial cell complex. SIAM J. Comput. 21, 267–280 (1992)
Author information
Authors and Affiliations
Corresponding author
Additional information
Work by Haim Kaplan and Natan Rubin has been supported by Grant 975/06 from the Israel Science Fund. Work by Micha Sharir and Natan Rubin was partially supported by NSF Grant CCF-05-14079, by a grant from the U.S.–Israeli Binational Science Foundation, by grant 155/05 from the Israel Science Fund, Israeli Academy of Sciences, by a grant from the AFIRST French–Israeli program, and by the Hermann Minkowski–MINERVA Center for Geometry at Tel Aviv University. A preliminary version of this paper appeared in Proc. 15th Annu. Europ. Sympos. Alg. (2007), 287–298.
Rights and permissions
About this article
Cite this article
Kaplan, H., Rubin, N. & Sharir, M. Linear Data Structures for Fast Ray-Shooting amidst Convex Polyhedra. Algorithmica 55, 283–310 (2009). https://doi.org/10.1007/s00453-008-9220-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00453-008-9220-0