Voronoi Diagrams
Total Page:16
File Type:pdf, Size:1020Kb
Voronoi Diagrams Franz Aurenhammer Rolf Klein1 Institut f¨ur Grundlagen der FernUniversit¨at Hagen Informationsverarbeitung Praktische Informatik VI Technische Universit¨at Graz Elberfelder Straße 95 Klosterwiesgasse 32/2 D-58084 Hagen, Germany A-8010 Graz, Austria 1Partially supported by the Deutsche Forschungsgemeinschaft, grant Kl 655 2-2. Contents 1 Introduction 1 2 Definitions and elementary properties 2 3 Algorithms 6 3.1 A lower bound ............................... 7 3.2 Incremental construction ......................... 8 3.3 Divide & conquer ............................. 12 3.4 Sweep ................................... 14 3.5 Lifting to 3-space ............................. 16 4 Generalizations and structural properties 18 4.1 Characterization of Voronoi diagrams .................. 18 4.2 Optimization properties of Delaunay triangulations .......... 21 4.3 Higher dimensions, power diagrams, and order-k diagrams ...... 25 4.3.1 Voronoi diagrams and Delaunay tesselations in 3-space .... 25 4.3.2 Power diagrams and convex hulls ................ 27 4.3.3 Higher-order Voronoi diagrams and arrangements ....... 31 4.4 Generalized sites ............................. 34 4.4.1 Line segment Voronoi diagram and medial axis ......... 35 4.4.2 Straight skeletons ......................... 38 4.4.3 Convex polygons ......................... 40 4.4.4 Constrained Voronoi diagrams and Delaunay triangulations .. 41 4.5 Generalized spaces and distances .................... 43 4.5.1 Generalized spaces ........................ 43 4.5.2 Convex distance functions .................... 46 4.5.3 Nice metrics ............................ 51 4.6 General Voronoi diagrams ........................ 55 5 Geometric applications 59 5.1 Distance problems ............................ 59 5.1.1 Post office ............................. 59 5.1.2 Nearest neighbors and the closest pair ............. 61 5.1.3 Largest empty and smallest enclosing circle ........... 64 5.2 Subgraphs of Delaunay triangulations .................. 65 5.2.1 Minimum spanning trees and cycles ............... 65 5.2.2 α-shapes .............................. 67 5.2.3 β-skeletons ............................ 68 5.2.4 Shortest paths ........................... 69 5.3 Geometric clustering ........................... 70 5.3.1 Partitional clusterings ...................... 70 5.3.2 Hierarchical clusterings ...................... 72 5.4 Motion planning ............................. 73 6 Concluding remarks and open problems 75 i 1 Introduction The topic of this treatise, Voronoi diagrams, differs from other areas of computational geometry, in that its origin dates back to the 17th century. In his book on the principles of philosophy [87], R. Descartes claims that the solar system consists of vortices. His illustrations show a decomposition of space into convex regions, each consisting of matter revolving round one of the fixed stars; see fig. 1. Figure 1: Descartes’ decomposition of space into vortices. Even though Descartes has not explicitly defined the extension of these regions, the underlying idea seems to be the following. Let a space M,andasetS of sites p in M be given, together with a notion of the influence asitep exerts on a point x of M. Then the region of p consists of all points x for which the influence of p is the strongest, over all s ∈ S. This concept has independently emerged, and proven useful, in various fields of science. Different names particular to the respective field have been used, such as medial axis transform in biology and physiology, Wigner-Seitz zones in chemistry and physics, domains of action in crystallography, and Thiessen polygons in meteorology and geography. The mathematicians Dirichlet [95] and Voronoi [253, 252]werethe first to formally introduce this concept. They used it for the study of quadratic forms; here the sites are integer lattice points, and influence is measured by the Euclidean distance. The resulting structure has been called Dirichlet tessellation or Voronoi diagram, which has become its standard name today. 1 Voronoi [253] was the first to consider the dual of this structure, where any two point sites are connected whose regions have a boundary in common. Later, Delau- nay [86] obtained the same by defining that two point sites are connected iff (i. e. if and only if) they lie on a circle whose interior contains no point of S.Afterhim, the dual of the Voronoi diagram has been denoted Delaunay tessellation or Delaunay triangulation. Besides its applications in other fields of science, the Voronoi diagram and its dual can be used for solving numerous, and surprisingly different, geometric problems. Moreover, these structures are very appealing, and a lot of research has been devoted to their study (about one out of 16 papers in computational geometry), ever since Shamos and Hoey [232] introduced them to the field. The reader interested in a complete overview over the existing literature should consult the book by Okabe et al. [210] who list more than 600 papers, and the surveys by Aurenhammer [27], Bernal [39], and Fortune [124]. Also, chapters 5 and 6 of Preparata and Shamos [215] and chapter 13 of Edelsbrunner [104] could be consulted. Within this treatise, we cannot review all known results and applications. Instead, we are trying to highlight the intrinsic potential of Voronoi diagrams, that lies in its structural properties, in the existence of efficient algorithms for its construction, and in its adaptability. We start in section 2 with a simple case: the Voronoi diagram and the Delau- nay triangulation of n points in the plane, under the Euclidean distance. We state elementary structural properties that follow directly from the definitions. Further properties will be revealed in section 3, where different algorithmic schemes for com- puting these structures are presented. In section 4 we complete our presentation of the classical two-dimensional case, and turn to generalizations. Next, in section 5, important geometric applications of the Voronoi diagram and the Delaunay triangu- lation are discussed. The reader who is interested mainly in these applications can proceed directly to section 5, after section 2. Finally, section 6 concludes our survey and mentions some open problems. 2 Definitions and elementary properties Throughout this section we denote by S asetofn ≥ 3pointsitesq p,q,r,... in the 2 2 plane. For points p =(p1,p2)andx =(x1,x2)letd(p, x)= (p1 − x1) +(p2 − x2) denote their Euclidean distance. By pq we denote the line segment from p to q.The closure of a set A will be denoted by A. Definition 2.1 For p, q ∈ S let B(p, q)={x | d(p, x)=d(q, x)} be the bisector of p and q. B(p, q) is the perpendicular line through the center of the line segment pq. It separates the halfplane D(p, q)={x | d(p, x) <d(q, x)} containing p from the halfplane D(q, p) containing q.Wecall \ VR(p, S)= D(p, q) q∈S;q6=p 2 the Voronoi region of p with respect to S. Finally, the Voronoi diagram of S is defined by [ V (S)= VR(p, S) ∩ VR(q, S). p;q∈S;p6=q By definition, each Voronoi region VR(p, S) is the intersection of n − 1open halfplanes containing the site p. Therefore, VR(p, S) is open and convex. Different Voronoi regions are disjoint. The common boundary of two Voronoi regions belongs to V (S) and is called a Voronoi edge, if it contains more than one point. If the Voronoi edge e borders the regions of p and q then e ⊂ B(p, q) holds. Endpoints of Voronoi edges are called Voronoi vertices; they belong to the common boundary of three or more Voronoi regions. Γ Figure 2: A Voronoi diagram of 11 points in the Euclidean plane. There is an intuitive way of looking at the Voronoi diagram V (S). Let x be an arbitrary point in the plane. We center a circle, C,atx and let its radius grow, from 0 on. At some stage the expanding circle will, for the first time, hit one or more sites of S. Now there are three different cases. Lemma 2.1 If the circle C expanding from x hits exactly one site, p, then x belongs to VR(p, S).IfC hits exactly two sites, p and q, then x is an interior point of a Voronoi edge separating the regions of p and q.IfC hits three or more sites simultaneously, then x is a Voronoi vertex adjacent to those regions whose sites have been hit. Proof. If only site p is hit then p is the unique element of S closest to x. Consequently, x ∈ D(p, r) holds for each site r ∈ S with r =6 p.IfC hits exactly p and q,then x is contained in each halfplane D(p, r),D(q, r), where r 6∈ {p, q},andinB(p, q), the common boundary of D(p, q)andD(q, p). By definition 2.1, x belongs to the closure of the regions of both p and q, but of no other site in S. Inthethirdcase,the argument is analogous. 2 3 This lemma shows that the Voronoi regions form a decomposition of the plane; see fig. 2. Conversely, if we imagine n circles expanding from the sites at the same speed, the fate of each point x of the plane is determined by those sites whose circles reach x first. This ”expanding waves” view has been systematically used by Chew and Drysdale [66] and Thurston [248]. The Voronoi vertices are of degree at least three, by lemma 2.1. Vertices of degree higher than three do not occur if no four point sites are cocircular. The Voronoi diagram V (S) is disconnected if all point sites are collinear; in this case it consists of parallel lines. L R p C(x) x B(p,q) q l Figure 3: As x moves to the right, the intersection of circle C(x) with the left halfplane shrinks, while C(x) ∩ R grows. From the Voronoi diagram of S one can easily derive the convex hull of S,i.e.the boundary of the smallest convex set containing S.