Implicitly representing arrangements of lines or segments

Anarrangement ofn lines (or line segments) in the plane is the partition of the plane defined by these objects. Such an arrangement consists ofO(n2) regions, calledfaces. In this paper we study the problem of calculating and storing arrangementsimplicitly, using subquadratic space and preprocessing, so that, given any query pointp, we can calculate efficiently the face containingp. First, we consider the case of lines and show that with Λ(n) space1 and Λ(n3/2) preprocessing time, we can answer face queries in Λ(√n)+O(K) time, whereK is the output size. (The query time is achieved with high probability.) In the process, we solve three interesting subproblems: (1) given a set ofn points, find a straight-edge spanning tree of these points such that any line intersects only a few edges of the tree, (2) given a simple polygonal path Γ, form a data structure from which we can find the convex hull of any subpath of Γ quickly, and (3) given a set of points, organize them so that the convex hull of their subset lying above a query line can be found quickly. Second, using random sampling, we give a tradeoff between increasing space and decreasing query time. Third, we extend our structure to report faces in an arrangement of line segments in Λ(n1/3)+O(K) time, givenΛ(n4/3) space and Λ(n5/3) preprocessing time. Lastly, we note that our techniques allow us to computem faces in an arrangement ofn lines in time Λ(m2/3n2/3+n), which is nearly optimal.