Compact interval trees: a data structure for convex hulls

In this paper, we investigate the problem of finding the common tangents of two convex polygons that intersect in two (unknown) points. First, we give a Θ(log2n) bound for algorithms that store the polygons in independent arrays. Second, we show how to beat the lower bound if the vertices of the convex polygons are drawn from a fixed set of n points. We introduce a data structure called a compact interval tree that supports common tangent computations, as well as the standard binary-search-based queries, in O(logn) time apiece. Third, we apply compact interval trees to solve the subpath hull query problem: given a simple path, preprocess it so that we can find the convex hull of a query subpath quickly. With O(nlogn) preprocessing, we can assemble a compact interval tree that represents the convex hull of a query subpath in O(logn) time. In order to represent arrangements of Lines implicitly, Edelsbrunner et al. used a less efficient structure, called bridge trees, to solve the subpath hull query problem. Our compact interval trees improve their results by a factor of O(logn). Thus, the present paper replaces the paper on bridge trees referred to by Edelsbrunner et al.

[1]  JOSEPH O’ROURKE,et al.  A new linear algorithm for intersecting convex polygons , 1982, Comput. Graph. Image Process..

[2]  Kurt Mehlhorn,et al.  Data Structures and Algorithms 3: Multi-dimensional Searching and Computational Geometry , 2012, EATCS Monographs on Theoretical Computer Science.

[3]  Franco P. Preparata,et al.  Computational Geometry , 1985, Texts and Monographs in Computer Science.

[4]  Robert E. Tarjan,et al.  Fast Algorithms for Finding Nearest Common Ancestors , 1984, SIAM J. Comput..

[5]  Joseph O'Rourke,et al.  A new linear algorithm for intersecting convex polygons , 1982, Comput. Graph. Image Process..

[6]  Leonidas J. Guibas,et al.  Implicitly representing arrangements of lines or segments , 2011, SCG '88.

[7]  Jan van Leeuwen,et al.  Maintenance of Configurations in the Plane , 1981, J. Comput. Syst. Sci..

[8]  Herbert Edelsbrunner,et al.  Algorithms in Combinatorial Geometry , 1987, EATCS Monographs in Theoretical Computer Science.

[9]  Pankaj K. Agarwal,et al.  A deterministic algorithm for partitioning arrangements of lines and its application , 1989, SCG '89.

[10]  Jack Sklansky,et al.  Finding the convex hull of a simple polygon , 1982, Pattern Recognit. Lett..

[11]  Rajeev Motwani,et al.  Deferred data structuring: Query-driven preprocessing for geometric search problems , 1986, SCG '86.

[12]  Robert E. Tarjan,et al.  Making Data Structures Persistent , 1989, J. Comput. Syst. Sci..