Towards Exact Numerical Voronoi Diagrams ( Invited Talk )

Voronoi diagrams are extremely versatile as a data structure for many geometric applications. Computing this diagram “exactly” for a polyhedral set in 3D has been a quest of computational geometers for over two decades; this quest is still unrealized. We will locate the difficulty in this quest, thanks to a recent result of Everett et al (2009). More generally, it points to the need for alternative computational models, and other notions of exactness. In this paper, we consider an alternative approach based on the well-known Subdivision Paradigm. A brief review of such algorithms for Voronoi diagrams is given. Our unique emphasis is the use of purely numerical primitives. We avoid exact (algebraic) primitives because (1) they are hard to implement correctly, and (2) they fail to take full advantage of the resolution-limited properties of subdivision. We encapsulate our numerical approach using the concept of soft primitives that conservatively converge to the exact ones in the limit. We illustrate our approach by designing the first purely numerical algorithm for the Voronoi complex of a nondegenerate polygonal set. We also discuss the critical role of filters in such algorithms. A preliminary version of our algorithm has been implemented. Keywords-soft predicates; subdivision; filters I. What is so hard about the Voronoi Diagram of Polyhedra? The concept of Voronoi diagrams is ubiquitous [25], with many applications. It is also a core topic in computational geometry [6], [14]. For instance, one application is in robotics where such diagrams are the basis of the retraction approach to motion planning [24], [35], [13], [31]. Much is known about Voronoi diagrams and its many generalizations. The books [25], [18], [6] focus on the planar cases. The Voronoi diagram of a point set in any dimension is well-understood. But in 3-D, already the Voronoi diagram of a set of polyhedral objects is a barrier. For more than two decades, computational geometers have been interested in an algorithm for such diagrams (e.g., [23]). For reference, call this particular problem (Voronoi diagram for polyhedral objects in 3D) the “Voronoi Quest”. This quest remains unfulfilled today. Recently, Hemmer et al. [15] announced a major milestone in this quest: they provided an algorithm for a special case, the Voronoi diagram for a collection of infinite lines. It has been implemented in CGAL. ¶1. Three Views of a Voronoi Diagram. It may sound surprising that this basic problem is still open. What are the barriers in this quest? There are three views of the “Voronoi diagram” of a polyhedral set Ω ⊆ R: a set-theoretic view, an algebraic topology view, and a combinatorial view. We use the notations Vor(Ω), Vor(Ω), Vor∗(Ω) to distinguish them. Briefly, Vor(Ω) is just a subset of R \ Ω called the geometric Voronoi diagram; the points p in Vor(Ω) are those whose Euclidean distance to the closest point q ∈ Ω is achieved by two or more q’s. The Voronoi complex Vor(Ω) is a cell complex in the sense of algebraic topology; each cell in Vor(Ω) is a subset of R that is homeomorphic to an open Euclidean ball of some dimension i = 0, . , d − 1. The support of Vor(Ω) is just Vor(Ω). Finally, the Voronoi graph Vor∗(Ω) is a labeled combinatorial graph representing the Voronoi complex: the vertices of Vor∗(Ω) are in 11 correspondence with cells in Vor(Ω), and the graph edges correspond to adjacency relation between pairs of cells. A cell of dimension i in Vor(Ω) is also called a Voronoi cell or an i-cell; when i = 0 (resp., i = 1, 2) it is known as a Voronoi vertex (resp., curve, surface). Below, we provide a more detailed account of these concepts. These three views give rise to (at least) three interpretations of what it means to “compute a Voronoi diagram”: • Perhaps we may call the computation of Vor∗(Ω) the standard Computational Geometry view. There is no explicit manipulation of numerical data, and the computation can be carried out by postulating certain abstract “geometric” operations (see [37]). • In visualization and computer graphics, the problem amounts to computing an ε-approximation of Vor(Ω). Here, a set S̃ ⊆ R is an ε-approximation of another S ⊆ R if the Hausdorff distance dH(S̃, S) is at most ε; the approximating set S̃ might be a collection of boxes (voxels) or be some piecewise linear representation. • In computational semi-algebraic geometry, the problem amounts to computing Vor(Ω). Since the cells in Vor(Ω) are semi-algebraic sets, their representation is a nontrivial issue. In one interpretation, each cell may be represented symbolically or implicitly by algebraic data (e.g., a set of algebraic inequalities). Another interpretation is to compute some ε-approximation of each cell (as in the visualization view). Although cell are approximated, we require these approximations to induce exact combinatorial information like adjacencies and isotopy-type. The result is called an ε-approximation of Vor(Ω). Clearly the third view point is the most demanding: an ε-approximation of Vor(Ω) in the above sense subsumes the information for Vor(Ω) and Vor∗(Ω). In this paper, we adopt the third viewpoint as our computational goal. ¶2. Types of Voronoi Cells. The cell complex Vor(Ω) has variant definitions in the literature, so we will be specific: first partition the boundary of Ω into a simplicial complex called the boundary complex of Ω, denoted Φ(Ω). This is collection of simplices of each dimension 0, 1, . , d−1; cells in Φ(Ω) are called (boundary) features of Ω. Our main concern is d = 3, where features of dimensions 0, 1, 2 (respectively) are classified as corners (c), edges (e) and walls (w). In general, we classify features into “types” based solely on their dimension. Thus we have d types. In 3space, these types may be labeled c, e, w. Given a set T ⊆ Φ(Ω) of size d− k+ 1 (k = 0, . . . , d− 1), we can consider the semi-algebraic set S(T ) ⊆ R \ Ω comprising those points q that are simultaneously closest to each of the features in T , and such that no other feature in Φ(Ω) is strictly closer to q. We define a k-cell of Vor(Ω) to be a connected component1 of such a semi-algebraic set S(T ). We call T a generator set for cell. In general, the generator set for a k-cell will have at least d − k + 1 features; if it could have more than d − k + 1 features, we say the k-cell is degenerate. Assuming non-degeneracy, the generator set is unique. We say Ω is non-degenerate if none of its cells are degenerate. We will assume non-degeneracy in the current discussion. The type of T is just the multiset of d−k+1 types represented by the features in T . E.g., in R, if T = {c1, c2, w} has two corners and a wall, then the set S(T ) (if non-empty) will be a portion of a curve in space, and its connected components would 1 It can be shown that each connected component is homeomorphic to an open ball of some dimension. be 1-cells of type {c, c, w} (or simply ccw). Thus in 3space, we have 10 types of Voronoi curves (i.e., 1-cells), namely ccc, cce, ccw, cee, cew, cww, eee, eew, eww,www (1) In R, the types of k-cells may be identified with the monic monomials2 of degree d−k+1 over d variables. The number of such types is ( 2d− k d− k + 1 )