Voronoi diagram of a convex polyhedron

In this little blog article, we will show how the Voronoi diagram of a convex polyhedron in -dimensional Euclidean space can be computed in time. As the attentive reader might guess by the time complexity, this is done by intersecting half-spaces in .

Preliminiaries. The Voronoi diagram of sites1 tessellates space into so-called Voronoi cells, each of which consisting of those loci that are closer to the defining site than to any other. When we speak of the Voronoi diagram of a polyhedron , then we consider the set of faces of as the set of sites. Also, we are here only interested in the Voronoi diagram within .2 Below we see the Voronoi diagram (blue) of a polygon (black), i.e., a polyhedron in the plane:

Voronoi diagram of a polygon

Each face of has a Voronoi cell that is bounded by blue lines and its defining site (as we restricted the Voronoi diagram to ). The Voronoi diagram consists of loci that are equidistant to two sites. Hence, it is made of pieces of straight lines and parabolas in the plane, resp. quadrics in higher-dimensional space.

Convex polyhedra. The Voronoi cells of the convex vertices are collapsed to a point. This observation can be generalized:

Lemma. If is a convex polyhedron3 then only its facets4 have Voronoi cells with non-empty interior.

Proof. Consider a point in the interior of . It suffices to show that all closest5 faces of to are facets. Assume to the contrary that is closest and -dimensional, with , and let be the distance. Then the ball centered at and with radius does not intersect in its interior, but touches in a point . Hence, a local neighborhood at on is contained in the tangential hyper-plane at on . In other words, is flat, which is a contradiction.

From this lemma it follows that we only need to consider the facets of in order to determine its Voronoi diagram. A point belongs to the facet that minimizes its orthogonal6 distance to . Let denote the orthogonal distance of to and let . The point belongs to the Voronoi cell of if . That is, the function graph of is piecewise linear and projecting its faces onto gives the set of Voronoi cells resp. the Voronoi diagram of . Also note that each Voronoi cell is a convex polyhedron itself.

Algorithm. Let us consider for each the half-space in that contains and whose boundary supports the function graph of . Computing the function graph of is equivalent to intersecting the half-spaces . Using duality between points and hyper-planes, the convex hull algorithm by Chazelle7 solves this problem in optimal time.

Concluding remarks. As a side product, one obtains that the combinatorial size of the Voronoi diagram is at most . For convex polyhedra, the straight skeleton, Voronoi diagram and medial axis are equal. In fact, the above technique has already been applied to compute the straight skeleton in the plane by consider lower envelopes of (partially defined) linear functions. For straight skeletons of general input, however, the difficulty is to construct for each linear function its individual domain such that the lower envelope representation works out. For convex polygons, the domain becomes trivial, as illustrated above. Also, to compute the Voronoi diagram of points, Chazelle transforms the problem to intersecting half-spaces. In fact, it would not be too surprising, if the result mentioned above can be found somewhere in the literature. If you know of any reference, I would be glad if you could tell me.

I would like to thank Anna Lubiw for mentioning this problem.

Update. Anna Lubiw informed me that in a technical report Mitra and Hafer8 used basically the same technique to solve this problem.

  1. In discrete geometry, typically the Voronoi diagram of a finite point set is considered. In computational geometry, also (generalized) Voronoi diagrams of line segements or circular arcs are of interest, as they possess a vast number of applications. 

  2. For convex polyhedra , the Voronoi diagram outside is boring. 

  3. A convex polyhedron in -dimensional space is the convex hull of finitely many points, or, equivalently, the bounded intersection of finitely many half-spaces. We may assume here that the polyhedron does not reside within a lower-dimensional sub-space. Also note that no -dimensional face of is flat in the sense that if we take a point of then a local neighborhood of on does not reside within a -dimensional sub-space. 

  4. A facet is a -dimensional face. 

  5. We consider the infimum-distance between compact point sets. 

  6. As we consider convex polyhedra, the infimum distance is equal to the orthogonal distance. 

  7. B. Chazzelle, An Optimal Convex Hull Algorithm in Any Fixed Dimension, Discrete Computational Geometry, 10:377-409 (1993). 

  8. P. Mitra and L. Hafer, Efficient Computation of the Medial Axis, School of Computing Science Simon Fraser University, B.C, Canada, 1998. [link]