An Optimal Algorithm for the Separating Common Tangents of two Polygons
Mikkel Abrahamsen

TL;DR
This paper presents an optimal linear-time, constant-workspace algorithm for finding separating and outer common tangents of two polygons, enabling efficient disjointness testing of their convex hulls.
Contribution
The paper introduces the first linear-time, constant-workspace algorithm for separating common tangents, advancing computational geometry methods for polygon analysis.
Findings
Algorithm computes separating tangents in linear time
Algorithm reports non-existence if no separating tangent exists
Efficiently determines if convex hulls are disjoint
Abstract
We describe an algorithm for computing the separating common tangents of two simple polygons using linear time and only constant workspace. A tangent of a polygon is a line touching the polygon such that all of the polygon lies to the same side of the line. A separating common tangent of two polygons is a tangent of both polygons where the polygons are lying on different sides of the tangent. Each polygon is given as a read-only array of its corners. If a separating common tangent does not exist, the algorithm reports that. Otherwise, two corners defining a separating common tangent are returned. The algorithm is simple and implies an optimal algorithm for deciding if the convex hulls of two polygons are disjoint or not. This was not known to be possible in linear time and constant workspace prior to this paper. An outer common tangent is a tangent of both polygons where the polygons…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
