โ† Wiki Index / Computation & Algorithms / Voronoi Diagram
๐Ÿ’ป Computation & Algorithms

Voronoi Diagram

A Voronoi diagram, also known as a Dirichlet tessellation or Thiessen polygon partition, is a geometric decomposition of a metric space into regions around a discrete set of generator sites such that every point in a given cell is closer to its generator site than to any other site.

Voronoi diagram, also called a Dirichlet tessellation or Thiessen polygon decomposition, is a spatial partition in computational geometry and scientific computing that divides a metric space into proximity regions around a discrete set of generator points (sites). Given a finite set of n distinct generator sites P = {p1, p2, โ€ฆ, pn} in a metric space (M, d), the Voronoi cell V(pi) associated with site pi consists of all points x โˆˆ M whose distance to pi is no greater than their distance to any other site pj โˆˆ P.

Visualized by Renรฉ Descartes in 1644 to depict solar-system vortices, formalized by Peter Gustav Lejeune Dirichlet in 1850 for quadratic forms in โ„2 and โ„3 and by Georgy Feodosevich Voronoy in 1908 for general dimension d, the Voronoi diagram is the geometric dual of the Delaunay triangulation. Across the sciences, Voronoi tessellations model crystal grain growth, Wignerโ€“Seitz cells in solid-state physics, rainfall interpolation (Thiessen, 1911), ecological foraging, vector quantization in k-means clustering, and path planning for autonomous vehicles.

Mathematical Definition, Half-Plane Intersection, and Topological Complexity

In d-dimensional Euclidean space โ„d equipped with the Euclidean norm d(x, y) = โ€–x โˆ’ yโ€–2, the closed perpendicular bisector half-space of points closer to pi than to pj is:

H(pi, pj) = { x โˆˆ โ„d : โ€–x โˆ’ piโ€–2 โ‰ค โ€–x โˆ’ pjโ€–2 } = { x โˆˆ โ„d : (pj โˆ’ pi)Tx โ‰ค (1/2)(โ€–pjโ€–22 โˆ’ โ€–piโ€–22) }.

The Voronoi cell V(pi) is the intersection of the n โˆ’ 1 closed half-spaces separating pi from every other site:

V(pi) = โ‹‚jโ‰ i H(pi, pj).

Because the intersection of closed convex half-spaces is a convex polyhedron, every Euclidean Voronoi cell V(pi) is a (possibly unbounded) convex polygon in โ„2 or convex polyhedron in โ„d. Furthermore, a cell V(pi) is unbounded if and only if pi lies on the boundary of the convex hull conv(P).

Planar Graph Bounds via Euler's Formula

In the Euclidean plane โ„2 (for n โ‰ฅ 3 sites not all collinear), the boundaries of the Voronoi cells form a planar straight-line graph consisting of Voronoi edges (equidistant from two sites) and Voronoi vertices (equidistant from three or more sites, located at the circumcenters of triangles in the dual Delaunay triangulation). Compactifying unbounded rays onto a topological sphere and applying Euler's relation V โˆ’ E + F = 2 with every Voronoi vertex having degree โ‰ฅ 3 yields linear bounds:

  • Number of Voronoi vertices: at most 2n โˆ’ 5
  • Number of Voronoi edges: at most 3n โˆ’ 6
  • Average number of edges per Voronoi cell: less than 6 (approaching 6 for large interior meshes by Euler's hexagonal law).

Fortune's Sweep-Line Algorithm and Optimal O(n log n) Construction

Naively intersecting n โˆ’ 1 half-planes for each of the n sites requires O(n2 log n) time. In 1975, Michael Ian Shamos and Dan Hoey introduced the first optimal O(n log n) divide-and-conquer algorithm, and in 1986 Steven Fortune introduced Fortune's sweep-line algorithm, which computes the planar Voronoi diagram in O(n log n) time and O(n) space without divide-and-conquer merging.

The Parabolic Beach Line, Site Events, and Circle Events

As a horizontal sweep line โ„“ moves downward across the plane, the Voronoi structure above โ„“ cannot yet be finalized near โ„“ because an unvisited site just below โ„“ could still be closer to points slightly above โ„“. Fortune observed that the locus of points above โ„“ equidistant from a visited site pi (focus) and the sweep line โ„“ (directrix) is a parabola opening upward. The lower envelope of all parabolas for sites above โ„“ forms an x-monotonic curve of parabolic arcs called the beach line, whose breakpoints trace out the Voronoi edges as โ„“ advances.

Fortune's algorithm maintains two data structures: a balanced binary search tree or skip list representing the ordered parabolic arcs along the beach line, and a priority queue of two types of discrete events:

  1. Site event (when โ„“ hits a new site pi): A vertical parabolic arc of zero width is inserted into the beach line above pi, splitting an existing arc into two and initiating a Voronoi edge.
  2. Circle event (when โ„“ reaches the bottom tangent of an empty circle through three consecutive beach-line sites pi, pj, pk): The middle arc for pj shrinks to zero and disappears, its two flanking breakpoints meet at a new Voronoi vertex (the circumcenter of ฮ”pipjpk), and a new Voronoi edge between pi and pk begins.

Because there are n site events and at most 2n โˆ’ 5 circle events, and each event performs O(log n) beach-line and priority-queue updates, total runtime is O(n log n).

Voronoi GeneralizationDistance / Weight DefinitionCell Boundary GeometryPrimary Scientific & Engineering Application
Standard Euclidean Voronoid(x, pi) = โ€–x โˆ’ piโ€–2Straight line segments (convex polygons)Nearest-neighbor search (Post Office problem), Thiessen hydrology
Centroidal Voronoi Tessellation (CVT)Generator pi = center of mass of V(pi)Regular hexagonal-like convex polygonsk-Means clustering, blue-noise stippling, isotropic meshing
Power Diagram (Laguerreโ€“Voronoi)dpow(x, pi) = โ€–x โˆ’ piโ€–22 โˆ’ ri2Straight hyperplanes (convex polyhedra)Polydisperse sphere packings, protein solvent-accessible volume, foam physics
Additively Weighted (Apollonius)dadd(x, pi) = โ€–x โˆ’ piโ€–2 โˆ’ wiHyperbolic arcsIsotropic crystal growth initiated at staggered nucleation times
L1 (Manhattan) / Lโˆž Voronoiโ€–x โˆ’ piโ€–1 or โ€–x โˆ’ piโ€–โˆžAxis-aligned and ยฑ45ยฐ polygonal chainsVLSI rectilinear wire routing, urban warehouse logistics
Order-k / Farthest-Point VoronoiClosest k sites / farthest site (k = n โˆ’ 1)Straight segments (O(k(n โˆ’ k)) cells)k-nearest-neighbor queries, minimum enclosing circle

Centroidal Voronoi Tessellations (Lloyd's Relaxation) and Scientific Applications

A Voronoi diagram in which every generator site pi coincides with the centroid of its own Voronoi cell V(pi) with respect to a density function ฯ(x),

pi* = [ โˆซV(pi) x ฯ(x) dx ] / [ โˆซV(pi) ฯ(x) dx ],

is called a Centroidal Voronoi Tessellation (CVT). CVTs minimize the expected quantization distortion energy E = โˆ‘i=1n โˆซV(pi) โ€–x โˆ’ piโ€–22 ฯ(x) dx. Lloyd's relaxation computes a CVT by alternating between constructing Vor(P) and moving each site to its cell's centroidโ€”the continuous analog of k-means clusteringโ€”while Liu et al.'s quasi-Newton CVT method (2009) accelerates convergence using the Broydenโ€“Fletcherโ€“Goldfarbโ€“Shanno algorithm (L-BFGS).

In epidemiology, John Snow's 1854 London cholera map corresponded to the Voronoi cell around the Broad Street water pump. In robotics, Voronoi edges among obstacles define the medial axis (maximum-clearance roadmap), along which a robot localized by a particle filter or Kalman filter maximizes obstacle clearance; in spatial clustering, inverse Voronoi cell volumes 1/|V(pi)| provide point-density estimators that complement DBSCAN.

Frequently Asked Questions

How does the Farthest-Point Voronoi Diagram find the minimum enclosing circle?

The farthest-point Voronoi diagram assigns each point x to the site pi โˆˆ P that is farthest from x. Only sites on the convex hull conv(P) have non-empty farthest-point cells, and the tree of farthest-point Voronoi edges and vertices contains the center of the smallest enclosing circle of P, computable in O(n log n) time.

Why are Power Diagrams preferred over additively weighted Voronoi diagrams in 3D molecular modeling?

To model atoms of unequal van der Waals radii ri, additively weighted distance โ€–x โˆ’ piโ€–2 โˆ’ ri produces curved hyperboloid boundaries. The Power Diagram instead uses โ€–x โˆ’ piโ€–22 โˆ’ ri2, whose bisectors are flat radical planes, keeping every 3D cell a convex polyhedron with planar faces.

References

  1. Voronoรฏ, G. (1908). Nouvelles applications des paramรจtres continus ร  la thรฉorie des formes quadratiques. Journal fรผr die reine und angewandte Mathematik, 134, 198โ€“287. https://doi.org/10.1515/crll.1908.134.198
  2. Fortune, S. (1987). A sweepline algorithm for Voronoi diagrams. Algorithmica, 2(1), 153โ€“174. https://doi.org/10.1007/BF01840357
  3. Aurenhammer, F. (1991). Voronoi diagramsโ€”A survey of a fundamental geometric data structure. ACM Computing Surveys, 23(3), 345โ€“405. https://doi.org/10.1145/116873.116880
  4. Du, Q., Faber, V., & Gunzburger, M. (1999). Centroidal Voronoi tessellations: Applications and algorithms. SIAM Review, 41(4), 637โ€“676. https://doi.org/10.1137/S0036144599352836
๐Ÿงฌ Support Open Science
Explore interactive science games on LowKey Games or browse scientific apparel & accessories in the CRV Science Shop.
๐Ÿ’ก Spot an inaccuracy or have primary literature to expand this article?
Submit a citation or revision note using your shared CRV Science / LowKey Games profile ID.
Suggest Revision