Degeneracy Proof Predicates for the Additively Weighted Voronoi Diagram
Total Page:16
File Type:pdf, Size:1020Kb
Degeneracy Proof Predicates for the Additively Weighted Voronoi Diagram by David L. Millman A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science Department of Computer Science Courant Institute of Mathematical Sciences New York University May 2007 Prof. Chee K. Yap c David L. Millman All Rights Reserved, 2007 To my mom, dad and sister. iii Abstract This thesis focuses on the Additively Weighted Voronoi diagram. It begins by presenting the history of the diagram and some of the early algorithms used for its generation [OBSC00, Aur91]. The paper then addresses the more recent incremental approach to calculating the diagram, as seen in the 2D Apollonius Graphs (Delaunay Graphs of Disks) package of CGAL [KY06]. Next, the algorithm of Boissonnat et al. [BD05] for calculating Convex Hulls is presented. We then apply the predicates presented by Bossonnat to the CGAL implementation of the AW-Voronoi diagram, and the results are discussed. The main contribution of this paper results in predicates of the AW-Voronoi diagram, with a lower algebraic degree which also handle degeneracies in such a way as to produce a conical result. iv Acknowledgments I would like to thank Professor Chee Yap for his encouragement, knowledge and advice as an adviser and mentor. I would also like to thank Professor Ernest Davis for being my thesis second reader. Many thanks to Christophe Delage for his time spent speaking with me at INRIA, Lee Parnell Thompson and Sudhama Bhatia for bouncing ideas around with me in the lab, and Doug McNamara for his grammatical feedback. I especially would like to thank my Mom and Dad, my sister Lisa and my Grandma for all their love as well as their amazing support over the past two years. v Table of Contents Abstract iv Acknowledgments v List of Figures viii Introduction 1 1 Preliminary 4 1.1 Basic definitions . 4 1.2 Additively-Weighted Voronoi Diagram . 4 1.3 Power Diagram . 6 2 Additively Weighted Voronoi Diagram in 2D 8 2.1 Insertion . 8 2.2 Deletion . 10 2.3 Predicates . 11 3 Convex Hull and Voronoi Diagram of Additively Weighted Points 13 3.1 Correspondence between the Convex Hull and the Power Diagram . 13 4 Degeneracy Proof Predicates for the Additively Weighted Voronoi Diagram in 2D 19 4.1 VertexConflict Introduction . 20 4.2 Orientation predicate . 22 4.3 RadicalIntersection predicate . 23 4.4 RadicalSide predicate . 24 4.5 VertexConflict Non-Degenerate . 25 4.6 Degeneracies . 26 4.7 OrderOnLine . 27 vi 4.8 NDPowerTest . 28 4.9 NDRadicalSide and NDRadicalIntersection . 30 4.10 NDVertexConflict . 32 4.11 NDEdgeConflict . 32 4.12 Algebraic Degree Analysis . 36 4.13 Experimental Results . 38 4.14 Further Work . 39 Appendix 41 A.1 Increasing the Weights of the Generator Sites in the AW-Voronoi Diagram does not change the Diagram . 41 A.2 The Bisectors of a AW-Voronoi Diagram in 2D are Hyperbolic Arcs . 41 A.3 The Bisectors of a Power Diagram in 2D are Lines . 42 A.4 Parabolas of a beach line intersect at two points . 44 Bibliography 46 vii List of Figures 1 A portion of John Snow's map showing the area surrounding the broad street water pump. Each bar represents a death at that address, and the solid gray line (which replaced Snow's original dotted line) is equidistant from the Broad Street pump and the nearest alternative pump. 2 1.1 An example of the AW-Voronoi diagram in R2 . 5 1.2 An example of the Power diagram in R2 . 6 2.1 A set of generator sites (red) and their induced AW-Voronoi diagram (blue), as well as the dual of the AW-Voronoi diagram, the Apollonius graph(green) . 9 3.1 A convex hull in R2 of two sites demonstrating facets of circularity k; k = 0; 1 . 14 3.2 A face, f and one of its sub-faces, f 0, demonstrating the half space of f and f 0 where f is a 2 − face . 15 3.3 case 1: aff(f) is outside of S . 15 3.4 case 2: f is inside of S . 16 3.5 case 3: f intersects S . 16 3.6 case 4: tag[f 0] = and aff(f) \ S ⊆ H(f; f 0) . 16 3.7 case 5: f does not intersect S but aff(f) does . 17 4.1 Four sites which are tangent to the same Voronoi circle, inserted in a different order resulting in two different. 19 4.2 This figure demonstrates the projection of @V (s0) (black) formed by sites, si; i = 0; 1; 2 (also black) onto S (cyan) and its correspondence with the power diagram (red) of the inverted weighted points σi; i = 0; 1; 2 (also red) which are transformed according to transformation 4.1, where s0 is the inversion pole. Note, to clearly illustrate the concept, this picture is not drawn to scale. 21 viii 4.3 The six cases for insertion of q when all points are in general position. The unit sphere S is shown in cyan, the power diagram of σi; i = 1; 2; q in red, where power cells, P (σi); i = 1; 2; q are labeled accordingly. 22 4.4 The three cases of the Orientation Predicate. The unit sphere S shown in cyan, the power diagram of σi; i = 1; 2; 3 in red, where power cells, P (σi); i = 1; 2; 3 are labeled accordingly. 23 4.5 The three cases of the RadicalIntersection Predicate. The unit sphere S shown in cyan, the power diagram of σi; i = 1; 2; 3 in red where power cells, P (σi); i = 1; 2; 3 are labeled accordingly. 24 4.6 The three cases of the RadicalSide Predicate. The unit sphere S shown in cyan, the power diagram of σi; i = 1; 2; 3 in red where power cells, P (σi); i = 1; 2; 3 are labeled accordingly. 25 4.7 An example where RadicalIntersection = 0, but VertexConflict could be deter- mined without perturbation. The unit sphere S shown in cyan, the power diagram of σi; i = 1; 2; q in red where power cells, P (σi); i = 1; 2; q are labeled accordingly. 27 4.8 OrderOnLine Predicate, with inverted weighted points σi; i = 1; 2; 3 in red. 28 4.9 A graphical representation of the PowerTest Predicate in R2, inverted weighted points σi; i = 1; 2; 3 in black, and their corresponding power circle in blue, inverted weighted point, the query site σ4 in yellow, and the unit circle, S in cyan . 29 4.10 A graphical representation of the perturbation of σ3 in the case of RadicalIntersection = 2 0, in R . The first frame shows inverted weighted points σi; i = 1; 2; 3 in black, and their corresponding power circle in blue, the unit circle S in cyan, and the power diagram in red. The second frame is an overlay of the first, which shows the result of perturbing the weight of σ3. The perturbed σ3 with weight w3 + is shown in magenta, the resultant perturbed power circle is shown in green, and perturbed power diagram dark red. 31 ix 4.11 Graphical representation of α01 the AW-Voronoi edge between s0 and s1, and its correspondence to a01, a section of the unit circle shown in green. The sites si; i = 0; 1; 2; 3 as well as the corresponding AW-Voronoi diagram are shown in black. The sites transformed by Equation 4.1 into the inverted weighted points σi; i = 0; 1; 2; 3 and the corresponding Power diagram are shown in red. The unit circle S, as well as the correspondence between the intersection of the power diagram with S and the projection of the @V (s0) onto S are shown in cyan. Note, this picture is not drawn to scale. 35 4.12 perturb constant vs. number of filter failures for nearly degenerate case of the original predicates (red) and NCVertexConflict (green). 40 A.1 A picture of two sites with a line segment connecting their centers . 42 A.2 Intersecting parabolas at points p, Sweep line l in green, parabola P0 and associated focus s0 in blue, parabola P1 and associated focus s1 in red . 45 x Introduction One of the fundamental structures of Computational Geometry is the Voronoi diagram of a set of points. Intuitively, a Voronoi diagram is created by taking a given set of points in space, the representative points, and assigning all locations to the nearest representative point. This assignment partitions the space into a set of cells, where locations which are equidistant to multiple representative points form the cell boundaries. Structures resembling the Voronoi digram can be found as early as 1644. Descartes used a Voronoi like diagram to show the physical inclination of matter in the solar system [Des28]. It was not until the mid 19th century that the first comprehensive presentation of the diagram appeared. Peter Gustave Lejeune Dirichlet [Dir50] and Georgy Fedoseevich Voronoy (Georges Vorono¨ı) [Vor07], first studied a special form of the Voronoi diagram of regularly placed points while investigating positive definite quadratic forms. Dirichlet considered the Voronoi diagram in 2D and 3D, and Vorono¨ı considered the diagram in d dimension. The diagram also seems to have been discovered independently many times and in many fields. One of the more interesting examples is in from 1911 in which Thiessen [Thi11] created the diagram for meteorology to aid in estimating average regional rain fall. Shannon used a variation of the diagram for coding theory, where distance is based on edit distance [Sha48a, Sha48b], and even as recently as 1985, Hoofd et al.