## Abstract

In a typical range-emptiness searching (resp., reporting) problem, we are given a set P of n points in ℝ^{d}, and we wish to preprocess it into a data structure that supports efficient range-emptiness (resp., reporting) queries, in which we specify a range σ, which, in general, is a semialgebraic set in ℝ^{d} of constant description complexity, and we wish to determine whether P ∩ σ = ∅, or to report all the points in P ∩ σ. Range-emptiness searching and reporting arise in many applications and have been treated by Matoušek [Comput. Geom. Theory Appl., 2 (1992), pp. 169.186] in the special case where the ranges are half-spaces bounded by hyperplanes. As shown in Matoušek's work, the two problems are closely related, and they have solutions (for the case of half-spaces) with similar performance bounds. In this paper we extend the analysis to general semialgebraic ranges and show how to adapt Matoušek's technique without the need to linearize the ranges into a higher-dimensional space. This yields more efficient solutions to several useful problems, and we demonstrate the new technique in four applications with the following results: (i) An algorithm for ray shooting amid balls in ℝ^{3}, which uses O(n) storage and O*(n) preprocessing (we use the notation O*(n ^{γ}) to mean an upper bound of the form C(E)n ^{γ+E}, which holds for any E < 0, where C(E) is a constant that depends on E) and answers a query in O*(n^{2/3}) time, improving the previous bound of O* (n^{3/4}). (ii) An algorithm that preprocesses, in O*(n) time, a set P of n points in ℝ^{3} into a data structure with O(n) storage, so that, for any query line l (or, for that matter, any simply shaped convex set), the point of P farthest from l can be computed in O*(n^{1/2}) time. This in turn yields an algorithm that computes the largest-area triangle spanned by P in time O*(n^{26/11}), as well as nontrivial algorithms for computing the largest-perimeter or largest-height triangle spanned by P. (iii) An algorithm that preprocesses, in O* (n) time, a set P of n points in ℝ^{2} into a data structure with O(n) storage, so that, given any query semidisk c, or a circular cap larger than a semidisk, we can determine, in O*(1) time, whether c ∩ P is empty, or report the k points in c ∩ P in O*(1) + O(k) time. Adapting the recent techniques of [B. Aronov and S. Har-Peled, SIAM J. Comput., 38 (2008), pp. 899-921, B. Aronov, S. Har-Peled, and M. Sharir, On approximate halfspace range counting and relative epsilonapproximations, in Proceedings of the 23rd ACM Symposium Comput. Geom., 2007, pp. 327-336, B. Aronov and M. Sharir, SIAM J. Comput., 39 (2010), pp. 2704-2725], we can turn our solutions into efficient algorithms for approximate range counting (with small relative error) for the cases mentioned above. Our technique is closely related to the notions of nearest- or farthest-neighbor generalized Voronoi diagrams and of the union or intersection of geometric objects, where sharper bounds on the combinatorial complexity of (decompositions of complements of) these structures yield faster range-emptiness searching or reporting algorithms.

Original language | English |
---|---|

Pages (from-to) | 1045-1074 |

Number of pages | 30 |

Journal | SIAM Journal on Computing |

Volume | 40 |

Issue number | 4 |

DOIs | |

State | Published - 2011 |

## Keywords

- Elementary cell partition
- Epsilon nets
- Random sampling
- Range emptiness
- Range reporting
- Range searching
- Ray shooting
- Semialgebraic sets