Convex Hull
Convex hulls of open sets are open, and convex hulls of compact sets are compact. Every compact convex set is the convex hull of its extreme points. The convex hull operator is an example of a closure operator, and every antimatroid can be represented by applying this closure operator to finite sets of points. The algorithmic problems of finding the convex hull of a finite set of points in the plane or other low-dimensional Euclidean spaces, and its dual problem of intersecting half-spaces, are fundamental problems of computational geometry. They can be solved in time for two or three dimensional point sets, and in time matching the worst-case output complexity given by the upper bound theorem in higher dimensions.
As well as for finite point sets, convex hulls have also been studied for simple polygons, Brownian motion, space curves, and epigraphs of functions. Convex hulls have wide applications in mathematics, statistics, combinatorial optimization, economics, geometric modeling, and ethology. Related structures include the orthogonal convex hull, convex layers, Delaunay triangulation and Voronoi diagram, and convex skull.
Definitions
A set of points in a Euclidean space is defined to be convex if it contains the line segments connecting each pair of its points. The convex hull of a given set may be defined as
- The (unique) minimal convex set containing
- The intersection of all convex sets containing
- The set of all convex combinations of points in
- The union of all simplices with vertices in
For bounded sets in the Euclidean plane, not all on one line, the boundary of the convex hull is the simple closed curve with minimum perimeter containing . One may imagine stretching a rubber band so that it surrounds the entire set and then releasing it, allowing it to contract; when it becomes taut, it encloses the convex hull of . This formulation does not immediately generalize to higher dimensions: for a finite set of points in three-dimensional space, a neighborhood of a spanning tree of the points encloses them with arbitrarily small surface area, smaller than the surface area of the convex hull. However, in higher dimensions, variants of the obstacle problem of finding a minimum-energy surface above a given shape can have the convex hull as their solution.
For objects in three dimensions, the first definition states that the convex hull is the smallest possible convex bounding volume of the objects. The definition using intersections of convex sets may be extended to non-Euclidean geometry, and the definition using convex combinations may be extended from Euclidean spaces to arbitrary real vector spaces or affine spaces; convex hulls may also be generalized in a more abstract way, to oriented matroids.
Equivalence of definitions
It is not obvious that the first definition makes sense: why should there exist a unique minimal convex set containing , for every ? However, the second definition, the intersection of all convex sets containing , is well-defined. It is a subset of every other convex set that contains , because is included among the sets being intersected. Thus, it is exactly the unique minimal convex set containing . Therefore, the first two definitions are equivalent.
Each convex set containing must (by the assumption that it is convex) contain all convex combinations of points in , so the set of all convex combinations is contained in the intersection of all convex sets containing . Conversely, the set of all convex combinations is itself a convex set containing , so it also contains the intersection of all convex sets containing , and therefore the second and third definitions are equivalent.
In fact, according to Carathéodory's theorem, if is a subset of a -dimensional Euclidean space, every convex combination of finitely many points from is also a convex combination of at most points in . The set of convex combinations of a -tuple of points is a simplex; in the plane it is a triangle and in three-dimensional space it is a tetrahedron. Therefore, every convex combination of points of belongs to a simplex whose vertices belong to , and the third and fourth definitions are equivalent.
Upper and lower hulls
In two dimensions, the convex hull is sometimes partitioned into two parts, the upper hull and the lower hull, stretching between the leftmost and rightmost points of the hull. More generally, for convex hulls in any dimension, one can partition the boundary of the hull into upward-facing points (points for which an upward ray is disjoint from the hull), downward-facing points, and extreme points. For three-dimensional hulls, the upward-facing and downward-facing parts of the boundary form topological disks.
Topological properties
Closed and open hulls
The closed convex hull of a set is the closure of the convex hull, and the open convex hull is the interior (or in some sources the relative interior) of the convex hull.
The closed convex hull of is the intersection of all closed half-spaces containing . If the convex hull of is already a closed set itself (as happens, for instance, if is a finite set or more generally a compact set), then it equals the closed convex hull. However, an intersection of closed half-spaces is itself closed, so when a convex hull is not closed it cannot be represented in this way.
If the open convex hull of a set is -dimensional, then every point of the hull belongs to an open convex hull of at most points of . The sets of vertices of a square, regular octahedron, or higher-dimensional cross-polytope provide examples where exactly points are needed.
Preservation of topological properties
Topologically, the convex hull of an open set is always itself open, and the convex hull of a compact set is always itself compact. However, there exist closed sets for which the convex hull is not closed. For instance, the closed set
(the set of points that lie on or above the witch of Agnesi) has the open upper half-plane as its convex hull.
The compactness of convex hulls of compact sets, in finite-dimensional Euclidean spaces, is generalized by the Krein–Smulian theorem, according to which the closed convex hull of a weakly compact subset of a Banach space (a subset that is compact under the weak topology) is weakly compact.
Extreme points
An extreme point of a convex set is a point in the set that does not lie on any open line segment between any other two points of the same set. For a convex hull, every extreme point must be part of the given set, because otherwise it cannot be formed as a convex combination of given points. According to the Krein–Milman theorem, every compact convex set in a Euclidean space (or more generally in a locally convex topological vector space) is the convex hull of its extreme points. However, this may not be true for convex sets that are not compact; for instance, the whole Euclidean plane and the open unit ball are both convex, but neither one has any extreme points. Choquet theory extends this theory from finite convex combinations of extreme points to infinite combinations (integrals) in more general spaces.
Geometric and algebraic properties
Closure operator
The convex-hull operator has the characteristic properties of a closure operator:
- It is extensive, meaning that the convex hull of every set is a superset of .
- It is non-decreasing, meaning that, for every two sets and with , the convex hull of is a subset of the convex hull of .
- It is idempotent, meaning that for every , the convex hull of the convex hull of is the same as the convex hull of .
When applied to a finite set of points, this is the closure operator of an antimatroid, the shelling antimatroid of the point set. Every antimatroid can be represented in this way by convex hulls of points in a Euclidean space of high-enough dimension.
Minkowski sum
The operations of constructing the convex hull and taking the Minkowski sum commute with each other, in the sense that the Minkowski sum of convex hulls of sets gives the same result as the convex hull of the Minkowski sum of the same sets. This provides a step towards the Shapley–Folkman theorem bounding the distance of a Minkowski sum from its convex hull.
Projective duality
The projective dual operation to constructing the convex hull of a set of points is constructing the intersection of a family of closed halfspaces that all contain the origin (or any other designated point).
Special cases
Finite point sets
The convex hull of a finite point set forms a convex polygon when , or more generally a convex polytope in . Each extreme point of the hull is called a vertex, and (by the Krein–Milman theorem) every convex polytope is the convex hull of its vertices. It is the unique convex polytope whose vertices belong to and that encloses all of . For sets of points in general position, the convex hull is a simplicial polytope.
According to the upper bound theorem, the number of faces of the convex hull of points in -dimensional Euclidean space is . In particular, in two and three dimensions the number of faces is at most linear in .
Simple polygons
The convex hull of a simple polygon encloses the given polygon and is partitioned by it into regions, one of which is the polygon itself. The other regions, bounded by a polygonal chain of the polygon and a single convex hull edge, are called pockets. Computing the same decomposition recursively for each pocket forms a hierarchical description of a given polygon called its convex differences tree. Reflecting a pocket across its convex hull edge expands the given simple polygon into a polygon with the same perimeter and larger area, and the Erdős–Nagy theorem states that this expansion process eventually terminates.
Brownian motion
The curve generated by Brownian motion in the plane, at any fixed time, has probability 1 of having a convex hull whose boundary forms a continuously differentiable curve. However, for any angle in the range , there will be times during the Brownian motion where the moving particle touches the boundary of the convex hull at a point of angle . The Hausdorff dimension of this set of exceptional times is (with high probability) .
Space curves
For the convex hull of a space curve or finite set of space curves in general position in three-dimensional space, the parts of the boundary away from the curves are developable and ruled surfaces. Examples include the oloid, the convex hull of two circles in perpendicular planes, each passing through the other's center, the sphericon, the convex hull of two semicircles in perpendicular planes with a common center, and D-forms, the convex shapes obtained from Alexandrov's uniqueness theorem for a surface formed by gluing together two planar convex sets of equal perimeter.
Functions
The convex hull or lower convex envelope of a function on a real vector space is the function whose epigraph is the lower convex hull of the epigraph of . It is the unique maximal convex function majorized by . The definition can be extended to the convex hull of a set of functions (obtained from the convex hull of the union of their epigraphs, or equivalently from their pointwise minimum) and, in this form, is dual to the convex conjugate operation.
Computation
In computational geometry, a number of algorithms are known for computing the convex hull for a finite set of points and for other geometric objects. Computing the convex hull means constructing an unambiguous, efficient representation of the required convex shape. Output representations that have been considered for convex hulls of point sets include a list of linear inequalities describing the facets of the hull, an undirected graph of facets and their adjacencies, or the full face lattice of the hull. In two dimensions, it may suffice more simply to list the points that are vertices, in their cyclic order around the hull.
For convex hulls in two or three dimensions, the complexity of the corresponding algorithms is usually estimated in terms of , the number of input points, and , the number of points on the convex hull, which may be significantly smaller than . For higher-dimensional hulls, the number of faces of other dimensions may also come into the analysis. Graham scan can compute the convex hull of points in the plane in time . For points in two and three dimensions, more complicated output-sensitive algorithms are known that compute the convex hull in time . These include Chan's algorithm and the Kirkpatrick–Seidel algorithm. For dimensions , the time for computing the convex hull is , matching the worst-case output complexity of the problem. The convex hull of a simple polygon in the plane can be constructed in linear time.
Dynamic convex hull data structures can be used to keep track of the convex hull of a set of points undergoing insertions and deletions of points, and kinetic convex hull structures can keep track of the convex hull for points moving continuously. The construction of convex hulls also serves as a tool, a building block for a number of other computational-geometric algorithms such as the rotating calipers method for computing the width and diameter of a point set.