We consider the problem of ray shooting amidst spheres in 3-space: given n arbitrary (possibly intersecting) spheres in 3-space and any ε > 0, we show how to preprocess the spheres in fme O(n3+ε) into a data structure of size O(n3+ε) so that any ray-shooting query can be answered in time O(nε). Our result improves previous techniques (see [P. K. Agarwal L. Guibas, M. Pellegrini, and M. Sharir, "Ray shooting amidst spheres," unpublished note] and [P. K Agarwal and J. Matoušek, Discrete Comput. Geom., 11 (1994), pp. 393-418]), where roughly O(n4) storage was required to support fast queries. Our result shows that ray shooting amidst spheres has complexity comparable with that of ray shooting amidst planes in 3-space. Our technique applies to more general (convex) objects in 3-space, and we also discuss these extensions.
- Computational geometry
- Ray shooting