Computing envelopes in four dimensions with applications

  • Authors:
  • Pankaj K. Agarwal;Boris Aronov;Micha Sharir

  • Affiliations:
  • Department of Computer Science, Box 90129, Duke University, Durham, NC;Department of Computer Science, Polytechnic University, Brroklyn, NY;School of Mathematical Sciences, Tel Aviv University, Tel Aviv 69978, Israel and Courant Institute of Mathematical, Sciences, New York University, New York, NY

  • Venue:
  • SCG '94 Proceedings of the tenth annual symposium on Computational geometry
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

Let F be a collection of n d-variate, possibly partially defined, functions, all algebraic of some constant maximum degree. We present a randomized algorithm that computes the vertices, edges, and 2-faces of the lower envelope (i.e., pointwise minimum) of F in expected time O(nd+&egr;), for any &egr;0. For d=3, by combining this algorithm with the point location technique of Preparata and Tamassia, we can compute, in randomized expected time O(n3+&egr;) for any &egr;0, a data structure of size O(n3+&egr;) that, given any query point q, can determine in O(log2n) time whether q lies above, below or on the envelope. As a consequence, we obtain improved algorithmic solutions to many problems in computational geometry, including (a) computing the width of a point set in 3-space, (b) computing the biggest stick in a simple polygon in the plane, and (c) computing the smallest-width annulus covering a planar point set. The solutions to these problems run in time O(n17/11+&egr;), for any &egr;0 improving previous solutions that run in time O(n8/5+&egr;). We also present data structures for (i) performing nearest-neighbor and related queries for fairly general collections of objects in 3-space and for collections of moving objects in the plane, and (ii) performing ray-shooting and related queries among n spheres or more general objects in 3-space. Both of these data structures require O(n3+&egr;) storage and preprocessing time, for any &egr;0, and support polylogarithmic-time queries. These structures improve previous solutions to these problems.