{"@context":"https:\/\/schema.org\/","@type":"ScholarlyArticle","@id":"#article7863","name":"An Optimal Algorithm for the Separating Common Tangents of Two Polygons","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.\r\n\r\nAn outer common tangent is a tangent of both polygons where the polygons are on the same side of the tangent. In the case where the convex hulls of the polygons are disjoint, we give an algorithm for computing the outer common tangents in linear time using constant workspace.","keywords":["planar computational geometry","simple polygon","common tangent","optimal algorithm","constant workspace"],"author":{"@type":"Person","name":"Abrahamsen, Mikkel","givenName":"Mikkel","familyName":"Abrahamsen"},"position":18,"pageStart":198,"pageEnd":208,"dateCreated":"2015-06-12","datePublished":"2015-06-12","isAccessibleForFree":true,"license":"https:\/\/creativecommons.org\/licenses\/by\/3.0\/legalcode","copyrightHolder":{"@type":"Person","name":"Abrahamsen, Mikkel","givenName":"Mikkel","familyName":"Abrahamsen"},"copyrightYear":"2015","accessMode":"textual","accessModeSufficient":"textual","creativeWorkStatus":"Published","inLanguage":"en-US","sameAs":"https:\/\/doi.org\/10.4230\/LIPIcs.SOCG.2015.198","publisher":"Schloss Dagstuhl \u2013 Leibniz-Zentrum f\u00fcr Informatik","isPartOf":{"@type":"PublicationVolume","@id":"#volume6237","volumeNumber":34,"name":"31st International Symposium on Computational Geometry (SoCG 2015)","dateCreated":"2015-06-12","datePublished":"2015-06-12","editor":[{"@type":"Person","name":"Arge, Lars","givenName":"Lars","familyName":"Arge"},{"@type":"Person","name":"Pach, J\u00e1nos","givenName":"J\u00e1nos","familyName":"Pach"}],"isAccessibleForFree":true,"publisher":"Schloss Dagstuhl \u2013 Leibniz-Zentrum f\u00fcr Informatik","hasPart":"#article7863","isPartOf":{"@type":"Periodical","@id":"#series116","name":"Leibniz International Proceedings in Informatics","issn":"1868-8969","isAccessibleForFree":true,"publisher":"Schloss Dagstuhl \u2013 Leibniz-Zentrum f\u00fcr Informatik","hasPart":"#volume6237"}}}