Bitangent - Bitangents of Polygons

Bitangents of Polygons

The four bitangents of two disjoint convex polygons may be found efficiently by an algorithm based on binary search in which one maintains a binary search pointer into the lists of edges of each polygon and moves one of the pointers left or right at each steps depending on where the tangent lines to the edges at the two pointers cross each other. This bitangent calculation is a key subroutine in data structures for maintaining convex hulls dynamically (Overmars & van Leeuwen 1981). Pocchiola and Vegter (1996a, 1996b) describe an algorithm for efficiently listing all bitangent line segments that do not cross any of the other curves in a system of multiple disjoint convex curves, using a technique based on pseudotriangulation.

Bitangents may be used to speed up the visibility graph approach to solving the Euclidean shortest path problem: the shortest path among a collection of polygonal obstacles may only enter or leave the boundary of an obstacle along one of its bitangents, so the shortest path can be found by applying Dijkstra's algorithm to a subgraph of the visibility graph formed by the visibility edges that lie on bitangent lines (Rohnert 1986).

Read more about this topic:  Bitangent