← back to geometry

Convex Geometry

Wikipedia (wpConvex set, wpConvex hull) · CC BY-SA 4.0

A set is convex if for every two points in the set, the entire line segment between them lies in the set. No dents, no holes. Convexity is the geometric property that makes optimization tractable: every local minimum is global.

Convex sets

A set S is convex when for all x, y in S and all t in [0, 1], the point tx + (1-t)y is also in S. A circle is convex. A star shape is not. The intersection of any family of convex sets is convex. The empty set and all of R^n are convex.

Scheme

Convex hull

The convex hull of a set of points is the smallest convex set containing them. Think of stretching a rubber band around the points: the hull is the shape the band makes. Computing the convex hull of n points can be done in O(n log n) time. Graham scan is the classic algorithm.

Scheme

Separation theorems

If two convex sets are disjoint, there exists a hyperplane that separates them: one set lies entirely on one side, the other set on the other side. This is the wphyperplane separation theorem. It is the geometric foundation of support vector machines, linear programming duality, and the Hahn-Banach theorem.

A B separating hyperplane

Support functions

The support function h(d) of a convex set S gives the signed distance from the origin to the supporting hyperplane with outward normal d. It encodes the shape of S completely: knowing h(d) for every direction d lets you reconstruct S. The Minkowski sum of two sets has a support function equal to the sum of their support functions.

Scheme

Minkowski sum

The Minkowski sum A + B is the set of all points a + b where a is in A and b is in B. If A is a polygon and B is a disk, A + B is A with rounded corners. Minkowski sums are used in robotics (configuration space obstacles), morphology (dilation), and collision detection. The Minkowski sum of two convex polygons is convex and computable in O(n + m) time.

Scheme
Neighbors

Geometry chapters

Cross-references

Foundations (Wikipedia)

Translation notes

The convex hull algorithm shown is Jarvis march (gift wrapping), which runs in O(nh) time where h is the number of hull vertices. Graham scan achieves O(n log n) regardless of output size. The separation theorem stated here is the finite-dimensional version; the infinite-dimensional generalization (Hahn-Banach) requires additional hypotheses (closedness, or one set having nonempty interior).