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 . 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 . ==Related concepts==