Ray shooting and other applications of spanning trees with low stabbing number

  • Authors:
  • P. K. Agarwal

  • Affiliations:
  • Courant Institute of Mathematical Sciences, New York, NY

  • Venue:
  • SCG '89 Proceedings of the fifth annual symposium on Computational geometry
  • Year:
  • 1989

Quantified Score

Hi-index 0.01

Visualization

Abstract

In this paper we consider the following problem: Given a set @@@@ of n (possibly intersecting) line segments in the plane, preprocess them so that, given a query ray &rgr; emanating from a point p, we can quickly compute the intersection point &PHgr;(@@@@, &rgr;) of &rgr; with a segment of @@@@ that lies nearest to p. We present an algorithm that preprocesses @@@@, in time &Ogr;(n3/2 log&ohgr; n), into a data structure of size &Ogr;(n&agr;(n) log4 n), so that for a query ray &rgr;, &PHgr;(@@@@, &rgr;) can be computed in &Ogr;(√nlog3 n), where &ohgr; is a constant n) is a functional inverse of Ackermann's function. If the given segments are non-intersecting, the storage goes down to &Ogr;(nlog3 n) and the query time is only &Ogr;(√n log2 n). The main tool that we use is spanning trees with low stabbing number, i.e. with the property that no line intersects more than &Ogr;(√n) edges of the tree. Using such trees we obtain faster algorithms for several other problems, including implicit point location, polygon containment and implicit hidden surface removal.