Common Tangents of Two Disjoint Polygons in Linear Time and Constant Workspace

  title={Common Tangents of Two Disjoint Polygons in Linear Time and Constant Workspace},
  author={Mikkel Abrahamsen and Bartosz Walczak},
  journal={ACM Transactions on Algorithms (TALG)},
  pages={1 - 21}
We provide a remarkably simple algorithm to compute all (at most four) common tangents of two disjoint simple polygons. Given each polygon as a read-only array of its corners in cyclic order, the algorithm runs in linear time and constant workspace and is the first to achieve the two complexity bounds simultaneously. The set of common tangents provides basic information about the convex hulls of the polygons—whether they are nested, overlapping, or disjoint—and our algorithm thus also decides… 
1 Citations

Figures from this paper



Outer Common Tangents and Nesting of Convex Hulls in Linear Time and Constant Workspace

We describe the first algorithm to compute the outer common tangents of two disjoint simple polygons using linear time and only constant workspace. A tangent of a polygon is a line touching the

An Optimal Algorithm for the Separating Common Tangents of Two Polygons

The algorithm is simple and implies an optimal algorithm for deciding if the convex hulls of two polygons are disjoint or not, which was not known to be possible in linear time and constant workspace prior to this paper.

Computing Common Tangents Without a Separating Line

Given two disjoint convex polygons in standard representations, one can compute outer common tangents in logarithmic time without first obtaining a separating line. If the polygons are not disjoint,

An Optimal Algorithm Computing Edge-to-Edge Visibility in a Simple Polygon

A new O(n)-time algorithm to compute the visible part of one edge from another edge of P , which does not alter the input and only uses O(1) variables and is therefore a constant-workspace algorithm.

Finding the Convex Hull of a Simple Polygon

Convex hulls of finite sets of points in two and three dimensions

The presented algorithms use the “divide and conquer” technique and recursively apply a merge procedure for two nonintersecting convex hulls to ensure optimal time complexity within a multiplicative constant.

Memory-constrained algorithms for simple polygons

Compact interval trees: a data structure for convex hulls

A data structure called a compact interval tree is introduced that supports common tangent computations, as well as the standard binary-search-based queries, in O(logn) time apiece and beats the lower bound for algorithms that store the polygons in independent arrays.

Solving geometric problems with the rotating calipers

This paper shows that the diameter of a convex n-sided polygon could be computed in O(n) time using a very elegant and simple procedure which resembles rotating a set of calipers around the polygon once, and that this simple idea can be generalized in two ways.

Dynamic planar convex hull

  • G. BrodalR. Jacob
  • Computer Science, Mathematics
    The 43rd Annual IEEE Symposium on Foundations of Computer Science, 2002. Proceedings.
  • 2002
The computational complexity of the dynamic convex hull problem in the planar case is determined and a lower bound on the amortized asymptotic time complexity is given that matches the performance of this data structure.