mathematics and visualization · susanne schmitt max-planck-institut f¨ur informatik...

351
Mathematics and Visualization Series Editors Gerald Farin Hans-Christian Hege David Hoffman Christopher R. Johnson Konrad Polthier Martin Rumpf

Upload: others

Post on 10-Sep-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

Mathematics and Visualization

Series EditorsGerald FarinHans-Christian HegeDavid HoffmanChristopher R. JohnsonKonrad PolthierMartin Rumpf

Page 2: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

Editors

ABC

Effective Computational

Jean-Daniel BoissonnatMonique Teillaud

With 120 Figures and 1 Table

Geometry for Curvesand Surfaces

Page 3: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

ISBN-10ISBN-13

This work is subject to copyright. All rights are reserved, whether the whole or part of the material isconcerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting,reproduction on microfilm or in any other way, and storage in data banks. Duplication of this publicationor parts thereof is permitted only under the provisions of the German Copyright Law of September 9,1965, in its current version, and permission for use must always be obtained from Springer. Violations areliable for prosecution under the German Copyright Law.

Springer is a part of Springer Science+Business Media

c© Springer-Verlag Berlin Heidelberg 2006

The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply,even in the absence of a specific statement, that such names are exempt from the relevant protective lawsand regulations and therefore free for general use.

A ECover design: design & production GmbH, Heidelberg

Printed on acid-free paper 5 4 3 2 1 0

springer.com

Typesetting by the authors and SPi using a Springer LT X macro package

46/SPi/3100SPIN: 11732891

978-3-540-332589 Springer Berlin Heidelberg New York

Library of Congress Control Number: 2006931844

Cover Illustration:

Cover Image by Steve Oudot (INRIA, Sophia Antipolis)

[1] E. Brieskorn and H. Knörrer. Plane Algebraic Curves. Birkhäuser, Basel Boston Stuttgart, 1986.

68N30; 65D17; 57Q15; 57R05; 57Q55; 65D05; 57N05; 57N65; 58A05; 68W05; 68W20;Mathematics Subject Classification: 68U05; 65D18; 14Q05; 14Q10; 14Q20; 68N19;

68W25; 68W40; 68W30; 33F05; 57N25; 58A10; 58A20; 58A25.

The standard left trefoil knot, represented as the intersection between two algebraic surfaces that are theimages through a stereographic projection of two submanifolds of the unit 3-sphere S3 – further details canbe found in [1, Chap. III, Section 8.5]. This picture was obtained from a 3D model generated with the CGAL surface meshing algorithm.

3-540-33258-8 Springer Berlin Heidelberg New York

Monique TeillaudJean-Daniel Boissonnat

INRIA Sophia-Antipolis2004 route des LuciolesB.P. 9306902 Sophia-Antipolis, FranceE-mail: [email protected]

[email protected]

Page 4: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

Preface

Computational geometry emerged as a discipline in the seventies and has hadconsiderable success in improving the asymptotic complexity of the solutionsto basic geometric problems including constructions of data structures, convexhulls, triangulations, Voronoi diagrams and geometric arrangements as well asgeometric optimisation. However, in the mid-nineties, it was recognized thatthe computational geometry techniques were far from satisfactory in practiceand a vigorous effort has been undertaken to make computational geometrymore practical. This effort led to major advances in robustness, geometricsoftware engineering and experimental studies, and to the development of alarge library of computational geometry algorithms, Cgal.

The goal of this book is to take into consideration the multidisciplinarynature of the problem and to provide solid mathematical and algorithmicfoundations for effective computational geometry for curves and surfaces. Thisbook covers two main approaches.

In a first part, we discuss exact geometric algorithms for curves and sur-faces. We revisit two prominent data structures of computational geometry,namely arrangements (Chap. 1) and Voronoi diagrams (Chap. 2) in orderto understand how these structures, which are well-known for linear objects,behave when defined on curved objects. The mathematical properties of thesestructures are presented together with algorithms for their construction. Toensure the effectiveness of our algorithms, the basic numerical computationsthat need to be performed are precisely specified, and tradeoffs are consideredbetween the complexity of the algorithms (i.e. the number of primitive calls),and the complexity of the primitives and their numerical stability. Chap. 3presents recent advances on algebraic and arithmetic tools that are keys tosolve the robustness issues of geometric computations.

In a second part, we discuss mathematical and algorithmic methods forapproximating curves and surfaces. The search for approximate representa-tions of curved objects is motivated by the fact that algorithms for curvesand surfaces are more involved, harder to ensure robustness of, and typically

Page 5: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

VI Preface

several orders of magnitude slower than their linear counterparts. This bookprovides widely applicable, fast, safe and quality-guaranteed approximationsof curves and surfaces. Although these problems have received considerableattention in the past, the solutions previously proposed were mostly heuristicsand limited in scope. We establish theoretical foundations to the problem andintroduce two emerging new topics: discrete differential geometry (Chap. 4)and computational topology (Chap. 7). In addition, we present certified algo-rithms for mesh generation (Chap. 5) and surface reconstruction (Chap. 6),two problems of great practical significance.

Each chapter refers to open source software, in particular Cgal, anddiscusses potential applications of the presented techniques. In 1995, Cgal,the Computational Geometry Algorithms Library, was founded as a researchproject with the goal of making correct and efficient implementations for thelarge body of geometric algorithms developed in the field of computationalgeometry available for industrial applications. It has since then evolved to anopen source project [2] and now is the state-of-art implementation in manyareas. A short appendix (Chap. 8) on generic programming and the Cgal

library is included.

This book can serve as a textbook on non-linear computational geometry.It will also be useful to engineers and researchers working in computationalgeometry or other fields such as structural biology, 3-dimensional medicalimaging, CAD/CAM, robotics, graphics etc. Each chapter describes the stateof the art algorithms as well as provides a tutorial introduction to importantconcepts and methods that are both well founded mathematically and efficientin practice.

This book presents recent results of the Ecg project, a Shared-Cost RTD(FET Open) Project of the European Union1 devoted to effective computa-tional geometry for curves and surfaces. More information on Ecg, includ-ing the results obtained during this project, can be found on the web sitehttp://www-sop.inria.fr/prisme/ECG/.

We wish to thank Franz Aurenhammer, Frederic Chazal, Eric Colin deVerdiere, Tamal Dey, Ioannis Emiris, Andreas Fabri, Menelaos Karavelas,John Keyser, Edgar Ramos, Fabrice Rouillier, and many other colleagues,for their cooperation and feedback which greatly helped us to improve thequality of this book.

1Number IST-2000-26473

Page 6: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

List of Contributors

Jean-Daniel BoissonnatINRIABP 9306902 Sophia Antipolis [email protected]

Frederic CazalsINRIABP 9306902 Sophia Antipolis [email protected]

David Cohen-SteinerINRIABP 9306902 Sophia Antipolis [email protected]

Efraim FogelSchool of Computer ScienceTel Aviv UniversityTel Aviv [email protected]

Joachim GiesenETH ZurichCAB G33.2, ETH ZentrumCH-8092 [email protected]

Dan HalperinSchool of Computer ScienceTel Aviv UniversityTel Aviv [email protected]

Lutz KettnerMax-Planck-Institut fur InformatikStuhlsatzenhausweg 8566123 [email protected]

Jean-Marie MorvanInstitut Camille JordanUniversite Claude Bernard Lyon 143 boulevard du 11 novembre 191869622 Villeurbanne [email protected]

Bernard MourrainINRIA

Page 7: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

VIII List of Contributors

BP 9306902 Sophia Antipolis [email protected]

Sylvain PionINRIABP 9306902 Sophia Antipolis [email protected]

Gunter RoteFreie Universitat BerlinInstitut fur InformatikTakustraße 914195 [email protected]

Susanne SchmittMax-Planck-Institut fur InformatikStuhlsatzenhausweg 8566123 [email protected]

Jean-Pierre TecourtINRIABP 9306902 Sophia Antipolis [email protected]

Monique TeillaudINRIABP 9306902 Sophia Antipolis [email protected]

Elias TsigaridasDepartment of Informatics andTelecommunicationsNational Kapodistrian University ofAthensPanepistimiopolis [email protected]

Gert VegterInstitute for Mathematics andComputer ScienceUniversity of GroningenP.O. Box 8009700 AV GroningenThe [email protected]

Ron WeinSchool of Computer ScienceTel Aviv UniversityTel Aviv [email protected]

Nicola WolpertMax-Planck-Institut fur InformatikStuhlsatzenhausweg 8566123 [email protected]

Camille WormserINRIABP 9306902 Sophia Antipolis [email protected]

Mariette YvinecINRIABP 9306902 Sophia Antipolis [email protected]

Page 8: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

Contents

1 ArrangementsEfi Fogel, Dan Halperin, Lutz Kettner, Monique Teillaud, Ron Wein,Nicola Wolpert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Chronicles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Exact Construction of Planar Arrangements . . . . . . . . . . . . . . . . . . . . . 5

1.3.1 Construction by Sweeping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3.2 Incremental Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.4 Software for Planar Arrangements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251.4.1 The Cgal Arrangements Package . . . . . . . . . . . . . . . . . . . . . . . . . . 261.4.2 Arrangements Traits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331.4.3 Traits Classes from Exacus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361.4.4 An Emerging Cgal Curved Kernel . . . . . . . . . . . . . . . . . . . . . . . . 381.4.5 How To Speed Up Your Arrangement Computation in Cgal . . 40

1.5 Exact Construction in 3-Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411.5.1 Sweeping Arrangements of Surfaces . . . . . . . . . . . . . . . . . . . . . . . . 411.5.2 Arrangements of Quadrics in 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

1.6 Controlled Perturbation: Fixed-Precision Approximation ofArrangements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

1.7 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531.7.1 Boolean Operations on Generalized Polygons . . . . . . . . . . . . . . . . 531.7.2 Motion Planning for Discs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571.7.3 Lower Envelopes for Path Verification in Multi-Axis

NC-Machining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591.7.4 Maximal Axis-Symmetric Polygon Contained in a Simple

Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621.7.5 Molecular Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631.7.6 Additional Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

1.8 Further Reading and Open problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Page 9: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

X Contents

2 Curved Voronoi DiagramsJean-Daniel Boissonnat, Camille Wormser, Mariette Yvinec . . . . . . . . . . 672.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682.2 Lower Envelopes and Minimization Diagrams . . . . . . . . . . . . . . . . . . . . 702.3 Affine Voronoi Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

2.3.1 Euclidean Voronoi Diagrams of Points . . . . . . . . . . . . . . . . . . . . . . 722.3.2 Delaunay Triangulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742.3.3 Power Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

2.4 Voronoi Diagrams with Algebraic Bisectors . . . . . . . . . . . . . . . . . . . . . . 812.4.1 Mobius Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812.4.2 Anisotropic Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862.4.3 Apollonius Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

2.5 Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922.5.1 Abstract Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922.5.2 Inverse Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

2.6 Incremental Voronoi Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 992.6.1 Planar Euclidean diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012.6.2 Incremental Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012.6.3 The Voronoi Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

2.7 Medial Axis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1092.7.1 Medial Axis and Lower Envelope . . . . . . . . . . . . . . . . . . . . . . . . . . 1102.7.2 Approximation of the Medial Axis . . . . . . . . . . . . . . . . . . . . . . . . . 110

2.8 Voronoi Diagrams in Cgal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1142.9 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

3 Algebraic Issues in Computational GeometryBernard Mourrain, Sylvain Pion, Susanne Schmitt, Jean-PierreTecourt, Elias Tsigaridas, Nicola Wolpert . . . . . . . . . . . . . . . . . . . . . . . . . . . 1173.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1173.2 Computers and Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

3.2.1 Machine Floating Point Numbers: the IEEE 754 norm . . . . . . . . 1193.2.2 Interval Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203.2.3 Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

3.3 Effective Real Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1233.3.1 Algebraic Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1243.3.2 Isolating Interval Representation of Real Algebraic Numbers . . 1253.3.3 Symbolic Representation of Real Algebraic Numbers . . . . . . . . . 125

3.4 Computing with Algebraic Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263.4.1 Resultant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263.4.2 Isolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1313.4.3 Algebraic Numbers of Small Degree . . . . . . . . . . . . . . . . . . . . . . . . 1363.4.4 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

3.5 Multivariate Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1403.6 Topology of Planar Implicit Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

3.6.1 The Algorithm from a Geometric Point of View . . . . . . . . . . . . . 143

Page 10: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

Contents XI

3.6.2 Algebraic Ingredients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1443.6.3 How to Avoid Genericity Conditions . . . . . . . . . . . . . . . . . . . . . . . 145

3.7 Topology of 3d Implicit Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1463.7.1 Critical Points and Generic Position . . . . . . . . . . . . . . . . . . . . . . . . 1473.7.2 The Projected Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1483.7.3 Lifting a Point of the Projected Curve . . . . . . . . . . . . . . . . . . . . . . 1493.7.4 Computing Points of the Curve above Critical Values . . . . . . . . . 1513.7.5 Connecting the Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1523.7.6 The Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

3.8 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

4 Differential Geometry on Discrete SurfacesDavid Cohen-Steiner, Jean-Marie Morvan . . . . . . . . . . . . . . . . . . . . . . . . . . 1574.1 Geometric Properties of Subsets of Points . . . . . . . . . . . . . . . . . . . . . . . 1574.2 Length and Curvature of a Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

4.2.1 The Length of Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1584.2.2 The Curvature of Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

4.3 The Area of a Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1614.3.1 Definition of the Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1614.3.2 An Approximation Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

4.4 Curvatures of Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1644.4.1 The Smooth Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1644.4.2 Pointwise Approximation of the Gaussian Curvature . . . . . . . . . 1654.4.3 From Pointwise to Local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1674.4.4 Anisotropic Curvature Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . 1744.4.5 ε-samples on a Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1784.4.6 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

5 Meshing of SurfacesJean-Daniel Boissonnat, David Cohen-Steiner, Bernard Mourrain,Gunter Rote, Gert Vegter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815.1 Introduction: What is Meshing? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

5.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1875.2 Marching Cubes and Cube-Based Algorithms . . . . . . . . . . . . . . . . . . . . 188

5.2.1 Criteria for a Correct Mesh Inside a Cube . . . . . . . . . . . . . . . . . . 1905.2.2 Interval Arithmetic for Estimating the Range of a Function . . . 1905.2.3 Global Parameterizability: Snyder’s Algorithm . . . . . . . . . . . . . . . 1915.2.4 Small Normal Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

5.3 Delaunay Refinement Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2015.3.1 Using the Local Feature Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2025.3.2 Using Critical Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

5.4 A Sweep Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2135.4.1 Meshing a Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2155.4.2 Meshing a Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

5.5 Obtaining a Correct Mesh by Morse Theory . . . . . . . . . . . . . . . . . . . . . 2235.5.1 Sweeping through Parameter Space . . . . . . . . . . . . . . . . . . . . . . . . 223

Page 11: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

XII Contents

5.5.2 Piecewise-Linear Interpolation of the Defining Function . . . . . . . 2245.6 Research Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

6 Delaunay Triangulation Based Surface ReconstructionFrederic Cazals, Joachim Giesen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

6.1.1 Surface Reconstruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316.1.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316.1.3 Reconstruction Using the Delaunay Triangulation . . . . . . . . . . . . 2326.1.4 A Classification of Delaunay Based Surface Reconstruction

Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2336.1.5 Organization of the Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

6.2 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2346.2.1 Delaunay Triangulations, Voronoi Diagrams and Related

Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2346.2.2 Medial Axis and Derived Concepts . . . . . . . . . . . . . . . . . . . . . . . . . 2446.2.3 Topological and Geometric Equivalences . . . . . . . . . . . . . . . . . . . . 2496.2.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

6.3 Overview of the Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2536.3.1 Tangent Plane Based Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2536.3.2 Restricted Delaunay Based Methods . . . . . . . . . . . . . . . . . . . . . . . 2576.3.3 Inside / Outside Labeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616.3.4 Empty Balls Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

6.4 Evaluating Surface Reconstruction Algorithms . . . . . . . . . . . . . . . . . . . 2716.5 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2726.6 Research Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

7 Computational Topology: An IntroductionGunter Rote, Gert Vegter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2777.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2777.2 Simplicial complexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2787.3 Simplicial homology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2827.4 Morse Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

7.4.1 Smooth functions and manifolds . . . . . . . . . . . . . . . . . . . . . . . . . . . 2957.4.2 Basic Results from Morse Theory . . . . . . . . . . . . . . . . . . . . . . . . . . 300

7.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

8 Appendix - Generic Programming and The Cgal LibraryEfi Fogel, Monique Teillaud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3138.1 The Cgal Open Source Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3138.2 Generic Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3148.3 Geometric Programming and Cgal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3168.4 Cgal Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341

Page 12: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1

Arrangements

Efi Fogel, Dan Halperin, Lutz Kettner, Monique Teillaud, Ron Wein, andNicola Wolpert

1.1 Introduction

Arrangements of geometric objects have been intensively studied in combina-torial and computational geometry for several decades. Given a finite collec-tion S of geometric objects (such as lines, planes, or spheres) the arrangementA(S) is the subdivision of the space where these objects reside into cells asinduced by the objects in S. Figure 1.1 illustrates a planar arrangement ofcircles, which consists of vertices, edges, and faces: a vertex is an intersection

Fig. 1.1. An arrangement of 14 circles in theplane, with 53 faces (one of which is unbounded),106 edges, and 59 vertices

point of two (or more) circles,an edge is a maximal portionof a circle not containing anyvertex, and a face is a maximalregion of the plane not con-taining any vertex or edge. Forconvenience we also introducetwo (artificial) vertices in eachcircle at the x-extreme pointssplitting the circle into two x-monotone arcs (thus each edgeof the arrangement now hastwo distinct endpoints).

Arrangements are definedand have been investigated forgeneral families of geometricobjects. One of the best stud-ied type of arrangements isthat of lines in the plane.This means that arrangementsmay have unbounded edges

Chapter coordinator

Page 13: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

and faces. Furthermore, arrangements are defined in any dimension. Thereare, for example, naturally defined and useful arrangements of hypersurfacesin six-dimensional space, arising in the study of rigid motion of bodies inthree-dimensional space.

Written evidence of the study of arrangements goes back to the nineteenthcentury (see [249]). We notice three periods in the computational study ofarrangements. From the inception of computational geometry in the seven-ties till the mid eighties the focus was almost exclusively on the theoreticalstudy of arrangements of unbounded linear objects, of hyperplanes. Many ofthe results obtained during this period are summarized in the book by Edels-brunner [130]. The central role of arrangements in computational geometryhas fortified in the following period, from the mid-eighties to the mid-nineties,where the theoretical focus has shifted toward arrangements of curves and sur-faces. Many of the results obtained in those years are summarized in the bookby Sharir and Agarwal [312] and in the survey papers [15] and [196]. From themid nineties till the time of writing this chapter, a new more practical aspectof the study of arrangements has strengthened, emphasizing implementationand usage. The goal of robustly implementing algorithms for arrangementscontinues to raise numerous challenging technological and scientific problems.This chapter is devoted to the developments in this applied direction, with anemphasis on curves and surfaces. It should be noted however, that the appear-ance of a new topic of study in arrangements never replaced previous trends,and to this very day the theoretical study of arrangements of hyperplanes orof arrangements of algebraic curves is a thriving and fruitful domain.

Besides being interesting in their own right, arrangements are useful ina variety of applications. They have been used in solving problems in ro-bot motion planning, computer vision, GIS (geographic information systems),computer-assisted surgery, statistics, and molecular biology, to mention just afew of the application domains. What makes arrangements such a useful struc-ture is that they enable the accurate discretization of continuous problems,without compromising the exactness or completeness of the solution.

When coming to solve a problem using arrangements, we first need to castthe problem in “arrangement terms”. To this end, there is a large arsenal oftechniques, most of which are rather simple. They include duality transforms(used to cast problems on point configurations as problems on arrangementsof hyperplanes), Plucker coordinates [287], and the so-called locus methodthat analyzes criticalities in a problem and transforms the criticalities intohypersurfaces in the space where the problem is studied.

The next stage is to understand the combinatorial complexity of the rele-vant arrangement or of a portion thereof. Quite often, one does not need toconstruct the entire arrangement in order to solve a problem, and having onlya substructure is sufficient (e.g., a single connected component of the ambientspace often suffices in solving motion planning problems). This analysis givesa lower bound on the resources required by the algorithms and data structuresthat will be used in the solution.

Page 14: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 3

Choosing or devising efficient algorithms and data structures to build therequired (sub)arrangement is the next step of solving a problem using arrange-ments. This and the above two steps have been studied for decades.

Then comes the stage of effective implementation of the solution, whichhas various aspects to it. Sometimes asymptotically efficient algorithms arenot necessarily practically the best. Precision and robustness of the solution isa central issue and raises questions such as: (i) how to cope with degeneracies,which are typically ignored in theory under the general position assumption;(ii) is the ready-made computer arithmetic sufficient or do we need to usemore sophisticated machinery? These are the topics that this chapter focuseson.

The next section of the chapter gives a brief overview of the state-of-the-art in constructing arrangements. In Sect. 1.3 we survey the main advances inexact construction of planar arrangements, focusing mostly on the sweep-lineapproach, but explaining also what is needed for incremental construction.In Sect. 1.4 we review the software implementation details of these methods.The more recent work on the three-dimensional case is discussed in Sect. 1.5.Stepping away from exact computing is the topic of Sect. 1.6. A tour of imple-mented applications of curves and surfaces is given in Sect. 1.7. We concludein Sect. 1.8 with suggestions for further reading and open problems.

1.2 Chronicles

In 1995, Cgal, the Computational Geometry Algorithms Library, was foundedas a research project with the goal of making the large body of geometricalgorithms developed in the field of computational geometry available for in-dustrial applications with correct and efficient implementations [2, 222, 156].It has since then evolved to an Open Source Project and is now representingthe state-of-art in implementing computational geometry software in many ar-eas. Cgal contains an elaborate and efficient implementation of arrangementsthat supports general types of curves.

The recent Ecg project, which stands for Effective Computational Geom-etry for Curves and Surfaces, running from 2001 to 2004, extended the scopeof implementation research towards curved objects.1 Arrangements of curvesand surfaces were an important theme in this project, and several differentapproaches to the topic were taken. This body of work is now collected andpresented in a uniform manner in the following sections of the current chapter.In this brief section however, we present how the different results evolved.

The first branch of research, undertaken at Tel-Aviv University, Israel,is founded on the Cgal arrangement computation. Originally the Cgal ar-rangements package supported line segments, circular arcs and restricted typesof parabolas. Wein [331] extended the Cgal implementation to ellipses and

1〈http://www-sop.inria.fr/prisme/ECG/〉

Page 15: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

4 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

arcs of conics, where the conics can be of any type. Following the newlyemerging requirements from curves on the software, Fogel et al. [167, 166]improved and refined the software design of the Cgal arrangement package.This new design formed a common platform for a preliminary comparisondocumented in [165] of the different arrangement computation approachesdescribed here. Recently the whole package has been revamped [333] leadingto more compact, easier-to-use code, which in certain cases is much fasterthan the results reported in [165], sometimes by a factor of ten or more. Thedescription in Section 1.4 pertains to this latest design.

The second branch of research, undertaken at the Max-Planck Instituteof Computer Science in Saarbrucken, Germany, produces a set of C++ li-braries in the project Exacus (Efficient and Exact Algorithms for Curvesand Surfaces) [4] as contribution in the Ecg project with support for theCgal arrangement class. The design of the Exacus libraries is described inBerberich et al. [48]. The theory and the implementations for the differentapplications behind Exacus are described in the following series of papers:Berberich et al. [49] computed arrangements of conic arcs based on the im-proved Leda [251] implementation of the Bentley-Ottmann sweep-line algo-rithm [46]. Eigenwillig et al. [140] extended the sweep-line approach to cubiccurves. A generalization of Jacobi curves for locating tangential intersectionsis described by Wolpert [341]. Berberich et al. [50] recently extended thesetechniques to special quartic curves that are projections of spatial silhou-ette and intersection curves of quadrics, and lifted the result back into space.The recent extension to algebraic curves of general degree by Wolpert andSeidel [310] exists currently only as a Maple prototype.

The third branch of research, undertaken at INRIA Sophia-Antipolis inFrance and The National University of Athens in Greece, proposes a designfor a more systematic support of non-linear geometry in Cgal focusing onarrangements of curves. This implementation was limited to circular arcs andyielded preliminary results for conical arc, restricted to elliptic arcs [145].More work on this kernel is in progress. Their approach is quite different fromthe approach taken in the Exacus project in that it avoids the direct ma-nipulation of algebraic numbers. Instead, by using algebraic tools like Sturmsequences (that are statically precomputed for small degrees for increasedefficiency), they reduce operations such as comparison of algebraic numbersto computing signs of polynomial expressions, which can be done with exactinteger arithmetic. In addition, this allows the use of efficient filtering tech-niques [116, 144]. This method is expected to compare favorably against thealgebraic numbers used elsewhere.

Efforts towards exact and efficient implementations have been made inthe libraries Mapc [226] and Esolid [225], which deal with algebraic pointsand curves and with low-degree surfaces, respectively. Both libraries are notcomplete in the sense that they require surfaces to be in general position.

Computer algebra methods, based on exact arithmetic, guarantee correct-ness of their results. A particularly powerful and complete method related to

Page 16: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 5

our problems is cylindrical algebraic decomposition invented by Collins [101,100] and subsequently implemented (with numerous refinements). Our ap-proach to curve and curve pair analysis can be regarded as a form of cylindri-cal algebraic decomposition of the plane in which the lifting phase has beenredesigned to take advantage of the specific geometric setting; in particular,to reduce the degree of algebraic numbers in arithmetic operations.

Much of the work described in this chapter relies on having effective al-gebraic software available, like algebraic number types (as the ones providedby Leda and Core), or other algebraic tools. Exactness and efficiency alsorequire the use of adapted number types and filtering techniques. Develop-ments in these areas, which are independent of computing arrangements, arediscussed in Chapter 3.

1.3 Exact Construction of Planar Arrangements

Implementing geometric algorithms in a robust way is known to be notori-ously difficult. The decisions made by such algorithms are based on the re-sults of simple geometric questions, called predicates, solved by the evaluationof continuous functions subject to rounding errors (if we use the standardfloating-point computer arithmetic), though the algorithms are basically ofcombinatorial and discrete nature. The exact evaluation of predicates has be-come a research topic on its own in recent years, in particular for the case ofarrangements of curves.

Algorithms for computing arrangements of curves (or segments of curves)require several operations to be performed exactly. One essential predicate,for example, is the xy-comparison that takes two endpoints or intersectionpoints of two segments and compares them lexicographically. This predicateis known to be very sensitive to numerical errors: If the relation given by thecomparison test is not transitive, due to erroneous numerical computations,the algorithm may fail.

Let us assume that we are given a set B of planar x-monotone curvesthat are pairwise disjoint in their interior — that is, two curves in B mayhave a common endpoint but cannot have any other intersection points. Thedoubly-connected edge list (Dcel for short) is a data structure that allows aconvenient and efficient representation of the planar subdivision A(B) inducedby B. We represent each curve using a pair of directed halfedges, one goingfrom the left endpoint (lexicographically smaller) of the curve to its right end-point, and the other (its twin halfedge) going in the opposite direction. TheDcel consists of three containers of records: vertices (associated with pla-nar points), halfedges, and faces, where halfedges are used to separate facesand to connect vertices. We store a pointer from each halfedge to its incidentface, which is the face lying to its left. In addition, every halfedge is followedby another halfedge sharing the same incident face, such that the destinationvertex of the halfedge is the same as the origin vertex of its following halfedge.

Page 17: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

e

v1

v2

e′

f2

ff1

f3

Fig. 1.2. A portion of the arrangement depicted in Fig. 1.1 with some of the Dcel

records that represent it. f is the unbounded face. The halfedge e (and its twin e′)correspond to a circular arc that connects the vertices v1 and v2 and separates theface f1 from f2. The predecessors and successors of e and e′ are also shown — notethat e, together with its predecessor and successor halfedges form a closed chainrepresenting the boundary of f1 (lightly shaded). Also note that the face f3 (darklyshaded) has a more complicated structure as it contains a hole in its interior

The halfedges are therefore connected in circular lists and form chains, suchthat all halfedges of a chain are incident to the same face and wind in a coun-terclockwise direction along its outer boundary. See Fig. 1.2 for an illustration.

The full details concerning the Dcel records are omitted here. We onlymention that the Dcel representation is very useful for algorithms that re-quire traversal of a subdivision, or for computing the overlay of two planarsubdivisions. See [111, Sect. 2.2] for further details and examples.

In a scenario more general than above, we are given a set C of planarcurves. A curve C ∈ C may not necessarily be x-monotone and it may intersectany other curve C ′ ∈ C in a finite number of points, or alternatively, it may(partially) overlap it. If we wish to construct a Dcel that represents A(C), thearrangement (or planar subdivision) induced by C, we perform the followingsteps:

• Subdivide each C ∈ C into x-monotone segments. We denote the result-ing set as C. We prefer that our Dcel contain only x-monotone curves asthis not only makes its maintenance much simpler, but also enables us toconstruct a data structure on top of the Dcel, based on vertical decom-position, that enables us to answer point-location queries efficiently (seeSect. 1.3.2).

Page 18: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 7

To allow for degenerate input, we only require that each curve in C isweakly x-monotone, where vertical segments are also considered to beweakly x-monotone.

• Compute all the intersections between the curves in C, and subdivide thecurves into subcurves that are pairwise disjoint in their interior. Let B bethe resulting set.

• Construct a Dcel representing A(B). The edges in this subdivision corre-spond to the subcurves of C, where we can store with each edge a pointerto the original curve C ∈ C that contributed the corresponding subcurve.In case of an overlapping edge, we may have to store multiple pointers. Itimmediately follows that A(C) = A(B).

We will discuss two different approaches for computing arrangements ofcurves and the implementation of the predicates they require. In Sect. 1.3.1we present an approach based on the Bentley and Ottmann sweep-line al-gorithm [46]. We first describe this algorithm in its original setting for linesegments. We then show how it can be adapted to arbitrary x-monotone curvesand derive the necessary predicates. We explain in detail how these predicatescan be implemented for conics, i.e., implicit algebraic curves of degree 2.2 Wethen briefly examine the case of algebraic curves of degree 3, also known ascubic curves, and describe what difficulties emerge as the degree of the curvesincreases. Our experience shows that the sweep-line approach is the fastest inpractice.

The second general approach for computing arrangements of curves, pre-sented in Sect. 1.3.2, is an incremental one. The advantage of this methodin comparison to the sweep-line algorithm is that it is on-line. Furthermore,as a by-product of the incremental construction one can produce an efficientpoint-location structure. We first explain how the arrangement is constructedby inserting the curves one by one. We then describe point location strategies,and conclude by deriving the predicates needed by the incremental approach.

1.3.1 Construction by Sweeping

The Classical Sweep-Line Algorithm

The famous sweep-line algorithm of Bentley and Ottmann [46] was originallyformulated for sets of line segments. For completeness, we give a sketch of thisalgorithm, with the general position assumptions that no segment is vertical,no three segments intersect at a common point and no two segments overlap.3

2An algebraic curve of degree d is the locus of points that satisfy the equation∑d

i=0

∑d−i

j=0cijx

iyj = 0, where cij ∈ R for all indices i and j.3The original algorithm of Bentley and Ottmann only detects and reports the

intersection points between the input segments. However, it can be easily augmentedto compute the arrangement.

Page 19: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

8 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

The main idea is that the static two-dimensional problem is transformedinto a dynamic one-dimensional one. An imaginary vertical line, called thesweep line, is swept over the plane from left to right. At each time duringthe sweep a subset of the input segments intersect the sweep line in a certainorder. While moving the sweep line along the x-axis a change in the topologyof the arrangement takes place when this ordering changes. This happens ata finite number of event-points: intersection points of two segments and leftendpoints or right endpoints of segments.

The following invariants are maintained during the sweep:

1. All event points to the left of the sweep line (more precisely, all eventpoints that are xy-lexicographically smaller than the current event point)have been discovered and handled.

2. The ordered sequence of segments intersecting the sweep line is stored ina dynamic structure called the Y-structure.

3. The event points, namely segment endpoints and all intersection pointsthat have already been discovered but not yet handled (that is, they areto the right of the sweep line), are stored in a second dynamic structure,named the X-structure, in xy-lexicographic order.

We initialize the X-structure by inserting all segment endpoints into it,while the Y -structure is initially empty. We iteratively extract the lexico-graphically smallest event point from the X-structure. We are done if the X-structure is empty. Otherwise, we move the sweep line past this event pointand update the X- and Y -structures according to the following type of theevent point (in what follows, one of the segments sa or sb, or both, may notexist):

• If the event is the left endpoint of a segment s, we insert s into the Y -structure according to its y-order along the sweep line. Let sa and sb bethe segments above and below s after the insertion, respectively. If s andsa intersect, we insert their intersection point into the X-structure. We dothe same for s and sb.

• If the event is the right endpoint of a segment s, we remove s from theY -structure. Let sa and sb be the segments above and below s immedi-ately before the deletion, respectively. After the deletion sa and sb becomeadjacent in the Y -structure. If they intersect at a point with a larger x-coordinate than the current one, we insert their intersection point into theX-structure (unless it already exists there).

• If the event is the intersection point of s1 and s2, we swap their positionin the Y -structure. Assume, without loss of generality, that after the swaps2 lies above s1. Let sa be the segment above s2 and sb be the segmentbelow s1. If sa and s2 intersect, we insert their intersection point into theX-structure. We do the same for s1 and sb.

The running time of this algorithm for a set of n input segments thatintersect in k points is O((n+k) log n). It is possible to guarantee O(n) space

Page 20: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 9

complexity by removing intersection points of segments from the X-structureas soon as the segments are no longer adjacent along the sweep line.

As we have already mentioned, the sweep-line algorithm was originallyformulated with some restrictions on the input segments. It can be modifiedin a way that it can handle any set of line-segments, containing various kindsof degeneracies — see [111, Sect. 2.1] and [251, Sect. 10.7].

Sweeping Non-Linear Curves

Already Bentley and Ottmann observed that the sweep-line algorithm canbe used to handle arbitrary x-monotone curves (or x-monotone segments ofarbitrary planar curves). Two implicit assumptions are made by the “classical”algorithm: a pair of segments can intersect at most once, and two segmentsswap their relative position when they intersect. These assumptions do notnecessarily hold for general curves, but we can easily remedy the situation:

• Instead of checking whether two curves intersect, we check whether theyhave an intersection point to the right of the current event point pe. If thereare several intersection points lying to the right of pe, it is sufficient, at thecurrent event, to consider only the leftmost one. However, if all intersectionpoints are available, we can insert them all into the X-structure.

• When we deal with an intersection event of two curves, we have to con-sider the multiplicity of the intersection point (see Chap. 3 for the exactdefinition of the multiplicity of an intersection point). If the multiplicity isodd, the two curves swap their relative vertical positions and we proceedas in the case of line segments. If, however, the multiplicity is even, the twocurves maintain their initial positions and no new adjacencies are createdin the Y -structure.

If we drop the general position assumption and allow several curves tointersect at a common point p, we have to be a bit more careful when the sweepline passes over p. For straight line segments the y-order of the intersectingsegments just has to be reversed, but this, of course, is not necessarily truefor arbitrary curves. The following algorithm, taken from [49], determines they-order of k curves immediately to the right of p, whose order to the left ofp is C1, . . . , Ck, in time O(M · k), where M is the maximal multiplicity of apairwise intersection of the curves:

Lemma 1. Given the y-order of the curves C1, . . . , Ck passing through a com-mon point p immediately to the left of p, algorithm OrderToRight correctlycomputes the y-order of the curves immediately to the right of p.

Proof. Notice that as our x-monotone curves are defined to the left and tothe right of p = (px, py), we can conceptually treat them as univariate func-tions y = Ci(x). Each Ci is developed in a Taylor series locally around p:

Page 21: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

10 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

Algorithm 1 OrderToRight (C1, . . . , Ck; p)1: For each 1 ≤ i < k do:1.1: Compute mi, the multiplicity of intersection of the curves Ci and Ci+1 at p.2: Let M ←− max m1, . . . , mk−1.3: Let m ←− M .4: While m ≥ 1 do:4.1: Form maximal subsequences of curves, where two curves belong to the same

subsequence, if they are not separated by a multiplicity less than m.4.2: Reverse the order of each subsequence.4.3: m ←− m − 1.

Ci(x) =∑∞

ν=1 ciν(x − px)ν , with ciν = C(ν)i

(xp)

ν! . Two arbitrary curves Ci

and Cj intersect with multiplicity m in p iff m is the least index for whichcim = cjm (or equivalently, C(m)

i (px) = C(m)j (px)). The y-order of Ci and Cj

immediately to the left (and immediately to the right) of p is determined bythe values of cim and cjm. This is because locally around p the low-degreeterms of the Taylor expansion Ci and Cj are the dominating ones. Withoutloss of generality assume cim < cjm. If m is even, the y-order to the left isCi ≺ Cj (Ci is below Cj), the one to the right is also Ci ≺ Cj . If m is odd,the y-order to the left is Cj ≺ Ci, the one to the right is Ci ≺ Cj . Thus, form odd the two curves change their y-order at the point p.

The algorithm above only computes the intersection multiplicities forneighboring pairs of curves with respect to their y-order to the left of p. Nowlet Ci and Cj , i < j, be two arbitrary curves with intersection multiplicity m.We claim that m = µ with µ = minmi, . . . ,mj−1. The inequality m ≥ µ istrivial since all Taylor series of neighboring pairs of curves in (Ci, . . . , Cj) areidentical at least up to index µ−1, and so are the ones of Ci and Cj . Thus, weassume that m > µ and let l, i ≤ l < j, be the least index such that µ = ml.The Taylor series of Cl and Cl+1 differ at index µ and by the choice of l, so dothe series of Ci and Cl+1. Since Ci and Cj are identical at least up to index µthe y-order of Ci and Cl+1 to the left of p equals the y-order of Cj and Cl+1

there. This contradicts the given y-order Ci ≺ Cl+1 ≺ Cj to the left of p, andwe conclude that m = minmi, . . . ,mj−1. In particular, we have proved thatthe maximal multiplicity of intersection among all curves C1, . . . , Ck is givenby max m1, . . . ,mk−1.

The y-order to the right of p of Ci and Cj differs from their y-order tothe left of p iff m is odd. Observe that m = minmi, . . . ,mj−1 is exactly thenumber of times Ci and Cj belong to the same subsequence in the algorithm,i.e. the number of times their order is reversed. We conclude the order of Ci

and Cj is reversed iff Ci and Cj cross at p.

We are now ready to define the set of geometric operations (predicates andgeometric constructions) needed to realize the sweep for general curves andcurve segments. The first operation that must be defined in order to make the

Page 22: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 11

sweep applicable is the conversion of input curves, which may not necessarilybe x-monotone, to a set of x-monotone curves inducing the same arrangement:

Make x-monotone: Given a curve (or a curve segment), subdivide it into max-imal x-monotone segments, also referred to as sweepable segments.

The geometric operations then needed by the sweep-line algorithm involvepoints and x-monotone segments of curves:

Compare xy: Given two points p and q, compare them lexicographically. Thispredicate is needed to sort the event points in the X-structure.

Point position: Given an x-monotone curve segment C and a point p in thex-range of C, determine whether p is vertically above, below, or on C.In the context of the sweep algorithm, this predicate is used to insert theleftmost endpoint of a sweepable curve into the Y -structure by locating itsposition with respect to the existing curves in the structure. The predicateis also used by some point-location strategies (see Sect. 1.3.2).

Compare to right: Given two curves C1 and C2 that intersect at a given pointp, determine the y-order of C1 and C2 immediately to the right of p. Thispredicate is used to insert new curves into the Y -structure, when theirleftmost endpoint lies on an existing curve in the structure. (It is alsoused in the incremental construction algorithm to determine the locationof the inserted curve when its left endpoint lies on an existing arrangementedge or coincides with an existing vertex.)

Intersections: Given two curves C1 and C2, compute all the intersection pointsof C1 and C2 and their multiplicities. In degenerate situations, the twocurves may overlap. In this case we return the overlapping segment astheir next intersection. We omit here the technical details concerning thehandling of overlaps.

We next give an overview of the algebraic methods used to implementthe operations above for arrangements of algebraic curves of degree 2 (coniccurves), based on [49] and [331], and of curves of degree 3 (cubic curves),based on [140].

As already mentioned, it is impossible to robustly implement the sweep-line algorithm as-is using machine-precision floating-point arithmetic. Instead,we should work with a number type that can carry out mathematical oper-ations in an exact manner. Our main task is to minimize the set of oper-ations required from the number type, and we show that it is sufficient touse number types that enable the construction from an (unbounded) integerand support the arithmetic operations +,−,×,÷, the square-root opera-tion, and comparisons on these numbers, in an exact manner. Such numbertypes are provided by the Leda library [251] and by the Core library [3].4

4The work of Emiris et al. [145], which is based on different methods, reducingthe comparison of algebraic numbers to computing signs of polynomial expressions,and thus does not require the manipulation of such number types, is not describedin this section. We refer the reader to Chap. 3.

Page 23: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

12 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

Another important task is to minimize the number of exact numerical opera-tions, since these operations are typically more time consuming than machinefloating-point arithmetic.

In our analysis of the operations, we pay attention to special classes of realnumbers that we can handle using Leda or Core’s exact number types:

Definition 1. A real number α ∈ R is a one-root number if it can be expressedas q1 + q2

√q3 where q1, q2, q3 ∈ Q.

Any algebraic number of degree 2, namely any real-valued solution to aquadratic equation with rational coefficients ax2 + bx + c = 0, is a one-rootnumber as it has the form α = − b

2a ± 12a

√b2 − 4ac.

Definition 2. The field of real-root expressions (FRE), denoted IF, is theclosure of the integers under the operations

+,−,×,÷,√

.

IF is a subfield of the field of real algebraic numbers and contains the setof one-root numbers. We also note that the solution of a quadratic equationwhose coefficients are one-root numbers can be represented using only the

+,−,×,÷,√

operations, therefore it is in IF. When we use the leda real

class of Leda or the Expr class of Core as our number-type, we have the im-portant property that we can carry out exact comparisons of any two numbersin IF.

Conics

We now show how to realize the geometric operations needed by the sweep-line algorithm for sets of conic curves, or segments of such curves (we usethe term conics for short). A conic curve is implicitly defined by a quadraticpolynomial:

C(x, y) = rx2 + sy2 + txy + ux+ vy + w ∈ R[x, y] .

However, in the rest of this section we will confine ourselves to deal with curveswith rational coefficients, that is, C(x, y) ∈ Q[x, y]. The conic curve consistsof all points (x, y) ∈ R

2 in the real plane for which C(x, y) = 0 holds. In whatfollows we will always identify the curve and its defining polynomial. A conicarc is a segment of a conic curve, represented by a supporting conic curve,the two delimiting endpoints, and the orientation in which the two endpointsare connected (clockwise or counterclockwise).

There are three types of curved conics, namely ellipses, parabolas, andhyperbolas, where the sign of the expression ∆C = 4rs − t2 characterizes thetype of conic:

• ∆C > 0 is a necessary (but not sufficient, because of degeneracies —see below) condition that the conic curve C is an ellipse (e.g., C(x, y) =x2 + 2y2 − 1),

Page 24: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 13

• ∆C = 0 is a necessary (but not sufficient) condition that the conic curveC is a parabola (e.g., C(x, y) = x2 + 4y2 + 4xy − y),

• ∆C < 0 is a necessary (but not sufficient) condition that the conic curveC is a hyperbola (e.g., C(x, y) = x2 − y − 1).

There also exist some non-curved forms of conic curves. If r = s = t = 0,the conic C degenerates to a single line. In addition, we can encounter line-pairs that can be either intersecting (e.g., C(x, y) = (x+y−1)(2x+y+1)) orparallel (e.g., C(x, y) = (x+y−1)(x+y+1)). Conics can also be degenerate,such as the empty set (e.g., C(x, y) = x2 + y2 + 1) or a single point (e.g.,C(x, y) = x2 + y2). Indeed, it is important for some applications to handlenon-curved conics (see Sect. 1.7) and due to our aim of completeness we wishto handle all types of degenerate conics. For a complete implementation thatcan handle all, even all degenerate conics, consider for example Exacus [4].However, for the sake of simplicity we will not discuss all cases in full detailin this book but mainly focus on ellipses, parabolas, and hyperbolas. We justmention that each kind of conic is completely characterized by the sign of ∆C

and the number of real roots of the polynomial pC(x) = (tx+ v)2 − 4s(rx2 +ux+w).5 Extending the following details for curved conics to non-curved (andeven degenerate) conics is not too difficult and left to the reader.

Recall that we are interested in the points (x, y) ∈ R2 with C(x, y) = 0.

Given x0, the points on C whose x-coordinates equal x0 are given by solvingthe equation:

sy2 + (tx0 + v)y + (rx20 + ux0 + w) = 0 .

Let us assume that s = 0, then there may be at most two such points, withtheir y-coordinates given by:

y1,2(x0) =−(tx0 + v) ±

√(tx0 + v)2 − 4s(rx2

0 + ux0 + w)2s

. (1.1)

We distinguish three different cases:

1. If (tx0 + v)2 − 4s(rx20 + ux0 + w) > 0, then y1 and y2 are real numbers

and there are two points (x0, y1), (x0, y2) ∈ R2 that lie on the curve C.

2. For (tx0 + v)2 − 4s(rx20 + ux0 + w) = 0 we have y1 = y2, thus there is a

single point (x0, y1) ∈ R2 that lies on the curve C.

3. If (tx0 + v)2 − 4s(rx20 + ux0 + w) < 0, then y1, y2 ∈ C \ R and there are

no points on C whose x-coordinate equals x0.

As both roots y1, y2 evolve continuously as we move x0 along the x-axis, itfollows that when case 2 above occurs, the tangent to C at (x0, y1) is vertical(or, if we allow line-pairs, we may have a singularity caused by the intersectionpoint of the two lines). We are now ready to implement the first geometricoperation.

5This is the number of points on C with a vertical tangent — see below. Indegenerate cases, this is the number of singular points on C.

Page 25: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

14 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

Make x-monotone: We locate the points with a vertical tangent (or at whicha singularity occurs) by computing the x-values for which

(tx+ v)2 − 4s(rx2 + ux+ w) = 0 ,

which gives the following quadratic equation:

(t2 − 4rs)x2 + 2(tv − 2su) + (v2 − 4sw) = 0 . (1.2)

Let x1, x2 be the real-valued roots of this quadratic equation. (Notice thatfor a parabola t2 − 4rs = 0 and we have just a single point with a verticaltangent.) The y-coordinates are simply given by:

yi = − txi + v

2sfor i = 1, 2 .

The points pi = (xi, yi) that have vertical tangents (or at which a singular-ity occurs) are called one-curve events.6 Having located these points, wesubdivide C into maximally connected components of (x, y) | C(x, y) =0 \ p1, p2 which are sweepable x-monotone conic arcs.

It is important to note that as the conic coefficients are all rational, thecoordinates of the one-curve events are one-root numbers. But what can wesay about two-curve events, namely the intersection points of two conics C1

and C2? Using resultant calculus (see more details in Chap. 3) we can directlycompute the polynomial ξI(x) = resy(C1, C2) ∈ Q[x] whose roots are exactlythe x-coordinates of the intersection points of C1 and C2. The degree of ξI isat most 4. Similarly, the y-coordinates of the intersection points are the rootsof the polynomial ηI(y) = resx(C1, C2), such that deg(ηI) ≤ 4 — but we showthat we do not have to compute them exactly.

A root α of ξI with multiplicity m originates either from one intersectionpoint (α, β) of C1 and C2 of multiplicitym, or from two co-vertical intersectionpoints (α, β1) and (α, β2) of multiplicities m1 and m2 respectively, where m1+m2 = m. This especially means that a simple root of ξI (having multiplicity1) is always caused by one transversal intersection of the two curves. It is easyto see that a degree-four polynomial ξI either has four simple roots, or all itsroots are one-root numbers.

The coordinates of the intersection points can thus be represented in oneof the following two ways: One-root numbers are represented explicitly, whileall the simple roots α that cannot be expressed as one-root numbers are storedin their interval representation, namely α is represented by the tuple 〈ξ, l, r〉where ξ is the generating polynomial (ξ(α) = 0) and [l, r] is a rational isolatinginterval (l, r ∈ Q) for α. By isolating interval for α we mean that α ∈ [l, r] butβ ∈ [l, r] for any other root β of ξ. Using these two representations it is clear

6The y-coordinates of a singular point are roots of the quadratic equation (ty +u)2 − 4r(sy2 + vy + w) = 0, so it is not difficult to distinguish between a verticaltangency point and a singular point.

Page 26: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 15

that all algebraic numbers we obtain as the x-coordinates of either one-curveor of two-curve events are comparable. Whenever we have an interval repre-sentation 〈ξ, l, r〉 of a simple root α we know that the generating polynomial ξis square-free. Thus, we can refine the isolating interval by iteratively halvingit and examining at the signs of ξ(l), ξ( l+r

2 ), and ξ(r), until we finally obtainthat α ∈ [l′, r′] ⊂ [l, r], where (r′ − l′) is arbitrarily small.

We are now ready to devise a framework for the implementation of the restof the sweep-line predicates and constructions. We denote by C a sweepablex-monotone conic arc supported by the curve C, where we can write, usingthe notation of Equation (1.1), that either C(x) = y1(x) or C(x) = y2(x).

Intersections: Let C1 and C2 be the supporting conics of the two given x-monotone conic arcs C1 and C2, and let ξI(x) be the resultant of C1 andC2 with respect to y. The only x-coordinates at which an intersectionbetween the supporting conic curves can take place are the real roots ofξI . Let α be a real root of ξI . We show how to decide whether the twoarcs C1 and C2 intersect at x = α.If α is a simple root of ξI , then the sweepable arcs C1 and C2 intersecttransversally at x = α, if they intersect there at all. Let [αl, αr] be the iso-lating interval of α. We refine this interval until it contains no x-coordinateof any one-curve event of the supporting conics C1 or C2. Now our twox-monotone arcs are defined on the entire refined interval [α′

l, α′r] and they

intersect at most once in this interval. It is sufficient to check whether thesigns of C1(α′

l) − C2(α′l) and C1(α′

r) − C2(α′r) differ. We therefore need to

compute the signs of one-root numbers in this case, since α′l, α

′r ∈ Q . On

the other hand, if α is a one-root number, we simply have to check whetherthe y-values C1(α) and C2(α) are equal (note that C1(α), C2(α) ∈ IF).We still have to determine the multiplicity of the relevant intersectionpoint(s). Let α be a root of ξI of multiplicity m. The case m = 1 is easybecause we have exactly one transversal intersection point of C1 and C2

at x = α. If m > 1, then we know a one-root expression for α. We cancompute the roots of C1(α, y) = 0 and of C2(α, y) = 0 and determinewhether we have a single intersection point with multiplicity m, in whichcase we are done, or if there are two co-vertical intersections (α, β1) and(α, β2) with multiplicities m1 and m2 respectively (where m1 +m2 = m).We assume now that we have two covertical intersection. If m = 2 thenobviouslym1 = m2 = 1 and we are done. Otherwise, we test whethermi ≥2, by checking whether the normal vectors ∇C1(α, βi) and ∇C2(α, βi) areparallel.7 If m1,m2 ≥ 2, then m1 = m2 = 2 as m ≤ 4. Otherwise, m1 = 1and m2 = m− 1 (or vice versa).

Compare xy: We are given two points p and q that we wish to compare lex-icographically. Let us assume that p lies on the sweepable conic segmentC1 and that q lies on C2.

7If f : R2 −→ R, ∇f(x0, y0) denotes the vector

(∂f∂x

(x0, y0),∂f∂y

(x0, y0)).

Page 27: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

16 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

We first compare the x-coordinates of p and q. If both are one-root num-bers we can do this directly. If only one of the coordinates is a one-rootnumber (say px), we can check whether it lies in the isolating interval ofqx; if not, we are done. Otherwise, we should check whether px is a root ofthe generating polynomial of qx. If it is, the two x-coordinates are equal,and otherwise we can refine the isolating interval of qx until it does notcontain px.The most interesting case occurs when the two coordinates are representedusing their generating polynomials ξ(p)

I and ξ(q)I with their isolating inter-vals. If the intervals do not overlap, we can easily compare the two values.Otherwise, we compute g = gcd(ξ(p)

I , ξ(q)I ) and check whether deg(g) > 1.

If so, we check whether the gcd-polynomial has a root that equals px andqx. To this end, we compute the intersection [l, r] of the two isolating in-tervals of p and q and test whether g(l) · g(r) < 0. If this is the case, weconclude that px = qx. Otherwise, we conclude that px = qx and we refinethe isolating intervals of the two values until they do not overlap and wecan compare them unambiguously.Let us assume that the x-coordinates of the two points both equal αand we turn to compare the y-coordinates in this case. If we store they-coordinates in a similar manner to the x-coordinates, we can simplycompare py and qy as we did for the x-coordinates. However, we canimplement the predicate without having to compute the y-coordinates inadvance. If we know a one-root expression for α, we can simply computeC1(α), C2(α) ∈ IF and compare their values — so assume otherwise. Wecompute the resultant ξI of the underlying conics C1 and C2 and compareα to its roots. If α is equal to one of the roots we proceed as described inthe Intersections procedure. Otherwise, we refine the isolating intervalof α until it contains no one-curve events of C1 or C2 and then use thefact that the y-order of the two segments at α is the same as the y-orderat either end of the isolating interval of α.

Point position: We want to determine whether a point p in the x-range of anx-monotone conic arc C is vertically above, below, or lies on C. Note thatthe predicate Compare xy described above also resolves this predicate,if we consider p and C(px), the point located on C having the same x-coordinate as p.

Compare to right: Given the x-monotone conic arcs C1 and C2, along withtheir intersection point p = (α, β), we wish to compute the y-order ofthe arcs immediately to the right of p. Assume that we know a rationalnumber r > α such that both C1 and C2 are defined on [α, r] and do notintersect in the interval (α, r], then the y-order immediately to the rightof α is the same as the y-order at r.How can we obtain r? If α is a simple root of the resultant of C1 and C2,we refine its isolating interval until it contains no one-curve event pointsof C1 or C2 and take r as the right endpoint of the isolating interval. If

Page 28: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 17

α is a multiple root of the resultant, we have one-root expressions for allroots and we take a rational point to the right of α and within the x-rangeof the two segments.

Cubics

(a) (b) (c)

Fig. 1.3. Special points on cubic curves: (a) The curve x = y3 has an inflectionpoint with a vertical tangent at the origin; (b) y2 = x3 + x2 intersects itself at theorigin; (c) The curve y2 = x3 has a cusp at the origin

What are the difficulties in proceeding from arrangements of conics furtheron to arrangements of cubic curves (cubics for short), i.e., algebraic curves ofdegree three? The main distinction between the cases is the field of coordi-nates.

• As we have seen, the sweep-line algorithm works on x-monotone curvesegments. Conics need to be split at their one-curve event points, and wehave shown that their coordinates are in the field of real-root expressionsIF. For cubics, these split points are not necessarily in IF.

• The x-monotone segments of algebraic curves have parameterizations y(x),according to the Implicit Function Theorem. In the case of conics, the y-value can be expressed using one square root (see Equation (1.1)), whichallows for a simple comparison of the y-coordinates of different x-monotonearcs within IF. The x-monotone segments of cubics have no parameteriza-tion as functions of x within IF.

• Conics have some properties that make them easier to handle, namely,they are always convex and never self-intersecting (with the exception ofthe degenerate case of a pair of intersecting lines). Cubic curves, on theother hand, can have inflection points where they change their convexity(especially notice that a cubic curve may have a vertical tangent at its

Page 29: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

18 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

inflection point while still being x-monotone; see for example Fig. 1.3(a))and singular points like self-intersections (Fig. 1.3(b)) or cusps (Fig. 1.3(c)).

• Two conics may have at most four intersection points and only the coor-dinates of transversal intersections are not in IF. No such simplificationholds for cubic curves. Two cubics may have as many as nine intersectionpoints, where the coordinate of an intersection point of multiplicity 4 (orless) is in general not in IF.

In what follows we briefly summarize the main ideas for analyzing thebehavior of one and two cubic curves at any given x-coordinate x = x0 fromwhich the realization of the predicates follows. For more details we refer thereader to [140].

(a) (b)

Fig. 1.4. (a) One-curve event points, and (b) two-curve event points (the one-curveevents, only necessary for the dotted curve, are also marked). The vertical linesdenote the division of the x-axis into maximal intervals along which the order of thebranches does not change

With the goal of sweeping in mind, we have to subdivide each cubic curveC to x-monotone branches and to maintain their ordering at any given x-coordinate x0. Thus we need to determine the number of branches and theirrelative position along the line x = x0. Algebraically, this means that we areinterested in the number and order of the real roots of C(x0, y) ∈ R[y]. Aswas the case with conic curves, these real roots evolve smoothly as we varyx0, except for some special points, the one-curve events (see Fig. 1.4(a)). Wetherefore have to locate the points pi = (xi, yi) such that yi is a double root ofC(xi, y) ∈ R[y]. These points pi are exactly the intersection points of C(x, y)and ∂C

∂y (x, y), and can thus be computed using resultant calculus. By choosingan appropriate coordinate system, we avoid inflection points having a verticaltangent.

Page 30: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 19

To obtain the x-coordinates of the one-curve event points of C we computethe roots of the resultant8 ξV = resy(C, ∂C

∂y ). Due to degree reasons, a simpleroot of ξV is the x-coordinate of an extreme point of C having a verticaltangent, and a multiple root of ξV is the x-coordinate of a singular point.In general, these x-coordinates are not one-root expressions and therefore werepresent them using their generating polynomial and an isolating interval.

We next analyze the behavior of C at any x-coordinate x0. We distinguishthree different cases:

1. x0 is not a root of the resultant ξV : Assume x0 is in the interval [αi, αi+1]between two adjacent roots αi, αi+1 of ξV . The number of branches of C isdetermined by substituting a rational a, where αi < a < αi+1, into C andcounting the number of real roots of C(a, y) ∈ Q[y] using the univariateSturm sequence (see Chap. 3) of C(a, y). This procedure can be carriedout using only rational arithmetic.

2. x0 is a simple root of ξV : We want to determine which branches of Care involved in the extreme point. This can be realized using the sameidea as for computing transversal intersection points between two conics.Let [l, r] be the isolating interval of x0. By isolating the real roots of theunivariate polynomials C(l, y), ∂C

∂y (l, y) and C(r, y), ∂C∂y (r, y), we compute

the sequence of branches of C and ∂C∂y along the lines x = l, slightly

to the left of x0, and along x = r, slightly to the right of x0. By comp-aring the two sequences we can determine which branches of C are involvedin the extreme point.

3. x0 is a multiple root of ξV : In this case we handle a singular point andwe have to determine the branches involved in each singularity, as well asthe type of the singularity. In a singular point both partial derivatives ofC vanish, and it is not difficult to show that a unique singular point ofa cubic curve must have rational coefficients (recall that the coefficientsof the cubic curve are rational). We can determine the type of a rationalsingularity (α, β) ∈ Q

2 by translating it to the origin and inspecting thequadratic part ay2+bxy+cx2 of the translated polynomial C(x+α, y+β).If a singularity is not unique, we make use of the fact that this can ariseonly if C is a product of several components (say a product of three linesor a line and a conic curve) whose intersections then are the singularitiesof C (see, e.g., [182] for more details).

We now turn to analyze the behavior of a pair of cubic curves C1 andC2. For each x0 ∈ R we want to compute a slice of the pair, that is, thesequence of intersections of the branches of C1 and C2 along the vertical linex = x0. This sequence only changes at one-curve events of C1 or C2 and atintersection points of the two curves, referred to as the two-curve event points

8For conic arcs we used a slightly different technique, computing the roots of thequadratic polynomial (1.2). However, using resultant calculus we obtain an equiva-lent polynomial (having the same roots).

Page 31: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

20 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

(see Fig. 1.4(b)). The critical values of C1 and C2 are the x-coordinates ofeither one-curve or two-curve event points. We choose the coordinate systemsuch that no one-curve event of C1 or C2 has the same x-coordinate as atwo-curve event.

For x0 from an interval between two adjacent critical points, the slice isdetermined by substituting a rational a into C1 and C2, solving the univariatepolynomials C1(a, y) and C2(a, y) by root isolation, and sorting the results.Using the analysis of a single curve, one can extend slicing to x-coordinatesat which just a one-curve event happens. The rest of this subsection describeshow to slice at the intersection points.

We use a resultant ξI = resy(C1, C2), which is a polynomial of degree atmost 9 in this case, to project the intersection points onto the x-axis. It ispossible to select the coordinate system such that no two distinct intersectionpoints of any pair of curves have the same x-coordinate, hence the multiplicityof a root α of ξI is the multiplicity of the corresponding intersection point(α, β). We next need to detect which branches of C1 and C2 intersect at α.We assume that no singularity is involved in the intersection, so that exactlyone branch of C1 intersects one branch of C2.9 We consider the following cases:

1. If the intersection multiplicity is odd, the intersecting branches can bedetermined by inspecting the branches of both curves slightly to the leftand slightly to the right of the event point, using the rational endpointsof the interval isolating α.

2. If the intersection multiplicity is 2, there is no transposition of C1’s andC2’s branches, so there is no use comparing the branches to the left andto the right of α. However, we can consider an auxiliary curve of degree4, the Jacobi curve J = ∂C1

∂x · ∂C2∂y − ∂C1

∂y · ∂C2∂x of C1 and C2. This reduces

the analysis of non-singular intersections of multiplicity 2 to the previousmethod for transversal intersections; see [340] and [341] for more details.

3. If α is the x-coordinate of an intersection point with an even multiplicitygreater than 4, than α is a one-root number, and we can employ exactcalculations in IF to determine the branches involved in this multiple in-tersection.

1.3.2 Incremental Construction

In the previous section we described how it is possible to construct the planarsubdivision induced by the set of arbitrary curves using the sweep-line algo-rithm. This construction method is very efficient, especially if the arrangementis relatively sparse (when the number of intersection points is O( n2

log n ), wheren is the number of curves).10 However, if we use the sweep-line algorithmwe must have all the n input curves in advance — which is not always the

9For intersection points that involve a singular point we refer the reader to [139].10This fact follows from theoretical considerations, as the running time of the

sweep-line algorithm over n curves with a total of k intersection points is O((n +

Page 32: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 21

case, as we sometimes want to construct our arrangements on-line. In thiscase we should employ an incremental construction approach: We insert ourcurves one by one and update the arrangement accordingly. The incrementalapproach can also be applied to constructing dense arrangements, say withΘ(n2) intersection points, when it becomes asymptotically faster than thesweep-line construction (see, e.g., [111, Chap. 8]).

The two construction approaches may be integrated: Suppose that we aregiven an initial set of curves, we can construct their planar arrangement usingthe sweep-line algorithm. It is then possible to insert additional curves to theresulting arrangement using the incremental insertion method, or even inserta set of new curves by “sweeping” them into an existing arrangement. Allthese alternatives are currently supported by the Cgal arrangement pack-age — see Sect. 1.4. There is, however, a subtlety regarding this combinedapproach since, as we will describe next, incremental construction of arrange-ments requires answering point-location queries. We discuss this issue afterpresenting various point-location strategies.

The Insertion Process

Fig. 1.5. The insertion process of a new curve (dotted) into an existing arrangementof planar curves. The zone of the new curve is lightly shaded and all the newlyintroduced vertices are marked

k) log n), while the incremental construction may take O(n2) time. Moreover, thiswas also verified by many experimental results.

Page 33: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

22 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

Suppose we wish to insert a planar curve Ci into an existing arrangementAi−1 of the curves C1, . . . , Ci−1. The insertion procedure of the first curve intoan empty arrangement is trivial, so we will assume that i > 1 and Ai−1 rep-resents the arrangement of a non-empty set of curves. We will further assumethat Ci is (weakly) x-monotone — if this is not the case, we will subdivide itinto several x-monotone segments and insert each segment separately.

To insert an x-monotone curve Ci we will execute the following procedure:

1. Locate Ci’s left endpoint (and in case Ci is a vertical segment we startfrom its bottom endpoint) in Ai−1 and act according to the type of thearrangement feature containing this endpoint:a) If the endpoint lies on an existing vertex, we have to update the data

associated with this vertex.b) If it lies on an edge, we have to split this edge, introducing a new

arrangement vertex associated with the endpoint.c) If the endpoint is contained in the interior of a face, we construct a

new vertex associated with the endpoint within the face.2. Traverse the zone of Ci, the set of arrangement faces in Ai−1 that Ci

crosses (see Fig. 1.5 for an illustration). Each time we discover an inter-section along Ci with one of the existing arrangement elements we createa new arrangement vertex and cut Ci into two subcurves at this point.We also have to split the edges and faces of Ai−1 that Ci crosses. We con-tinue the process with the right subcurve of Ci until reaching Ci’s rightendpoint.

3. In case Ci’s right endpoint lies on an existing vertex, update the dataassociated with this vertex. Otherwise we add a new arrangement vertexrepresenting this endpoint (in case the endpoint lies on an existing edge,we will also have to split this edge).We take special care of the case where Ci lies entirely within a face ofAi−1 — that is, both its endpoints lie in the same face and it crossesno existing arrangement edge — as we have to initiate a new hole in therelevant face in this case.

Point-Location Strategies

As we have already mentioned, after constructing an arrangement we typicallywant to be able to answer point-location queries relating to the arrangement:Given a point p ∈ R

2 we wish to find the arrangement feature that contains it.The point can be contained in a face, but it may lie on one of the arrangementedges or coincide with an arrangement vertex. As we wish our point-locationmechanism to be exact, we have to deal with the two latter cases in a robustmanner. It should be noted that in the case of incremental construction theusage of point-location is inherent to the construction algorithm itself, as westart the insertion of a new curve by locating one of its endpoints in theexisting arrangement. We also have to pay special attention to the type ofarrangement feature we obtain as the query result.

Page 34: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 23

We can benefit from refining the planar subdivision by shooting two ver-tical rays from each arrangement vertex, going upward and downward untilhitting the next arrangement edge. In this way, we obtain a subdivision of thearrangement into simple shapes that may be regarded as “pseudo-trapezoids”,as two parallel segments form their left and right edges (one of these edges candegenerate into a point), while the top and bottom edges are x-monotone seg-ments of our input curves. It is possible to construct a search structure overthese pseudo-trapezoids such that a point-location query can be answeredin expected O(log n) time, where n is the complexity of the arrangement.The search structure itself consumes only linear storage. See [269] and [111,Chap. 6] for more details.

Constructing the trapezoidal-subdivision-based search structure yields ef-ficient query times, yet the overhead involved in maintaining the search struc-ture during the incremental construction of the arrangement may be too highfor some applications. In such cases, we may consider employing a simplerpoint-location strategy in order to simplify the construction process. The walkalgorithm [164] simply simulates a reverse walk along a vertical ray emanatingfrom the query point, starting from the unbounded face of the arrangement(which represents infinity in this case) and moving toward the query point.The query time is therefore linear in the complexity of the zone of the verticalray, and as we have to trace the zone of the inserted curve C at any case, usingthe walk algorithm for locating its endpoint does not increase the worst-caseasymptotic complexity of the insertion procedure, as we show next. The mainadvantage of the walk algorithm is that it does not require any additionaldata structures to answer queries.

Suppose that we have a set of m curves, where each pair of curves can haveat most s intersection points, for a constant s. In this case the zone complexityof a single curve is O(λs+2(m)), where λσ(k) denotes the maximal length of aDavenport-Schinzel sequence of k elements with order σ (see [312] for moredetails on Davenport-Schinzel sequences; we will just mention here that forsmall value of σ, λσ(k) is almost linear in k). Thus the total construction timeis O(mλs+2(m)), while the complexity of the arrangement is of course O(m2).

The trapezoidal-subdivision based point-location strategy is of course moreefficient, both from a theoretical and from a practical point of view (see [164]for experimental results), but, as mentioned earlier, the walk strategy does notrequire any auxiliary data structure on top of the arrangement. Hence, if theapplication at hand involves the construction of an arrangement, followed bya small number of point-location queries, it may be more efficient to constructthe arrangement using the sweep-line algorithm and to use the walk strategyin order to avoid the overhead incurred by the construction of a trapezoidal-subdivision based search structure.

Another point-location strategy uses a set of “landmark” points whoselocation in the arrangement is known [201]. Given a query point, it uses a Kd-tree [45] to find the nearest landmark and then traverses the straight line seg-ment connecting this landmark to the query point. Usually, the arrangement

Page 35: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

24 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

vertices are the most convenient landmarks, but other landmark sets, suchas randomly sampled points or points on a grid, can be used as well. Thelandmarks point-location strategy offers competitive query times in compari-son with the trapezoidal-based algorithm. Its main advantage is that the timeneeded to construct and maintain its auxiliary Kd-tree is relatively small incomparison to the running-time penalty incurred by the auxiliary data struc-tures maintained by the trapezoidal point-location strategy.

Geometric Predicates and Constructions

v

Fig. 1.6. The newly inserted curve (dashed) exits the shaded face passing throughan existing arrangement vertex v

As the incremental insertion of a curve into an existing arrangement boilsdown to computing the zone of the curve, and as we proceed from the leftendpoint of the curve to its right endpoint, the geometric predicates andconstructions we use are basically the same as the ones needed in the sweep-line algorithm. However, we should take special care of the following case:Assume that the newly inserted curve passes through an existing arrangementvertex v. We therefore have to determine the position of the curve, with respectto the existing curves in the arrangement, immediately to the left of v (seeFig. 1.6 for an illustration). Indeed, it is possible to compare the new curvewith the other curves to the right of v and then determine the order to its leftusing the multiplicity of the intersection. But what if one of the curves endsat v and is not defined to its right?

It seems that an additional predicate is required for the incremental con-struction, that is, comparing two curves to the left of their intersection point.However, as we strive to minimize the number of required predicates, we canimplement this predicate in terms of the basic sweep-line methods.11 Let us

11The arrangement package of Cgal lets users choose between the two alterna-tives: (i) supplying an additional predicate, or (ii) resorting to the basic sweep-line

Page 36: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 25

assume we are given the curves C1 and C2 and wish to compare them to theleft of their intersection point p. We can use the following procedure:

1. Compare the two left endpoints of C1 and C2 and let q be the (lexico-graphically) rightmost of the two.

2. Start computing the next intersection of the two curves from q onward tothe right until reaching p. Let q′ be the last intersection point of C1 andC2 we have discovered. It is now sufficient to compare the two curves tothe right of q′.

3. If there are no intersection points between q and p, we simply determinethe order of the curves by checking whether the endpoint q is above orbelow the other curve.

Constructing the point-location structure does not require any additionalgeometric operations, nor does the point-location query: We only have tocompare the x-coordinates of two given points and to determine the positionof a point relative to an x-monotone curve segment.

1.4 Software for Planar Arrangements

This section assumes some familiarity with advanced programming tech-niques, generic programming, and design patterns. Readers who are not in-terested in software issues can safely move on to the next section — the restof the sections of this chapter do not rely on the material described in thissection.

The implementation of the Cgal software packages for planar arrange-ments described in this section is complete and robust, as it handles all de-generate cases, and guarantees exact results. The software rigorously adapts,as does Cgal in general, the generic programming paradigm, briefly reviewedin Appendix 8. This approach allows for a convenient separation between thetopology and the geometry of arrangements, which is a key aspect of theCgal arrangement design, explored in Sect. 1.4.1. In this way, algorithmsand data structures for arrangements can be nicely abstracted in combinator-ial and topological terms, regardless of the specific geometry and algebra of thecurves at hand. This abstraction constitutes the arrangement class-template.The arrangement class-template must be instantiated with a geometric traitsclass, that defines the set of geometric objects and algebraic operations onthese objects required to handle a concrete type of curves, e.g., segments,polylines, or conics.

An immediate advantage of this separation is that users with limited ex-pertise in computational geometry can employ the package with their own

methods (see [167] for more details). While the first option is usually more efficient,implementing the additional predicate may be a major endeavor in some cases; seefor example Sect. 1.3.1.

Page 37: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

26 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

special type of curves, provided they supply the relevant geometric traitsclass, which relies on (often basic) algebra. Naturally, a prospective user ofthe package that develops a traits class would like to face as few requirementsas possible in terms of traits development. Indeed, a lot of effort in the pastcouple of years went into streamlining the list of operations on curves thata user has to supply as part of the traits class. The end result, the currentCgal arrangement traits, is described in Sect. 1.4.2, with ample examples ofexisting traits classes.

Alternative traits classes resulting from the Exacus project, are describedin Sect. 1.4.3. Sect. 1.4.4 describes an on-going effort to extend the existingCgal kernel, which mainly deals with linear objects, to deal with curvedobjects. We conclude the section with notes on how to effectively use andfine-tune software for planar arrangements.

1.4.1 The Cgal Arrangements Package

Cgal, the Computational Geometry Algorithms Library, was the natural li-brary to host a planar-arrangements package in its basic library part. Pred-icates and constructors from Cgal’s geometric kernels are used as buildingblocks of the various traits classes that handle linear curves. All the traits-classcomponents based on the kernel can be extended with minimal programmingeffort, as the kernel is fully adaptable and extensible [204]. The design of theArrangements package uses many programming techniques and abstractionsthat C++ supports. The rest of this section introduces several of them. For thecomplete specifications and discussions we refer the reader to [163, 167, 333];a comprehensive documentation of the packages with a variety of examplescan be found in [2].

The Arrangement package consists of a few components. The main com-ponent is the Arrangement 2<Traits,Dcel>12 class-template. It represents theplanar embedding of a set of x-monotone planar curves that are pairwise dis-joint in their interiors. It provides the necessary combinatorial capabilities formaintaining the planar graph, while associating geometric data with the ver-tices, edges, and faces of the graph. The arrangement is represented using adoubly-connected edge list (Dcel), a data structure that efficiently maintainstwo-dimensional subdivisions; see Sect. 1.3 for details. The Arrangement 2class-template includes a basic set of interface functions that access, modify,and traverse planar arrangements. For example, users can iterate over all ver-tices, edges, and faces of the arrangement, or insert new vertices and edgesinto the arrangement at a specified location (see Fig. 1.9). Additional arrange-ment operations that involve non-trivial geometric algorithms are supplied byfree (global) functions and auxiliary classes. For example, users can constructthe arrangement induced by a set of arbitrary curves from scratch, or insertthese curves into an existing arrangement.

12Cgal prescribes the suffix 2 for all data structures of planar objects as a

convention.

Page 38: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 27

The separation between the combinatorial and geometric aspects is achie-ved by the decoupling of the arrangement representation from the variousgeometric algorithms that operate on it. As mentioned above, the insertion ofa new arbitrary curve (a curve that may not necessarily be x-monotone, canintersect the existing arrangement curves, and whose insertion location is notknown a-priori) into the arrangement is offered by free functions. When anarbitrary curve is inserted into the arrangement, it is subdivided into several x-monotone subcurves treated separately. Each x-monotone subcurve is in turnsplit at its intersection points with the existing arrangement features. Theresulting subcurves are inserted into the arrangement using one of the specialinsertion-methods listed in Sect. 1.4.1. The result is a set of x-monotone andpairwise disjoint subcurves that induce a planar subdivision, equivalent to thearrangement of the original input curves. Other free functions that operate onarrangements or construct them, such as a function that computes the overlayof two arrangements, are implemented as well.

Another component of the package, named Arrangement with history 2 ,allows for the construction of an arrangement while maintaining its curvehistory. The class stores the input curves that induce the arrangement, whereeach arrangement edge stores a pointer to the input curve that induces it(or a list of pointers, in case the edge represents an overlap of several inputcurves). The curve history is essential in a variety of applications that usearrangements, such as robot motion-planning.

The package supports a notification mechanism implemented via the Ob-server design-pattern [175]. It defines a one-to-many dependency between ob-jects so that if one object, referred to as the subject, changes its state thenall its dependents, referred to as observers, are automatically notified and cantake action accordingly. The ability to serve multiple observers plays a signifi-cant role in the arrangement package, as it satisfies many different needs witha single unified approach. One such need is to keep the point-location strate-gies (see Sect. 1.3.2), which maintain auxiliary data-structures, synchronizedwith the arrangement instance they relate to. Another important reason forsupporting observers of arrangements is to allow users to introduce their ownobservers in order to maintain auxiliary application-specific data with thefeatures (vertices, edges, or faces) of their arrangements.

We proceed with some more details about each of the components above.The Arrangement 2 class-template must be instantiated with two classeslisted below, decoupling the topological and geometric aspects of the planarsubdivision; see Fig. 1.7.

• A geometric traits class tailored to handle a specific family of curves. It de-fines the Point 2 , X monotone curve 2 , and Curve 2 types (see the exactdetails in Sect. 1.4.2) and provides a basic set of predicates and geomet-ric constructions on objects of these types, encapsulating implementationdetails, such as the number type used, the coordinate representation, and

Page 39: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

28 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

the geometric or algebraic computation methods involved in the imple-mentation of the traits-class methods.

• A Dcel class, which represents the underlying topological data structure.By default, this class is Arr default dcel , but users may extend this defaultDcel class, and attach additional data with the Dcel records, or evensupply their own Dcel written from scratch.

The Arrangement 2<Traits,Dcel> class-template defines its own vertex,halfedge (each arrangement edge is represented by a pair of halfedges withopposite orientations), and face types. These combinatorial entities have ageometric mapping, e.g., a vertex of an arrangement is associated with aPoint 2 object, and each edge is associated with an X monotone curve 2 ob-ject. The Arrangement 2 class-template maintains the incidence relation onthe vertices, halfedges, and faces of the arrangement through the Dcel it isparameterized with. A valid arrangement has one unbounded face.13 A Con-nected Component of the Boundary (CCB) is a cycle of at least two halfedges.Each face, except the unbounded face, has one outer CCB. Each face has a(possibly empty) set of holes referred to as the inner CCBs. In addition, aface may also contain isolated vertices in its interior. An empty arrangementhas one unbounded face (and no halfedges nor vertices). The containmentrelation between a face and its holes and isolated vertices distinguishes the

13Currently, only bounded curves are supported. Arrangements of bounded curveshave a single unbounded face.

Arrangement 2<Traits,Dcel> Arr default dcel<Traits> ArrDcel

Arr non caching basic segment traits 2

Arr non caching segment traits 2

Arr segment traits 2

Arr polyline traits 2

Arr conic traits 2

Arr rational arc traits 2

ArrBasicTraits 2

ArrXMonotoneTraits 2

ArrTraits 2

Fig. 1.7. The architecture diagram of the traits-related and Dcel-related compo-nents of the Cgal-arrangement package. Dotted lines indicate an is-model-of relationand dashed lines indicate a concept refinement or an inheritance relation. Solid linesindicate a membership relation. If the member is a pointer, the line starts with asmall disk

Page 40: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 29

Arrangement 2 from standard graph structures and other edge-based struc-tures.

Arrangement 2

Arr observer

Arr naive point location

Arr walk along a line point location

Arr trapezoidal ric point location

Arr landmarks point location

ArrPointLocation 2

Fig. 1.8. The architecture diagram of the point-location related components ofthe Cgal-arrangement package. Dotted lines indicate an is-model-of relation, anddashed line indicate an inheritance relation. Solid lines indicate a membership rela-tion. If the member is a pointer, the line starts with a small disk, and if the memberis a container of pointers, the line is made of arrowheads

The Arr observer<Arrangement> class-template must be instantiatingwith an arrangement class; see Fig. 1.8. It stores a pointer to an arrange-ment object, and is capable of receiving notifications just before a structuralchange occurs in the arrangement (e.g., a new vertex is created, an existingface is split into two following the insertion of a new edge, etc.) and immedi-ately after such a change takes place. The Arr observer class-template servesas a base class for other observer classes and defines a set of virtual notificationfunctions, giving them all a default empty implementation.

The interface of Arrangement 2 consists of various methods that enablethe traversal of the arrangement. For example, the class supplies iterators forits vertices, halfedges, and faces. It is possible to visit all halfedges incidentto a specific vertex or to iterate over all halfedges along the boundary of aface. The interface also supports other access methods and queries. Variousinput/output operations are available as well. We restrict our focus in theremainder of this section to insertion and point-location queries. A detailedreview of all arrangement-related operations, can be found in the completeprogramming guide and reference manual [2], which also includes a large num-ber of didactic examples.

Insertion

In geometric computing there is a major difference between algorithms thatevaluate predicates only and algorithms that, in addition, construct new geo-metric objects. A predicate typically computes the sign of an expression usedby the program control, while a construction results with a new geometricobject, such as the intersection point of two segments. If we use an exactnumber type to ensure robustness, the newly constructed objects often have a

Page 41: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

30 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

f

v1

v2u

vf ′

f

h1

h2u1

u2

(a) (b) (c)

Fig. 1.9. The various insertion procedures. The inserted x-monotone curve is drawnwith a light dashed line, surrounded by two solid arrows that represent the pair oftwin halfedges added to the Dcel. Existing vertices are shown as black dots whilenew vertices are shown as light dots. Existing halfedges that are affected by theinsertion operations are drawn as dashed arrows. (a) Inserting a subcurve as a newhole inside the face f . (b) Inserting a subcurve from an existing vertex u that is oneof its endpoints. (c) Inserting a subcurve whose endpoints are already representedby the vertices u1 and u2. In this particular case, the new pair of halfedges close anew face f ′, where the hole h1, which used to belong to f , now becomes an enclavein this new face

more complex representation in comparison with the input objects (e.g., thebit-length needed for their representation is often larger). Unless the overallalgorithm is carefully designed to deal with these new objects, constructionswill have a severe impact on the algorithm performance. To this end, wedistinguish between two sets of free insertion functions. One set consists offunctions that insert x-monotone curves that do not intersect in their interi-ors, while the other set consists of functions that insert arbitrary curves. Anarrangement induced by x-monotone curves that are pairwise disjoint in theirinterior, can be instantiated with a limited traits class that models only a ba-sic concept as explained in Sect. 1.4.2. Naturally, using the non-intersectinginsertion-function is more efficient, since these functions avoid unnecessarycomputations.

An Arrangement 2 can be built incrementally, inserting one curve at atime by traversing its zone (see, e.g., [196]). However, for a large numberof curves that intersect rather sparsely, it is more efficient to use one of theaggregate insertion functions that insert a set of curves into an arrangement atonce applying a dedicated sweep-line algorithm; see Sect. 1.3. The aggregateinsertion function is more efficient in most cases, and it also requires less fromthe traits class in comparison with the incremental insertion operation.

The Arrangement 2 class directly supports the basic insertion proceduresfor an x-monotone curve whose interior is disjoint from all existing arrange-ment features, where the topology information that specifies the location ofthe inserted x-monotone curve is also given. Note that the endpoints of such acurve may coincide with existing vertices. We distinguish between three cases(see Fig. 1.9): (i) Neither endpoint coincides with an existing vertex, so the

Page 42: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 31

inserted curve forms a hole inside an existing face. In this case, the usersshould specify the face containing the curve. (ii) Exactly one endpoint coin-cides with a given existing vertex, so the inserted curve forms an “antenna”rooted at this vertex. (iii) Both endpoints of the inserted x-monotone curvecoincide with two given vertices.

The free insertion functions use the basic insertion functions listed abovein order to insert arbitrary curves into the arrangement. For example, theincremental insertion function that accepts an x-monotone curve C startsby locating C’s left endpoint in the arrangement and then traverses its zoneby detecting its intersections with the existing arrangement features. C issubdivided at these intersection points into subcurves, where each subcurve isinserted using one of the special insertion functions based on the topologicaland geometric information available during the zone-computation algorithm.

Point Location

An important query that is often issued given an arrangement object is apoint-location query (see also Sect. 1.3.2), namely identifying the arrange-ment cell containing a given query point q. As the arrangement representationis decoupled from geometric algorithms that operate on it, the Arrangementpackage provides answers to point-location queries through one of several ex-ternal classes, which implement different point-location strategies availablefor the user to choose from; see Fig. 1.8. New strategies, perhaps with differ-ent running time and storage characteristics, can be implemented and easilyplugged in.

Applying the generic programming paradigm, we define a concept namedArrPointLocation 2 that collects the requirements for a point-location class.A model of this concept must include the definition of the locate(q) functionthat accepts an input query point q and returns an object that representsthe arrangement cell that contains this point. This cell is typically a face, butin degenerate cases a query point can lie on an edge or even coincide with avertex.

The following models of the ArrPointLocation 2 concept are included withthe arrangement package, each represents a different point-location strategy:

• Arr naive point location locates the query point naıvely by exhaustivelyscanning all arrangement cells until the desired one is encountered.

• Arr walk along a line point location improves the above naıve approachby “walking” in reverse order only along the zone of the upward verticalray emanating from the query point.

• Arr landmarks point location uses a set of “landmark” points whose lo-cation in the arrangement is known [201]. Given a query point, it uses anearest-neighbor search structure to find the nearest landmark and thentraverses the straight line segment connecting this landmark with the querypoint.

Page 43: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

32 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

• Arr trapezoidal ric point location implements the Randomized Incremen-tal Construction (RIC) dynamic algorithm introduced by Mulmuley, whichis based on the vertical decomposition of the arrangement into pseudo-trapezoids [270]. It requires two auxiliary data structures: a trapezoidaldecomposition (of linear size) and a directed acyclic graph (DAG) used asa search structure (of expected linear size).

The first two strategies do not require any extra data The respective classesonly need to store a pointer to an arrangement object, and operate directly onit when a query is issued. The remaining two strategies use an arrangementobserver to maintain their auxiliary data-structures that have to be updatedwhen the arrangement is modified; see Fig. 1.8. These strategies require pre-processing and increase the memory consumption, but they can significantlyreduce the query time.

Users are free to choose the point-location strategy that best fits their ap-plication. Note that it is also possible to attach several point-location objectsto a single Arrangement 2 instance. The point-location strategy has a signif-icant impact not only on the performance of point-location queries, but alsoon the performance of some of the operations that modify the arrangement.For example, when inserting a curve into a non-empty arrangement, one ofthe curve endpoints must be located first; see Sect. 1.3.2.

Sweep-Line Framework

The Sweep line 2<Traits,Visitor,Curve,EventPoint,Allocator> class-templateimplements a generic sweep-line algorithm based on the algorithm of Bent-ley and Ottmann; see Sect. 1.3 for more details. The original algorithm isextended to support not only segments but also general curves as well as iso-lated points. The implementation is complete, as it handles all generic cases,such as vertical segments, multiple (more than two) curves intersecting at asingle point, curves intersecting at endpoints, and overlapping curves. Theclass interface is carefully designed to create a general framework for imple-menting sweep-based algorithms.

The Traits template parameter provides the geometric functionality, andis tailored to handle a specific family of curves. The supplied geometric traitsclass must model the ArrTraits 2 concept, also used for instantiating theArrangement 2 class.

The Visitor , Curve, and EventPoint template parameters have default val-ues, which can be overridden to extend the sweep-line procedure. In particular,the Visitor class adheres to the Visitor design-pattern [175] and is used toimplement distinct and unrelated operations within the sweep-line frameworkwithout “polluting” it. The visitor receives notifications of the events handledby the sweep-line procedure and can respond accordingly. The implementationof many sweep-based algorithms reduces to implementing an appropriate visi-tor class. At the same time, the sweep-line code becomes centralized, reusable

Page 44: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 33

and easy to maintain, since the algorithm-specific code resides in the varioussweep-line visitor classes.

The arrangement package includes several sweep-line visitors, designed toefficiently perform the following operations: computing all intersection pointsinduced by a set of input curves, constructing the arrangement of a set ofinput curves from scratch, inserting a set of input curves into an existing(non-empty) arrangement, performing a batched point-location operation givena set of query points and an arrangement, and computing the overlay of twoinput arrangements. Users may implement additional sweep-based algorithmsby writing their own sweep-line visitors.

1.4.2 Arrangements Traits

The Traits parameter of the Arrangement 2 class-template defines theabstract interface between arrangements and the primitives they use. Therequirements of various components in the arrangement package create a hi-erarchy of traits concepts. The ArrBasicTraits 2 concept comprises the minimalset of requirements. A model of this concept must define two types of objects,namely X monotone curve 2 and Point 2 , which is the type of the endpointsof an X monotone curve 2 curve. In addition, the concept lists some predi-cates on these two types — a minimal set that enables the maintenance ofarrangements of x-monotone curves that are pairwise disjoint in their inte-riors. It is possible to instantiate the Arrangement 2 class-template with amodel of this concept and construct an arrangement instance using the mem-ber functions of the class, which operate only on non-intersecting x-monotonecurves. It is also possible to issue point-location queries on such arrangements,as the set of predicates the ArrBasicTraits 2 concept comprises is sufficient forthe various point-location strategies detailed in the previous section. The onlyexception is the “landmarks” strategy, which requires a traits class that mod-els the refined ArrangementLandmarkTraits 2 concept — the details of whichare omitted here.

The concept ArrXMonotoneTraits 2 refines the concept ArrBasicTraits 2 byseveral construction operations, namely, computing the intersection points oftwo x-monotone curves and splitting an x-monotone curve at a given pointin its interior. Given a model of this concept, it is possible to construct anarrangement of arbitrary x-monotone curves using one of the free insertionfunctions. The refined ArrTraits 2 requires the definition of the Curve 2 , a typethat represents a general curve in the plane, and the provision of a constructionoperation that subdivides a given Curve 2 object into x-monotone curves.Using a model of this concept one can construct an arrangement of arbitrary(not necessarily x-monotone) planar curves.

This level of modularity makes the package flexible and extensible. Theuser can choose the family of curves (and their representation) for the ar-rangement to handle by injecting the appropriate geometric traits class thatmodels one of the concepts above. Users can also develop a new traits class

Page 45: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

34 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

that handles a specific family of curves of interest and a specific representationsuitable for their application, as long as it conforms to the requirements of theappropriate concept. Even a simple family of curves, such as line segments,may have different representations distinguished according to the coordinatesystems (e.g., Homogeneous, Cartesian), the geometric kernel (e.g., Cgal ker-nel, Leda kernel, user defined), and the number type used by the arithmeticoperations carried out by the predicates and constructions of the traits class.Traits classes developed for handling curves of higher degree may also dif-fer in the underlying algebraic methods used for answering predicates andcomputing intersection points.

The traits class Arr non caching segment traits 2<Kernel> handles linesegments. It is a thin layer above the parameterized kernel. It inherits the ker-nel types and functionality and it complements it with the necessary functorsthat are not directly provided by the kernel. Its implementation is simple, yetmay lead to a cascaded representation of intersection points with exponen-tially long bit-length. The Arr segment traits 2<Kernel> traits class avoidsthis cascading problem by storing extra data with each segment. It achievesfaster running times than the Arr non caching segment traits 2 traits-class,when arrangements with relatively many intersection points are constructed.However, it uses more space. In both cases the kernel is parameterized with anumber type, which should be exact to avoid robustness problems, althoughother number types could be used at the user’s own risk.

The traits class Arr polyline traits 2<SegmentTraits> handles piecewiselinear curves, commonly referred to as polylines. Each polyline is a chain ofsegments, where each two neighboring segments in the chain share a com-mon endpoint. The traits class exploits the functionality of the parameter-ized SegmentTraits type to handle the segments that comprise the polylinecurves. The type SegmentTraits must be instantiated with a model of theArrXMonotoneTraits 2 concept that handles line segments (e.g., Arr segmenttraits 2<Kernel> or Arr segment cached traits 2<Kernel>), and the numbertype used by the instantiated segment traits should satisfy the same conditionslisted above.

We next review the arrangement traits classes that handle non-linearcurves. The first two traits classes are included in the public distribution ofCgal, while the others (Sect. 1.4.3) have been developed under the Exacus

project. We also review on-going work on a Cgal curved kernel (Sect. 1.4.4).

The Conic Traits-Class of Cgal

The arrangement package includes a traits class, named Arr conic traits 2 ,that handles finite conic arcs. A finite conic arc a may be either one of thefollowing: (i) A full ellipse (which is the only type of bounded conic curve), or(ii) the 4-tuple 〈C, ps, pt, o〉 where ps and pt are the edge endpoints that mustlie on the conic C, and o indicates the orientation (clockwise or counterclock-wise).

Page 46: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 35

The arrangement traits-class for conic arcs included with the public releaseof Cgal is based on the Core library [3].Core introduces the root operator,where root(p, k) is the kth largest real root of the polynomial p ∈ Q[x].14

Using this operator, we obtain an explicit representation of the coordinatesof the intersection points, which are roots of resultant polynomials of degree4 at most. The usage of Core makes the traits-class code more compact andelegant, as it implements the various geometric predicates and constructionsin a straightforward manner.

Fig. 1.10. An arrangementof conic arcs containing twocanonical ellipses and 16 hy-perbolic arcs

Some previous versions of Cgal used to in-clude a traits-class for conic arcs that was basedon the Leda library and its capability to carryout exact computations within the field of real-root expressions IF (see Sect. 1.3.1). For moredetails on the algebraic and the numeric tech-niques used in the implementation of these conic-arc traits, the reader is referred to [331, 332].

Finite Arcs of Rational Functions

Another traits class that relies on the root oper-ator of Core can deal with finite arcs of rationalfunctions. Such an arc a is defined by two poly-nomials p, q ∈ Q[x] such that deg(gcd(p, q)) = 0(that is, p and q have no non-trivial common di-visors), and an interval [l, r] such that q(x) = 0 for each l ≤ x ≤ r. The arcrepresents the graph of the rational function y = p(x)

q(x) defined over [l, r].Rational functions can be used to approximate more complex planar curves

(note that in particular, every univariate polynomial is a rational function),so arrangements of arcs of rational functions can be very useful in manyapplication domains.

It should be noted that an arc of a rational function is x-monotone bydefinition. The implementation of the traits-class methods is straightforward.The only methods that require some attention are listed below:

Intersections: Given two arcs a1 = 〈p1, q1, [l1, r1]〉 and a2 = 〈p2, q2, [l2, r2]〉,we first have to find all x-values satisfying the equality

p1(x)q1(x)

=p2(x)q2(x)

.

We extract all the roots of the univariate polynomial p1q2 − p2q1 ∈ Q[x]and consider just those contained in the interval [l1, r1]∩ [l2, r2], which wedenote x1, . . . , xk. These roots are the x-coordinates of the intersectionpoints, whose corresponding y-coordinates are simply given by yi = p1(xi)

q1(xi).

14See [242, 285] for the theoretical background behind the implementation of theroot operator.

Page 47: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

36 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

Compare to right: Given two arcs a1 and a2 (as above) and one of their inter-section points u, we begin by defining f (0)

1 (x) = p1(x)q1(x) and f (0)

2 (x) = p2(x)q2(x) .

We start with m = 1, and compute for k = 1, 2 the mth order derivative

f(m)k =

(f

(m−1)k

)′. If f (m)

1 (ux) = f(m)2 (ux), then we can determine the

comparison result. Otherwise we conclude the multiplicity of u is greaterthanm, so we incrementm and repeat the derivation process. We will needdeg(p1q2 − p2q1) iterations at most, as this is the maximal multiplicity ofan intersection point.

1.4.3 Traits Classes from Exacus

Within the recent Ecg project, the Max-Planck Institute for Computer Sci-ence in Saarbrucken, Germany, initiated the project Exacus —Efficient andExact Algorithms for Curves and Surfaces [4]— where we develop several C++software libraries for studying design and for experimenting with algorithmsfor arrangements of curves and surfaces. We follow the generic programmingparadigm with C++ templates similar to the well established design principlesin the STL [38] and in Cgal [156, 70]; cf. Chap. 8.

The Exacus libraries are organized in a layered hierarchy with the ex-ternal libraries that are (optionally) used at the bottom and the applicationslibraries at the top. In between, there is a small Library Support layer: the Nu-

meriX library contains the number types, algebra, and numerical methods,and the SweepX library contains the generic implementations of a sweep-linealgorithm and a generic generalized polygon that supports regularized Booleanoperations on regions bounded by curved arcs. In particular, the sweep-linealgorithm realizes the linear-time reordering for multiple curves intersecting ina single common point [49]; see Sect. 1.3.1. Furthermore, the SweepX librarycontains generic algebraic points and segments (Gaps), the generic and curve-type independent part that implements the predicates and constructions forthe sweep-line algorithm based upon the one-curve and two-curves analysis,as described in Sect. 1.3.1; see [48] for details.

Most notably in this context, the Exacus libraries provide models of traitsclasses for the Cgal arrangement class, namely for the ArrangementTraits 2concept, to work with conics and conic arcs [49], cubic curves [140], and quarticcurves as they result from projections of intersection and silhouette curves ofquadrics in space [50]. The traits classes support all operations required forsweep and incremental construction in the Cgal arrangement. The curves andarcs may include infinite branches; they are handled completely in the traitsclasses and are therefore transparent for the Cgal arrangement algorithms.

We support full curves and, for conics, also arbitrary segments of curves,but both will be preprocessed into potentially smaller sweepable segmentssuitable for the algorithm. A sweepable segment is x-monotone, has a constantarc number in its interior (counting without multiplicities from bottom to top),and is free of one-curve events in its interior.

Page 48: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 37

The implementation is not restricted to bounded arcs and curves. End-points of unbounded curves (for example of the hyperbola xy − 1 = 0) arehandled symbolically and vertical line segments and vertical lines are sup-ported as well. Two techniques are used: The x-coordinates are compactifiedby adding symbolic values minus- and plus-infinity to the range of values.To represent the behavior at poles, the compactified x-coordinates are thensymbolically perturbed to symbolically represent “endpoints” of curves thatapproach a pole, and unbounded “endpoints” of vertical lines and rays. Thisperturbation, we call it tendency, can be expressed with a symbolical infini-tesimal ε > 0: curves left of the pole have endpoints with tendency −ε, thelower endpoint of a vertical line has tendency −ε2, the upper endpoint of avertical line has tendency ε2, and curves right of the pole have endpoints withtendency ε. The result is the desired lexicographic order of event points.

Fig. 1.11. Example arrangement ofconics featuring two highly degenerateintersection points including tangentialintersections

Fig. 1.12. Example arrangement of cu-bic curves featuring a degenerate tripleintersection point

The generic parts in Exacus are the design results of three main appli-cations that we have realized so far: conics and conic arcs (Fig. 1.11), cubiccurves (Fig. 1.12), and quartic curves as they result from projections of in-tersection and silhouette curves of quadrics in space (Sect. 1.5.2). The conicsimplementation supports line segments and imposes no restrictions on thechoice of the coordinate systems. The other two applications impose restric-tions on the coordinate system that are checked at runtime and that will leadto a runtime exception in case of a violation. The application would then bein charge of shearing the coordinate system and restarting the computation.

At the heart of the work is the one-curve and two-curves analysis, as de-scribed in Sect. 1.3.1. To recall it briefly, we project event points on the x-axis

Page 49: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

38 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

using resultants and isolate their roots, such that the plane is decomposedinto vertical slabs with rational x-coordinates at slab boundaries. We thencompute arc numbers of all arcs, of all event points, and determine the arcsgetting in and out of the event points. In contrast to the cylindrical algebraicdecomposition, we are able to determine those almost always by examiningthe intersection pattern of the curves or simple auxiliary curves at the rationalx-coordinates of the slab boundaries. This keeps the polynomial degrees lowfor the root isolation.

The main algebraic tools that we use are reviewed in Chap. 3. Briefly, weperform root isolation using the Descartes method. It requires the polyno-mials to be square-free, which we have to ensure for the case analysis in thealgorithms anyway. For the resultant computation we can choose between theBezout resultant (the default) and the Sylvester matrix formulation. Argu-ments for these choices are given in [140].

The algebraic constructions and functions tool box in NumeriX rely onimported basic number types integer, rationals and (optionally) real expres-sions from either Leda [251] or Gmp [6] and Core [3], or Ext [307]. We definea rich set of number type concepts and supporting traits classes for these basicnumber types that allow us to write generic and flexible code with maximalreuse and openness towards external number type libraries. As an example, itis worth mentioning that Exacus works transparently with polynomials inde-pendent of their coefficient types, for example rationals, and selects internallythe necessary transformations to finally compute gcds or resultants efficientlyon polynomials with integer coefficients.

1.4.4 An Emerging Cgal Curved Kernel

Before the current release (3.2) of Cgal, the Cgal Kernel provided the usermainly with linear objects and predicates on them. Circles and spheres werealso defined but with very few functionalities. Curves have been present inthe traits classes of certain specific packages of the Cgal Basic library fora long time: the arrangement package provides the user with a traits classfor conic arcs (Sect. 1.4.2), the optimization package comes with conics andbasic operations on them, needed for computing minimum enclosing ellipses,whereas the Apollonius diagram package computes the Voronoi diagram ofcircles.

We started to design and implement an extension of the Cgal kernel,devoted to curved objects. The first version of a 2D Circular kernel, definingnew classes for circular arcs and points on them, as well as some basic func-tionalities on them, has been released in Cgal 3.2. Traits classes that serve asan interface for the Cgal arrangement class are written, based on this kernel.

For more general curves, the effort has been focused so far on defining gen-eral concepts (Chap. 8), so that several implementations of these concepts canbe provided by several sites, in a collaboration that will allow us to comparethe different methods on a large number of test cases.

Page 50: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 39

Let us describe here the C++ design chosen for organizing our code, andthe kind of interface provided by our kernel. As in [284, 145], our choices havebeen heavily inspired by the Cgal kernel design [204] which is extensible andadaptable. Indeed, one of its features is the ability to apply primitives likegeometric predicates and constructions to either the geometric objects whichare provided by our kernel, or to user-defined objects.

The curved kernel is parametrized by a LinearKernel parameter and derivesfrom it, in order to include all needed functionality on basic geometric objects,like points, line segments, and so on.

It is clear from Sect. 1.3 that the predicates make heavy use of algebraicoperations. We want to be as independent as possible from a particular im-plementation of the algebraic operations, so our curved kernel is parametrizedby an AlgebraicKernel that is responsible for all algebraic computations. Thedeclaration is the following:

template < typename LinearKernel, typename AlgebraicKernel >

class Curved kernel;

The interface provided at the geometric level is composed of:Types defining the objects. Some of them are inherited from the basickernel, namely the number type (denoted as RT in the sequel), and basicgeometric types. Some other types are inherited from the algebraic kernel.These types are mainly types for polynomials and roots of polynomial systems.Finally, some types are defined by the curved kernel itself, mainly types forarcs of curves and their endpoints.Predicates and constructions defined on the above objects, as mentionedin Sect. 1.3.1.

Any implementation of the AlgebraicKernel template parameter of ourCurved kernel must be a model of a precise concept. The algebraic kernelconsists of several concepts, such as bivariate polynomials and roots of sys-tems of bivariate polynomials. These concepts must provide the operationslisted below.

We only show here how the basic geometric operations for computingarrangements of algebraic curves can be translated into basic operations onalgebraic numbers.

The first step consists of choosing a representation for the input data:- We will consider here implicit algebraic curves, and focus more specificallycircles since this corresponds to the current Cgal release. Such a curve isrepresented by a bivariate polynomial of total degree two. A circular arc isrepresented by a supporting circle and its two delimiting endpoints, knowingthat the arc is oriented counterclockwise.- Two kinds of points—intersection points and endpoints—can be consideredin the same way, thus allowing us to have a unique representation. We use

Page 51: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

40 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

the term arcpoint for either an endpoint of an arc or an intersection point.An arcpoint is represented by a root of a system of two bivariate polynomialequations. Finding this root reduces to the algebraic operation:

• solve, that computes the common roots of two given bivariate polynomi-als.

The basic operations necessary to implement geometric predicates andconstructions are kept at a high level, not imposing any specific algebraictool. The main operations can then be rephrased as:

• compare, that compares two algebraic numbers,• x critical points, that computes the critical points of a bivariate poly-

nomial,• sign at that computes the sign of a bivariate polynomial evaluated at the

root of a system of bivariate equations.

Comparisons can be carried out exactly and efficiently using algebraicmethods adapted to algebraic numbers of low degree [116, 144]. This is ex-plained in Chap. 3.

It is crucial to note, however, that the concepts are general enough to allowalso completely different methods, such as interval analysis, that will be usedtogether with exact algebraic methods, for filtering purposes.

1.4.5 How To Speed Up Your Arrangement Computation in Cgal

• When the curves to be inserted into an arrangement are x-monotone andpairwise disjoint in their interior to start with, then it is more efficient (inrunning time) and less demanding (in traits-class functionality) to use thenon-intersection insertion-functions instead of the general ones.

• The main trade-off among point-location strategies, is between time andstorage. Using the naive or walk strategies, for example, takes more querytime but saves storage space and requires less time for maintaining theauxiliary structures.

• If point-location queries are not performed frequently, but other modifyingfunctions, such as removing, splitting, or merging edges are, then using apoint-location strategy that does not require the maintenance of auxiliarystructures, such as the naive or walk strategies, is preferable.

• When the curves to be inserted into an arrangement are available in ad-vance (as opposed to supplied on-line), it is advised to use the more efficientaggregate (sweep-based) insertion over the incremental insertion.

• The various traits classes should be instantiated with an exact numbertype to ensure robustness, when the input of the operations to be carriedout might be degenerate, although inexact number types could be used atthe user’s own risk.

• Maintaining short bit-lengths of coordinate representations may drasticallydecrease the time consumption of arithmetic operations on the coordinates.

Page 52: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 41

(a) (b)

Fig. 1.13. Vertical decomposition (a) and partial decomposition (b) of an arrange-ment of segments [315] inside a bounding rectangle

This can be achieved by caching certain information or normalization (ofrational numbers). However, both solutions should be used cautiously, asthe former may lead to an undue space consumption, and indiscriminatenormalization may considerably slow down the overall process.

• Geometric functions (e.g., traits methods) dominate the time consump-tion of most operations. Thus, calls to such function should be avoided orat least their number should be decreased, perhaps at the expense of in-creased combinatorial-function calls or increased space consumption. Forexample, repetition of geometric-function calls could be avoided by storingthe results obtained by the first call, and reusing them when needed.

1.5 Exact Construction in 3-Space

Moving from two-dimensional arrangements of curves to three-dimensionalarrangements of surfaces is a major endeavor. In this section we report onprogress in and plans for coping with three-dimensional arrangements. Westart with an efficient space-sweep algorithm for computing a useful refine-ment of arrangements of surfaces, and proceed with algebraic primitives andalgorithms for the case of quadrics.

1.5.1 Sweeping Arrangements of Surfaces

We describe a method to effectively compute a representation of a three-dimensional arrangement of well-behaved surface patches15 [315]. The methodis fairly simple and efficient and has been successfully implemented for ar-rangements of triangles and of polyhedral surfaces. It computes the vertical

15For a detailed discussion of what constitute well-behaved surfaces or surfacepatches in the context of arrangements, see [15]. These are, for example, a collec-tion of algebraic surface patches of bounded degree each bounded by at most someconstant number of algebraic curves of bounded degree and each decomposed intoa constant number of xy-monotone patches.

Page 53: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

42 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

decomposition of the arrangement, which is a convenient representation break-ing the three-dimensional cells of the arrangement into vertical prisms. It isan extension to three-dimensional space of the well-known two-dimensionaltrapezoidal decomposition (as briefly described already in Sect. 1.3); by ver-tical we mean parallel to the z-axis.

A raw arrangement is often too complicated to handle and use as it mayhave cells with many features and complex topologies. What is typicallyneeded is a further refinement of the arrangement into cells, each homeomor-phic to a ball and of small combinatorial complexity (that is, a small constantnumber of features). Additionally, we would like the refinement to be eco-nomical and not to increase the complexity of the arrangement by much. Arefinement that satisfies these requirements is the so-called vertical decompo-sition. Fig. 1.13(a) depicts an arrangement of segments (in bold lines) refinedby vertical decomposition: We extend a vertical line upwards and downwardsfrom every vertex of the arrangement (either a segment endpoint or the inter-section of two segments) until it hits another segment or extends to infinity.Vertical decompositions are defined for any dimension and for arrangementsof any collection of “well-behaved” objects [85, 196, 312].

For simplicity of exposition we describe the three-dimensional variant forarrangements of triangles. Let T = t1, t2, . . . , tn be a collection of trianglesin 3-space. For a curve γ in R

3 let H(γ) denote the vertical wall through γ,namely the union of vertical lines intersecting γ. For an edge e of the arrange-ment we define the wall of the edge, denoted W (e), as the union of points inH(e) that can be connected to e with a vertical segment that does not crossany of the triangles in T . The vertical decomposition of A(T ) is obtained asfollows. First we erect walls from triangle boundary edges. Second, walls areerected from the intersection edges between pairs of triangles to produce afiner decomposition. Finally we refine the decomposition, in a straightforwardmanner, into a convex subdivision consisting of trapezoidal prisms. (See e.g.[109] for details.) We call the refined subdivision the full (or standard) ver-tical decomposition. An alternative decomposition, which induces fewer cells,called the partial decomposition, has also been proposed and investigated. SeeFig. 1.13(b) for an illustration of the two-dimensional partial decompositionof an arrangement of segments.

De Berg et al. [109]. showed that the maximum combinatorial complexityof the vertical decomposition is the same as that of the arrangement, whichis Θ(n3), and the complexity of the vertical decomposition is sensitive to thecomplexity of the underlying arrangement. They gave a bound O(n2+ε +K)where K is the complexity of the arrangement, improved by Tagansky [326]to O(n2α(n) log n+K), where α(n) is the extremely slowly growing inverse ofAckermann’s function. The near-quadratic overhead term is close to optimal inthe worst case as there are arrangements with linear complexity whose verticaldecomposition has quadratic complexity. They also gave an output-sensitivealgorithm to compute the decomposition running in time O(n2 log n+V log n),where V is the complexity of the decomposition.

Page 54: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 43

The algorithm that we sketch here is an improvement and simplification ofthe algorithm in [109]. It runs in time O(n log2 n+V log n) where V is the sizeof the vertical decomposition of the arrangement of n well-behaved surfaces.Thus, the algorithm has near-optimal running time. A detailed description ofthe algorithm and its implementation can be found in [314, 315].

We assume that the input triangles in T are in general position. For conve-nience, we also assume that the triangles in T are bounded inside a big simplex(four extra triangles) and we are only interested in the decomposition insidethis bounding simplex. The output of the algorithm is a graph G = (U,E)where each node in U describes one trapezoidal prism of the decompositionand there is an edge (u1, u2) in E if the two prisms corresponding to u1 andu2 share a vertical (artificial) wall.

The algorithm consists of one pass of a space sweep with a plane orthogonalto the x-axis moving from x = −∞ to x = ∞. Let Px1 denote the plane x = x1.Let Ax1 denote the partial two-dimensional decomposition of the arrangementA(Px1 ∩ T ) of segments induced on the plane Px1 by intersecting it with thetriangles in T and the bounding simplex and by adding vertical extensionsonly through segment endpoints (which looks, up to the bounding simplex,like Fig. 1.13(b)). We use Ax to denote this subdivision for an arbitrary x-value.

Besides the graph G in which the output is constructed, the algorithmmaintains three data structures. A dynamic structure F that describes thesubdivision Ax, a standard event queue Q, which maintains the events ofthe sweep ordered by their x-coordinate, and a dictionary D, which connectsbetween F and Q as we explain next.

The structure F supports efficient insertion or deletion of vertices, edges,and faces of the subdivision. In addition, it efficiently answers vertical ray-shooting queries. In order for the overall algorithm to be efficient, we wish torefrain from point location in the subdivision Ax as much as we can, sincein the dynamic setting point location queries are costly. We achieve this byusing the dictionary D. Each feature in the current subdivision Ax is givena unique combinatorial label (we omit the straightforward details here). Wekeep a dictionary of all these features with cross pointers to their occurrencein F . When we add an event that will occur later at x′ to Q we also insert thecombinatorial labels of features of Ax′ that are related to the event. This way,when we come to handle the event, we could use the dictionary D (payingO(log n) to search in the dictionary) and with the information thus obtainedwe directly access F .

If we do not compute events in advance (before the sweep starts), how dowe predict all the events together with the extra labels needed? The answerlies in the observation, which is similar to the key observation in the two-dimensional Bentley-Ottmann sweep algorithm: Before an event, the involvedfeatures of the arrangement must become neighbors in Ax. Thus it suffices topredict future events by only checking a small number of neighboring features,and repeat the test each time the neighbors of a feature change.

Page 55: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

44 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

A one-pass sweep with a plane suffices since almost all the events can bepredicted in this way, namely, every time we update the structure F we haveto go over a constant-length checklist involving the modified features of F .The overall cost of the prediction is O(log n) (this is a property of F) andat most a constant number of new events is created and inserted into thequeue. Some of these events may later turn out to be ‘false alarms.’ However,a false event never spawns a new event, the prediction of a false event can becharged to an actual event, and no actual event is charged for more than aconstant number of false events. The full list of events, how they are detectedand handled, is given in [314].

Most features (or events) of the arrangement A(T ) can be fully predictedduring the sweep. There is only one type of events, however, for which wecannot obtain the full event information from previous events. This is obvi-ously the appearance of a new triangle t, namely the first time that the sweepplane hits t. This is what determines the choice of structure for F . We use thedynamic point location structure of Goodrich and Tamassia [187], which per-tains to monotone subdivisions (which in the case of triangles is even convex)and takes O(log n) per update and O(log2 n) per point location query. Aug-menting it to support vertical ray shooting in a known face in time O(log n)is trivial. We use the structure for point location exactly n times.

Now we can summarize the performance of the algorithm. The predictionwork, as well as handling a single event, take O(log n) time per event for a totalof O(V log n) (recall that V is the complexity of the decomposition). The extramachinery required for handling the appearance of new triangles gives rise tothe overhead term O(n log2 n) and it incurs additional work (of the pointlocation structure, which, although we use scarcely, needs to be maintained)that is absorbed in the O(V log n) term. The storage required by the algorithmis O(V )—it is proportional to the complexity of the decomposition.

In the existing implementation of the algorithm the dynamic point-locationstructure is replaced with a naıve test that goes over all triangles to find thetriangle that is immediately vertically above the query point. According tothe experimental results reported in [315], this test is fast.

In the case of triangles, as mentioned above, the subdivision Ax is convex.The algorithm however does not rely on this fact in any way. For the algorithmto apply, it suffices that the subdivision Ax be y-monotone (where y is thehorizontal axis on the plane Px). The structure of Goodrich and Tamassiacan handle monotone subdivisions.16 Hence we can generalize the result tothe case of well-behaved surface patches:

Theorem 1. Given a collection S of n well-behaved surface patches in gen-eral position in three-dimensional space, the time needed to compute the fullvertical decomposition of the arrangement A(S) is O(n log2 n+V log n), whereV is the combinatorial complexity of the vertical decomposition.

16M. Goodrich, Personal communication

Page 56: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 45

1.5.2 Arrangements of Quadrics in 3D

Quadric surfaces, or quadrics for short, are defined as the set of roots ofquadratic trivariate polynomials. For example, the ellipsoids R, G, and B inthe left picture of Fig. 1.14 are defined by the following polynomials:

R(x, y, z) = 27x2 + 62y2 + 249z2 − 10 ,

G(x, y, z) = 88x2 + 45y2 + 67z2 − 66xy − 25xz + 12yz − 24x + 2y + 29z − 5 ,

B(x, y, z) = 139x2 + 141y2 + 71z2 − 157xy + 97xz − 111yz − 3x − 6y − 17z − 7 .

On the surface of a given quadric p, the intersection curves of p with theremaining quadrics induce a two-dimensional arrangement.17 In our example,the ellipsoid B and the ellipsoid G intersect the ellipsoid R. This leads totwo intersection curves on the surface of R (the right-hand side pictures ofFig. 1.14 and Fig. 1.16). Vertices of this (sub)arrangement are common pointsof two intersection curves, or rather intersection points of three quadrics.

G

R

B

R

Fig. 1.14. The ellipsoid B and the ellipsoid G intersect the ellipsoid R in two spatialcurves running on the surface of R

The Sweeping Approach

Sweeping a set of n quadrics Qi, i = 1, . . . , n by a plane orthogonal to the x-axis allows to compute the so-called vertical decomposition of the arrangementof the quadrics (as described above in Sect. 1.5.1).

17Although we have only discussed arrangements in Euclidean space so far in thechapter, arrangements are naturally defined on curved surfaces as well. For instance,a very useful type of arrangements is defined on the surface of a sphere—see Sect. 1.7for an application of such arrangements.

Page 57: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

46 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

When applying this standard sweeping technique to arrangements ofquadrics in R

3, the main issue is—as usual when applying computationalgeometry techniques to curved objects—the implementation of the geometricprimitives: predicates and constructions. Therefore, it is essential to analyzethem precisely. A first study of the way the primitives needed by the sweepcan be expressed in algebraic terms was conducted in [264, 265].

Fig. 1.15. “Trapezoidal” decomposition ofconics in a plane

Let us denote by Qi both aquadric and its equation, which isa degree 2 polynomial in the vari-ables x, y, z. The intersection of thearrangement of quadrics with thesweeping plane in a fixed positionduring the sweep, gives rise to anarrangement of conics in a (y, z)-plane. The equation of a conic fora given position x = x0 of the planeis Qi(x0, y, z) = 0, which is a poly-nomial equation in the coordinatesy, z of a point in the planar section,

denoted Qx0i for short.

This planar arrangement of conics can be decomposed into “curved trape-zoids” generalizing in a straightforward way the cells of a trapezoidal decom-position of an arrangement of line segments (see Fig. 1.15): A wall parallelto the z-axis is drawn through every intersection point between two conicsand every point where the tangent to the conic is parallel to the z-axis. Atrapezoid is described by:

• two vertical walls, one of which (or even both) may degenerate to a singlepoint,

• a ceiling and a floor, which are segments of evolving conics, and• signs to determine the side (above/below) of the trapezoid with respect to

each of these two conics.

When the plane is moving, the conics are deforming. The topology of thetrapezoidal decomposition changes at events of the sweep. An event occurswhenever one of the two following possibilities occurs:

• either a new quadric is encountered by the sweeping plane (respectively, aquadric is left by the plane), that is, a new conic appears on (respectively,a conic disappears from) the plane

• or the description of a trapezoid is modified- either because its ceiling and floor intersect,- or because its walls coincide.

Each event corresponds to the construction of a feature of the 3D verticaldecomposition.

Page 58: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 47

The detection of events boils down to the manipulation of roots of systemsof polynomial equations. Let us briefly illustrate this by showing an exampleof algebraic manipulation that is required by the algorithm.

A wall in the sweeping plane x = x0 defined by the intersection of twoconics Qx0

i and Qx0j corresponds to a solution y of the system

Qi(x0, y, z) = 0Qj(x0, y, z) = 0

The worst type (in terms of algebraic degree) of event corresponds to thecase when two such walls of the same trapezoid coincide, which occurs whenthe y-coordinate of the intersection between two conics coincides with they-coordinate of the intersection between two other conics, which is expressedas:

x0 such that ∃y,∃(z1, z2),Qi(x0, y, z1) = 0Qj(x0, y, z1) = 0 and

Qk(x0, y, z2) = 0Ql(x0, y, z2) = 0

A solution x0 lies in an algebraic extension of degree at most 16. Thesweep requires that events be sorted, which implies that we must compareexactly two events, or equivalently, determine the sign of the difference of thecorresponding two algebraic numbers. In the worst case, we are interested incomparing algebraic numbers of degree 16 belonging to independent algebraicextensions of the initial field. So, the algorithm is highly demanding in termsof algebraic manipulations.

The solution proposed in [265] uses algebraic tools like Descartes’ rule,Sturm sequences, and rational univariate representation, described in Chap. 3.The practicality of this solution is yet to be proven.

Future work on replacing the vertical decomposition by a partial decom-position is likely to improve the behavior of the algorithm:

• Whereas the complexity of the arrangement is O(n3), the complexity Vof the vertical decomposition is known to be bounded by O(n3β(n)) whereβ(n) = λs(n)/n = 2α(n)16 [85]. .

Note that, though the size of this decomposition is slightly larger than thesize of the arrangement, it is much smaller than the size of Collins’ cylindricalalgebraic decomposition [101].

It is well known that in practice the number of cells in the vertical decom-position can be much bigger than the number of cells in the arrangement. Itwas shown experimentally, in the case of triangles in 3D, that the number ofcells in a partial decomposition can be smaller [315].

• Another important motivation is that it could lead to smaller degreepredicates. In fact we have seen that the highest degree predicates we getcome from the comparison of the y-coordinates of intersections of conics inthe sweeping plane. Decompositions where regions would not be defined byintersections of conics would decrease the degree.

Page 59: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

48 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

The Projection Approach

An alternative approach to constructing arrangements of quadric surfaces inthree-dimensional space is based on projection [178]. We sketch the mainideas of the approach below and refer the reader to detailed description oftheoretical and implementation aspects of the method [340], [47].

Independent of the special information about the arrangement of thequadrics one may be interested in, for example, the topological descriptionof a cell or of the whole arrangement, the basic computation that has to becarried out in nearly all cases is: For each quadric p, locate and sort all verticesalong the intersection curves on the surface of p.

Our approach for solving this problem operates similar to Collins’ cylindri-cal algebraic decomposition. By projection, it reduces the three-dimensionalproblem to the one of computing planar arrangements of algebraic curves. Weproject for each quadric p all its intersection curves with the other quadricsand additionally its silhouette onto the plane. This projection step applied tothe quadrics Fig. 1.14 results in the two-dimensional arrangement shown inFig. 1.16.

3

~gb~

b~

r~

1 2

4

2R

r

g

bb

Fig. 1.16. Project the intersection curves b and g of the ellipsoid R with the ellipsoidB and G, respectively, together with the silhouette r of R into the plane. This leadsto the planar curves b, g, and r

We have to compute the planar arrangement resulting from the projection.All curves of the planar arrangement turn out to be defined by polynomials ofdegree at most 4. For example, the curve g is the set of roots of the polynomial

408332484x4 + 51939673y4 − 664779204x3y − 24101506y3x+564185724x2y2 − 250019406x3 + 17767644y3

+221120964x2y − 123026916y2x+ 16691919x2 + 4764152y2

+14441004xy + 10482900x+ 2305740y − 1763465.

Page 60: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 49

The reduction is algebraically optimal in the sense that it does not affectthe algebraic degree of the curves we consider. But due to the projection, thecurves in the planar arrangement can have six singular points and two curvescan intersect in up to 16 points. The most difficult problem we face stemsfrom the high degree of the algebraic numbers that arise in the computation.

For computing the resulting planar arrangements we again must be ableto perform the analysis of a single curve and of a pair of curves. The extremepoints of one curve f are, as in the case for cubics, computed by comparingthe order of f and fy slightly to the left and slightly to the right of theextreme points. For locating the singular points we make use of the fact thatwe consider projected quadric intersection curves. One can prove that at mosttwo singular points result from the projection in the sense that two non-intersecting branches of the spatial intersection curve are projected on top ofeach other. For example, the intersection curve b in Fig. 1.16 consists of twonon-intersecting loops. They are projected on top of each other causing twoself-intersections. We can compute the coordinates of these singular pointsas one-root numbers. In most cases one can express the coordinates of theremaining singular points as roots of quadratic rational polynomials. Onlyin the case that the spatial intersection curve consists of four lines do thecoordinates require a second square root.

As described earlier in the section about planar arrangements of conicsand cubics, transversal intersection points of two curves are easy to computeby determining the sequence of hits slightly to the left and slightly to theright of the intersection points. Non-singular intersections of multiplicity 2are computed using the additional Jacobi curve already mentioned in the sec-tion about cubics. We know that the Jacobi curve cuts transversally throughboth involved curves. This fact enables us to reduce the problem of detect-ing tangential intersections of multiplicity 2 to the one of locating transversalintersections. For all remaining non-singular intersections of multiplicity > 2one can prove that their coordinates are one-root numbers and can thus besolved directly.

Parameterizing the Intersection of Two Quadrics

A parallel and complementary work was conducted outside ECG, on the con-version of object representation from Constructive Solid Geometry (CSG) toBoundary Representation (BRep), motivated by modeling for rendering. Afundamental step of this conversion is the computation of the intersection oftwo primitive volumes. Dupont et al presented a robust and optimal algorithmfor the computation of an exact parametric form of the intersection of twoquadrics [128]. Their method is based on the projective formalism, techniquesof linear algebra and number theory, and new theorems characterizing therationality of the intersection. These theoretical results are major in the sensethat the output solution is a rational parameterization whenever one existsand the coefficients are algebraic numbers with at most one extra square root.

Page 61: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

50 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

Furthermore, for each geometric type of intersection, the number of squareroots in the coefficients is always minimal in the worst case. This method isusable in practice (as opposed to the approach of Levin used before [241]).

The algorithm was improved later to minimize the size (i.e., the number ofdigits) of the integer coefficients that appear in the parameterizations. It wasimplemented in C++ [11] and its practical performance was analyzed [238].

1.6 Controlled Perturbation: Fixed-PrecisionApproximation of Arrangements

The approaches taken in recent years to cope with precision and robustnessproblems in geometric computing can be roughly categorized in one of thefollowing two archethemes: (i) exact computing and (ii) fixed-precision ap-proximation. The former mimics the real RAM model for certain primitives,whereas the latter adjusts the algorithmic solutions to the standard computerlimited-precision arithmetic.

The approach favored by the Cgal project and related projects, as re-flected also in most of this chapter, is exact computing. Exact geometriccomputing has many advantages, among them is solving the precision androbustness problem, giving the ultimate true results, and enabling the tran-scription of the geometric algorithms in the literature if the input is in generalposition.

However, exact computing has some disadvantages. In spite of the constantprogress, it is still slower than machine arithmetic especially when the objectsare non-linear or higher dimensional (beyond curves in the plane). Also, exactcomputing does not solve the degeneracy problem, and if we anticipate inputthat is not in general position, as is often the case in practice, degeneraciesrequire special (and often very tedious) treatment.18

Here we outline a method that has been employed for the robust imple-mentation of arrangements of curves and surfaces while using floating-pointarithmetic. The scheme seeks to perturb the input objects slightly such thatafter the perturbation their arrangement is degeneracy free and all the pred-icates that arise in the construction of the arrangement can be accuratelycomputed with the given machine precision. Controlled perturbation has beensuccessfully applied to arrangements of circles [198], spheres [200, 153, 154],polygons [279], polyhedral surfaces [292], and more recently to Delaunay tri-angulations [172].

One can view the goal of controlled perturbation as follows. We look tomove the input objects slightly from their original placement such that whenconstructing the arrangement of the perturbed objects while using a fixed pre-cision floating-point filter (see, e.g., [251, 346]), the filter will always succeedand we will never need to resort to higher precision or exact computation.

18In Cgal though, the implementation of algorithms for two-dimensional arrange-ments do not assume general position and handle degeneracies.

Page 62: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 51

We give an overview of the controlled-perturbation scheme. Although theideas that we present here could have been described in a more general setting,and have been applied more generally, we concentrate, for ease of exposition,on arrangements of circles.

The input to the perturbation algorithm is a collection C = C1, . . . , Cnof circles, each circle Ci is given by the Cartesian coordinates of its center(xi, yi) and its radius ri; we assume that all the input parameters are repre-sentable as floating-point numbers with a given precision. The input consistsof three additional parameters: (i) the machine precision p, namely the lengthof the mantissa in the floating-point representation, (ii) an upper bound onthe absolute value of each input number xi, yi, and ri, and (iii) ∆ — themaximum perturbation size allowed.19

For an input circle Ci, the perturbation algorithm will output a copy C ′i

with the same radius but with its center possibly perturbed. We define Cj

as the collection of circles C1, . . . , Cj, and C′j as the collection of circles

C ′1, . . . , C

′j. The perturbation scheme transforms the set C = Cn into the set

C′ = C′n.

We carry out the perturbation in an incremental fashion, and if there is apotential degeneracy while adding the current circle, we perturb it so that nodegeneracies occur. Once the j-th step of the procedure is completed, we donot move the circles in C′

j again. We next describe the two key parameters thatgovern the perturbation scheme—the resolution bound and the perturbationbound.

Resolution Bound

A degeneracy occurs when a predicate evaluates to zero. The goal of theperturbation is to cause all the values of all the predicate expressions (thatarise during the construction of the arrangement of the circles) to become“significantly non-zero”, namely to be sufficiently far away from zero so thatour limited precision arithmetic could enable us to safely determine whetherthey are positive or negative.

Fig. 1.17. Outer tangency —two circles (bounding interior-disjoint disks) intersect in asingle point

The degeneracies that arise in arrangementsof circles have a natural geometric characteri-zation as incidences. For example, in outer tan-gency (Fig. 1.17), two circles intersect in a singlepoint. We transform the requirement that thepredicates will evaluate to sufficiently-far-from-zero values into a geometric distance require-ment.

An outer tangency between C1 and C2 oc-curs when

√(x1 − x2)2 + (y1 − y2)2 = r1 + r2 .

19The exact size of ∆ depends on the specific application of the perturbed arrange-ment.

Page 63: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

52 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

We look for a distance ε > 0 such that if we move one circle relative to theother ε away from the degenerate configuration, we could safely determine thesign of the predicate with our limited precision arithmetic, that is, we lookfor a relocation (x′2, y

′2) of the center of C2 such that

|√

(x1 − x′2)2 + (y1 − y′2)2 − (r1 + r2)| ≥ ε .

This is a crucial aspect of the scheme—the transformation of the non-degeneracy requirement into a separation distance. We call the bound on theminimum required separation distance the resolution bound 20 and denote it byε. If the separation distance is less than ε, then there is a potential degeneracy.The bound ε depends on the size of the input numbers (center coordinatesand radii) and the machine precision. It is independent of the number n ofinput circles.

Deriving a good resolution bound is a non-trivial task [198]. Notice how-ever that in order to carry out the scheme successfully, one does not need toknow the resolution bound. This bound is only needed in order to derive theperturbation bound (see next paragraph) which gives a guarantee on the max-imum perturbation magnitude, as may be required by some applications. Italso allows to determine what precision is necessary in order to accommodatea given maximum on the allowed perturbation. If a user is not concerned aboutthe perturbation magnitude, then the scheme requires very little analysis.

Perturbation Bound

Suppose that ε is indeed the resolution bound for all the possible degenera-cies in the case of an arrangement of circles for a given machine precision.When we consider the current circle Ci to be added, it could induce manydegeneracies with the circles in C′

i−1. Just moving it by ε away from one de-generacy may cause it to come closer to other degeneracies. This is why we usea second bound δ, the perturbation bound — the maximum distance by whichwe perturb the center of any of the circles away from its original placement.The bound δ depends on ε, on the maximum radius of a circle in C, and ona density parameter ρ. The density parameter bounds the number of circlesthat are in the neighborhood of any given circle or may effect it during theprocess; clearly, ρ ≤ n− 1.

We say that a point q is a valid placement for the center of the currentlyhandled circle Ci if, when moved to q, this circle will not induce any degeneracywith the circles in C′

i−1. The bound δ is computed such that inside the diskDδ of radius δ centered at the original center of Ci, at least half the points(constituting half of the area of Dδ) are valid placements for the circle. Thismeans that if we choose a point uniformly at random inside Dδ to relocate thecenter of the current circle, it is a valid placement with probability at least 1

2 .

20It would have also been suitable to call it a separation bound, but we use resolu-tion bound to avoid confusion with separation bounds of exact algebraic computing.

Page 64: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 53

After the perturbation, the arrangement A(C′) is degeneracy free. More-over, A(C′) can be robustly constructed with the given machine precision. Theperturbation algorithm should not be confused with the actual constructionof the arrangement. It is only a preprocessing stage. However, it is conve-nient to combine the perturbation with an incremental construction of thearrangement, or more generally, the scheme can be conveniently and efficientlyinterwoven with geometric Randomized Incremental Construction (RIC) al-gorithms [172]

The full technical details of the method are given for circles in [198]. Inall applications to date, even in fairly involved applications such as dynamicmaintenance of molecular surfaces under conformational changes [154], theperturbation consumes a very small fraction of the running time of the con-struction algorithm.

1.7 Applications

Arrangements of curved objects arise in a variety of applications from differ-ent fields, such as robotics, computer-aided design (CAD) and computer-aidedmanufacturing (CAM), graphics and molecular modeling. While textbook al-gorithms sometimes supply elegant algorithms for solving such problems, im-plementing reliable and efficient software solutions pose a real challenge to anycomputer programmer, due to the high complexity of the algebra involved. Inthis section we review some of these applications and describe the state-of-the-art software solutions. Most of these solutions were implemented using thegeometric and the algebraic infrastructure described in the previous sections.

1.7.1 Boolean Operations on Generalized Polygons

We can describe point sets in the plane bounded by piecewise arcs of curveswith a suitably labeled arrangement of (arcs of) curves. Therefore, we extendthe arrangement data structure with a Boolean selection mark for all arrange-ment features (vertices, edges, and faces). The selection mark is true if theitem is part of the represented point set and false otherwise.

We describe how to implement standard Boolean set-operations, such asunion, intersection, complement, and difference, as well as topological opera-tions, such as interior, closure, and boundary. A particular relevant operationis the regularization of a point set A, denoted A, which is defined as theclosure of the interior of the point set A. A point set A is called regular if it isequal to its regularization, i.e., A = A. By regularizing the result of Booleanset-operations we obtain the regularized Boolean set-operations. Regulariza-tion is particularly relevant for solid modeling because regular sets are closedunder regularized Boolean operations and because regularization eliminateslower dimensional features, thus simplifying and restricting the representationto physically meaningful solids. A simplified representation does not have to

Page 65: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

54 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

(a) (b) (c)

Fig. 1.18. Two generalized polygons (a) and (b), bounded by piecewise arcs ofconic curves, and their symmetric difference (c)

store selection marks; they are implicitly always set for vertices and edges,and for faces they are deduced from a suitably chosen orientation conditionon their boundaries.

The implementation of all operations can be broken into three distinctsteps — refinement, selection, and simplification — although in practice thefirst two (if not all three) can be performed in a single step. The refinementstep is ignored for unary operations.

Refinement: Given two input arrangements, we compute an arrangement thatis a common refinement of the two, also referred to as the overlay of thetwo arrangements. This is done using the sweep-line algorithm presentedin Sect. 1.3. We also take advantage of the fact that the two input arrange-ments are represented using two Dcel structures, which contain only x-monotone curves that do not intersect in their interior. We therefore neverhave to compute intersection between two curves that originate from thesame Dcel.21

The result of the refinement is an arrangement including proper faces. Foreach feature in the result, we have a unique support feature in each inputarrangement, in particular, for each result face we know the correspondingface in each input arrangement.

Selection: We determine the value for each selection mark in the refinedarrangement:• For binary point-set operations, we evaluate the corresponding Boolean

function on the selection marks of the two support features.• For a complement operation, we negate all selection marks.

21A variant of this problem has been studied under the name of red-blue segmentintersection for the linear case, but we do not know of extensions for curves. Forexample, the algorithm in [248] (and also others) makes explicit use of the fact thatthe edges intersect at most once.

Page 66: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 55

• For an interior operation, we set the selection marks of all edges andvertices to false.

• For the closure operation, we set the selection mark of all edges andvertices incident to a marked face and of all vertices incident to amarked edge to true.

• For the boundary operation, we compute the closure and then set allface selection marks to false.

Simplification: Refinement and selection might result in a redundant repre-sentation of the point set. For example, the union of two half-discs stillcontains the dividing diameter, which is redundant for the representationof a full disc. Simplification is important as it enables a unique repre-sentation of a point set and also reduces the memory requirements byeliminating redundant features. Moreover, it simplifies the selection step;in this step we assume that input arrangements are simplified, otherwisethe selection rules would become more involved.The simplification applies the following three rules, in that order, untilno rule applies and the unique representation is reached. These rules arebased on a complete classification of local neighborhoods in the point set:• If the selection marks of an edge and its two incident faces have

the same value, then the edge is redundant and is removed from thearrangement, merging the two faces in the process.

• If a vertex is incident to exactly two edges that have the same support-ing curve and all have the same selection-mark value, then the vertexis redundant and is removed from the arrangement, such that the twoedges are merged to represent a single curve (an exception to this ruleare vertices that divide curves to form x-monotone sub-curves).

• If an isolated vertex has the same selection mark as its surroundingface, then this vertex is redundant and is removed from the arrange-ment.

Clearly, the refinement step is computationally the most demanding ofthe three and it dominates the run-time of the overall algorithm. However,when the intermediate arrangement consists of many redundant features, thesimplification step may also be non-negligible.

The representation of point sets starting from linear half-spaces as prim-itives have been implemented in the full generality described here as Cgal

packages: Seel [308], [309] implemented the planar Nef polyhedra package whileGranados et al. [189] and Hachenberger et al. [195] describe the implementa-tion of 3D Nef polyhedra, based on the work of [274], [53] and [297]. Regularpoint sets with regularized Boolean set-operations have been implementedunder the name of generalized polygons [251, Sect. 10.8] in Leda. This imple-mentation has been extended to handle regions bounded by conic arcs in theExacus project [49], see Fig. 1.18 for an example.

The Boolean set-operation package included in Cgal Version 3.2 [2] imple-ments regularized Boolean set-operations on point sets given as collections of

Page 67: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

56 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

generalized polygons. A generalized polygon is defined by a circular sequenceof edges realized as arbitrary directed x-monotone curves, with the propertythat the target point of each x-monotone curve equals the source point ofits successor. Each type of x-monotone curve, as defined by one of the traitsclasses described in Sect. 1.4.2 (namely a conic arc, a segment of a rationalfunction, etc.), may be used to represent a polygon edge.

An important feature of the Boolean set-operation package is that it sup-ports aggregated operations in an efficient manner. Suppose we are given aset of generalized polygons P1, . . . , PN and we wish to compute

⋃Nk=1 Pk. We

do so using a divide-and-conquer approach — namely, we divide the polygonset into two sets of approximately the same size, recursively compute the ag-gregated union of each subset and finally compute the binary union of the tworesults. Similarly, we can define and implement an aggregated intersection andsymmetric difference operations.

In the implementation of the divide-and-conquer algorithm we use the twofollowing observations in order to optimize the process and reduce its runningtime:

• Simplifying the intermediate arrangements that represent the partial re-sults in the various recursion steps is too costly. We therefore avoid thesimplification steps along the divide-and-conquer process. Only the finalresult of the overall operation is simplified.

• At each of the recursion steps we have to compute the union of two setsby overlaying two arrangements. This is done by the sweep-line algorithm,whose first step is initializing its event queue (the X-structure) by sortingall curve endpoints. We take advantage of the fact that these endpoint areexactly the the arrangement vertices, and since each intermediate arrange-ment has been constructed using the sweep-line algorithm in the previousrecursion steps, we know that their vertices were already created in ascend-ing xy-lexicographic order. We can therefore apply a linear-time merger ofthe two vertex lists, achieving a considerable reduction in the number ofgeometric comparisons we perform, therefore reducing the running time.

Figure 1.19 shows two Vlsi models that represent electronic circuits, thecomponents of which have been dilated by a small radius r. The models there-fore contain a large number of general polygons (representing dilated segmentsor dilated polygons) and circles (representing dilated points or dilated circles).We compute the union of the dilated components, using the aggregated unionoperation provided by the Cgal package. We use a specialized traits classfor handling line segments and circular arc with rational coefficient [337].This traits class uses the fact that the coordinates of all intersection points ithandles are one-root numbers (see Sect. 1.3.1) to evaluate all the predicatesinvolving curves and points using exact rational arithmetic. This propertymakes it highly efficient. The result, which represents the forbidden locationsfor a circular tool-tip of radius r within the model, can be expressed as a set

Page 68: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 57

(a) (b)

Fig. 1.19. Computing the aggregated union of generalized polygons that originatefrom industrial Vlsi models. (a) The union of a set of 2593 generalized polygonsand 645 circles, which comprises 13067 vertices, 13067 edges and 624 faces. It iscomputed in less than 2 seconds on a 3 GHz Pentium IV machine with 2 Gb ofRam. (b) The union of a set of 22406 generalized polygons and 294 circles, whichcomprises 14614 vertices, 14614 edges and 357 faces and takes 20 seconds to compute

of disjoint general polygons that contain holes. Note that in both cases theunion is computed in just a few seconds in an exact manner (see Figure 1.19).

1.7.2 Motion Planning for Discs

The simplest variant of the motion-planning problem for a disc is as follows:We are given a disc-shaped robot with radius r, moving within a boundedpolygonal region cluttered with polygonal obstacles. Given a start and a goalconfiguration in the plane (specified, for example, by the coordinates of thecenter of the disc) determine whether there exists a collision-free motion pathfor the robot between the two end configurations, and if so, compute such apath.

As this variant of the motion-planning problem has two degrees of freedom,the forbidden configuration space can be explicitly constructed by computingthe union of the Minkowski sums of each obstacle with the disc (see, e.g., [40]).Each Minkowski sum is obtained by “inflating” the corresponding polygon byr, resulting in a shape bounded by line segments and circular arcs. The freeconfiguration space can then be decomposed into pseudo-trapezoidal cells, andit is possible to define a roadmap over those cells that captures the connectivityof the free space (see, e.g., [237]). When the start and goal configurations, bothfree, are specified as a query, it suffices to locate the two corresponding cellsand check whether they can be connected in the roadmap.22

Leiserowitz and Hirsch [240] implemented the motion-planning algorithmdescribed above. They used Cgal’s arrangement package (Sect. 1.4.1), com-

22Another approach for solving the motion-planning problem for a disc, presentedby O’Dunlaing and Yap [275], involves the construction of the Voronoi diagram ofthe obstacle edges.

Page 69: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

58 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

bined with the conic arc traits (Sect. 1.4.2) to obtain an exact representationof the free configuration space, to decompose it into pseudo-trapezoids, andto answer point-location queries for the start and goal configurations in anefficient manner.

(a) (b)

Fig. 1.20. Two scenes for motion planning of two disc robots: (a) Annulus, and (b)Maze

Hirsch and Halperin [209] suggest an approach called hybrid motion-planning for coordinating the motion of two disc robots D1, D2 moving inthe plane among polygonal obstacles. The configuration space in this caseis 4-dimensional and it is rather difficult to construct explicitly. Instead, the2-dimensional free space of each robot is constructed independently and de-composed into pseudo-trapezoidal cells using the implementation of [240].Let c(1)1 , . . . , c

(1)m1 and c

(2)1 , . . . , c

(2)m2 be the free cells obtained for the two ro-

bots respectively, then the 4-dimensional free space is clearly a subset of⋃m1

i=1

⋃m2j=2 c

(1)i × c

(2)j . We now examine the cells obtained by this Cartesian

product:

• Each 4-dimensional cell cij = c(1)i × c

(2)j obtained from two 2-dimensional

cells that are sufficiently distant from one another, namely when (c(1)i ⊕D2)∩ (c(2)j ⊕D1) = ∅, is entirely free: If we locate D1 in c(1)i and D2 in c(2)j

each robot does not collide with any obstacles and the two robots cannotcollide with one another.

• The other 4-dimensional cells may contain both free and forbidden config-urations, which need to be distinguished. The computation of the free con-figurations within each cell is approximated using a probabilistic roadmap(see, e.g., [220]), whose construction relies on simple local planners.

Page 70: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 59

The free cells and the local roadmaps are then stitched together to form aglobal roadmap that captures the connectivity of the entire 4-dimensionalfree space.

The hybrid motion planner, which combines exact arrangement computa-tion with probabilistic techniques, has several advantages over the prevalentprobabilistic approaches. First, it uses exact methods wherever possible andthus it is less sensitive to the existence of narrow (and even tight) passages.Secondly, only a small portion of the configuration space is computed usingprobabilistic methods, giving the ability to concentrate more computationalefforts on these parts and to sample them more densely.

Fig. 1.20 shows two motion-planning problems that the hybrid plannersuccessfully solves. In both scenes the two robots have to switch places. In theAnnulus scene one of the robots has to go all the way through the maze, whilethe other should only slightly move; this solution is found deterministically,as there is almost no need to coordinate the two robots. In the Maze scenethe two robots have to go all the way up the maze, switch places at the widepart at the top-left corner of the maze, and then go all the way down. Theprobabilistic methods are mostly used only at the top part of the maze, wherethe motion of the two discs should be carefully coordinated. These examplesshow that the introduction of exact two-dimensional arrangements can greatlyenhance the capabilities of practical motion planners to solve difficult (tight)problems.

1.7.3 Lower Envelopes for Path Verification in Multi-AxisNC-Machining

In a typical multi-axis NC-machining collision-avoidance problem we are givena rotating milling-cutter (also called a tool), whose profile — with respect toits axis of symmetry — is typically piecewise linear or circular, moving inspace among polyhedral solids bounded by triangular facets. These trianglesmodel the workpiece sculptured by the tool as well as other static parts ofthe NC-machine [277]. Our goal is to verify a given motion path for the toolbetween two given configurations,23 so it can move near the workpiece withoutdamaging it or any of the other static parts of the machine.

The path-verification problem was addressed by many researchers (see,e.g., [348, 211]) but most proposed algorithms are based on various approxi-mation schemes or pose certain restrictions on the shape of the tool. However,two recent papers by the same group of authors offer a novel approach for pathverification, based on exact geometric computations. In [213] it is shown howto answer a single tool–model interference query, when the tool remains staticat a given configuration, by computing the lower envelope of algebraic arcs

23In the NC-machining literature, a configuration is often referred to as a contactlocation (CL) point, as the tool tip is typically in contact with the workpiece, andthis is the only type of contact that we allow.

Page 71: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

60 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

of degree 2.24 We assume, without loss of generality, that the tool tip is posi-tioned at the origin with the z-axis being its axis of symmetry. We now wishto locate all the closest model triangles to the z-axis. This is performed, tak-ing advantage of the symmetry of the rotating tool, by radially projecting therelevant model triangles around the z-axis onto the yz-plane, i.e., by applyinga transformation R : R

3 → R2 such that (x, y) = R(x, y, z) = (z,

√x2 + y2).

The image of a triangle under R is the trace that the triangle etches onthe yz-plane (more precisely, on the half-plane y > 0) when rotated aroundthe z-axis. It is possible to show that the trace of the triangle is determinedby the projected curves that result from applying R on the triangle edges —these are finite arcs of canonical hyperbolas — plus (possibly) an additionalline segment in the xy-plane.

It is now possible to compute the lower envelope of the set of hyperbolicarcs and line segments obtained from the triangles. This is carried out usingan extension of Cgal’s arrangement package (see Sect. 1.4.1) that computesthe lower envelope of any set of curves in a robust manner, using the divide-and-conquer approach, combined with the traits class designed for conic arcs(see Sect. 1.4.2). Finally, it is possible to perform a simultaneous traversal overthe lower envelope and the tool’s profile along the x-axis (which correspondsto the original z-axis) and compare the two entities. If at some point theprofile lies above the lower envelope, we conclude that there is a collisionbetween the tool and the model and identify the triangles that are intersectedby the tool; see the example depicted in Fig. 1.21 for an illustration. If wehave n triangles, the total running time is O(2α(n)n log n+m) where m is thenumber of segments in the tool’s profile, and α denotes the inverse Ackermannfunction.

The lower envelope approach is generalized in [335], where it is used to im-plement a continuous path verification scheme for multi-axis NC-machining,that is, to detect collisions between the model and the tool while the lattercontinuously moves along some given path. The tool-path is approximated bya sequence of sub-paths of pure translational motions interleaved with purerotational motions, guaranteeing that the approximation error is bounded bysome prescribed ε. Each sub-path is separately verified.

It is possible to apply the appropriate transformation, with respect toeach sub-path, that ensures that the translation (or rotation) in the sub-pathis taking place on the xz-plane. We now assume that the tool is fixed, suchthat the tip of the tool is always positioned at the origin with the z-axisbeing its axis of symmetry, and the model is moving. The radial projectionof any segment (triangle edge) in the model around the z-axis is thereforecontinuously changing. Thus it creates a surface patch σ of a terrain y =y(x, τ) in the xyτ -space, where τ parametrizes the motion in the corresponding

24Given a set of planar curves, we can regard each x-monotone curve as the graphof a continuous univariate function defined on an interval of the x-axis, such thatthe lower envelope of the set is the point-wise minimum of these functions.

Page 72: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 61

Fig. 1.21. The profile of a complex tool containing 5000 segments (drawn in a thickdark line) as it interferes with the lower envelope of a set of about 800 hyperbolicarcs and line segments obtained by radially projecting the model triangles aroundthe tool’s symmetry axis

sub-path. The key observation made here is that we are only interested in the“lowest” points in this surface patch, the ones closest to the z-axis. To thisend, we compute the silhouette25 of the patch σ, which is a planar curve inthe xy-plane, defined as

silσ(x) = infτy(x, τ) . (1.3)

It is now possible to compute the lower envelope of the silhouette curvesof all relevant triangle edges and to proceed as we did in the discrete case.However, we now have to inflate the profile of the tool by ε before comparingit with the lower envelope, in order to account for the approximation errorcaused by our path decomposition scheme.

In [335] it is shown that the silhouette of a line segment (representing atriangle edge) in case of a pure translational motion is comprised of at most fivehyperbolic arcs, so in this case the continuous collision check is asymptoticallyas fast as the discrete query using the exact-computation mechanisms. Thingsget more complicated for rotational motions, but in this case one can obtain agood approximation of the silhouette curves using rational arcs of a relativelylow degree.

The collision-detection algorithms were implemented in the Irit modelingenvironment [7], while the lower-envelope calculations and the comparison ofthe envelope with the tool profile were carried out with a recent extension tothe Cgal arrangement package [334]. It should be noted that the hyperbolicarcs we encounter are portions of canonical hyperbolas with the x-axis beingtheir major axis. Thus, the intersection points between each pair of hyperbolic

25The silhouette is often referred to as the envelope. To avoid confusion with lowerenvelopes of finite sets of curves, we stick with the term silhouette.

Page 73: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

62 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

arcs can actually be computed by solving only quadratic equations. This factnot only simplifies the code that handles the geometric constructions andpredicates for our planar curves, but also helps in significantly reducing therunning time of the algorithm.

1.7.4 Maximal Axis-Symmetric Polygon Contained in a SimplePolygon

1

P

P2

P1

2

P

Fig. 1.22. The maximal contained polygons in P with respect to two given axes 1and 2, obtained by the intersection of P and the mirrored polygons P1 and P2 ,respectively. Note that the two symmetric polygons S1 = P ∩P1 and S2 = P ∩P2

have different signatures

We are given a simple polygon P . What is the axially-symmetric polygonwith maximal area that is contained in P? Given any axis of symmetry itis possible to compute P, the mirrored version of P with respect to this axis,and obtain the maximal contained polygon S = P ∩ P with respect to thegiven axis. Furthermore, the signature of S is defined as the order of originalpolygon edges and reflected edges as they occur along S’s boundary.

The number of possible axis positions is obviously infinite, yet the numberof distinct signatures of S is restricted combinatorially by the number ofintersections between edges of the original polygon and its mirrored version.In the example shown in Fig. 1.22, S1 and S2 have different signatures.

Barequet and Rogol [43] use this observation to solve the optimizationproblem. They find the polygon of maximum area with a given signature, forall possible signatures, and choose the one with maximal area from this finiteset of polygons.

The problem is transformed into the dual plane, which is subdivided intoa finite number of cells, such that two points that belong to the same cell

Page 74: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 63

correspond to lines 1 and 2 such that S1 and S2 have the same signature. Itturns out that such a subdivision is induced by the arrangement of a set of linesand hyperbolic arcs. Barequet and Rogol used Cgal’s arrangement packageto compute the subdivision and then used heuristic optimization techniquesto find the polygon with maximal area within each cell. For a convex polygon,the complexity of the arrangement is Θ(n3) in the worst case, and the totalrunning time of the algorithm is O(n3(log n+T (n))), where T (n) is the averagerunning time of a single optimization step. Further details can also be foundin [296].

1.7.5 Molecular Surfaces

Fig. 1.23. The hard-sphere model of themolecule crambin (a protein comprised of46 amino acids) with 327 atom spheres. Thefigure was produced using the software de-scribed in [199]

A common approach to represent-ing the three-dimensional geomet-ric structure of a molecule is torepresent each of its atoms by a“hard” ball or sphere. In certainapplications it is also assumed thatthe relative displacement of thespheres is fixed. Based on the ap-plication at hand, there are rec-ommended values for the radius ofeach atom sphere and for the dis-tance between the centers of everypair of spheres. In this model, thespheres are allowed to interpene-trate one another, therefore it issometimes referred to as the “fusedspheres” model (see Fig. 1.23).The envelope surface of the fusedspheres may be regarded as a for-mal molecular surface. It is ev-ident that various properties ofmolecules are disregarded in this simple model. However, in spite of its ap-proximate nature, it has proved useful in many practical applications. Thereare several closely related types of molecular surfaces. One is the so-calledsolvent accessible surface in which each atom sphere is expanded by a fixedradius r to reflect an approximation of a water molecule (of that radius) rollingover the molecule. From a geometric-computing point of view, the two typesof surfaces are the same and they both amount to computing the boundaryof the union of balls. There is yet another commonly used type of surfaces,so-called smooth molecular surfaces,26 proposed by Richards [294] and imple-mented by Connolly [103], which can be derived from the union. For more

26The so-called smooth molecular surfaces are possibly self intersecting; see,e.g., [303].

Page 75: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

64 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

background material and references, see for example the surveys [253, 104].For a discussion of the relation between the three types of surfaces from acomputational point of view see [199].

Let M = B1, . . . , Bn be the balls describing the atoms of a molecule.The goal is therefore to produce a useful representation of the boundary of theset M, so that it can be later used to compute the surface area, to determinewhich atoms contribute to the surface area and how much they contribute, todetect voids, and more. The approach suggested in [199] and robustly imple-mented in [200] proceeds as follows: (1) For each ball in M identify the otherballs of M intersecting it. (2) For each ball compute its (potentially null)contribution to the union boundary. (3) Transform the local information intoglobal structures describing the required connected component of the unionboundary of the balls in M.

We focus here on step 2, which is carried out by computing the spheri-cal arrangement describing the intersection of the boundary sphere Si of aball Bi in M with other balls in M. This is an arrangement of little circles(namely, not necessarily great circles) on Si; see Fig. 1.24(a) for an illustration.Attempts to compute such spherical arrangements using standard machinefloating-point arithmetic have failed. To avoid this problem, it is possible toresort to controlled perturbation (see Sect. 1.6) [200, 152]. Molecular surfacesare suited for controlled perturbation since the model parameters are approxi-mated to start with and the amount of perturbation introduced by the schemeis orders of magnitude smaller compared to variance of these parameters inthe biochemistry literature.

Another noteworthy aspect of the implementation in [200] is that it uses apartial decomposition of the arrangement (Fig. 1.24(c)), which is an effectivecoarsening of the trapezoidal decomposition (Fig. 1.24(b)) as explained inSect. 1.5, or more precisely of its variant on the sphere. The usage of a partialdecomposition over a full trapezoidal decomposition leads to great savings inrunning time.

The underlying algorithmic ideas together with an analysis of the geo-metric properties of the hard-sphere model of molecules appear in [199]. Thedetails of controlled perturbation applied to molecular surfaces are explainedin [200]. Recent improvements leading to significant speedups are reportedin [152]. The scheme has also been recently extended to the case of dynamicmaintenance of molecular surfaces when the molecules undergo conformationalchanges [153, 154].

1.7.6 Additional Applications

The Pursuit-Evasion Problem

Gerkey et al. [180] studied the pursuit-evasion problem, in which one or moresearchers move in a given polygonal environment (say in one floor of a mu-seum) and detect evaders in this environment. They give a complete algorithm

Page 76: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

1 Arrangements 65

(a) (b) (c)

Fig. 1.24. A spherical arrangement (a), its full trapezoidal decomposition (b), andits partial trapezoidal decomposition (c)

for the case of a single robot with a limited field of view of ϕ radians, calleda ϕ-searcher, based on the arrangement of curves that represent the visibilityconstraints induced by the environment and the searchers’ field of view. Eachobstacle edge defines a critical curve that is the locus of all points that “see” itat an angle ϕ, namely a pair of circular arcs. The algorithm for a single robotcan also be generalized for multiple searches (albeit at a loss of completeness).See [179] for further details and on-line examples.

Shortest Path with Clearance

Wein et al. [336] devise a new structure for finding the shortest path for apoint robot moving in the plane among polygonal obstacles between a sourceand a goal configuration, while trying to guarantee that the clearance betweenthe robot and the obstacles is at least c. The main idea is to “inflate” eachobstacle by a radius c (see also Sect. 1.7.2), and compute the visibility diagramof the dilated obstacles. A visibility edge is a bitangent to rounded corners ofthe dilated obstacle. When one encounters a region where it is impossible toguarantee a distance of at least c from the obstacles, which is characterized byan overlap between the dilated obstacles, the Voronoi diagram of the originalobstacles is computed and combined into the visibility diagram, representing apath with maximal clearance in this region. The combined diagram thereforecontains line segments, circular arcs, and parabolic arcs.27 It is constructedusing the conic-arc traits of Cgal’s arrangement package.

27The Voronoi diagram of polygons is a collection of line segments and parabolicarcs — a parabolic arc is the locus of points equidistant from a polygon vertex andan edge of another polygon.

Page 77: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

66 E. Fogel, D. Halperin, L. Kettner, M. Teillaud, R. Wein, N. Wolpert

1.8 Further Reading and Open problems

In this chapter we have concentrated on recent developments in the implemen-tation of arrangements of curves and surfaces and their applications. Manycombinatorial and algorithmic results for arrangements of curves and surfacescan be found in Sharir and Agarwal’s book [312], see also their more recentsurvey [15]. Earlier combinatorial results for arrangements of hyperplanes canbe found in Edelsbrunner’s book [130]. The recent survey by Halperin [196]summarizes combinatorial and algorithmic results as well as applications andimplementation issues. The book by Matousek [249] has several chapters ded-icated to arrangements of hyperplanes and of surfaces, with an emphasis oncombinatorics.

Cgal and Leda are discussed in the survey by Kettner and Naher [222].The Cgal website www.cgal.org has a wealth of information on the libraryincluding large-scale detailed documentation.

To conclude the chapter, we outline several open problems related to theeffective handling of arrangements.

• The chapter has largely focused on the two-dimensional case. A majorcurrent direction is to extend the implementation to three and higherdimensional arrangements.

• The issue of effective decompositions has been mentioned in passing inSect. 1.5. Devising effective decompositions for arrangement of curves andsurfaces is a problem whose good solution could have significant implica-tions on the usefulness of arrangements in practice.

• So far, most of the effort in implementing arrangements has been car-ried out using exact arithmetic. Fixed precision methods for arrangementscould make them more widely used. One of the most challenging problemsis to develop efficient and consistent rounding schemes for arrangements.Such schemes are not only needed to avoid using exact computing. Thecontrary is true. With the advance of exact computing we notice thatquite often the exact numerical output is too big to be useful, while incases involving curves and surfaces finite numerical output simply cannotbe given.

• Most of the existing implementations, with few exceptions, compute entirearrangements. Efficiently extracting substructures (such as envelopes) inarrangements is one of the immediate targets of the practical work onarrangements.

Page 78: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2

Curved Voronoi Diagrams

Jean-Daniel Boissonnat, Camille Wormser, and Mariette Yvinec

Abstract

Voronoi diagrams are fundamental data structures that have been extensivelystudied in Computational Geometry. A Voronoi diagram can be defined as theminimization diagram of a finite set of continuous functions. Usually, each ofthose functions is interpreted as the distance function to an object. The as-sociated Voronoi diagram subdivides the embedding space into regions, eachregion consisting of the points that are closer to a given object than to theothers. We may define many variants of Voronoi diagrams depending on theclass of objects, the distance functions and the embedding space. Affine di-agrams, i.e. diagrams whose cells are convex polytopes, are well understood.Their properties can be deduced from the properties of polytopes and theycan be constructed efficiently. The situation is very different for Voronoi dia-grams with curved regions. Curved Voronoi diagrams arise in various contextswhere the objects are not punctual or the distance is not the Euclidean dis-tance. We survey the main results on curved Voronoi diagrams. We describein some detail two general mechanisms to obtain effective algorithms for someclasses of curved Voronoi diagrams. The first one consists in linearizing thediagram and applies, in particular, to diagrams whose bisectors are algebraichypersurfaces. The second one is a randomized incremental paradigm thatcan construct affine and several planar non-affine diagrams.

We finally introduce the concept of Medial Axis which generalizes theconcept of Voronoi diagram to infinite sets. Interestingly, it is possible toefficiently construct a certified approximation of the medial axis of a boundedset from the Voronoi diagram of a sample of points on the boundary of theset.

Chapter coordinator

Page 79: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

68 J-D. Boissonnat, C. Wormser, M. Yvinec

2.1 Introduction

Voronoi diagrams are fundamental data structures that have been extensivelystudied in Computational Geometry. Given n objects, the associated Voronoidiagram subdivides R

d into regions, each region consisting of the points thatare closer to a given object than to any other object. We may define manyvariants of Voronoi diagrams depending on the class of objects, the distancefunction and the embedding space. Although Voronoi diagrams are most of-ten defined in a metric setting, they can be defined in a more abstract way.In Sect. 2.2, we define them as minimization diagrams of any finite set ofcontinuous functions without referring to a set of objects.

Given a finite set of objects and associated distance functions, we call bi-sector the locus of the points that are at equal distance from two objects.Voronoi diagrams can be classified according to the nature of the bisectors ofthe pairs of objects, called the bisectors of the diagram for short. An impor-tant class of Voronoi diagrams is the class of affine diagrams, whose bisectorsare hyperplanes. Euclidean Voronoi diagrams of finite point sets are affinediagrams. Other examples of affine diagrams are the so-called power (or La-guerre) diagrams, where the objects are no longer points but hyperspheres andthe Euclidean distance is replaced by the power of a point to a hypersphere.In Sect. 2.3, we recall well-known facts about affine diagrams. In particular,we characterize affine diagrams and establish a connection between affine dia-grams and polytopes. As a consequence, we obtain tight combinatorial boundsand efficient algorithms. We also obtain a dual structure that is a triangulationunder a general position assumption.

Non-affine diagrams are by far less well understood. Non-affine diagramsare obtained if one changes the distance function: additively and multiplica-tively weighted distances are typical examples. Such diagrams allow to modelgrowing processes and have important applications in biology, ecology, chem-istry and other fields (see Sect. 2.9). Euclidean Voronoi diagrams of non-punctual objects are also non-affine diagrams. They are of particular interestin robotics, CAD and molecular biology. Even for the simplest diagrams, e.g.Euclidean Voronoi diagrams of lines, triangles or spheres in 3-space, obtainingtight combinatorial bounds, efficient algorithms and effective implementationsare difficult research questions.

A first class of non-affine diagrams to be discussed in Sect. 2.4 is thecase of diagrams whose bisectors are algebraic hypersurfaces. We first con-sider the case of Mobius diagrams whose bisectors are hyperspheres and thecase of anisotropic diagrams whose bisectors are quadratic hypersurfaces (seeSect. 2.4.2). The related case of Apollonius (or Johnson-Mehl) diagrams isalso described in Sect. 2.4.

The key to obtaining effective algorithms for computing those non-affinediagrams is a linearization procedure that reduces the construction of a non-affine diagram to intersecting an affine diagram with a manifold in some higherdimensional space. This mechanism is studied in full generality in Sect. 2.5.

Page 80: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 69

In this section, we introduce abstract diagrams, which are diagrams definedin terms of their bisectors. By imposing suitable conditions on these bisectors,any abstract diagram can be built as the minimization diagram of some dis-tance functions, thus showing that the class of abstract diagrams is the sameas the class of Voronoi diagrams. Furthermore, the linearization technique in-troduced in Sect. 2.5 allows to prove that if the bisectors of a diagram belongto a certain class of bisectors, the distance functions defining the diagram canbe chosen among a precise class of functions. For instance, affine diagrams areidentified with power diagrams, spherical diagrams are identified with Mobiusdiagrams, and quadratic diagrams with anisotropic diagrams.

In Sect. 2.6, we introduce the incremental paradigm for constructing var-ious diagrams. Under some topological conditions to be satisfied by the dia-gram, the incremental construction is efficient. The algorithm can be furtherimproved by using a randomized data structure called the Voronoi hierarchythat allows fast localization of new objects. We then obtain fast randomizedincremental algorithms for affine diagrams in any dimension and several non-affine diagrams in the plane. Going beyond those simple cases is difficult.As mentioned above, tight combinatorial bounds and efficient algorithms arelacking even for simple cases. Moreover, the numerical issues are delicate androbust implementations are still far ahead of the state of the art. This moti-vates the quest for approximate solutions.

In Sect. 2.7, we introduce the concept of Medial Axis of a bounded set Ω,which can be seen as an extension of the notion of Voronoi diagram to infinitesets. Interestingly, it is possible to construct certified approximations of themedial axis of quite general sets efficiently. One approach to be describedconsists in sampling the boundary of Ω and then computing an appropriatesubset of the Voronoi diagram of the sample that approximates the medialaxis. Hence the problem of approximating the medial axis of Ω boils downto sampling the boundary of Ω, a problem that is closely related to meshgeneration (see Chap. 5).

Sect. 2.8 is devoted to the main Cgal software packages for computingVoronoi diagrams. Sect. 2.9 discusses some applications of curved Voronoidiagrams.

This chapter focuses on curved Voronoi diagrams defined in Rd and aims

at providing useful background and effective algorithms. Additional materialcan be found in surveys on Voronoi diagrams [276, 37] and in text books onComputational Geometry [110, 67]. This chapter does not consider Voronoidiagrams defined in more general spaces. Voronoi diagrams can be defined inhyperbolic geometry without much difficulty [60, 67]. In the Poincare model ofhyperbolic geometry, the bisectors are hyperspheres and hyperbolic diagramsof finite point sets are a special case of Mobius diagrams. Computing Voronoidiagrams on Riemannian manifolds is much more involved and very few isknown about such diagrams and their construction [239].

Page 81: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

70 J-D. Boissonnat, C. Wormser, M. Yvinec

Notation: We identify a point x ∈ Rd and the vector of its coordinates.

We note x · y the dot product of x and y, x2 = x · x = ‖x‖2 the squaredEuclidean norm of x, and ‖x − y‖ the Euclidean distance between points xand y.

We call hypersurface a manifold of codimension 1. Examples to be used inthis chapter are hyperplanes, hyperspheres and quadratic hypersurfaces.

2.2 Lower Envelopes and Minimization Diagrams

Let F = f1, . . . , fn be a set of d-variate continuous functions defined overR

d. The lower envelope of F is defined as

F− = min1≤i≤n

fi.

From F and F−, we define a natural partition of Rd called the minimization

diagram of F . For a point x ∈ Rd, we define the index set I(x) of x as the set

of all indices i such that F−(x) = fi(x). An equivalence relation noted ≡ canthen be defined between two points of R

d if they have the same index set:

x ≡ y ⇔ I(x) = I(y).

The equivalence classes Rd/ ≡ are relatively open sets that cover R

d. Theirclosures are called the faces of the minimization diagram of F (see Fig. 2.1).The index set of a face is defined as the largest subset of indices common toall the points of the face. Conversely, the face of index set I is the set of allpoints x such that I ⊂ I(x).

Observe that the faces of this diagram are not necessarily contractiblenor even connected. In particular, a 0-dimensional face may consist of severaldistinct points.

Lower envelopes and minimization diagrams have been well studied. Werecall an important result due to Sharir [311] which provides an almost optimalresult when the fi are supposed to be multivariate polynomials of constantmaximum degree.

Theorem 1 (Sharir). The number of faces of the minimization diagram of aset F of n multivariate polynomials of constant maximum degree η is O(nd+ε)for any ε > 0, where the constant of proportionality depends on ε, d and η.The vertices, edges and 2-faces of the diagram can be computed in randomizedexpected time O(nd+ε) for any ε > 0.

This general result is close to optimal in the worst-case (see Exercise 2).It has been improved in some special cases. For more information and otherrelated results, one should consult the book by Sharir and Agarwal [312].

Voronoi diagrams, in their general setting, are just minimization diagramsof a finite set of continuous functions. This general definition encompasses

Page 82: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 71

1 2 3 4

1 2 1 3 4

Fig. 2.1. The lower envelope of a set of univariate functions. The minimizationdiagram is drawn on the horizontal line with the corresponding indices. The face ofindex 1 consists of two components

the more traditional definition of Voronoi diagrams where the functions aredefined as distance functions to a finite set of objects. Consider a set of objectsO = o1, . . . , on. To each object oi is attached a continuous function δi thatmeasures the distance from a point x of R

d to oi. In the simplest case, Ois a finite set of points and δi(x) is the Euclidean distance from x to oi.The Voronoi diagram of O is defined as the minimization diagram of ∆ =δ1, . . . , δn. The concept of Voronoi diagram has been generalized and variousother diagrams have been defined by considering more general objects andother distance functions. Distance is then not to be taken with too muchrigor. The function δi is only supposed to be continuous.

Theorem 1 provides very general bounds on the complexity of Voronoidiagrams. However, this result calls for improvement. First, in some specialcases, much better bounds can be obtained by other approaches to be dis-cussed later in this chapter. In particular, we will see that the most popularEuclidean Voronoi diagram of points has a much smaller combinatorial com-plexity than the one given in the theorem.

A second issue is the algorithmic complexity. The algorithm mentioned inthe theorem fails to provide a complete description of the diagram since onlyfaces of dimensions up to 2 are computed.

Moreover, the implementation of such an algorithm remains a critical issue.As evidenced in Chap. 1, computing lower envelopes of algebraic functions is aformidable task, even in the simplest cases, e.g. quadratic bi-variate functions.We do not know of any implementation for higher degrees and dimensions.

The main goal of the following sections is to present effective algorithmsfor a variety of Voronoi diagrams for which some additional structure can beexhibited.

Page 83: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

72 J-D. Boissonnat, C. Wormser, M. Yvinec

Exercise 1. Show that the combinatorial complexity of the lower envelope ofn univariate functions whose graphs intersect pairwise in at most two pointsis O(n). Show that the envelope can be computed in optimal time Θ(n log n).

Exercise 2. Show that the convex hull of n ellipsoids of Rd may have Ω(nd−1)

faces. Since the non-bounded faces of the Euclidean Voronoi diagram of nobjects are in 1-1 correspondence with the faces of their convex hull, we geta lower bound on the size of the Voronoi diagram of n ellipsoids of R

d. (Hint:consider n ellipsoids inscribed in a (d − 1)-sphere S and intersecting S alonggreat n (d − 2)-spheres σ1, . . . , σn. The arrangement of the σi has Θ(nd−1)faces.)

2.3 Affine Voronoi Diagrams

We first introduce Euclidean Voronoi diagrams of points and establish a cor-respondence between those diagrams and convex polyhedra in one dimensionhigher. Polarity allows to associate to a Voronoi diagram its dual cell complex,called a Delaunay triangulation.

Almost identical results can be obtained for power (or Laguerre) diagramswhere points are replaced by hyperspheres and the Euclidean distance bythe power of a point to a hypersphere. Power diagrams constitute a naturalextension of Euclidean Voronoi diagrams and are still affine diagrams. In fact,we will see that any affine diagram is the power diagram of a finite set ofhyperspheres.

2.3.1 Euclidean Voronoi Diagrams of Points

Let P = p1, . . . , pn be a set of points of Rd. To each pi, we associate its

Voronoi region V (pi)

V (pi) = x ∈ Rd : ‖x− pi‖ ≤ ‖x− pj‖,∀j ≤ n.

The region V (pi) is the intersection of n− 1 half-spaces. Each such half-spacecontains pi and is bounded by the bisector of pi and some other point of P.Since the bisectors are hyperplanes, V (pi) is a convex polyhedron, possiblyunbounded.

The Euclidean Voronoi diagram of P, noted Vor(P), is the cell complexwhose cells are the Voronoi regions and their faces. Equivalently, the EuclideanVoronoi diagram of P can be defined as the minimization diagram of thedistance functions δi, . . . , δn, where

δi(x) = ‖x− pi‖.

In other words, the Euclidean Voronoi diagram of P is the minimization di-agram of a set of functions whose graphs are vertical1 cones of revolution of

1By vertical, we mean that the axis of revolution is perpendicular to Rd.

Page 84: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 73

Rd+1. Since minimizing ‖x−pi‖ over i is the same as minimizing (x−pi)2, the

Euclidean Voronoi diagram of P can alternatively be defined as the mimiza-tion diagram of the smooth functions (x − pi)2 whose graphs are translatedcopies of a vertical paraboloid of revolution of R

d+1.

Fig. 2.2. The Voronoi diagram of a set of 9 points

Observing further that, for any x, arg mini(x− pi)2 = arg mini(−2pi · x+p2

i ), we obtain that the Euclidean Voronoi diagram of P is the minimizationdiagram of a set of affine functions, namely the functions

di(x) = −2pi · x+ p2i

whose graphs are hyperplanes of Rd+1. Let us call hpi

, i = 1, . . . , n, those hy-perplanes and let h−pi

denote the half-space lying below hpi. The minimization

diagram of the di is obtained by projecting the polyhedron

V(P) = h−p1∩ · · · ∩ h−pn

.

vertically onto Rd. See Fig. 2.3.

We have therefore proved the following theorem:

Theorem 2. The faces of the Euclidean Voronoi diagram Vor(P) of a setof points P are the vertical projections of the faces of the convex polyhedronV(P).

Exercise 3. Consider the maximization diagram obtained by projecting thefaces of h+

p1∩· · ·∩h+

pnvertically. Characterize the points that belong to a face

of this diagram in terms of the distance to the points of P.

Page 85: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

74 J-D. Boissonnat, C. Wormser, M. Yvinec

Fig. 2.3. The polyhedron V(P), with one of its faces projected onto Rd

2.3.2 Delaunay Triangulation

Two cell complexes V and D are said to be dual if there exists an involutivecorrespondence between the faces of V and the faces of D that reverses theinclusions, i.e. for any two faces f and g of V , their dual faces f∗ and g∗

satisfy: f ⊂ g ⇒ g∗ ⊂ f∗. We introduce now a cell complex that is dual tothe Voronoi diagram of a finite set of points P.

We assume for now that the set of points P is in general position, whichmeans that no subset of d+2 points of P lie on a same hypersphere. Let f bea face of dimension k of the Voronoi diagram of P. All points in the interiorof f have the same subset Pf of closest points in P. The face dual to f is theconvex hull of Pf . The Delaunay triangulation of P, noted Del(P), is the cellcomplex consisting of all the dual faces. Because points of P are assumed to bein general position, |Pf | = d− k+ 1, all the faces of Del(P) are simplices andDel(P) is a simplicial complex. The fact that Del(P) is indeed a triangulation,i.e. a simplicial complex embedded in R

d and covering the convex hull of P,will be proved now using a duality between points and hyperplanes in theso-called space of spheres.

Polarity

Let σ be the hypersphere of Rd of equation

σ(x) = (x− c)2 − r2 = x2 − 2c · x+ s = 0,

where c is the center of σ, r its radius and s = σ(0) = c2 − r2.We define the following bijective mapping

Page 86: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 75

Fig. 2.4. The Delaunay triangulation of a point set (in bold) and its dual Voronoidiagram (thin lines)

φ : σ ∈ Rd −→ φ(σ) = (c,−s) ∈ R

d+1

that maps a hypersphere of Rd to a point of R

d+1. We thus consider Rd+1

as the images by φ of the hyperspheres of Rd and call R

d+1 the space ofspheres. We note φ(p) = (p,−p2) the image by φ of a point, considered asa hypersphere of radius 0. Observe that φ(p) is a point of the paraboloid Qof R

d+1 of equation x2 + xd+1 = 0. The points of Rd+1 that lie above Q

are images of imaginary hyperspheres whose squared radii are negative. Thepoints below Q are images of real hyperspheres.

We now introduced a mapping between points and hyperplanes of the spaceof spheres, known as polarity. Polarity associates to the point φ(σ) its polarhyperplane hσ which is the hyperplane of R

d+1 of equation 2c·x+xd+1−s = 0.Observe that the intersection of hσ with Q projects vertically onto σ, and thathσ is the affine hull of the image by φ of the points of σ. If p is a point of R

d,the polar hyperplane hp of φ(p) is the hyperplane tangent to Q at φ(p).

We deduce the remarkable following property: x ∈ σ if and only if φ(x) =(x,−x2) ∈ hσ and σ encloses x if and only if φ(x) ∈ h+

σ , where h+σ (resp. h−σ )

denotes the closed half-space above (resp. below) hσ. Indeed

σ(x) = 0 ⇐⇒ x2 − 2c · x+ s = 0 ⇐⇒ φ(x) ∈ hσ

σ(x) < 0 ⇐⇒ x2 − 2c · x+ s < 0 ⇐⇒ φ(x) ∈ inth+σ ,

where inth+σ denotes the open half-space above hσ.

Polarity is an involution that preserves incidences and reverses inclusions.Indeed, if σ and σ′ are two hyperspheres, we have

Page 87: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

76 J-D. Boissonnat, C. Wormser, M. Yvinec

σ

h(σ)

Q

Fig. 2.5. The polar hyperplane of a sphere.

φ(σ) ∈ hσ′ ⇐⇒ 2c′ · c− s− s′ = 0 ⇐⇒ φ(σ′) ∈ hσ

φ(σ) ∈ h+σ′ ⇐⇒ 2c′ · c− s− s′ > 0 ⇐⇒ φ(σ′) ∈ inth+

σ .

Consider now a set P = p1, . . . , pn of n points and let V(P) denote, asin Sect. 2.3.1, the convex polyhedron defined as the intersection of the n half-spaces below the n polar hyperplanes hp1 , . . . , hpn

. Let f be a face of V(P)and assume that f is contained in k+ 1 hyperplanes among the hpi

. Withoutloss of generality, we denote those hyperplanes hp1 , . . . , hpk+1 . Let σ denote ahypersphere of R

d such that φ(σ) belongs to the relative interior of f . Fromthe above discussion, we have

∀i, 1 ≤ i ≤ k + 1, φ(σ) ∈ hpi⇐⇒ φ(pi) ∈ hσ (2.1)

∀i, k + 1 < i ≤ n, φ(σ) ∈ inth−pi⇐⇒ φ(pi) ∈ inth−σ (2.2)

Given a convex polyhedron D, we say that a hyperplane h supports D ifD ∩ h is non-empty and D is included in one of the two halfspaces, h+ or h−,bounded by h. If h is a supporting hyperplane of D, g = D ∩ h is a face of D.If D ⊂ h−, g is called an upper face of D. The collection of all upper faces ofD constitutes the upper hull of D, which we denote by ∂+D.

Let D(P) = conv(φ(P)) be the convex hull of the set φ(P) and consideragain the face f of V(P) defined above. Write Pf = p1, . . . , pk+1. We deducefrom (2.1) and (2.2) that, for any φ(σ) in the relative interior of f :

Page 88: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 77

1. The hyperplane hσ is a supporting hyperplane of D(P).2. hσ supports D(P) along the face f∗ = hσ ∩ D(P) = conv(φ((Pf )).3. D(P) ⊂ h−σ and f∗ is a face of ∂+D(P).

To each face f of ∂V(P), we associate the face f∗ of ∂+D obtained as de-scribed above. This correspondence between the faces of ∂V(P) and the facesof ∂+D(P) is bijective, preserves incidences and reverses inclusions, hence itis a duality.

The upper hull ∂+D(P) projects vertically onto a cell complex of Rd whose

vertices are the points of P. Because the projection is 1-1, this projected cellcomplex is properly embedded in R

d and, since the projection preserves con-vexity, it covers the convex hull of P. Under the general position assumption,the convex polyhedron D(P) is simplicial and the projected complex is a tri-angulation of P. The duality between the faces of ∂V(P) and the faces of∂+D(P) implies that the projection of ∂+D(P) is the Delaunay triangulationDel(P) of P introduced at the beginning of this section. This concludes theproof that, under the general position assumption, the Delaunay triangulationDel(P) is a triangulation of P. We have the following diagram:

∂V(P) = ∂(h−p1

∩ · · · ∩ h−pn

)←→ ∂+D(P) = ∂+ (conv(φ(P)))

Voronoi Diagram Vor(P) ←→ Delaunay Triangulation Del(P)

It follows from the above correspondence that the combinatorial complex-ity of the Delaunay triangulation of n points is the same as the combinatorialcomplexity of its dual Voronoi diagram. Moreover, the Delaunay triangulationof n points of R

d can be deduced from the dual Voronoi diagram or vice versain time proportional to its size. We also deduce from what precedes that com-puting the Delaunay triangulation of n points of R

d reduces to constructingthe convex hull of n points of R

d+1. The following theorem is then a directconsequence of known results on convex hulls [84].

Theorem 3. The combinatorial complexity of the Voronoi diagram of n pointsof R

d and of their Delaunay triangulation is Θ(n d+1

2 ). Both structures can

be computed in optimal time Θ(n log n+ n d+1

2 ).

The bounds in this theorem are tight. In particular, the Voronoi diagram ofn points of R

3 may be quadratic (see Exercise 4). These bounds are worst-casebounds. Under some assumptions on the point distribution, better bounds canbe obtained. For a set P of n points uniformly distributed in a ball of R

d,the combinatorial complexity of the Voronoi diagram of P is O(n) where theconstant depends on the dimension d [129]. Other results are known for otherpoint distributions [31, 33, 151].

In the discussion above, we have assumed that the points of P were ingeneral position. If this is not the case, some faces of D(P) are not simplices,and the complex ∂+D(P) projects vertically onto a cell complex, dual to the

Page 89: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

78 J-D. Boissonnat, C. Wormser, M. Yvinec

Voronoi diagram and called the Delaunay complex. The faces of the Delau-nay complex are convex and any triangulation obtained by triangulating thosefaces is called a Delaunay triangulation. Since there are several ways of trian-gulating the faces of the Delaunay complex, the Delaunay triangulation of Pis no longer unique.

Exercise 4. Show that if we take points on two non coplanar lines of R3, say

n1 + 1 on one of the lines and n2 + 1 on the other, their Voronoi diagram hasn1n2 vertices.

Exercise 5. Let S be a hypersphere of Rd passing through d + 1 points

p0, . . . , pd. Show that a point pd+1 of Rd lies on S, in the interior of the

ball BS bounded by S or outside BS , depending whether the determinant ofthe (d+ 2) × (d+ 2) matrix

in sphere(p0, . . . , pd+1) =

∣∣∣∣∣∣

1 · · · 1p0 · · · pd+1

p20 · · · p2

d+1

∣∣∣∣∣∣

is 0, negative or positive. This predicate is the only numerical operation thatis required to check if a triangulation is a Delaunay triangulation.

Exercise 6. What are the preimages by φ of the points of Rd+1 that lie on a

line? (Distinguish the cases where the line intersects Q in 0, 1 or 2 points.)

Exercise 7. Project vertically the faces of the lower hull ∂−(D(P). Showthat we obtain a triangulation of the vertices of conv(P) such that each ballcircumscribing a simplex contains all the points of P. Define a dual and makea link with Exercise 3.

Exercise 8 (Empty sphere property). Let s be any k-simplex with ver-tices in P that can be circumscribed by a a hypersphere that does not encloseany point of P. Show that s is a face of a Delaunay triangulation of P. More-over, let P be a set of points and T a triangulation of P with the propertythat any hypersphere circumscribing a d-simplex of T does not enclose anypoint of P. Show that T is a Delaunay triangulation of P.

2.3.3 Power Diagrams

A construction similar to what we did for the Euclidean Voronoi diagrams ofpoints and their dual Delaunay triangulations can be done for the so-calledpower or Laguerre diagrams. Here we take as our finite set of objects a set ofhyperspheres (instead of points) and consider as distance function of a pointx to a hypersphere σ the power of x to σ. As we will see, the class of powerdiagrams is identical to the class of affine diagrams, i.e. the diagrams whosebisectors are hyperplanes.

Page 90: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 79

Definition of Power Diagrams

We call power of a point x to a hypersphere σ of center c and radius r thereal number

σ(x) = (x− c)2 − r2.

Let S = σ1, . . . , σn be a set of hyperspheres of Rd. We denote by ci the

center of σi, ri its radius, σi(x) = (x− ci)2 − r2i the power function to σi, andsi = c2i − r2i the power of the origin. To each σi, we associate the region L(σi)consisting of the points of R

d whose power to σi is not larger than their powerto the other hyperspheres of S:

L(σi) = x ∈ Rd : σi(x) ≤ σj(x), 1 ≤ j ≤ n.

The set of points that have equal power to two hyperspheres σi and σj is ahyperplane, noted πij , called the radical hyperplane of σi and σj . Hyperplaneπij is orthogonal to the line joining the centers of σi and σj . We denote by πi

ij

the half-space bounded by πij consisting of the points whose power to σi issmaller than their power to σj . The region L(σi) is the intersection of all half-spaces πi

ij , j = i. If this intersection is not empty, it is a convex polyhedron,possibly not bounded. We call power regions the non empty regions L(σi).

We define the power diagram of S, noted Pow(S), as the cell complexwhose cells are the power regions and their faces. When all hyperspheres havethe same radius, their power diagram is identical to the Voronoi diagram oftheir centers.

Fig. 2.6. A power diagram

Equivalently, the power diagram of S can be defined as the minimizationdiagram of the functions σi, . . . , σn. Observing that for any x

Page 91: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

80 J-D. Boissonnat, C. Wormser, M. Yvinec

arg miniσi(x) = arg min

i(−2ci · x+ si),

we obtain that the power diagram of S is the minimization diagram of the setof affine functions

di(x) = −2pi · x+ si

whose graphs are hyperplanes of Rd+1. Let us call hσi

, i = 1, . . . , n, those hy-perplanes and let h−σi

denote the half-space lying below hσi. The minimization

diagram of the δi is obtained by projecting vertically the convex polyhedron

L(S) = h−p1∩ · · · ∩ h−pn

.

Theorem 4. The faces of the power diagram Pow(S) of S are the verticalprojections of the faces of the convex polyhedron L(S).

Power diagrams are very similar to Voronoi diagrams: the only difference isthat the hyperplanes supporting the faces of L(S) are not necessarily tangentto the paraboloid Q and that some hyperplane may not contribute a face. Inother words, some hypersphere σi may have an empty power region (see thesmall circle in the upper left corner of Fig. 2.6).

By proceeding as in Sect. 2.3.2, we can define a convex polyhedron R(S)whose upper hull ∂+R(S) is dual to ∂L(S). The vertical projection of thefaces of ∂+R(S) constitute the faces of a cell complex which, in general, is asimplicial complex. We call such a complex the regular triangulation of S anddenote it by Reg(S). We have the following diagram:

∂L(S) = ∂(h−σ1

∩ · · · ∩ h−σn

)←→ ∂+R(S) = ∂+conv(φ(S))

Power diagram Pow(S) ←→ Regular triangulation Reg(S)

We deduce the following theorem that states that computing the powerdiagram of n hyperspheres of R

d (or equivalently its dual regular triangula-tion) has the same asymptotic complexity as computing the Euclidean Voronoidiagram or the Delaunay triangulation of n points of R

d.

Theorem 5. The combinatorial complexity of the power diagram of n hy-perspheres of R

d and of its dual regular triangulation are Θ(n d+1

2 ). Both

structures can be computed in optimal time Θ(n log n+ n d+1

2 ).

Affine Voronoi Diagrams

Euclidean Voronoi diagrams of points and power diagrams of hyperspheresare two examples of minimization diagrams whose bisectors are hyperplanes.It is interesting to classify Voronoi diagrams with respect to their bisectors. Afirst important class of Voronoi diagrams is the class of affine diagrams whichconsists of all Voronoi diagrams whose bisectors are hyperplanes.

Page 92: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 81

In Sect. 2.5, we will prove that any affine Voronoi diagram of Rd is iden-

tical to the power diagram of some set of hyperspheres of Rd (Theorem 13),

therefore showing that the class of affine Voronoi diagrams is identical to theclass of power diagrams.

Exercise 9. Show that the intersection of a power diagram with an affinesubspace is still a power diagram and compute the corresponding spheres.

Exercise 10. Show that any power diagram of Rd is the intersection of a

Voronoi diagram of Rd+1 by a hyperplane.

Exercise 11. Show that the only numerical operation that is required tocheck if a triangulation is the regular triangulation of a set of hyperspheres σi

is the evaluation of the sign of the determinant of the (d+2) × (d+2) matrix

power test(σ0, . . . , σd+1) =

∣∣∣∣∣∣

1 · · · 1c0 · · · cd+1

c20 − r20 · · · c2d+1 − r2d+1

∣∣∣∣∣∣

where ci and ri are respectively the center and the radius of σi.

2.4 Voronoi Diagrams with Algebraic Bisectors

In this section, we introduce a first class of non-affine diagrams, namely theclass of diagrams whose bisectors are algebraic hypersurfaces. We first considerthe case of Mobius diagrams whose bisectors are hyperspheres and the case ofanisotropic diagrams whose bisectors are quadratic hypersurfaces. These dia-grams can be computed through linearization, a technique to be described infull generality in Sect. 2.5. Apollonius (or Johnson-Mehl) diagrams, althoughsemi-algebraic and not algebraic, are also described in this section since theyare closely related to Mobius diagrams and can also be linearized.

2.4.1 Mobius Diagrams

In this section, we introduce a class of non-affine Voronoi diagrams, the so-called Mobius diagrams, introduced by Boissonnat and Karavelas [63].

The class of Mobius diagrams includes affine diagrams. In fact, as we willsee, the class of Mobius diagrams is identical to the class of diagrams whosebisectors are hyperspheres (or hyperplanes).

Definition of Mobius Diagrams

Let ω= ω1, . . . , ωn be a set of so-called Mobius sites of Rd, where ωi is a

triple (pi, λi, µi) formed of a point pi of Rd, and two real numbers λi and µi.

Page 93: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

82 J-D. Boissonnat, C. Wormser, M. Yvinec

For a point x ∈ Rd, the distance δi(x) from x to the Mobius site ωi is defined

asδi(x) = λi(x− pi)2 − µi.

Observe that the graph of δi is a paraboloid of revolution whose axis is vertical.The Mobius region of the Mobius site ωi, i = 1, . . . , n, is

M(ωi) = x ∈ Rd : δi(x) ≤ δj(x), 1 ≤ j ≤ n.

Observe that a Mobius region may be non-contractible and even disconnected.The minimization diagram of the δi is called the Mobius diagram of ω and

noted Mob (ω) (see Fig. 2.4.1).

Fig. 2.7. A Mobius diagram

Mobius diagrams are generalizations of Euclidean Voronoi and power dia-grams. In particular, if all λi are equal to some positive λ, the Mobius diagramcoincides with the power diagram of a set of spheres σi, i = 1, . . . , n, whereσi is the sphere centered at pi of squared radius µi/λ. If all µi are equaland all λi are positive, then the Mobius diagram coincides with the so-calledmultiplicatively weighted Voronoi diagram of the weighted points (pi,

√λi).

The following lemma states that the bisector of two Mobius sites is ahypersphere (possibly degenerated in a point or in a hyperplane). Its proof isstraightforward.

Page 94: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 83

Lemma 1. Let ωi = pi, λi, µi and ωj = pj , λj , µj, ωi = ωj be two Mobiussites. The bisector σij of ωi and ωj is the empty set, a single point, a hyper-sphere or a hyperplane.

Mobius Diagrams and Power Diagrams

We now present an equivalence between Mobius diagrams in Rd and power

diagrams in Rd+1. This result is a direct generalization of a similar result for

multiplicatively weighted diagrams [35]. Given a cell complex C covering asubspace X, we call restriction of C to X the subdivision of X whose facesare the intersections of the faces of C with X. The restriction of C to X isdenoted by CX . Note that the restriction CX is not, in general, a cell complexand that its faces may be non-contractible and even non-connected.

We associate to ω= ω1, . . . , ωn the set of hyperspheresΣ = Σ1, . . . , Σnof R

d+1 of equations

Σi(X) = X2 − 2Ci ·X + si = 0,

where Ci = (λipi,−λi

2 ) and si = λi p2i − µi. We denote by Q the paraboloid

of Rd+1 of equation xd+1 − x2 = 0 .

Theorem 6 (Linearization). The Mobius diagram Mob(ω) of ω is ob-tained by projecting vertically the faces of the restriction PowQ(Σ) of thepower diagram of Σ to Q.

Proof. If x ∈ Rd is closer to ωi than to ωj with respect to δM , we have for all

j = 1, . . . , n,

λi(x− pi)2 − µi ≤ λj(x− pj)2 − µj

⇐⇒ λix2 − 2λipi · x+ λip

2i − µi ≤ λjx

2 − 2λjpj · x+ λjp2j − µj

⇐⇒ (x2 + λi

2 )2 + (x− λipi)2 − λ2i

4 − λ2i p

2i + λip

2i − µi

≤ (x2 + λj

2 )2 + (x− λjpj)2 − λ2j

4 − λ2jp

2j + λjp

2j − µj

⇐⇒ (X − Ci)2 − r2i ≤ (X − Cj)2 − r2j⇐⇒ Σi(X) ≤ Σj(X)

where X = (x, x2) ∈ Q ⊂ Rd+1, Ci = (λipi,−λi

2 ) ∈ Rd+1 and r2i = λ2

i p2i +

λ2i

4 − λip2i + µi. The above inequality shows that x is closer to ωi than to ωj

if and only if X belongs to the power region of Σi in the power diagram ofthe hyperspheres Σj , j = 1, . . . , n. As X belongs to Q and projects verticallyonto x, we have proved the result.

Corollary 1. Let Σ be a finite set of hyperspheres of Rd+1, Pow(Σ) its power

diagram and PowQ(Σ) the restriction of Pow(Σ) to Q. The vertical projectionof PowQ(Σ) is the Mobius diagram Mob(ω) of a set of Mobius sites of R

d.

Easy computations give ω.

Page 95: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

84 J-D. Boissonnat, C. Wormser, M. Yvinec

Combinatorial and Algorithmic Properties

It follows from Theorem 6 that the combinatorial complexity of the Mobiusdiagram of n Mobius sites in R

d is O(n d2 +1). This bound is tight since

Aurenhammer [35] has shown that it is tight for multiplicatively weightedVoronoi diagrams.

We easily deduce from the proof of the Linearization Theorem 6 an algo-rithm for constructing Mobius diagrams. First, we compute the power diagramof the hyperspheres Σi of R

d+1, intersect each of the faces of this diagram withthe paraboloid Q and then project the result on R

d.

Theorem 7. Let ω be a set of n Mobius sites in Rd, d ≥ 2. The Mobius dia-

gram Mob(ω) of ω can be constructed in worst-case optimal time Θ(n log n+n d

2 +1).

Another consequence of the linearization theorem is the fact that anyMobius diagram can be represented as a simplicial complex TQ embedded inR

d+1. TQ is a sub-complex of the regular triangulation T dual to the powerdiagram Pow(Σi) of the hyperspheres Σi. Since T is embedded in R

d+1, TQis a simplicial complex of R

d+1. More precisely, TQ consists of the faces of Tthat are dual to the faces of PowQ(Σ), i.e. the faces of the power diagramthat intersect Q. We will call TQ the dual of PowQ(Σ). Observe that since,in general, no vertex of Pow(Σ) lies on Q, TQ is a d-dimensional simplicialcomplex (embedded in R

d+1).Moreover, if the faces of Pow(Σ) intersect Q transversally and along topo-

logical balls, then, by a result of Edelsbrunner and Shah [138], TQ is homeo-morphic to Q and therefore to R

d. It should be noted that this result statesthat the simplicial complex TQ has the topology of R

d. This result, however,is mainly combinatorial, and does not imply that the embedding of TQ intoR

d+1 as a sub-complex of the regular triangulation T may be projected in a1-1 manner onto R

d.

Spherical Voronoi Diagrams

Lemma 1 states that the bisectors of two Mobius sites is a hypersphere(possibly degenerated in a hyperplane). More generally, let us consider theVoronoi diagrams such that, for any two objects oi and oj of O, the bisectorσij = x ∈ R

d, δi(x) = δj(x) is a hypersphere. Such a diagram is called aspherical Voronoi diagram.

In Sect. 2.5, we will prove that any spherical Voronoi diagram of Rd is a

Mobius diagram (Theorem 15).Mobius transformations are the transformations that preserve hyper-

spheres. An example of a Mobius transformation is the inversion with respectto a hypersphere. If the hypersphere is centered at c and has radius r, theinversion associates to a point x ∈ R

d its image

Page 96: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 85

x′ = c+r(x− c)(x− c)2

.

Moreover, it is known that any Mobius transformation is the composition ofup to four inversions [108]. An immediate consequence of Theorem 15 is thatthe set of Mobius diagrams in R

d is stable under Mobius transformations,hence their name.

Mobius Diagrams on Spheres

Given a set ω of n Mobius sites of Rd+1, the restriction of their Mobius

diagram to a hypersphere Sd is called a Mobius diagram on S

d. It can be shownthat such a diagram is also the restriction of a power diagram of hyperspheresof R

d+1 to Sd (Exercise 14) .

We define spherical diagrams on Sd as the diagrams on S

d whose bisectorsare hyperspheres of S

d and that satisfy two properties detailed in Sect. 2.5.1and 2.5.2. See Exercise 16 for more details on these conditions. This exerciseproves that the restriction of a Mobius diagram, i.e. a Mobius diagram on S

d,is a spherical diagram.

Let us now prove the converse: any spherical diagram on Sd is a Mobius

diagram on Sd. Let h be a hyperplane of R

d+1. The stereographic projectionthat maps S

d to h maps any spherical diagram D on Sd to some spherical

diagram D′ on h. Theorem 15 implies that this D′ is in fact a Mobius diagram.Exercise 12 shows that D, which is the image of D′ by the inverse of thestereographic projection, is the restriction of some power diagram of R

d+1 toS

d. Exercise 14 then proves that it is indeed a Mobius diagram.

Exercise 12. Show that the linearization theorem and its corollary still holdif one replaces the paraboloid Q by any hypersphere of R

d+1 and the verticalprojection by the corresponding stereographic projection.

Exercise 13. Show that the intersection of a Mobius diagram in Rd with a

k-flat or a k-sphere σ is a Mobius diagram in σ.

Exercise 14. Show that the restriction of a Mobius diagram of n Mobiussites to a hypersphere Σ ⊂ R

d (i.e. a Mobius diagram on Σ) is identical tothe restriction of a power diagram of n hyperspheres of R

d with Σ, and viceversa.

Exercise 15. The predicates needed for constructing a Mobius diagram arethose needed to construct Pow(Σ) and those that decide whether a face ofPow(Σ) intersects Q or not. Write the corresponding algebraic expressions.

Exercise 16. Explain how the two conditions A.C. and L.C.C. presented inSect. 2.5.1 and 2.5.2 are to be adapted to the case of spherical diagrams on asphere (Hint: consider the L.C.C. condition as a pencil condition, and define

Page 97: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

86 J-D. Boissonnat, C. Wormser, M. Yvinec

a pencil of circles on a sphere as the intersection of a pencil of hyperplaneswith this sphere).

Note that the restriction of a Voronoi diagram (affine or not) to Sd always

satisfies this adapted version of A.C. and prove that the restriction of an affineVoronoi diagram to S

d satisfies L.C.C. so that Exercise 14 allows to concludethat the restriction of a Mobius diagram to S

d, i.e. Mobius diagram on Sd, is

a spherical diagram.

2.4.2 Anisotropic Diagrams

The definition of anisotropic Voronoi diagrams presented in this section is aslight extension of the definition proposed by Labelle and Shewchuk [234].The objects are points and the distance to a point is a quadratic form withan additive weight.

Anisotropic diagrams appear to be a natural generalization of Mobiusdiagrams and reduce to Mobius diagrams when the matrices are taken to bea scalar times the identity matrix. As will be shown, the class of anisotropicdiagrams is identical to the class of diagrams whose bisectors are quadratichypersurfaces.

Definition and linearization

Consider a finite set of anisotropic sites S = s1, . . . , sn. Each site si, i =1, . . . , n, is a triple (pi,Mi, πi) formed by a point pi ∈ R

d, a d × d symmetricpositive definite matrix Mi and a scalar weight πi. The distance δi(x) of pointx ∈ R

d to site si is defined by

δi(x) = (x− pi)tMi(x− pi) − πi.

The anisotropic Voronoi region of site s is then defined as

AV (si) = x ∈ Rd, δi(x) ≤ δj(x),∀1 ≤ j ≤ n,

The anisotropic Voronoi diagram is the minimization diagram of the functionsδi(x).

Let D = d(d+3)2 . To each point x = (x1, . . . , xd) ∈ R

d , we associate thetwo points

φ(x) = (xrxi, 1 ≤ r ≤ s ≤ d) ∈ Rd(d+1)

2

φ(x) = (x, φ(x)) ∈ RD,

and we denote by Q the d-manifold of RD defined as

Q =φ(x), x ∈ R

d.

To each site si = (pi,Mi, πi) ∈ S, we associate:

Page 98: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 87

1. the point mi ∈ Rd(d+1)

2 defined as

mu,ui = −1

2Mu,u

i , for 1 ≤ u ≤ d;

mu,vi = −Mu,v

i , for 1 ≤ u < v ≤ d,

2. the point pi = (Mipi, mi),3. the sphere σi of center pi and radius

√‖pi‖2 − pt

iMipi − πi.

Let Π be the projection y = (y, y) ∈ RD → y ∈ R

d and let Σ be the setof spheres σi, i = 1, . . . , n.

Theorem 8 (Linearization). The anisotropic diagram of S is the image byΠ of the restriction of the power diagram Pow(Σ) to the d-manifold Q.

Proof. We have

δi(x) = (x− pi)tM(x− pi) − πi

= xtMix− 2ptiMix+ pt

iMipi − πi

= −2ptiφ(x) + pt

iMipi − πi

This implies that δi(x) < δj(x) if and only if

(φ(x) − pi)2 − (p2i − pt

iMipi − πi) < (φ(x) − pj)2 − (p2j − pt

jMjpj − πj)

Hence, x is closer to si than to sj if and only if the power of φ(x) to σi issmaller than its power to σj . Equivalently, a point φ(x) ∈ Q belongs to thepower cell of σ(si) if and only if its projection x = Π(φ(x)) belongs to theanisotropic Voronoi region AV (si).

We easily deduce the following theorem.

Theorem 9. The Voronoi diagram of n anisotropic sites of Rd can be com-

puted in time O(nD+12 ) where D = d(d+3)

2 .

This result is to be compared to Theorem 1 which provides a better com-binatorial bound. We let as an open question to fill the gap between thosetwo bounds.

Quadratic Voronoi Diagrams

The bisectors of anisotropic diagrams, as defined in the previous section, arequadratic hypersurfaces. A minimization diagram whose bisectors are hyper-quadrics is called a quadratic Voronoi diagram. In Sect. 2.5, we will prove thatany quadratic Voronoi diagram is the anisotropic Voronoi diagram of a set ofanisotropic sites (Theorem 16).

Page 99: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

88 J-D. Boissonnat, C. Wormser, M. Yvinec

2.4.3 Apollonius Diagrams

In this section, we present diagrams that are closely related to Mobius dia-grams: namely, the Euclidean Voronoi diagrams of hyperspheres, also calledApollonius or Johnson-Mehl diagrams. Contrary to Mobius and anisotropicdiagrams, the bisectors of Apollonius diagrams are not algebraic hypersur-faces since the bisector between two hyperspheres is only one sheet of a hy-perboloid. As a consequence, Apollonius diagrams cannot be linearized inthe same way as Mobius and anisotropic diagrams. Nevertheless, another lin-earization scheme can be applied, leading to interesting combinatorial andalgorithmic results.

Definition of Apollonius Diagrams

Let us consider a finite set of weighted points S = σ0, σ1, . . . , σn whereσi = (pi, ri), pi ∈ R

d and ri ∈ R. We define the distance from x to σi as

δi(x) = ‖x− pi‖ − ri.

This distance is also called the additively weighted distance from x to theweighted point σi. The minimization diagram of the distance functions δi, i =1, . . . , n, is called the additively weighted Voronoi diagram, or the Apolloniusdiagram of S. We denote it by Apo(S) (see Fig. 2.8).

The Apollonius region A(σi) of σi is defined as

A(σi) = x ∈ Rd, δi(x) ≤ δj(x).

It is easy to see that A(σi) is either empty or star-shaped from pi. The bound-ary of A(σi) may have a complicated structure. In fact, as we will see, theboundary of A(σi) has the same combinatorial structure as a Mobius diagramin R

d−1.Since the diagram is not changed if we replace all ri by ri+r for any r ∈ R,

we can assume, without loss of generality, that all ri are non negative. Theweighted points are then hyperspheres and the distance to a weighted pointis the signed Euclidean distance to the corresponding hypersphere, countedpositively outside the hypersphere and negatively inside the hypersphere.

Observe that, in the plane, a vertex of an Apollonius diagram is the centerof a circle tangent to three circles of S (assuming all ri non negative). Com-puting such a point is known as Apollonius’ Tenth Problem, hence the nameof the diagram.

Apollonius Diagrams and Power Diagrams

The graph of the distance function δi(x) is the half-cone of revolution Ci ofequation

Ci : xd+1 = ‖x− pi‖ − ri, xd+1 + ri ≥ 0

Page 100: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 89

Fig. 2.8. The Apollonius diagram of a set of circles. Compare with the powerdiagram of the same set of circles in Fig. 2.6

The bisector of two hyperspheres of S is thus the projection of the intersectionof two half-cones. This intersection is a quadratic hypersurface (in fact, a sheetof a two sheet hyperboloid) contained in a hyperplane. Indeed, we have

C1 : (xd+1 + r1)2 = (x− p1)2, xd+1 + r1 > 0,C2 : (xd+1 + r2)2 = (x− p2)2, xd+1 + r2 > 0.

The intersection of the two half-cones is contained in the hyperplane h12 whoseequation is obtained by subtracting the two sides of the above equations:

h12 : −2(p1 − p2) · x− 2(r1 − r2)xd+1 + p21 − r21 − p2

2 + r22 = 0.

This shows that there exists a correspondence between the diagram Apo(S)and the power diagram of the hyperspheres Σi in R

d+1 (i = 1, . . . , n), whereΣi is centered at (pi, ri) and has radius ri

√2. More precisely, A(σi) is the

projection of the intersection of the half-cone Ci with the power region L(Σi).Indeed, x is in A(σi) if and only if the projection Xi of x onto Ci has a smallerxd+1-coordinate than the projections of x onto the other half-cones Cj , j = i.In other words, the coordinates (x, xd+1) of Xi must obey

(xd+1 + ri)2 = (x− pi)2

(xd+1 + rj)2 ≤ (x− pj)2 for any j = i,

and by subtracting both sides, it follows that Σi(Xi) ≤ Σj(Xi) for all j.

Page 101: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

90 J-D. Boissonnat, C. Wormser, M. Yvinec

Algorithm 2 Construction of Apollonius diagrams

Input: a set of hyperspheres S

1. Compute Σi, for i = 1, . . . , n;2. Compute the power diagram of the Σi’s;3. For all i = 1, . . . , n, project vertically the intersection of the power region L(Σi)

with the half-cone Ci.

Output: the Apollonius diagram of S.

The Apollonius diagram of S can be computed using the following algo-rithm:

The power diagram of the Σi can be computed in time O(n d2 +1 log n).

The intersection involved in Step 3 can be computed in time proportional tothe number of faces of the power diagram of the Σi’s, which is O(n d

2 +1).We have thus proved the following theorem due to Aurenhammer [35]:

Theorem 10. The Apollonius diagram of a set of n hyperspheres in Rd has

complexity O(n d2 +1) and can be computed in time O(n d

2 +1 log n).

This result is optimal in odd dimensions, since the bounds above coincidewith the corresponding bounds for the Voronoi diagram of points under theEuclidean distance. It is not optimal in dimension 2 (see Exercise 20). We alsoconjecture that it is not optimal in any even dimension.

Computing a Single Apollonius Region

We now establish a correspondence, due to Boissonnat and Karavelas [63],between a single Apollonius region and a Mobius diagram on a hypersphere.

To give the intuition behind the result, we consider first the case whereone of the hyperspheres, say σ0, is a hyperplane, i.e. a hypersphere of infiniteradius. We take for σ0 the hyperplane xd = 0, and assume that all the otherhyperspheres lie the half-space xd > 0. The distance δ0(x) from a point x ∈ R

d

to σ0 is defined as the Euclidean distance.The points that are at equal distance from σ0 and σi, i > 0, belong to

a paraboloid of revolution with vertical axis. Consider such a paraboloid asthe graph of a (d − 1)-variate function ϑi defined over R

d−1. If follows fromSect. 2.4.1 that the minimization diagram of the ϑi, i = 1, . . . , n, is a Mobiusdiagram (see Fig. 2.9).

Easy computations give the associated weighted points. Write pi = (p′i, p′′i ),

p′i ∈ Rd−1, p′′i ∈ R, i > 0 and let ω= ω1, . . . , ωn be the set of Mobius sites

of Rd where ωi = p′i, λi, µi, and

λi =1

ri + p′′i, µi = ri − p′′i , i > 0.

Page 102: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 91

Fig. 2.9. A cell in an Apollonius diagram of hyperspheres projects vertically ontoa Mobius diagram in σ0

We let as an exercise to verify that the vertical projection of the boundary ofthe Apollonius region A(σ0) of σ0 onto σ0 is the Mobius diagram of ω.

We have assumed that one of the hyperspheres was a hyperplane. We nowconsider the case of hyperspheres of finite radii. The crucial observation isthat the radial projection of A(σ0) ∩ A(σi) ∩ A(σj) onto σ0, if not empty, isa hypersphere. It follows that the radial projection of the boundary of A(σ0)onto σ0 is a Mobius diagram on σ0.

Such a Mobius diagram on σ0 can be computed by constructing the re-striction of the power diagram of n hyperspheres of R

d with the hypersphereσ0 (see Exercise 14).

Theorem 11. Let S be a set of n hyperspheres in Rd. The worst-case com-

plexity of a single Apollonius region in the diagram of n hyperspheres of Rd is

Θ(n d+12 ). Such a region can be computed in optimal time Θ(n log n+n d+1

2 ).

Exercise 17. Show that the cell of hypersphere σi in the Apollonius diagramof S is empty if and only if σi is inside another hypersphere σj .

Exercise 18. The predicates required to construct an Apollonius region aremultivariate polynomials of degree at most 8 and 16 when d = 2 and 3 re-spectively. Detail these predicates [62].

Exercise 19. Show that the convex hull of a finite number of hyperspherescan be deduced from the restriction of a power diagram to a unit hypersphere[62].

Exercise 20. Prove that the combinatorial complexity of the Apollonius di-agram of n circles in the plane has linear size.

Page 103: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

92 J-D. Boissonnat, C. Wormser, M. Yvinec

Exercise 21 (Open problem). Give a tight bound on the combinatorialcomplexity of the Apollonius diagram of n hyperspheres of R

d when d is even.

2.5 Linearization

In this section, we introduce abstract diagrams, which are diagrams definedin terms of their bisectors. We impose suitable conditions on these bisectorsso that any abstract diagram can be built as the minimization diagram ofsome distance functions, thus showing that the class of abstract diagrams isthe same as the class of Voronoi diagrams.

Given a class of bisectors, such as affine or spherical bisectors, we thenconsider the inverse problem of determining a small class of distance functionsthat allows to build any diagram having such bisectors. We use a linearizationtechnique to study this question.

2.5.1 Abstract Diagrams

Voronoi diagrams have been defined (see Sect. 2.2) as the minimization dia-gram of a finite set of continuous functions δ1, . . . , δn. It is convenient tointerpret each δi as the distance function to an abstract object oi, i = 1, . . . , n.We define the bisector of two objects oi and oj of O = o1, . . . , on as

bij = x ∈ Rd, δi(x) = δj(x).

The bisector bij subdivides Rd into two open regions: one, biij , consisting of the

points of Rd that are closer to oi than to oj , and the other one, bjij , consisting

of the points of Rd that are closer to oj than to oi. We can then define the

Voronoi region of oi as the intersection of the regions biij for all j = i. Theunion of the closures of these Voronoi regions covers R

d. Furthermore, if weassume that the bisectors are (d − 1)-manifolds, the Voronoi regions thenhave disjoint interiors and we can define the closed region associated to biij asbiij = biij ∪ bij .

In a way similar to Klein [230], we now define diagrams in terms of bisectorsinstead of distance functions. Let B = bij , i = j be a set of closed (d − 1)-manifolds without boundary. We always assume in the following that bij = bji

for all i = j. We assume further that, for all distinct i, j, k, the followingincidence condition (I.C.) holds:

bij ∩ bjk = bjk ∩ bki (I.C.)

This incidence condition is obviously needed for B to be the set of bisectorsof some distance functions.

By Jordan’s theorem, each element of B subdivides Rd into at least two

connected components and crossing a bisector bij implies moving into another

Page 104: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 93

connected component of Rd \ bij . Hence, once a connected component of R

d \bij is declared to belong to i, the assignments of all the other connectedcomponents of R

d \ bij to i or j are determined.Given a set of bisectors B = bij , i = j, an assignment on B associates

to each connected component of Rd \ bij a label i or j so that two adjacent

connected components have different labels.Once an assignment on B is defined, the elements of B are called oriented

bisectors.Given B, let us now consider such an assignment and study whether it

may derive from some distance functions. In other words, we want to knowwhether there exists a set ∆ = δ1, . . . , δn of distance functions such that

1. the set of bisectors of ∆ is B;2. for all i = j, a connected component C of R

d \ bij is labeled by i if andonly if

∀x ∈ C, δi(x) ≤ δj(x).

We define the region of object oi as ∩j =ibiij .

A necessary condition for the considered assignment to derive from somedistance functions is that the regions of any subdiagram cover R

d. We callthis condition the assignment condition (A.C.):

∀I ⊂ 1, . . . , n,∪i∈I ∩j∈I\i biij = R

d (A.C.)

Given a set of bisectors B = bij , i = j and an assignment satisfying I.C.and A.C., the abstract diagram of O is the subdivision of R

d consisting ofthe regions of the objects of O and of their faces. The name abstract Voronoidiagram was coined by Klein [230], referring to similar objects in the plane.

For any set of distance functions δi, we can define the corresponding set oforiented bisectors. Obviously, I.C. and A.C. are satisfied and the abstract dia-gram defined by this set is exactly the minimization diagram for the distancefunctions δi. Hence any Voronoi diagram allows us to define a correspondingabstract diagram. Let us now prove the converse: any abstract diagram canbe constructed as a Voronoi diagram.

Specifically, we prove that I.C. and A.C. are sufficient conditions for anabstract diagram to be the minimization diagram of some distance functions,thus proving the equivalence between abstract diagrams and Voronoi dia-grams. We need the following technical lemmas.

Lemma 2. The assignment condition implies that for any distinct i, j, k, wehave

bjij ∩ bkjk ∩ biki = ∅.

Proof. A.C. implies that Rd = ∪1≤i≤n ∩j =i b

iij ⊂ biij ∪ bjjk ∪ bkki. Hence, biij ∪

bjjk ∪ bkki = Rd. Taking the complementary sets, we obtain bjij ∩ bkjk ∩ biki = ∅.

Page 105: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

94 J-D. Boissonnat, C. Wormser, M. Yvinec

Lemma 3. For any distinct i, j, k, we have

bij ∩ bkjk ⊂ bkik and bij ∩ bkjk ⊂ bkik (2.3)

bij ∩ bjjk ⊂ biik and bij ∩ bjjk ⊂ biik (2.4)

Proof. Let us first prove that bij ∩ bkjk ⊂ bkik:Consider x ∈ bij ∩ bkjk. Assume, for a contradiction, that x ∈ bkik. It follows

that x ∈ biik, but x cannot lie on bik, because this would imply that x ∈ bik∩bij ,which does not intersect bkjk. Hence, x ∈ biik and therefore, x ∈ bij ∩ bkjk ∩ biik.We can then find x′ in the neighborhood of x such that x′ ∈ bjij ∩ bkjk ∩ biki,contradicting Lemma 2.

Let us now prove that bij ∩ bkjk ⊂ bkik. We have proved the inclusion forbij ∩ bkjk. It remains to prove that bij ∩ bjk ⊂ bkik which is trivially true, by I.C.

The two other inclusions are proved in a similar way.

We can now prove a lemma stating a transitivity relation:

Lemma 4. For any distinct i, j, k, we have biij ∩ bjjk ⊂ biik.

Proof. Let x ∈ biij ∩ bjjk. Assume, for a contradiction, that x ∈ biik. If x ∈ bkik,we have biij ∩ bjjk ∩ bkik = ∅, contradicting Lemma 2. Therefore, x has to belongto bik, which implies that x ∈ biij ∩ bik ⊂ bkkj by Lemma 3. This contradictsx ∈ bjjk. We deduce that x ∈ biik, as needed.

The following lemma states that at most two assignments are likely toderive from some Voronoi diagram.

Lemma 5. For a given set B satisfying I.C. and assuming that we neverhave bij ⊂ bik for j = k, there are at most two ways of labeling the connectedcomponents of each R

d \ bij as biij and bjij such that A.C. is verified.

Proof. First assume that the sides b112 and b212 have been assigned. Considernow the labeling of the sides of b1i, for some i > 2: let x be a point in thenon empty set b2i \ b12. First assume that x ∈ b112. Lemma 3 then implies thatx ∈ b11i. Conversely, if x ∈ b212, x ∈ bi1i. In both cases, the assignment of thesides of b1i is determined.

All other assignments are determined in a similar way. One can easily seethat reversing the sides of b12 reverses all the assignments. Thus, we have atmost two possible global assignments.

Theorem 12. Given a set of bisectors B = bij , 1 ≤ i = j ≤ n that satisfiesthe incidence condition (I.C.) and an assignment that satisfies the assignmentcondition (A.C.), there exists a set of distance functions δi, 1 ≤ i ≤ ndefining the same bisectors and assignments.

Page 106: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 95

Proof. Let δ1 be any real continuous function over Rd. Let j > 1 and assume

the following induction property: for all i < j, the functions δi have alreadybeen constructed so that

∀i, i′ < j, δi(x) ≤ δi′(x) ⇔ x ∈ biii′ .

Let us build δj . We consider the arrangement of all bisectors bij , for i < j:for each I ⊂ J = 1, . . . , j − 1, we define VI = (∩i∈I b

iij) ∩ (∩k∈J\I b

jjk). The

set VI is a non necessarily connected region of the arrangement where weneed δj > δi if i ∈ I and δj < δi if i ∈ J \ I. This leads us to the followingconstruction.

The interior of VI is intVI = (∩i∈Ibiij) ∩ (∩k∈J\Ib

jjk). Lemma 4 and the

induction hypothesis imply that

∀i ∈ I,∀k ∈ J \ I,∀x ∈ intVI , δi(x) < δk(x).

In particular, if we define νI = mink∈J\I δk and µI = maxi∈I δi on VI , wehave µI < νI on intVI .

Let us now consider some point x on the boundary of VI . We distinguishtwo cases. We can first assume that x ∈ bij for some i ∈ I. Then, by Lemma 3,for any i′ ∈ I \ i, x ∈ bij ∩ bi

i′j ⊂ bi′

i′i so that δi′(x) ≤ δi(x). It follows thatµI(x) = δi(x).

Consider now the case when x ∈ ∂VI ∩ bjk with k ∈ J \ I, we haveνI(x) = δk(x). Finally, if x ∈ ∂VI ∩ bij ∩ bjk with i ∈ I and k ∈ J \ I, we haveµI(x) = δi(x) and νI(x) = δk(x). By the induction hypothesis, δi(x) = δk(x),which implies that µI(x) = νI(x).

It follows that we can define a continuous function ρ on ∂VI in the followingway:

ρI(x) = µI(x) if ∃i ∈ I, x ∈ bij

= νI(x) if ∃k ∈ J \ I, x ∈ bjk

Furthermore, on ∂VI ∩ bij = ∂VI\i ∩ bij , if i ∈ I, we have

ρI(x) = µI(x) = νI\i(x) = ρI\i(x). (2.5)

The definitions of the ρI are therefore consistent, and we can now use thesefunctions to prove that the following definition of δj satisfies the inductionproperty.

Finally, we require δj to be any continuous function verifying

µI < δj < νI

on each intVI . By continuity of δj , we deduce from 2.5 that if x ∈ ∂VI ∩ bjk =∂VI\i ∩ bij with k ∈ J \ I, we have ρI(x) = µI(x) = νI\i(x) = ρI\i(x) =δj(x).

It follows that on each VI , for all i < j, δi(x) < δj(x) iff x ∈ biij andδi(x) = δj(x) iff x ∈ bij . The induction follows.

Page 107: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

96 J-D. Boissonnat, C. Wormser, M. Yvinec

One can prove that, in the proof of Lemma 5, the assignment we buildsatisfies the consequences of A.C. stated in Lemmas 2, 3 and 4. The proof ofTheorem 12 does not need A.C. but only the consequences of A.C. stated inthose three lemmas. It follows that any of the two possible assignments deter-mined in the proof of Lemma 5 allows the construction of distance functions,as in Theorem 12, which implies that A.C. is indeed verified. We thus obtaina stronger version of Lemma 5.

Lemma 6. For a given set B satisfying I.C. and assuming that we neverhave bij ⊂ bik for j = k, there are exactly two ways of labeling the connectedcomponents of each R

d \ bij as biij and bjij such that A.C. is verified.

Theorem 12 proves the equivalence between Voronoi diagrams and abstractdiagrams by constructing a suitable set of distance functions. In the case ofaffine bisectors, the following result of Aurenhammer [35] allows us to choosethe distance functions in a smaller class than the class of continuous functions.

Theorem 13. Any abstract diagram of Rd with affine bisectors is identical to

the power diagram of some set of spheres of Rd.

Proof. In this proof, we first assume that the affine bisectors are in generalposition, i.e. four of them cannot have a common subspace of co-dimension 2:the general result easily follows by passing to the limit.

Let B = bij , 1 ≤ i = j ≤ n be such a set. We identify Rd with the

hyperplane xd+1 = 0 of Rd+1. Assume that we can find a set of hyperplanes

Hi, 1 ≤ i ≤ n of Rd+1 such that the intersection Hi ∩Hj projects onto bij .

Sect. 2.3 then shows that the power diagram of the set of spheres σi, 1 ≤ i ≤n obtained by projecting the intersection of paraboloid Q with each Hi ontoR

d admits B as its set of bisectors2 (see Fig. 2.5).Let us now construct such a set of hyperplanes, before considering the

question of the assignment condition.Let H1 and H2 be two non-vertical hyperplanes of R

d such that H1 ∩ H2

projects vertically onto b12. We now define the Hi for i > 2: let ∆1i be the

maximal subspace of H1 that projects onto b1i and let ∆2i be the maximal

subspace of H2 that projects onto b2i. Both ∆1i and ∆2

i have dimension d− 1.I.C. implies that b12 ∩ b2i ∩ bi1 has co-dimension 2 in R

d. Thus ∆1i ∩ ∆2

i , itspreimage on H1 (or H2) by the vertical projection, has the same dimensiond−2. This proves that ∆1

i and ∆2i span a hyperplane Hi of R

d+1. The fact thatHi = H1 and Hi = H2 easily follows from the general position assumption.

We still have to prove that Hi ∩ Hj projects onto bij for i = j > 2. I.C.ensures that the projection of Hi ∩Hj contains the projection of Hi ∩Hj ∩H1

and the projection of Hi∩Hj ∩H2, which are known to be bij ∩b1i and bij ∩b2i,by construction. The general position assumption implies that there is only

2We may translate the hyperplanes vertically in order to have a non-empty in-tersection, or we may consider imaginary spheres with negative squared radii.

Page 108: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 97

one hyperplane of Rd, namely bij , containing both bij ∩ b1i and bij ∩ b2i. This

is the projection of Hi ∩Hj .As we have seen, building this set of hyperplanes of R

d+1 amounts tobuilding a family of spheres whose power diagram admits B as its set ofbisectors. At the beginning of the construction, while choosing H1 and H2, wemay obtain any of the two possible labellings of the sides of b12. Since thereis no other degree of freedom, this choice determines all the assignments.Lemma 5 shows that there are at most two possible assignments satisfyingA.C., which proves we can build a set of spheres satisfying any of the possibleassignments. The result follows.

Exercise 22. Consider the diagram obtained from the Euclidean Voronoi dia-gram of n points by taking the other assignment. Characterize a region in thisdiagram in terms of distances to the points and make a link with Exercise 3.

2.5.2 Inverse Problem

We now assume that each bisector is defined as the zero-set of some real-valuedfunction over R

d, called a bisector-function in the following. Let us denote byB the set of bisector-functions. By convention, for any bisector-function βij ,we assume that

biij = x ∈ Rd : βij(x) < 0 and bjij = x ∈ R

d : βij(x) > 0.

We now define an algebraic equivalent of the incidence relation in terms ofpencil of functions: we say that B satisfies the linear combination condition(L.C.C.) if, for any distinct i, j, k, βki belongs to the pencil defined by βij andβjk, i.e.

∃(λ, µ) ∈ R2 βki = λβij + µβjk (L.C.C.)

Note that L.C.C. implies I.C. and that in the case of affine bisectors L.C.C. isequivalent to I.C. Furthermore, it should be noted that, in the case of Voronoidiagrams, the bisector-functions defined as βij = δi − δj obviously satisfyL.C.C.

We now prove that we can view diagrams satisfying L.C.C. as diagramsthat can be linearized.

Definition 1. A diagram D of n objects in some space E is said to be apullback of a diagram D′ of m objects in space F by a function φ : E → F ifm = n and if, for any distinct i, j, we have

biij = φ−1(ciij)

where biij denotes the set of points closer to i than to j in D and ciij denotesthe set of points closer to i than to j in D′.

Page 109: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

98 J-D. Boissonnat, C. Wormser, M. Yvinec

Theorem 14. Let B = βij be a set of real-valued bisector-functions overR

d satisfying L.C.C. and A.C. Let V be any vector space of real functionsover R

d that contains B and constant functions.If N is the dimension of V , the diagram defined by B is the pullback by

some continuous function of an affine diagram in dimension N − 1.

More explicitly, there exist a set C = ψij · X + cij of oriented affinehyperplanes of R

N−1 satisfying I.C. and A.C. and a continuous function φ:R

d → RN−1 such that for all i = j,

biij = x ∈ Rd, βij(x) ≤ 0 = φ−1y ∈ R

N−1, ψij(x) ≤ cij.

Proof. Let (γ0, . . . , γN−1) be a basis of V such that γ0 is the constant functionequal to 1.

Consider the evaluation application,

φ : x ∈ Rd → (γ1(x), . . . , γN−1(x)) ∈ R

N−1.

If point x belongs to some biij , we have βij(x) < 0. Furthermore, there existsreal coefficients λ0

ij , . . . , λN−1ij such that βij =

∑N−1k=0 λk

ijγk. The image φ(x)of x thus belongs to the affine half-space Bi

ij of RN−1 of equation

N−1∑

k=1

λkijXk < −λ0

ij .

In this way, we can define all the affine half-spaces Biij of R

N−1 for i = j:Bij is an oriented affine hyperplane with normal vector (λ1

ij , . . . , λN−1ij ) and

constant term λ0ij . Plainly, L.C.C. on the βij translates into I.C. on the Bij ,

and we have

biij = x ∈ Rd, βij(x) ≤ 0 = φ−1y ∈ R

N−1, Bij(x) ≤ −λnij (2.6)

Finally, let us prove that A.C. is also satisfied. Lemma 6 states that theBij have exactly two inverse assignments satisfying A.C. Furthermore, Equa-tion 2.6 implies that any of these two assignments defines an assignment forthe bij that also satisfies A.C. It follows that if the current assignment didnot satisfy A.C., there would be more than two assignments for the bij thatsatisfy A.C. This proves that A.C. is also satisfied by the Bij and concludesthe proof.

We can now use Theorem 13 and specialize Theorem 14 to the specificcase of diagrams whose bisectors are hyperspheres or hyperquadrics, or, moregenerally, to the case of diagrams whose class of bisectors spans a finite di-mensional vector space.

Page 110: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 99

Theorem 15. Any abstract diagram of Rd with spherical bisectors such that

the corresponding degree 2 polynomials satisfy L.C.C. is a Mobius diagram.

Proof. Since the spherical bisectors satisfy L.C.C., we can apply Theorem 14and Theorem 13. Function φ of Theorem 14 is simply the lifting mappingx → (x, x2), and we know from Theorem 13 that our diagram can be obtainedas a power diagram pulled-back by φ. That is to say δi(x) = Σi(φ(x)), whereΣi is a hypersphere in R

d+1.Another way to state this transformation is to consider the diagram with

spherical bisectors in Rd as the projection by φ−1 of the restriction of the

power diagram of the hyperspheres Σi to the paraboloid φ(Rd) ⊂ Rd+1 of

equation xd+1 = x2.Assume that the center of Σj is (uj

1, . . . , ujd+1), and that the squared radius

of Σj is wj . We denote by Σj the power to Σj . Distance δj can be expressedin terms of these parameters:

δj(x) = Σj(φ(x)) =∑

1≤i≤d

(xi − uji )

2 + ((∑

1≤i≤d

x2i ) − uj

d+1)2 − wj .

Subtracting from each δj the same term (∑

1≤i≤D x2i )

2 leads to a new set ofdistance functions that define the same minimization diagram as the δj . Inthis way, we obtain new distance functions which are exactly the ones definingMobius diagrams.

This proves that any diagram whose bisectors are hyperspheres can beconstructed as a Mobius diagram.

The proof of the following theorem is similar to the previous one:

Theorem 16. Any abstract diagram of Rd with quadratic bisectors such

that the corresponding degree 2 polynomials satisfy L.C.C. is an anisotropicVoronoi diagram.

Exercise 23. Explain why, in Theorem 15, it is important to specify whichbisector-functions satisfy L.C.C. instead of mentioning only the bisectors(Hint: Theorem 12 implies that there always exist some bisector-functionswith the same zero-sets that satisfy L.C.C.)

2.6 Incremental Voronoi Algorithms

Incremental constructions consist in adding the objects one by one in theVoronoi diagram, updating the diagram at each insertion. Incremental algo-rithms are well known and highly popular for constructing Euclidean Voronoidiagrams of points and power diagrams of spheres in any dimension. Becausethe whole diagram can have to be modified at each insertion, incremental al-gorithms have a poor worst-case complexity. However most of the insertions

Page 111: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

100 J-D. Boissonnat, C. Wormser, M. Yvinec

result only in local modifications and the worst-case complexity does not re-flect the actual complexity of the algorithm in most practical situations. Toprovide more realistic results, incremental constructions are analyzed in therandomized framework. This framework makes no assumption on the inputobject set but analyzes the expected complexity of the algorithm assumingthat the objects are inserted in random order, each ordering sequence beingequally likely. The following theorem, whose proof can be found in many text-books (see e.g. [67]) recalls that state-of-the-art incremental constructions ofVoronoi diagrams of points and power diagrams have an optimal randomizedcomplexity.

Theorem 17. The Euclidean Voronoi diagram of n points in Rd and the

power diagram of n spheres in Rd can be constructed by an incremental algo-

rithm in randomized time O(n log n+ n d+1

2 ).

Owing to the linearization techniques of Sect. 2.5, this theorem yields com-plexity bounds for the construction of linearizable diagrams such as Mobius,anisotropic or Apollonius diagrams. Incremental constructions also apply tothe construction of Voronoi diagrams for which no linearization scheme ex-ists. This is for instance the case for the 2-dimensional Euclidean Voronoidiagrams of line segments. The efficiency of the incremental approach merelyrelies on the fact that the cells of the diagram are simply connected and thatthe 1-skeleton of the diagram, (i. e. the union of its edges and vertices) is aconnected set. Unfortunately, these two conditions are seldom met except forplanar Euclidean diagrams. Let us take Apollonius diagrams as an illustra-tion. Each cell of an Apollonius diagram is star shaped with respect to thecenter of the associated sphere and is thus simply connected. In the planarcase, Apollonius bisectors are unbounded hyperbolic arcs and the 1-skeletoncan easily be made connected by adding a curve at infinity. The added curvecan be seen as the bisector separating any input object from an added ficti-tious object. In 3-dimensional space, the skeleton of Apollonius diagrams isnot connected: indeed, we know from Sect. 2.4.3 that the faces of a single cellare in 1-1 correspondence with the faces of a 2-dimensional Mobius diagramand therefore may include isolated loops.

As a consequence, the rest of this section focuses on planar Euclideandiagrams. After some definitions, the section recalls the incremental construc-tion of Voronoi diagrams, outlines the topological conditions under which thisapproach is efficient and gives some examples. The efficiency of incrementalalgorithms also greatly relies on the availability of some point location datastructure to answer nearest neighbor queries. A general data structure, theVoronoi hierarchy, is described at the end of the section. The last subsectionlists the main predicates involved in the incremental construction of Voronoidiagrams.

Page 112: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 101

2.6.1 Planar Euclidean diagrams

To be able to handle planar objects that possibly intersect, the distance func-tions that we consider in this section are signed Euclidean distance functions,i.e. the distance δi(x) from a point x to an object oi is:

δi(x) =

miny∈oi

‖y − x‖, if x ∈ o

− miny∈oci

‖y − x‖, if x ∈ o

where oi is the closure of oi and oci the closure of the complement of oi. Note

that the distance used to define Apollonius diagrams matches this definition.Then, given a finite set O of planar objects and oi ∈ O, we define the Voronoiregion of oi as the locus of points closer to oi than to any other object in O

V (oi) = x ∈ R2 : δi(x) ≤ δj(x), ∀oj ∈ O.

Voronoi edges are defined as the locus of points equidistant to two objects Oand closer to these two objects than to any other object in O, and Voronoivertices are the locus of points equidistant to three or more objects and closerto these objects than to any other object in O. The Voronoi diagram Vor(O)is the planar subdivision induced by the Voronoi regions, edges and vertices.

The incremental construction described below relies on the three followingtopological properties of the diagram that are assumed to be met for any setof input objects:

1. The diagram is assumed to be a nice diagram, i. e. a diagram in whichedges and vertices are respectively 0 and 1-dimensional sets.

2. The cells are assumed to be simply connected.3. The 1-skeleton of the diagram is connected.

Owing to Euler formula, Properties 1 and 2 imply that the Voronoi diagramof n objects is a planar map of complexity O(n). Property 3 is generally notgranted for any input set. Think for example of a set of points on a line.However, in the planar case, this condition can be easily enforced as soon asProperties 1 and 2 are met. Indeed, if the cells are simply connected, there isno bounded bisector and the 1-skeleton can be connected by adding a curveat infinity. The added curve can be seen as the bisector separating any inputobject from an added fictitious object. The resulting diagram is called thecompactified version of the diagram.

2.6.2 Incremental Construction

We assume that the Voronoi diagram of any input set we consider is a nicediagram with simply connected cells and a connected 1-skeleton. Each step ofthe incremental construction takes as input the Voronoi diagram Vor(Oi−1) ofa current set of objects Oi−1 and an object oi ∈ Oi−1, and aims to construct

Page 113: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

102 J-D. Boissonnat, C. Wormser, M. Yvinec

the Voronoi diagram Vor(Oi) of the set Oi = Oi−1 ∪ oi. In the following,we note V (o,Oi−1) the region of an object o in the diagram Vor(Oi−1) andV (o,Oi) the region of o in Vor(Oi).

We note Skel(Oi−1) the 1-skeleton of Vor(Oi−1). Let x be a point ofSkel(Oi−1). We note N (x,Oi−1) the nearest neighbors of x in Oi−1, i.e. thesubset of objects of Oi−1 that are closest to x. The point x is said to be inconflict with oi if x is closer to oi than to N (x,Oi−1). Hence, the part of theskeleton that conflicts with oi, called the conflict skeleton for short, is exactlythe intersection of the skeleton Skel(Oi−1) with the region of oi in Vor(Oi).See Fig. 2.11.

The conflict skeleton is a subgraph of Skel(Oi−1) and the endpoints of thissubgraph are the vertices of the region V (oi,Oi). If V (oi,Oi) is not empty,the conflict skeleton is not empty either. Indeed, an empty conflict skeletonwould imply that V (oi,Oi) is included in a single region V (o,Oi−1) of thediagram Vor(Oi−1) and the region V (o,Oi) would not be simply connected.Furthermore, the following lemma, due to Klein et al. [231], proves that theconflict skeleton is a connected subgraph of Skel(Oi−1).

Lemma 7. If, for any input set, the Voronoi diagram is a nice diagram withsimply connected regions and a connected 1-skeleton, the conflict skeleton ofan additional object is connected.

Proof. We use the above notation and assume, for a contradiction, that theconflict skeleton of oi, which is Skel(Oi−1) ∩ V (oi,Oi), consists of severaldisjoint connected components Sk1, Sk2, . . . , Sk. Each connected componentSkj has to intersect the boundary of the new region V (oi,Oi), otherwiseSkel(Oi−1) would not be connected, a contradiction. Then, if ≥ 2, thereexists a path C in V (oi,Oi) connecting two points x and y on the boundaryof V (oi,Oi) and separating Sk1 and Sk2, see Fig. 2.10. The path C doesnot intersect Skel(Oi−1) and is therefore included in the region V (o,Oi−1) ofsome object o of Oi−1. Since, points arbitrarily close to x and y but outsideV (oi,Oi) belong to V (o,Oi−1), x and y can be joined by a simple path Din V (o,Oi) ⊂ V (o,Oi−1). The simple closed curve C ∪ D is contained inV (o,Oi−1) and encloses Sk1 or Sk2, which contradicts the fact that Skel(Oi−1)is connected.

Once the conflict skeleton is known, the Voronoi diagram Vor(Oi−1) canbe updated, leading to Vor(Oi). This is done by Procedure 3.

Procedure 4 describes a step of the incremental construction.In the sequel, the incremental construction is analyzed in the randomized

setting. It is assumed that each object has constant complexity, which impliesthat each operation involving a constant number of objects is performed inconstant time. Because the conflict skeleton is connected, Substep 2 can beperformed by traversing the graph Skel(Oi−1) in time proportional to thenumber of edges involved in the conflict skeleton. These edges will be eitherdeleted or shortened in the new diagram. Substep 3 takes time proportional

Page 114: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 103

x

y

D

C

Sk1 Sk2

Fig. 2.10. For the proof of Lemma 7

Fig. 2.11. Incremental construction of the Voronoi diagram of disjoint line segments

Page 115: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

104 J-D. Boissonnat, C. Wormser, M. Yvinec

Procedure 3 Updating the Voronoi diagram

Input: Vor(Oi−1), Skel(Oi−1)

1. Create a new vertex at each endpoint of the conflict skeleton;2. Remove vertices, edges and portions of edges that belong to Skel(Oi−1) ∩

V (oi,Oi);3. Connect the new vertices s as to form the boundary of the new region.

Output: Vor(Oi)

Procedure 4 A step of the incremental algorithm

Input: Vor(Oi−1) and a new object oi

1. Find a first point x of Skel(Oi−1) in conflict with oi;2. Compute the whole conflict skeleton;3. Update Vor(Oi−1) into Vor(Oi) using Procedure 3;4. Update the location data structure.

Output: Vor(Oi)

to the number of edges involved in the conflict skeleton plus the number ofedges of V (oi,Oi). The latter are the new edges. Hence Substeps 2 and 3 taketime proportional to the number of changes in the 1-skeleton. Because eachedge in the skeleton is defined by four objects and because the complexity ofthe Voronoi diagram of n objects is O(n), a standard probabilistic analysis(see e.g. [67]) shows that the expected number of changes at each step ofthe incremental algorithm is O(1). The overall randomized complexity of thealgorithm is O(n).

The costs of Substeps 1 and 4 depend of course on the type of the inputobjects and of the location data structure. In Sect. 2.6.3, we described alocation data structure, called the Voronoi hierarchy, that can be used inthe case of disjoint convex objects. The Voronoi hierarchy allows to detect afirst conflict in randomized time O(log2 n). At each step, the data structure isupdated in time O(m log2 n) wherem is the number of changes in the diagram.Because the expected number of changes at each step is O(1), the expectedcost for updating the hierarchy is O(log2 n). This yields the following theorem.

Theorem 18. The incremental construction of the planar Euclidean Voronoidiagram of n disjoint convex objects with constant complexity takes O(n log2 n)expected time.

Note that the incremental construction described here is on-line, meaningthat the algorithm does not need to know the whole set of objects right fromthe beginning. If the whole set of objects is known in advance, localizationcan be made easy and the maintenance of a location data structure is nolonger required [20]. The idea consists in picking one witness point inside eachobject and in building first the Voronoi diagram of witness points. In a second

Page 116: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 105

phase, each witness point is replaced in turn by the corresponding object.When replacing a witness point by the corresponding object, any point onthe boundary of the cell of the witness point belongs to the conflict skeleton.The algorithm is no longer on-line but its randomized complexity is reducedto O(n log n).

Voronoi Diagrams of Line Segments

The above incremental construction applies to the Voronoi diagram of disjointline segments. Indeed, in the case of disjoint line segments, the bisector curvesare unbounded simple curves, each composed of at most seven line segmentsand parabolic arcs (see e.g. [67, Chap. 19]). Hence, Voronoi vertices and edgesare respectively 0 and 1-dimensional sets. Furthermore, each region in thediagram is weakly star shaped with respect to its generating segment, meaningthat the segment joining any point in the region to its closest point on theassociated segment is included in the region. It follows that Voronoi regionsare simply connected.

If the segments are allowed to share endpoints, the Voronoi diagram ex-hibits 2-dimensional Voronoi edges, hence violating the definition of niceVoronoi diagrams. A way to circumvent this problem consists in consideringthat each segment is composed of three distinct objects: the two endpointsand the open segment. If the two endpoints of a segment are inserted in thediagram prior to the open segment, the incremental construction encountersno 2-dimensional bisecting region and the algorithm presented above can beused.

Voronoi Diagrams of Curved Segments

Voronoi diagrams of disjoint curved segments have been studied by Alt,Cheong and Vigneron [20]. Alt, Cheong and Vigneron introduce the notionof harmless curved segments defined as follows. A curved segment is said tobe convex when the region bounded by the curved segment and the line seg-ment joining its endpoints is convex. A spiral arc is a convex curved segmentwith monotonously increasing curvature. A harmless curved segment is eithera line segment or a circular arc or a spiral arc. It can be shown that, if theinput curved segments are split into harmless sub-segments and if each opencurved sub-segment and its two endpoints are considered as three distinctsites, the Voronoi diagram is a nice diagram with simply connected regions.The incremental construction paradigm described above therefore applies.

Voronoi Diagrams of Convex Objects

The case of disjoint smooth convex objects is quite similar to the case ofdisjoint segments. The bisecting curves between two such objects is a 1-dimensional curve. Furthermore, each Voronoi region is weakly star shaped

Page 117: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

106 J-D. Boissonnat, C. Wormser, M. Yvinec

with respect to the medial axis of its object, hence simply connected. There-fore, the Voronoi diagram can be built using the incremental algorithm. Notethat the Voronoi diagram of disjoint smooth convex objects could also be ob-tained by applying the incremental algorithm to the curved segments formingthe boundaries of the objects. However, this approach requires the subdivi-sion of the boundary of each object into harmless parts and yields a Voronoidiagram which is a refinement of the diagram of the input objects.

If we still assume the objects to be smooth and convex but allow themto intersect, things become more difficult. Karavelas and Yvinec [217] haveshown that the Voronoi regions remain simply connected if and only if theobjects of O are pseudo-disks, meaning that the boundaries of any two objectsof O intersect in at most two points. The above incremental algorithm can beadapted to work in this case. However, since the distance is a signed distance,some sites may have an empty region, which makes the algorithm slightlymore complicated. Note that this may only happen when some of the objectsare included in the union of others. The algorithm has to check that the newobject has a non-empty region and must handle the case where the insertionof a new object causes the region of some other object to vanish. Karavelasand Yvinec [217] showed that there is no use to maintain a location datastructure in this case because each insertion takes linear time anyway.

The algorithm can be generalized to the case of convex objects with piece-wise smooth pseudo-circular boundaries. As in the case of segments, the mainproblem comes from the fact that sharp corners on the boundaries of objectsyield 2-dimensional bisectors. This problem can be handled as in the case ofline segments and planar curves by considering each corner as an object onits own.

2.6.3 The Voronoi Hierarchy

The first step when inserting a new object oi consists in finding one pointof the current skeleton Skel(Oi−1) in conflict with oi. If the objects do notintersect, this is done by searching the object o of Oi−1 nearest to a pointx of oi. Indeed, if the objects do not intersect, x belongs to the region of oin Vor(Oi−1) and to the region of oi in Vor(Oi). Therefore oi has to be aneighbor of o in Vor(Oi) and some point on the boundary of V (o,Oi−1) is inconflict with oi. If the objects intersect, things are slightly more complicatedbut nearest object queries can still be used to find out whether the new objectis hidden and, if not, to find a first conflict (see [217]).

Let us describe now how to find the object o of a set O closest to a querypoint x. A simple strategy is to perform a walk in the Voronoi diagram Vor(O).The walk starts at any region of the diagram. When the walk visits the regionV (o) of an object o it considers in turn each of the neighboring regions. Ifone of the neighbors of o, say o′, is closer to x than o, the walk steps tothe region V (o′). If none of the neighbors of o in Vor(O) is closer to x thano, then o is the object closest to x and the walk ends. Because the distance

Page 118: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 107

between x and the objects of the visited regions is decreasing, the walk cannotloop and is bound to end. However, the walk may visit all the regions beforeending. The Voronoi hierarchy [217] is a randomized data structure that makesthis strategy more efficient. The Voronoi hierarchy can be considered as a 2-dimensional version of the skip lists introduced by Pugh [291] and generalizesthe Delaunay hierarchy described in [115].

For a set of objects O, the Voronoi hierarchy HV(O) is a sequence ofVoronoi diagrams Vor(Θ), = 0, . . . , L, built for subsets of O forming ahierarchy, i.e, O = Θ0 ⊇ Θ1 ⊇ · · · ⊇ ΘL.

The hierarchy HV(O) is built together with the Voronoi diagram Vor(O)according to the following rules:

1. Every object of O is inserted in Vor(Θ0) = Vor(O);2. An object o that has been inserted in Vor(Θ), is inserted in Vor(Θ+1)

with probability β.

To answer nearest object queries, the Voronoi hierarchy works as follows.Let us call θ the object of Θ closest to the query point x. First, a simplewalk is performed in the top-most diagram to find θL. Then, at each level = L − 1, . . . , 0, a simple walk is performed in Vor(Θ) from θ+1 to θ (seeFig. 2.12).

x

Fig. 2.12. Locating x using the Voronoi hierarchy

It is easy to show that the expected size of HV(O) is O( n1−β ), and that the

expected number of levels in HV(O) is O(log1/β n). Moreover, the followinglemma proves that the expected number of steps performed by the walk ateach level is constant.

Page 119: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

108 J-D. Boissonnat, C. Wormser, M. Yvinec

Lemma 8. Let x be a point in the plane. Let θ (resp. θ+1) be the objectclosest to x in Θ (resp. Θ+1). Then the expected number of Voronoi regionsvisited during the walk in Vor(Θ) from θ+1 to θ is O(1/β).

Proof. The objects whose regions are visited at level are closer to x thanθ+1. Consequently, if, among the objects of Θ, θ+1 is the k-th closest objectto x, the walk in Vor(Θ) performs at most k steps.

Let us show that θ+1 is the k-th closest object to x in Θ with probabilityβ(1−β)k−1. Such a case occurs if and only if the two following conditions aresatisfied:

1. Object θ+1 has been inserted in Θ+1

2. None of the k − 1 objects of Θ that are closer to x than θ+1 has beeninserted in Θ+1.

The first condition occurs with probability β and the second with probability(1 − β)k−1.

Let nl be the number of objects in Θ. The expected number N of objectsthat are visited at level is bounded as follows:

N ≤n∑

k=1

k(1 − β)k−1β < β

∞∑

k=1

k(1 − β)k−1 =1β,

We still have to bound the time spent in each of the visited regions. Let obe the site of a visited region in Vor(Θ). It is not efficient to consider in turneach neighbor o′ of o in Vor(Θ) and compare the distances from x to o and o′.Indeed, since the complexity of each region in the Voronoi diagram Vor(Θ)may be Ω(n), this would imply that the time spent at each level of thehierarchy is O(n), yielding a total of O(n) time per insertion. To avoid thiscost, a balanced binary tree is attached to each Voronoi region in the Voronoihierarchy. The tree attached to the region V(o) of o in Vor(Θ) includes, foreach Voronoi vertex v of V(oi), the ray [vo, v) issued from the projection ofv onto the boundary ∂o of o that passes through v. The rays are sorted bydirections. Similarly, we associate to the query point x the ray [xo, x) wherexo is the projection of x onto ∂o. When V(o) is visited, ray [xo, x) is locatedin the associated tree and we get the two rays [vo, v) and [wo, w) immediatelybefore and after [xo, x). Let o′ be the neighbor of o whose cell is incident to vand w. We compare the distances from x to o and o′. If o′ is closer to x than o,the walk steps to o′. Otherwise, we know that o is the object of Θ closest to xand the walk halts (see [217] for details). Hence, visiting the Voronoi region ofoi in Vor(Θ) reduces to querying the tree and comparing the distances fromx to o and o′ which takes O(log n) time.

Lemma 9. Using a hierarchy of Voronoi diagrams, nearest neighbor queriescan be answered in expected time O(log2 n).

It has been shown [217] that the expected cost of updating the Voronoihierarchy when inserting an object is O(log2 n).

Page 120: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 109

Exercise 24. Show that the planar Euclidean Voronoi diagram of n pointscan be computed on line in O(n log n) time(Hint: in the case of points, using a Delaunay hierarchy instead of the Voronoihierarchy, nearest neighbor queries can be answered in O(log n). Upon inser-tion the structure is updated in randomized time O(log n). See [115])

Exercise 25. Show that the planar Euclidean Voronoi diagram of n line seg-ments can be computed on line in O(n log n) time. See e.g.[67] for a solution.

Exercise 26. Show that the planar euclidean diagram of n disjoint convexobjects can be computed using predicates that involve only four objects.

Exercise 27. Provide a detailed description of the predicates of the incremen-tal Voronoi diagram construction and a way to implement them efficiently forvarious types of simple objects (e.g., line segments, circles). See [219, 218].

Exercise 28 (2D Abstract Voronoi diagrams). Klein et al. [231] havedefined abstract Voronoi diagrams in dimension 2 using bisecting curves. Eachbisecting curve bij is assumed to be an infinite curve separating the plane intwo regions affected respectively to oi and oj and the Voronoi regions aredefined as in Sect. 2.5.1. Klein et al. assume that the affectation fulfills theassignment condition but they do not assume the incidence condition. Insteadthey assume that each pair of bisecting curves intersect in only a finite numberof connected components and that the interior of Voronoi regions are path-connected. Show that, under Klein et al. assumptions, the transitivity relationof Lemma 4 is satisfied and that Voronoi regions are simply connected.

Exercise 29. Let O be a set of planar convex objects that may intersect andmay not form a pseudo-circle set. Show that the Voronoi diagram Vor(O) mayexhibit disconnected Voronoi regions. Propose an extension of the incrementalalgorithm to build the restriction Vor(O)∩U c of the Voronoi diagram Vor(O)to the region U c which is the complement of the union of the objects. Thesolution can be found in [217].

Exercise 30. Describes the geometric predicates required to implement theincremental algorithm. Provide algebraic expressions for the case of circlesand line segments [219, 146].

2.7 Medial Axis

In this section, we introduce the concept of Medial Axis of a bounded set Ω,which can be seen as an extension of the notion of Voronoi diagram to infinitesets. Interestingly, it is possible to construct certified approximations of themedial axis of quite general sets efficiently. One approach to be describedconsists in sampling the boundary of Ω and then computing an appropriatesubset of the Voronoi diagram of the sample which approximates the medial

Page 121: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

110 J-D. Boissonnat, C. Wormser, M. Yvinec

axis. Hence the problem of approximating the medial axis of Ω boils downto sampling the boundary of Ω, a problem that is closely related to meshgeneration (see Chap. 5). Other informations on the medial axis can be foundin Chap. 6.

2.7.1 Medial Axis and Lower Envelope

The medial axis of an open set Ω, denoted by M(Ω), is defined as the theset of points of Ω that have more than one nearest neighbor on the boundaryof Ω. Nearest refers in this section to the Euclidean distance although theresults may be extended to other distance functions. A medial sphere σ is asphere centered at a point c of the medial axis and passing through the nearestneighbors of c on ∂Ω. Those points where σ is tangent (in the sense that σdoes not enclose any point of ∂Ω) to ∂Ω are called the contact points of σ.

The concept of medial axis can be considered as an extension of the notionof Voronoi diagram to infinite sets. Let o be a point of the boundary of Ω andδo be the distance function to o defined over Ω

∀x ∈ Ω : δo(x) = ‖x− o‖.

The lower envelope of the infinite set of functions δo is defined as

∆− = info∈∂Ω

δo.

Following what we did for Voronoi diagrams (Sect. 2.2), we define, for anypoint x ∈ Ω, its index set I(x) as the set of all o such that ∆−(x) = δo(x).The set of points x such that |I(x)| > 1 constitutes the medial axis of Ω.

Computing the medial axis is difficult in general. If Ω is defined as a semi-algebraic set, i.e. a finite collection of algebraic equations and inequalities,M(Ω) is also a semi-algebraic set that can therefore be computed using tech-niques from real algebraic geometry [32, 44]. This general approach, however,leads to algorithms of very high complexity. Theorem 1 can also be used but,still, working out the algebraic issues is a formidable task. Effective imple-mentations are currently limited to simple objects. If Ω is a planar domainbounded by line segments and circular arcs, one can apply the results ofSect. 2.6. Further results can be found in [159].

An alternative and more practical approach consists in departing from therequirement to compute the medial axis exactly. In Sect. 2.7.2, we describea method that approximates the medial axis of an object by first samplingits boundary, and then computing and pruning the Voronoi diagram of thesample.

2.7.2 Approximation of the Medial Axis

Approximating the medial axis of a set is a non trivial issue since sets that areclose for the Hausdorff distance may have very different medial axes. This is

Page 122: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 111

illustrated in Fig. 2.13. Let S be a closed curve, Ω = R2 \S and P be a finite

set of points approximating S. As can be seen on the figure, the skeletonof the Voronoi diagram of P is far from the medial axis of Ω since thereare many long branches with no counterpart in M(Ω). These branches areVoronoi edges whose dual Delaunay edges are small (their lengths tend to 0when the sampling density increases). In other words, the medial axis is notcontinuous under the Hausdorff distance. Notice however that if we removethe long branches in Fig. 2.13, we obtain a good approximation of the medialaxis of S. This observation will be made precise in Lemma 10 below. It leads toan approximate algorithm that first sample S and extract from the EuclideanVoronoi diagram of the sample a sub-complex that approximates the medialaxis of S.

Fig. 2.13. On the left side, a closed curve S and the medial axis of Ω = R2 \S. On

the right side, a dense sample E of points and its Voronoi diagram. The medial axisof R

2 \ E (which is the 1-skeleton of Vor(E)) is very different from the medial axisof Ω

Given an open set Ω and a point x on the medial axis of Ω, we defineD(x) as the diameter of the smallest closed ball containing the contact pointsof the medial sphere centered at x. We define the λ-medial axis of Ω, denotedMλ(Ω) as the subset of the medial axis of Ω consisting of points x such thatD(x) ≥ λ.

Let Ω and Ω′ be two open sets and let S and S′ denote their boundaries.We assume that S and S′ are compact and that their Hausdorff distancedH(S, S′) is at most ε: any point of S is at distance at most ε from a pointof S′ and vice versa. Notice that we do not specify S nor S′ to be finite orinfinite point sets. For convenience, we rename medial axis of S (resp. S′) andwrite M(S) (resp. M(S′)) the medial axis of R

3 \ S. Similarly, we renamemedial axis of S′ and write M(S′)) the medial axis of R

3 \ S.The following lemma says that the λ-medial axis of S is close to the medial

axis of S′, provided that λ is sufficiently large. It should be emphasized thatclose here refers to the one-sided Hausdorff distance: the medial axis of S′ isnot necessarily close to the λ-medial axis of S although, by exchanging theroles of S and S′, the lemma states that the λ′-medial axis of S′ is close to

Page 123: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

112 J-D. Boissonnat, C. Wormser, M. Yvinec

the medial axis of S for a sufficiently large λ′. We will go back to this pointlater.

We say that a ball is S-empty if its interior does not intersect S. Thesphere bounding a S-empty ball is called a S-empty sphere.

Lemma 10. Let σ be a S-empty sphere centered at c, of radius r, intersectingS in two points x and y. If ε < r

2 and ldef= ‖x−y‖

4 ≥√εr(1 − ε

r ), there existsan S′-empty sphere tangent to S′ in two points whose center c′ and radius r′

are such that |1 − r′

r | and ‖c′−c‖r are at most δ = εr

l2−εr+ε2 .

Proof. Let σ′′ be the maximal S′-empty sphere centered at c and let r′′ beits radius (see Fig. 2.14). The Hausdorff distance between S and S′ being atmost ε, we have |r − r′′| ≤ ε. Let y′ be a point of σ′′ ∩ S′.

Let σ′ be the maximal S′-empty sphere tangent to σ′′ at y′. σ′ is tangentto S′ at at least two points. Let c′ be its center and r′ its radius.

x

y

y′

c

c′

x′

σ

σ′

σ′′

h

r

S

S

Fig. 2.14. S is the continuous curve. x′ and y′ belong to S′

Noting h =√r2 − 1

4‖x− y‖2 =√r2 − 4l2 the distance from c to line xy,

we have

d(c′, S) ≤ min(‖c′ − x‖, ‖c′ − y‖)

≤√

(‖c− c′‖ + h)2 +14

‖x− y‖2

=√r2 + ‖c− c′‖2 + 2h‖c− c′‖.

On the other hand,

Page 124: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 113

d(c′, S′) = ‖c′ − y′‖ = ‖c− c′‖ + r′′ ≥ ‖c− c′‖ + r − ε.

From these two inequalities, we deduce

‖c− c′‖ + r − ε ≤ d(c′, S′) ≤ d(c′, S) + ε ≤√r2 + ‖c− c′‖2 + 2h‖c− c′‖ + ε.

and, since, by assumption, r > 2ε, we get ‖c − c′‖ (r − 2ε − h) ≤ 2ε(r − ε).Moreover, by assumption, l ≥

√εr(1 − ε

r ) which implies r − 2ε − h ≥ 0.Indeed,

h =√r2 − 4l2 ≤

√r2 − 4εr + 4ε2 = r − 2ε.

We then deduce

‖c− c′‖ ≤ 2ε(r − ε)r − h− 2ε

≤ 2εrr −

√r2 − 4l2 − 2ε

.

We then get

‖c− c′‖r

≤ 2ε(r +√r2 − 4l2 − 2ε)

(r − 2ε)2 − (r2 − 4l2)≤ εr

l2 − εr + ε2.

The same bound plainly holds for |1 − r′

r |.

We consider the case where S is a surface of R3 and S′ is a finite set of

points on S at Hausdorff distance at most ε from S. To avoid confusion, werename S′ as P. As already noticed, M(P) is the 1-skeleton of the Voronoidiagram Vor(P), called simply the Voronoi diagram of P in this section. Theset of contact points of a medial sphere centered at a point c ∈ M(P) is theset of closest points of c in P. Any point in the relative interior of a face ofVor(P) has the same closest points in P. It follows that the λ-medial axis of Pis the subset of the faces of Vor(P) whose contact points cannot be enclosedin a ball of diameter λ.

Lemma 10 then says that any Delaunay sphere of Del(P) passing throughtwo sample points that are sufficiently far apart, is close to a medial sphereof S (for the Hausdorff distance). We have therefore bounded the one-sidedHausdorff distance from the λ-medial axis (Voronoi diagram) of an ε-sampleP of S to the medial axis of S, when λ is sufficiently large with respect toε. If we apply the lemma the other way around, we see that, for sufficientlylarge λ′, Mλ′(S) is close to M(P). However, as observed above (Fig. 2.13),we cannot hope to bound the two-sided Hausdorff distance between M(S)and M(P).

The above lemma can be strengthened as recently shown by Chazal andLieutier [83, 32]. They proved that the λ-medial axis of S is close to the λ′-medial axis of P for a sufficiently large λ and some positive λ′ that depends onλ and ε. More precisely, let D be the diameter of S and k′′ a positive constant.They showed that there exist three functions of ε, k(ε) = 15

√2 4

√D3ε, k′(ε) =

10√

3 4√D3ε and k′′(ε) = k′′

4√D3ε, such that

Page 125: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

114 J-D. Boissonnat, C. Wormser, M. Yvinec

Mk(ε)(S) ⊂ Mk′(ε)(P) ⊕B2√

Dε ⊂ Mk′′(ε)(S) ⊕B4√

Dε.

Here, Br denotes the ball centered at the origin of radius r, and ⊕ theMinkowski sum.

Consider now a family of point sets Pε parametrized by ε such thatdH(S,Pε) ≤ ε and let ε tends to 0. Because Mη(S) tends to M(S) whenη tends to 0, we deduce from the above inequalities, that

limε→0

dH(M(S),M10

4√9D3ε

(Pε)) = 0.

The above discussion provides an algorithm to approximate the medialaxis of S within any specified error (see Algorithm 5).

Algorithm 5 Approximation of the Medial Axis

Input: A surface S and a positive real ε

1. Sample S so as to obtain a sample P such that dH(S,P) ≤ ε;2. Construct the Voronoi diagram of P;3. Remove from the diagram the faces for which the diameter of the set of contact

points is smaller than 104√

9D3ε.

Output: A PL approximation of M(S)

The main issue is therefore to compute a sample of points on S (step 1). IfS is a surface of R

3, one can use a surface mesh generator to mesh S and takefor P the vertices of the mesh. Various algorithms can be found in Chap. 5and we refer to that chapter for a thorough description and analysis of thesealgorithms. Especially attractive in the context of medial axis approximation,are the algorithms that are based on the 3-dimensional Delaunay triangulationsince we get the Voronoi diagram of the sample points (step 2) at no additionalcost. An example obtained with the surface mesh generator of Boissonnat andOudot [65] is shown in Fig. 2.15.

Exercise 31. Let O be a bounded open set. Show that M(O) is a retract ofO (and therefore has the same homotopy type as O) [243].

2.8 Voronoi Diagrams in Cgal

The Computational Geometry Algorithms Library Cgal [2] offers severalspackages to compute Voronoi diagrams. Euclidean Voronoi diagrams of pointsand power diagrams are represented through their dual Delaunay and regu-lar triangulations. Cgal provides Delaunay and regular triangulations in R

2

and R3. The implementation is based on a randomized incremental algorithm

Page 126: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

2 Curved Voronoi Diagrams 115

Fig. 2.15. Two λ-medial axes of the same shape, with λ increasing from left toright, computed as a subset of the Voronoi diagram of a sample of the boundary(courtesy of Steve Oudot)

using a variant of the Voronoi hierarchy described in Sect. 2.6. Delaunay tri-angulations are also provided in higher dimensions.

The library also contains packages to compute Voronoi diagrams of linesegments [215] and Apollonius diagrams in R

2 [216]. Those packages imple-ment the incremental algorithm described in Sect. 2.6. A prototype imple-mentation of Mobius diagrams in R

2 also exists. This prototype computes theMobius diagram as the projection of the intersection of a 3-dimensional powerdiagram with a paraboloid, as described in Sect. 2.4.1. This prototype alsoserves as the basis for the developement of a Cgal package for 3-dimensionalApollonius diagrams, where the boundary of each cell is computed as a 2-dimensional Mobius diagram, following the results of Sect. 2.4.3 [62]. SeeFig. 2.8.

2.9 Applications

Euclidean and affine Voronoi diagrams have numerous applications we do notdiscuss here. The interested reader can consult other chapters of the book,most notably Chap. 5 on surface meshing and Chap. 6 on reconstruction.Other applications can be found in the surveys and the textbooks mentionnedin the introduction.

Additively and multiplicatively weighted distances arise when modelinggrowing processes and have important applications in biology, ecology andother fields. Consider a number of crystals, all growing at the same rate, andall starting at the same time : one gets a number of growing circles. As thesecircles meet, they draw a Euclidean Voronoi diagram. In reality, crystals start

Page 127: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

116 J-D. Boissonnat, C. Wormser, M. Yvinec

Fig. 2.16. A cell in an Apollonius diagram of spheres

growing at different times. If they still grow at the same rate, they will meetalong an Apollonius diagram. This growth model is known as the Johnson-Mehl model in cell biology. In other contexts, all the crystals start at the sametime, but grow at different rates. Now we get what is called the multiplicativelyweighted Voronoi diagram, a special case of Mobius diagrams.

Spheres are common models for a variety of objects such as particles, atomsor beads. Hence, Apollonius diagrams have been used in physics, materialsciences, molecular biology and chemistry [245, 339, 227, 228]. They have alsobeen used for sphere packing [246] and shortest paths computations [256].

Euclidean Voronoi diagrams of non punctual objects find applications inrobot motion planning [237, 197]. Medial axes are used for shape analysis[160], for computing offsets in Computer-Aided Design [118], and for meshgeneration [290, 289, 316]. Medial axes are also used in character recogni-tion, road network detection in geographic information systems, and otherapplications.

Acknowledgments

We thank D. Attali, C. Delage and M. Karavelas with whom part of theresearch reported in this chapter has been conducted. We also thank F. Chazaland A. Lieutier for fruitful discussions on the approximation of the medialaxis.

Page 128: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3

Algebraic Issues in Computational Geometry

Bernard Mourrain, Sylvain Pion, Susanne Schmitt, Jean-Pierre Tecourt,Elias Tsigaridas, and Nicola Wolpert

3.1 Introduction

Geometric modeling plays an increasing role in fields at the frontier betweencomputer science and mathematics. This is the case for example in CAGD(Computer-aided Geometric design, where the objects of a scene or a piece tobe built are represented by parameterized curves or surfaces such as NURBS),robotics or molecular biology (rebuilding of a molecule starting from the ma-trix of the distances between its atoms obtained by NMR).

The representation of shapes by piecewise-algebraic functions (such as B-spline functions) provides models which are able to encode the geometry ofan object in a compact way. For instance, B-spline representations are heavilyused in Computed Aided Geometric Design, being now a standard for thisarea. Recently, we also observe a new trend involving the use of patches ofimplicit surfaces. This includes in particular the representation by quadrics,which are more natural objects than meshes for the representation of curvedshapes.

From a practical point of view, critical operations such as computing in-tersection curves of parameterized surfaces are performed on these geometricmodels. This intersection problem, as a typical example linking together geom-etry, algebra and numeric computation, received a lot of attention in the pastliterature. See for instance [158, 280, 233]. It requires robust methods, for solv-ing (semi)-algebraic problems. Different techniques (subdivision, lattice eval-uation, marching methods) have been developed [278, 176, 14, 191, 190, 280].A critical question is to certify or to control the topology of the result.

From a theoretical point of view, the study of algebraic surfaces is also afascinating area where important developments of mathematics such as singu-larity theory interact with visualization problems and the rendering of math-ematical objects. The classification of singularities [29] provides simple alge-braic formulas for complicated shapes, which geometrically may be difficult to

Chapter coordinator

Page 129: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

118 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

handle. Such models can be visualized through techniques such as ray-tracing1

in order to produce beautiful pictures of these singularities. Many open ques-tions, related for instance to the topological types of real algebraic curves orsurfaces, remain to be solved in this area. Computation tools, which allow totreat such algebraic models are thus important to understand their geometricproperties.

In this chapter, we will describe methods for the treatment of algebraicmodels. We focus on the problem of computing the topology of implicit curvesor surfaces. Our objective is to devise certified and output-sensitive methods,in order to combine control and efficiency. We distinguish two types of sub-problems:

• the construction of new geometric objects such as points of intersection,• predicates such as the comparison of coordinates of intersection points.

In the first case, a good approximation of the exact algebraic object, whichusually cannot be described explicitly by an analytic formula, may be enough.On the contrary for the second subproblem, the result has to be exact in orderto avoid incoherence problems, which might be dangerous from an implemen-tation point of view, leading to well known non-robustness issues.

These two types of geometric problems, which appear for instance inarrangement computations (see Chapter 1) lead to the solution of algebraicquestions. In particular, the construction or the comparison of coordinates ofpoints of intersections of two curves or three surfaces involve computationswith algebraic numbers. In the next section, we will describe exact methodsfor their treatment. Then we show how to apply these tools to compute thetopology of implicit curves. This presentation includes effective aspects andpointers to software. It does not include proofs, which can be found in thecited literature.

3.2 Computers and Numbers

Geometric computation is closely tied to arithmetic, as the Ancient Greeks (inparticular Pythagoras of Samos and Hippasus of Metapontum) observed a longtime ago. This has been formalized more recently by Hilbert [205], who showedhow geometric hypotheses are correlated with the arithmetic properties ofthe underlying field. For instance, it is well-known that Pappus’ theorem isequivalent to the commutativity property of the underlying arithmetic field.When we want to do geometric computations on a computer, the situationbecomes even more intricate. First, we cannot represent all real numbers ona computer.

Integers (even integers of unbounded size) are the basis of arithmetic on acomputer. These integers are (usually) represented in the binary system as an

1see e.g. http://www.algebraicsurface.net/

Page 130: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 119

array of bits; an integer n has (bit) size O(log |n|). Under this notion, integersare no longer constant size objects thus arithmetic operations on them are per-formed in non-constant time: for two integer of bit size O(log |n|) addition orsubtraction can be done in linear time with respect to their size, i.e O(log |n|)and multiplication or division can be done inO(log |n| log log |n| log log log |n|).Therefore, depending on the context, manipulating multi precision integerscan be expensive. Dedicated libraries such as gmp[6] however have been tunedto treat such large integers.

Similarly, rational numbers can be manipulated as pairs of integer num-bers. As in Pythagoras’ philosophy, these numbers can be considered as thefoundations of computer arithmetic. That is why, hereafter, we will considerthat our input (which as we will see in the next sections corresponds to the co-efficients of a polynomial equation) will be represented with rational numbers∈ Q. In other words, we will consider that the input data of our algorithms areexact. From the complexity point of view, the cost of the operations on ratio-nals is a simple consequence of the one on integers, however we can also pointout that adding rationals roughly doubles their sizes, contrary to integers, soadditional care has to be taken to get good performance with rationals.

When performing geometric computations, such as for instance computingintersections, the values that we need to manipulate are no longer rationals.We are facing Pythagoras’ dilemma: how to deal with non-commensurable val-ues, when only rational arithmetic is effectively available on a computer. Inour context, these non-commensurable values are defined implicitly by equa-tions whose coefficients are rationals. As we will see, they involve algebraicnumbers. A classical way to deal with numbers which are not representablein the initial arithmetic model, is to approximate them. This is usually per-formed by floating point numbers. For instance, numerical approximationscan be sufficient, for evaluation purposes, if one controls the error of approxi-mation. And usually, computations with approximate values is much cheaperthan with the exact representation. The important problem which has to behandled is then how to control the error.

Hereafter, we describe shortly this machine floating point arithmetic andinterval arithmetic, for their use in geometric computation.

3.2.1 Machine Floating Point Numbers: the IEEE 754 norm

Besides multiple-precision arithmetic provided by various software libraries,modern processors directly provide in hardware some floating point arithmeticin a way which has been standardized as the IEEE 754 norm [212]. We brieflydescribe the parts of this norm which are interesting in the sequel.

The IEEE 754 norm offers several possible precisions. We are going to de-scribe the details of the so-called double precision numbers, which correspondto the double built-in types of the C and C++ languages. These numbers areencoded in 64 bits: 1 bit for the sign, 11 bits for the exponent, and 52 bits forthe mantissa.

Page 131: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

120 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

For non-extreme values of the exponent, the real value corresponding tothe encoding is simply: (−1)sign ×1.mantissa×2exponent−1023. That is, thereis an implicit 1 which is not represented in front of the mantissa, and theexponent value is shifted in order to be centered at zero.

Extreme values of the exponent are special: when it is zero, then the num-bers are called denormalized values and the implicit 1 disappears, whichleads to a nice property called gradual underflow. This property impliesthat there cannot be any underflow with the subtraction or the addition:a − b = 0 ⇐⇒ a = b. The maximal value 2047 for the exponent is usedto represent 4 different special values: +∞, −∞, qNAN, sNAN, dependingon the sign bit and the value of the mantissa. Infinite values are generatedby overflow situations, or when dividing by zero. A NaN (not a number) ex-ists in two variants, quiet or signaling, and is used to represent the resultof operations like ∞ − ∞, 0 × ∞, 0/0 and any operation taking a NaN asargument.

The following arithmetic operations are specified by the IEEE 754 stan-dard: +, −, ×, ÷, √. Their precise meaning depends on a rounding mode,which can have 4 values: to the nearest (with the round-to-even rule in case ofa tie), towards zero, towards +∞ and towards −∞. This way, an arithmeticoperation is decomposed into its exact real counterpart, and a rounding op-eration, which is going to choose the representable value in cases where thereal exact value is not representable in the standard format. In the sequel, thearithmetic operations with directed rounding modes are going to be writtenas + and ×, standing for addition rounded towards +∞ and multiplicationrounded towards −∞ for example.

Finally, let us mention that the IEEE 754 norm is currently under revision,and we can expect that in the future more operations will be available in astandardized way.

3.2.2 Interval Arithmetic

Interval arithmetic is a well known technique to control accumulated roundingerrors of floating point computations at run time. It is especially used in thefield of interval analysis [257]. We use interval arithmetic here in the followingway: we represent at run time the roundoff error associated with a variable xby two floating point numbers x and x, such that the exact value of x lies inthe interval [x, x]. This is denoted as the inclusion property.

All arithmetic operations on these intervals preserve this property. Forexample, the addition of x and y is performed by computing the interval[x+y, x+y]. The multiplication is slightly more complicated and is specifiedas

x× y = [min(x×y, x×y, x×y, x×y),max(x×y, x×y, x×y, x×y)].The other basic arithmetic operations (−,÷,√) are defined on intervals in asimilar way. More complex functions, like the trigonometric functions, can also

Page 132: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 121

be defined over intervals on mathematical grounds. However, the IEEE 754standard does not specify their exact behavior for floating point computations,so it is harder to implement such interval functions in practice, although somelibraries can help here.

Comparison functions on intervals are special, and several different seman-tics can be defined for them. What we are interested in here is to detect whena comparison of the exact value can be guaranteed by the intervals. Thereforelooking at the intervals allows to conclude the order of the exact values in thefollowing cases:

x < y ⇒ x < y is truex >= y ⇒ x < y is false

otherwise ⇒ x < y is unknown

The other comparison operators (>,≤,≥,=, =) can be defined similarly.From the implementation point of view, the difficulty lies in portability,

since the IEEE 754 functions for changing the rounding modes tend to varyfrom system to system, and the behavior of some processors does not al-ways match perfectly the standard. In practice, operations on intervals canbe roughly 5–10 times slower than the corresponding operations on floatingpoint numbers, this is what we observe on low degree geometric algorithms.

Interval arithmetic is very precise compared to other methods which con-sist in storing a central and an error values, as the IEEE 754 norm guaranteesthat, at each operation, the smallest interval is computed. It is possible toget more precision from it by using multiple-precision bounds, or by rewritingthe expressions to improve numerical stability for some expressions [69] whichimproves the sharpness of the intervals.

3.2.3 Filters

Most algebraic computations are based on evaluating numerical quantities.Sometimes, like in geometric predicates, only signs of quantities are needed inthe end.

Computing with multiple-precision arithmetic in order to achieve exact-ness is by nature costly, since arithmetic operations do not have unit cost,in contrast to floating-point computations. It is also common to observe thatfloating point computation almost always leads to correct results, because theerror propagation is usually small enough that sign detection is exact. Wrongsigns tend to happen when the polynomial value of which the sign is soughtis zero, or small compared to the roundoff error propagation. Geometrically,this usually means a degenerate or nearly degenerate instance.

Arithmetic filtering techniques have been introduced in the last tenyears [168] in order to take advantage of the efficiency of floating point com-putations, but by also providing a certificate allowing to determine whetherthe sign of the approximately computed value is the same as the exact sign.

Page 133: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

122 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

In the case of filter failure, i.e., when the certificate cannot guarantee thatthe sign of the approximation is exact, then another method must be used toobtain the exact result: it can be a more precise filter, or it can be multiple-precision arithmetic directly.

From the complexity point of view, if the filter step succeeds often—whichis expected—then the cost of the exact method will be amortized over manycalls to the predicates. The probability that the filter succeeds is linked totwo factors. The first is the shape of the predicate: how many arithmeticoperations does it contain and how do they influence the roundoff-error (thedegree of the predicate does not really matter in itself). The second factoris the distribution of the input data of the predicates, since filter failures aremore common on degenerate or nearly degenerate cases.

There are various techniques which can be used to implement these filters.They vary by the cost of the computation of the certificate, and by their pre-cision, i.e. their typical failure rate. Finding the optimal filter for a problemmay not be easy, and in general, the best solution is to use a cascade of fil-ters [74, 117]: first try the less precise and fastest one, and in case of failure,continue with a more precise and more costly one, etc. Detailed experimentsillustrating this have been performed in the case of the 3D Delaunay triangu-lation used in surface reconstruction in [117].

We are now going to detail two important categories of filters: dynamicfilters using interval arithmetic, and static filters based on static analysis ofthe shape of predicates.

Dynamic Filters

Interval arithmetic, as we previously described it in 3.2.2, can be used towrite filters for the evaluation of signs of polynomial expressions, and even abit more since division and square root are also defined.

Interval arithmetic is easy to use because no analysis of a particular poly-nomial expression is required, and it is enough to instantiate the polynomialswith a given arithmetic without changing their evaluation order. It is alsothe most precise approach within the hardware precision since the IEEE 754standard guarantees the smallest interval for each individual operation. Weare next going to present a less precise but faster approach known as staticfilters.

Static Filters

Interval arithmetic computes the roundoff error at run time. Another ideawhich has been initially promoted by Fortune [168] is to pull more of theerror computation off run time.

The basic idea is the following: if you know a bound b on the input vari-ables x1, . . . , xn of the polynomial expression P (x1, . . . , xn), then it is possible

Page 134: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 123

to deduce a bound on the roundoff error εP that will occur during the evalu-ation of P . This can be shown inductively, by considering the roundoff errorpropagation bound of each operation, for example for the addition: supposex and y are variables you want to add, bx and by are bounds on |x| and |y|respectively, and εx and εy bounds on the roundoff errors done so far on x andy. Then it is easy to see that |x+y| is bounded by bx+y = bx+by, and that theroundoff error is bounded by εx + εy +bx+y2−53, considering IEEE 754 doubleprecision floating point computations. Similar bounds can be computed forsubtraction and multiplication. Division does not play nicely here because theresult is not bounded.

This scheme can also be refined in several directions by:

• considering independent initial bounds on the input variables,• computing the bounds on the input and the epsilons at run time, which

is usually still fast since the polynomial expressions we are dealing withtend to be homogeneous due to their geometric nature [252],

• doing some caching on this last computation [117],

Such filters are very efficient when a bound on the input is known, becausethe only change compared to a simple floating point evaluation is the signcomparison which is made with a constant ε whereas it would be with 0otherwise. Drawbacks of these methods are that they are less precise, and sothey need to be complemented by dynamic filters to be efficient in general.They are also harder to program since they are more difficult to automatize(the shape of the predicates needs to be analyzed). This is why some automatictools have been developed to generate them from the algebraic formulas ofthe predicates [169, 273, 74].

3.3 Effective Real Numbers

In this section, we will consider a special type of real numbers, which wecall effective real numbers. We will be able to manipulate them effectively ingeometric computations, because the following methods are available:

• an algorithm which computes a numerical approximation of them to anyprecision.

• an algorithm which compares them in an exact way.

We will see that working in this sub-class of real numbers, is enough to tacklethe geometric problems that we want to solve. Namely, we are interested bycomputing intersection points of curves, arrangements of pieces of algebraiccurves and surfaces, . . . This leads to the resolution of polynomial equations.

Here are some notations. A polynomial over a ring L of coefficients is anexpression of the form

f(x) = anxn + · · · + a1x+ a0

Page 135: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

124 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

where the coefficients an = 0, an−1, . . . , a1, a0 are elements of L and the vari-able x may be regarded as a formal symbol with an indeterminate meaning.The greatest power of x appeared in f (with an non zero coefficient) is calledthe degree of f , (n in our case since an = 0). It is denoted deg(f). The degreeof the zero polynomial is equal to −∞. The coefficient an is called the leadingcoefficient, and denoted ldcf(f). The ring of polynomials with coefficient inL, is denoted L[x].

We call a polynomial g ∈ L[x] a factor of f if there exists another polyno-mial g ∈ L[x] with f = g · h. In particular, if f = 0, then every g ∈ L[x] is afactor of f .

In the following, we will consider polynomials with coefficient in a unitaryring L. For instance, we can image L = Z. We denote by K a field containingL. In the following, we work most of the time with K the field of rationalnumbers or its algebraic closure (that is the smallest field containing all theroots of polynomials with rational coefficients). In some cases, the problemmay depend on parameters u1, . . . , un and so in theses cases the field K willbe the fraction field K = Q(u1, . . . , un). The algebraic closure of the field K

is denoted K. (so image K = C).

3.3.1 Algebraic Numbers

We recall here the basic definitions on algebraic numbers. An algebraic numberover the field K is a root of a polynomial p(x) with coefficients in K (p(x) ∈K[x]). An algebraic integer over the ring L is a root of a polynomial withcoefficients in L, where the leading coefficient is 1.

Let α be an algebraic number over K and p(x) ∈ K[x] be a polynomial ofdegree d with p(α) = 0. If p(x) is irreducible over K (it cannot be written inK[x] as the product of two polynomials which are both different from 1), it iscalled the minimal polynomial of α. The other roots α2, . . . , αd of the minimalpolynomial in K are the conjugates of α. The degree of the algebraic numberα is the degree of the minimal polynomial defining α. Let α1 = α, then thenorm of α is

N(α) =d∏

i=1

|αi|

If α, β are algebraic numbers over K, then α± β, α · β, α/β (if β = 0) andk√α are algebraic numbers over K. If α, β are algebraic integers over L, then

α ± β, α · β and k√α are algebraic integers over L.

For instance, γ = 7 is an algebraic integer over Q since it is the root ofx − 7 = 0. Moreover, α =

√2 (resp. β =

√3) is an algebraic integer over Q,

since it is the positive root of the (minimal) polynomial x2 − 2, (resp. x2 − 3)and α + β is a root of (x2 − 5)2 − 24 = x4 − 10x2 + 1 = 0. We observein the last example, that the degree of the minimal polynomial of α + β isbounded by the product of the degrees of the minimal polynomials of α andβ. This is a general result, which we deduce from the resultant properties (see

Page 136: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 125

Section 3.4.1 and [236]). The same result is valid for the operations −,×, / onthese algebraic numbers.

Let p(x) be a polynomial with algebraic number as coefficients. Then theroots of p(x) are algebraic numbers. If the coefficients of p(x) are algebraicintegers and the leading coefficient of p(x) is 1, then the roots of p(x) arealgebraic integers.

We describe now two important methods to represent real algebraic num-bers.

3.3.2 Isolating Interval Representation of Real Algebraic Numbers

A natural way to encode a real algebraic number α over Q is by using

• a polynomial p(x) of Q[x], which vanishes at α, and• an isolating interval [a, b] containing α such that a, b ∈ Q and p(x) has

exactly one real root in [a, b].

This representation is not unique, since the size of the interval [a, b] canreduce to any ε > 0 close to 0. If we assume moreover that p is a square-free polynomial (that is gcd(p, p′) = 1 or in other words that the roots of pare distinct), as we assume in what follows, then α is a simple root of p andp obtains different sign when evaluated over the endpoints of the isolatinginterval, i.e. p(a)p(b) < 0.

Besides isolating interval representation there are other representations ofreal algebraic numbers. The most important alternative is Thom’s encoding[44]. The basic idea behind this representation is that the signs of all the deriv-atives of p obtained by evaluation over the real roots of p uniquely characterize(and order) the real roots. This representation besides the uniqueness prop-erty is also more general than the isolating interval representation. Howeverwe are not going into the details.

For higher (arbitrary) degree, isolating intervals will be computed by uni-variate polynomial solvers, that we will describe in Section 3.4.2. For polyno-mials of degree up to 4, real root isolation is more effective since it can beperformed in constant time (see Section 3.4.3).

3.3.3 Symbolic Representation of Real Algebraic Numbers

The sum α+β of two algebraic numbers α, β of degree ≤ d is an algebraic num-ber, whose minimal polynomial is of degree ≤ d2 (see Section 3.4.1 and [236]).Instead of computing this minimal polynomial (which might be costly to per-form), we may wonder if we can use its symbolic representation (as an arith-metic tree) and develop methods which allow us to consider it as an effectivealgebraic numbers. In other words,

• how can we approximate such a number within an arbitrary precision?• how can we compare two such numbers?

Page 137: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

126 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

In this section, we describe the symbolic representation of such algebraic num-bers and in the next section, we will show how to perform these operations.

A real algebraic expression is an arithmetic expression built from the inte-gers using the operations +,−, ·, /, k

√ and !, representing a root of a univari-ate polynomial, and which is defined as follows: The syntax for the !-operatoris !(j, Ed, . . . , E0), where Ei are real algebraic expressions and 1 ≤ j ≤ d isan integer. It is representing the j-th real root (if it exists) of a polynomialwith coefficients (Ei)d

i=0.The value val(E) of a real algebraic expression E is the real value given by

the expression (if this is defined). For E = !(j, Ed, . . . , E0), the value val(E)is the j-th smallest real root of the polynomial

p(x) =d∑

i=0

val(Ei)xi,

if it exists and if the values of all coefficients are defined.We are representing real algebraic expressions as directed acyclic graphs.

The inner nodes are the operations and the leaves are integers. Every nodeknows an interval containing the exact value represented by its subgraph.If further accuracy is needed, the values are approximated recursively withhigher precision.

Operations are done by creating a new root node and building the graphstructure. Then a first approximating interval is computed. Comparisons aredone exactly. The algorithms involved in these comparisons will be describedin the next section.

3.4 Computing with Algebraic Numbers

In the previous section, we have described how we encode real algebraic num-bers. We are going to describe now the main tools and algorithms, which allowus to compute this representation, that is

• to isolate the real roots of a polynomial.

We are also going to see how to perform the main operations we are interestedin for geometric computations, namely:

• the comparison of two algebraic numbers,• and the sign evaluation of a polynomial expression.

3.4.1 Resultant

A fundamental tool for the manipulation and construction of algebraic num-bers is the resultant. It allows us to answer the following question; When dotwo univariate polynomials f and g of positive degree have a non-constant

Page 138: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 127

common factor? Since every non-contant polynomial has a root in K, this isequivalent to the following question: When do two univariate polynomials fand g of positive degree have a common root in K? Here is a first answer:

Theorem 1. Let f, g ∈ K[x] be two polynomials of degrees deg(f) = n > 0and deg(g) = m > 0. Then f and g have a non-constant common factor ifand only if there exist polynomials A ∈ K[x] and B ∈ K[x] with deg(A) < mand deg(B) < n which are not both zero and such that Af +Bg = 0.

Now, in order to determine the existence of a common factor of

f(x) = fnxn + fn−1x

n−1 + · · · + f0, fn = 0, n > 0 andg(x) = gmx

m + gm−1xm−1 + · · · + g0, gm = 0, m > 0

we have to decide whether two polynomials A and B with the required proper-ties can be found. This question can be answered with the help of linear alge-bra: A and B are polynomials of degree at most m−1 and n−1, and thereforethere are all in all m+ n unknown coefficients am−1, . . . , a0, bn−1, . . . , b0 of Aand B:

A(x) = am−1xm−1 + · · · + a1x+ a0

B(x) = bn−1xn−1 + · · · + b1x+ b0.

The polynomial A(x)f(x)+B(x)g(x) has degree at most n+m−1 in x. Eachof its coefficients has to be zero in order to achieve Af +Bg = 0:

fnam−1 + gmbn−1 = 0 (coefficient of xm+n−1)fn−1am−1 + fnam−2 + gm−1bn−1 + gmbn−2 = 0 (coefficient of xm+n−2)

. . . . . ....

f0a0 + g0b0 = 0 (coefficient of x0).

We get n+m linear equations in the unknowns ai, bi with coefficients fi, gj .Written in matrix style this system of linear equations has the form:

(am−1, . . . , a0, bn−1, . . . , b0) ·

⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

fn fn−1 . . . f0fn fn−1 . . . f0

. . . . . . . . .fn fn−1 . . . f0

gm gm−1 . . . g0gm gm−1 . . . g0

. . . . . . . . .gm gm−1 . . . g0

⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

= (0, . . . , 0)

where the empty positions are filled with zeroes. We know from linear algebrathat this system of linear equations has a non-zero solution if and only ifthe determinant of the coefficient matrix is equal to zero. This leads to thefollowing definition:

Page 139: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

128 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

Definition 1. The (m + n) × (m + n) coefficient matrix with m rows of f-entries and n rows of g-entries

Syl(f, g) :=

⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

fn fn−1 . . . f0fn fn−1 . . . f0

. . . . . . . . .fn fn−1 . . . f0

gm gm−1 . . . g0gm gm−1 . . . g0

. . . . . . . . .gm gm−1 . . . g0

⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

where the empty positions are filled by zeroes is called the Sylvester matrix off and g. The determinant of the matrix is called the resultant of f and g:Res(f, g) := det(Syl(f, g)).

This resultant will also be denoted Resx(f, g) if the coefficients ai, bj of f andg are themselves polynomials of other variables and we want to denote thatwe consider them as univariate polynomials with respect to x.

From the above observations we immediately obtain a criterion for testingwhether two polynomials f and g have a non-constant common factor.

Proposition 1. Given f, g ∈ K[x] of positive degree, the resultant Res(f, g) ∈k is equal to zero if and only if f and g have a non-constant common factor.For K = C the equality Res(f, g) = 0 holds if and only if f and g have acommon complex root.

As a direct application, we see that if α (resp. β) is a root of the polyno-mial f (resp. g), then α+β is a root of the polynomial Resx(f(x), g(u−x)) =R(u) = 0 where we consider g(u − x) as a polynomial in x (with coefficientswhich are polynomials in u). Indeed, the two polynomials f(x) and g(α+β−x)have a common root x = α, so that their resultant R(α + β) vanishes. Simi-larly, for β = 0, a defining polynomial of α

β is Resx(f(x), g(xu)) = 0. Thoughthe resultant yields a direct way to compute a defining polynomial of sums,differences, products, divisions of algebraic numbers, alternative approaches,which are more interesting from a complexity point of view, have been con-sidered (see for instance [17]). They are based on Newton sums and seriesexpansions.

Properties of resultants.

We present some useful properties of the resultants.

Lemma 1. Let f, g ∈ K[x] and α ∈ K.

1. For deg(f) > 0 and deg(g) = m > 0 we have Res(α ·f, g) = αm ·Res(f, g).2. If deg(g) > 0, then Res((x− α) · f, g) = g(α) · Res(f, g).

Page 140: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 129

The lemma leads to the following important characterization of resultants:

Theorem 2. Let f, g ∈ K[x], fn = ldcf(f), gm = ldcf(g), deg(f) = n > 0,deg(g) = m > 0, with (complex) roots

α1, . . . , αn, β1 . . . , βm ∈ K.

For the resultant of f and g the following holds:

Res(f, g) = fmn gn

m

n∏

i=1

m∏

j=1

(αi − βj) = fmn

m∏

i=1

g(αi) = (−1)mngnm

m∏

i=1

f(βi).

Subresultants of Univariate Polynomials

Theorem 1 of the previous section can be generalized to

Theorem 3. Let f, g ∈ K[x] be two polynomials of degrees deg(f) = n > 0and deg(g) = m > 0. Then f and g have a common factor of degree greaterthan l ≥ 0 if and only if there are polynomials A and B in K[x], with deg(A) <m− l and deg(B) < n− l which are not both zero, and such that Af+Bg = 0.

As an immediate consequence we obtain a statement about the degree ofthe greatest common divisor of f and g:

Corollary 1. The degree of the gcd of two polynomials f, g ∈ K[x] is equalto the smallest index h such that for all polynomials A and B ∈ K[x], withdeg(A) < m− h and deg(B) < n− h: Af +Bg = 0.

This corollary can be reformulated in the following way:

Corollary 2. The degree of the gcd of two polynomials f, g ∈ K[x] is equalto the smallest index h such that for all rational polynomials A and B withdeg(A) < m− h and deg(B) < n− h: deg(Af +Bg) ≥ h.

We are interested in determining the degree of the greatest common divisorof two polynomials f and g. According to Corollary 2, we have to test insuccession whether for l = 1, 2, 3, . . . there exist polynomials A and B, withthe claimed restriction of the degrees such that the degree of Af + Bg isstrictly smaller than l. The first index h, for which this test gives a negativeanswer, is equal to the degree of the gcd. How can we perform such a test?We have seen in the previous section that the test for l = 0 can be made bytesting whether the resultant of f and g is equal to zero. For l = 1, 2, 3, . . .we proceed in a similar way. Let l be a fixed index and let

f(x) = fnxn + fn−1x

n−1 + · · · + f0, fn = 0, andg(x) = gmx

m + gm−1xm−1 + · · · + g0, gm = 0.

We are looking for two polynomials

Page 141: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

130 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

A(x) = am−l−1xm−l−1 + · · · + a1x+ a0,

B(x) = bn−l−1xn−l−1 + · · · + b1x+ b0,

such that deg(Af + Bg) < l. There are m + n − 2l unknown coefficientsam−l−1, . . . , a0, bn−l−1, . . . , b0. The polynomial A(x)f(x) +B(x)g(x) has de-gree at most n+m−l−1. The m+n−2l coefficients of xl, xl+1, . . . , xm+n−l−1

have to be zero in order to achieve deg(Af + Bg) < l. This leads to a linearsystem

(am−l−1, . . . , a0, bn−l−1, . . . , b0) · Sl = (0, . . . , 0)

where Sl is the submatrix of the Sylvester matrix of f and g obtained bydeleting the last 2l columns, the last l rows of f -entries, and the last l rows ofg-entries. We call srl(f, g) = detSl the lth subresultant of f and g. For l = 0,the equality Res(f, g) = sr0(f, g) holds. In fact, Sl is a submatrix of Si forl > i ≥ 0. The 2 l × 2 l minors of the submatrix of the Sylvester matrix off and g obtained by deleting the last l rows of f -entries, can be collected inorder to construct a polynomial, which has interesting properties. To be morespecific, we need the following definition:

Definition 2 (Determinant polynomial).Let M be a s× t matrix, s ≤ t, over an integral domain L. The determinantpolynomial of M is:

detpol(M) = |Ms|xt−s + · · · + |Mt|

where Mj denotes the submatrix of M consisting of the first s − 1 columnsfollowed by the jth column, for s ≤ j ≤ t.

Definition 3 (Subresultant).Let f, g ∈ K[x], two polynomials with deg(f) = n > 0, deg(g) = m > 0. For0 ≤ l ≤ min(f, g), we define:

Ml = mat(xn−l−1f(x), xn−l−2f(x), . . . , f(x), xm−l−1g(x), . . . , g(x))

Then the lth subresultant polynomial of f and g is Srl(f, g)(x) = detpol(Ml).

Notice that the coefficient of xl in Srl(f, g) is the lth subresultant coefficient,denoted srl(f, g). Here is the main proposition [44, 330]:

Proposition 2. Two polynomials f and g of positive degree have a gcd ofdegree h if and only if h is the least index l for which srl(f, g) = 0. In thiscase, their gcd is Srl(f, g)(x).

This yields Algorithm 6 for computing the square-free part of a polynomial. ByHadamard’s identity (see [44]), the size of the coefficients of the subresultantsis bounded linearly (up to a logarithmic factor) in terms of the size of theminors.

Page 142: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 131

Algorithm 6 Square free part of a univariate polynomial

Input: a polynomial f ∈ K[x].

• Compute the last non-zero subresultant Sr(x) polynomial of f(x) and f ′(x).• Compute fr = f/Sr(x).

Output: the square-free part fr of f .

3.4.2 Isolation

We are now going to describe algorithms that compute isolating intervals forthe real roots of polynomials of arbitrary degree with rational coefficients.In the next section we will present how isolating intervals can be computeddirectly for polynomials of degree up to 4. Two families of methods will beconsidered, one based on Descartes’s rule and the other on Sturm sequences.Both produce certified isolation intervals for all the roots of a polynomial andhave interesting complexity bounds.

Descartes’ rule.

Consider a polynomial p(x) ∈ R[x], represented in the monomial basis by

p(x) = ad xd + · · · + a0,

with ad = 0. A simple rule to estimate the number of real roots of p is obtainedby counting the number of sign changes of its coefficients:

Definition 4 (Sign changes). The number of sign changes V (a) in a se-quence a = a0, . . . , ad in R − 0 is defined, by induction on d, by:

• V (a0) = 0,• V (a0, . . . , ad) = V (a1, . . . , ad) + 1 if a0a1 < 0,• V (a0, . . . , ad) = V (a1, . . . , ad) if a0a1 > 0.

This definition extends to any finite sequence a of elements in R by consideringthe finite sequence b obtained by dropping the zeroes in a and defining V (a) =V (b), with the convention V (∅) = 0.

Here is a simple but interesting result, known as Descartes’ lemma [114]:

Lemma 2 (Descartes). Let p(x) = ad xd+· · ·+a0, let V (a) be the number of

sign changes in the sequence a = a0, a1, . . . , ad and let N+(p) be the numberof strictly positive roots of p (counted with multiplicity). Then

N+(p) = V (a) − 2 k,

with k ∈ N.

Page 143: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

132 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

This rule can be used to isolate the roots of a polynomial p, as shown hereafter.Let us recall that a univariate polynomial p(x) of degree d can also be

represented as:

p(x) =d∑

i=0

bi Bid(x),

where Bid(x) = (d

i )xi(1−x)d−i. The polynomials (Bi

d)i=0,...,d form the so-calledBernstein basis in degree d on [0, 1]. The sequence b = [bi]i=0,...,d is called theset of control coefficients on [0, 1]. Similarly, we will say that a sequence brepresents the polynomial function p on the interval [a, b] if:

p(x) =d∑

i=0

bi (di )

1(b− a)d

(x− a)i(b− x)d−i.

The polynomials

Bid(x; a, b) := (d

i )1

(b− a)d(x− a)i(b− x)d−i

form the Bernstein basis in degree d on [a, b]. We are going to consider thesequence of values b together with the corresponding interval [a, b]. A firstproperty of this representation is that the derivative f ′ of f , is deduced easilyfrom the control coefficients:

d∆b := d(bi+1 − bi)0id−1,

where ∆b = (∆b0, . . . ,∆bd−1) with ∆bi = bi+1 − bi. Another fundamentalalgorithm that we will use is the de Casteljau algorithm [157]:

b0i = bi i = 0, . . . , dbri = (1 − t) br−1

i + t br−1i+1 (t) i = 0, . . . , d− r

It allows us to compute the representation of p on the subdivided intervals[a, (1 − t)a+ tb] and [(1 − t)a+ tb, b]. For a complete list of methods on thisrepresentation, we refer to [157].

By substituting x by x = t1−t , the Descartes rule yields the following

proposition [157], [295]:

Proposition 3. The number of sign changes V (b) of the control coefficientsb = [bi]i=0,...,d of a univariate polynomial on [0, 1] bounds its number of realroots in [0, 1] and is equal to it modulo 2. Thus,

• if V (b) = 0, there is no real root in [0, 1], and• if V (b) = 1, there is exactly one real root in [0, 1].

Page 144: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 133

Sturm sequences.

Another tool which can also be used for the isolation of real roots is describedbelow.

Definition 5 (Sturm sequence). Let p, q be two univariate polynomials. Apolynomial sequence f0 = p, f1 = q, . . . , fs is a Sturm sequence if:

• fs divides all the fi, 0 ≤ i ≤ s. Let δi = fi/fs, 0 ≤ i ≤ s.• If c is a real number such that δj(c) = 0, 0 < j < s, then δj−1(c)δj+1(c) <

0.• If c is a real number such that δ0(c) = 0 then δ0(x)δ1(x) has the sign of

x− c in a neighborhood of c.

We will denote the Sturm sequence by Sturm(p, q) = (p, q, f2, . . . , fs). Sucha Sturm sequence can be computed for instance, as follows:

f0 = p, f1 = q, f2 = −rem(f0, f1), . . . fi+1 = −rem(fi−1, fi), . . .

where rem(f, g) is the reminder in the Euclidean division of the polynomial fby the polynomial g.

For any sequence S of real polynomials and a ∈ R, we denote by V (S, a)the number of sign variations of the values of the polynomials in S at a. Then,we have the well-known theorem of Sturm (see for instance [44]):

Proposition 4 (Sturm theorem). Assume S = Sturm(p, p′q) and ]a, b[ isan interval such that p(a)p(b) = 0. The difference V (S, a) − V (S, b) is equalto the difference between the number Zp(q > 0; a, b) of roots α of p in ]a, b[(without multiplicity) such that q(α) > 0 and the number Zp(q < 0; a, b) ofroots α of p in ]a, b[ such that q(α) < 0:

V (S, a) − V (S, b) = Zp(p; a, b) − Zp(q < 0; a, b).

If we take q = 1, then we have that V (S, a)−V (S, b) is the number of realroots of p in ]a, b[.

An efficient way to compute a Sturm sequence is to compute a Sturm-Habicht (or Sylvester-Habicht) sequence. For that purpose, we recall here thedefinition of pseudo-remainder (see for instance [44]).

Definition 6 (Pseudo-remainder). Let

f(x) = apxp + · · · + a0

g(x) = bqxq + · · · + b0

be two polynomials in L[x] where L is a ring. Note that the only denominatorsoccurring in the euclidean division of f by g are biq, i ≤ p+ q − 1.The signed pseudo-remainder denoted prem(f, g), is the remainder in theEuclidean division of bdqf by g, where d is the smallest even integer greaterthan or equal p − q + 1. Note that the euclidean division of bdqf by g can beperformed in L and that prem(f, g) ∈ L[x].

Page 145: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

134 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

Definition 7 (Sturm-Habicht sequence). Let p and q be univariate poly-nomials, d = max(deg(p),deg(q) + 1), coefk(p) the coefficient of xk in p, andδk = (−1)k(k−1)/2.

The Sturm-Habicht sequence of p and q is defined inductively as follows:

• Hd = p, hd = 1.• Hd−1 = q.

Assume that we have computed Hd, . . . , Hj−1, hd, . . . , hj with hj = 0 andHj−1 = 0. Let k = deg(Hj−1). Then:

• If k < j − 1, let Hk = δj−kcoefk(Hj−1)

j−1−k

hj−1−kj

Hj−1, hj−1 = 1.

For l ∈ N with k < l < j − 1, let Hl = 0, hl = 0.• Let hk = coefk(Hk), Hk−1 = δj−k+2

prem(Hj ,Hj−1)

hj−k+1j

(where prem is the

pseudo-remainder)

The main interest of this construction is that the polynomials in the sequenceare related to the subresultants of p and q (see Section 3.4.1). Therefore, if weare working with coefficients in a ring L, the coefficients of these subresultantpolynomials are in the ring L. If for instance L = K[u], the subresultantpolynomials are polynomials in x, which coefficients are polynomials in thevariable u. By substituting u by a value u0 ∈ K, we get by construction,the subresultant sequence, evaluated at u = u0. In other words, subresultantsequences behave well under specialization.

This Sturm-(Habicht) sequence can also be useful for gcd computations,since the gcd corresponds to the last non-zero term of the sequence. In par-ticular, it yields anotehr way to compute the square-free part p/ gcd(p, p′) ofa polynomial p ∈ Q[x] (see Algorithm 6).

Isolation algorithm.

The idea behind both approaches that we are goping to present now, is toconsider an interval that initialy contains all the real roots, and then repeat-edly subdivide it until we obtain intervals that is guaranteed that they containzero or one real root.

Both Descartes’s and Sturm’s approach gives a bound on the numberof roots of a polynomial f on an interval I, that we denote hereafter byV (f ; I). For Descartes’ approach, V (f ; I) is the number of sign changes in thecoefficients of f in the Bernstein basis on I. This bound is equal to the numberof roots modulo 2. For the Sturm approach, V (f ; I) is the difference of thenumber of sign changes of the Sturm sequence of f and f ′, evaluated overthe end points of the interval. Notice that in this approach we count exactlythe number of real roots of f in the interval I.

This leads to the algorithm 7.In the Sturm approach, we compute first the Sturm sequence of f and

f ′. Then, in order to compute V (f ; I), we evaluate the sign of the polyno-mials of this Sturm sequence at the end points of the interval I. If we use

Page 146: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 135

Algorithm 7 Isolation of real roots

Input: A polynomial f ∈ Z[x].

• Compute the square-free part fr of f (Algorithm 6).• Compute an interval I0 containing the roots of f and initialize a queue Q with

I0.• While Q is not empty,

– Pop an interval I from Q and compute V (f, I).– If V (f ; I) > 1, split the interval in two subintervals I− and I+ and add them

to Q.– If V (f ; I) = 0, then remove the interval I.– If V (f ; I) = 1, then output I.

Output: a list of intervals, with as many real roots of f than intervals and suchthat each interval contains exactly one real root of f .

the Sturm-Habicht construction, as f ∈ Z[x] the polynomials of the Sturm-Habicht sequence will also be in Z[x]. Moreover, if the bit size of the coefficientsof the polynomial f of degree d is bounded by τ , then the bit size of the co-efficients of the polynomials in the Sturm sequence are bounded by O(d τ)(using Hadamard inequality). This algorithm can be refined by restricting thecomputation to the roots in a given interval.

For the Descartes’ approach, we represent the polynomial f by an interval Iand its coefficients in the Bernstein basis on I. Splitting the interval I consistsin applying the de Casteljau algorithm in order to get the representation off on the two subintervals I−, I+. Another variant consists in avoiding thesquare-free computation and stopping the subdivision if an interval is of sizesmaller than a given ε. This does not guarantees the result in the presence ofa cluster of roots, but only bounds the multiplicity of this cluster.

A first version of the Bernstein approach was described in [235]. Its com-plexity was first analyzed in [268], and then improved in [262]. The proof oftermination of the algorithm is based on a partial inverse of Descartes’ rule,namely the two circle theorem [102, 262], which, roughly speaking, guaran-tees that the algorithm, after a number of steps, will produce polynomialswith zero or one sign variation. Using a refined version of this theorem, andDavenport-Mahler bounds on the product of distances between pairs of (com-plex) roots of f (see [232]), one can even show that the number of subdivisions(for both approaches) is bounded by O(d τ + d log d), where d is the degree off and τ a bound on the size of its coefficients (see also [313, 147]).

The correspondence with another algorithm based on Descartes’ rule inthe monomial basis, known as modified Uspensky algorithm [299], has beendetailed in [262]. It is shown in particular, that de Casteljau algorithm canbe reinterpreted as a shift of a univariate polynomial. This yields a boundO(d4τ2) on the bit complexity for the isolation algorithm, which actually

Page 147: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

136 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

holds for both approaches. In practice, Descartes’ approach is usually moreefficient than the Sturm-Sequence approach (see [147] for experimentations).

Notice that Descartes’ approach (with polynomials represented either inmonomial or Bernstein basis) can be applied with interval arithmetic, byadapting the sign variation count [299, 262]. It also extends naturally to B-splines which are piecewise polynomial functions [157].

3.4.3 Algebraic Numbers of Small Degree

It is known that solving a polynomial equation by radicals is always possiblefor small degree (d ≤ 4). However when we want to compute the real rootsthen we must do computations with complex numbers (for degrees 3 and4). Thus even when explicit formulas are available it is not always possibleor effective to do computations with them. Thus, we are not interested bydescribing the roots as explicit formulas, involving radicals for instance (sincetis is not always possible).

Instead, our goal is to describe the roots of a polynomial by using onlyrational numbers. We will see that for small degree polynomials, of degree upto 4, we can compute the isolating interval representation of the real rootswith minimal computations, while for arbitrary degree polynomials this taskrequires a more involved machinery (as presented in the previous section).

The interest of such approach has already been illustrated by intensivecomputations with algebraic numbers of degree 2. In this case, classical explicitformulas (involving simple square roots) allow us to represent the real rootsand compute with them directly. Paradoxically, as it is shown in [116], it canbe more interesting to use instead isolating interval representations, from anefficiency point of view. Such an approach has been recently extended forpolynomials up to degree 4, in [149]. It yields a way to precompute isolatingintervals offline, which proceeds as follows (see [149, 148] for more details; seealso [219]).

Since algebraic numbers of degree up to 4 appear in many problems ofcomputational geometry, for example arrangement of conic arcs in the plane,Voronoi diagrams of circles, etc, we present now how to compute the isolatinginterval representation of these numbers.

Given a polynomial p ∈ Q[x] of degree 4

p(x) = a x4 − 4 b x3 + 6 c x2 − 4 d x+ e

with a > 0, we define the invariants

A = ae− 4bd+ 3c2, B = ace+ 2bcd− ad2 − eb2 − c3,∆1 = A3 − 27B2, ∆2 = b2 − ac,∆3 = c2 − bd, ∆4 = d2 − ce,W1 = ad− bc, W2 = be− cd,W3 = ae− bd, R = −2b3 − a2d+ 3abc,T = −9W 2

1 + 27∆2∆3 − 3W3∆2

Page 148: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 137

The following proposition gives the number of real roots of a quartic polyno-mial.

Proposition 5. Let p(x) be the quartic as above. The following table givesthe numbers of real roots and their multiplicities in all cases. For example,1, 1, 1, 1 means four simple real roots and 2, 2 means two double real roots.

condition real roots∆1 > 0 ∧ T > 0 ∧∆2 > 0 1, 1, 1, 1∆1 > 0 ∧ (T ≤ 0 ∨∆2 ≤ 0) ∆1 < 0 1, 1∆1 = 0 ∧ T > 0 2, 1, 1∆1 = 0 ∧ T < 0 2∆1 = 0 ∧ T = 0 ∧∆2 > 0 ∧R = 0 2, 2∆1 = 0 ∧ T = 0 ∧∆2 > 0 ∧R = 0 3, 1∆1 = 0 ∧ T = 0 ∧∆2 < 0 ∆1 = 0 ∧ T = 0 ∧∆2 = 0 4

The next theorem provides a tool to isolate these real roots.

Theorem 4. Given a polynomial p(x) with two successive real roots γ1 andγ2, and given two other polynomials B(x) and C(x), define

A(x) := B(x)p′(x) + C(x)p(x).

Then A(x) or B(x) has at least one real root in the closed interval [γ1, γ2].

The idea developed in [148] is to determine the number of real roots of thepolynomial p(x) using the invariants and then to find isolating numbers byproviding clever choices for the polynomials A(x) and B(x), i.e the real rootsof A(x) and B(x) are computed easily and ideally are rationals. of Theorem 4.In the case of two simple or four simple real roots, the isolating point that weget from the initial polynomial may not be rational. In [148] the authors showhow to get a rational isolating point in these cases. The following polynomialsare suggested:

A(x) = 3∆2x2 + 3W1x−W3

B(x) = ax− b

C(x) = −4a.

The isolating points are then in the set of real roots of A(x) and B(x). As asecond possibility, they suggest to take the following three polynomials

A(x) = W3x3 − 3W2x

2 − 3∆4x

B(x) = dx− e

C(x) = −4d

Note that the real roots of A(x) might be real algebraic numbers of degree 2in both cases, thus not rational numbers in general. However it was proven

Page 149: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

138 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

[148] that using the ceiling of the real roots of A(x) suffices in all the cases tocompute isolating intervals for real roots of p(x). The case of the cubic is evenmore straightforward, since only one choice of polynomials A(x) and B(x) isneeded (see [148] for more details).

3.4.4 Comparison

An important operation which needs to be performed exactly on real algebraicnumbers in geometric algorithms is the comparison. We describe here methodsto achieve this goal.

Comparison of isolated interval algebraic numbers.

Let us describe briefly how we use Sturm’s theorem to compare two algebraicnumbers α = (p, ]a, b[) and β = (q, ]c, d[), assuming for simplicity that α andβ are simple roots of p and q. If b < c (resp. d < a) we have α < β (resp.β < α). Let us assume now that a < c < b < d (the other cases beingtreated similarly). First we compute the sign s of p(a)p(c). If s < 0, thenwe have α ∈]a, c[ and α < β. If s = 0, we have α = c (since α = a), whichimplies that α < β. Otherwise s > 0, p has no root in the interval [a, c]. Wecompute S = Sturm(p, p′q) and v := V (S, c) − V (S, b). Let us assume firstthat q(c) > 0, q(b) < 0. Then if v = 1, by Sturm’s theorem q(α) > 0 andα < β. If v = −1, q(α) < 0 and α > β. If v = 0, then q(α) = 0 and α = β.If now q(c) < 0, q(b) > 0, we negate the previous output. Finally, if q(c) andq(b) are of the same sign, then α < β.

Regarding the complexity of this method, the effective computation ofthese sequences can be done using Sturm-Habicht sequences. For two poly-nomials p and q of degree bounded by d and coefficient bit size bounded byτ the bit size of the coefficients in the Sturm-Habicht sequence is O(dτ) andthe computation of the sequence is made with O(d2) arithmetic operations[300, 44]. The reader may refer to [147], for a complete complexity analysis.

For algebraic numbers of small degree, these operations can even be pre-computed, as described in [148], in order to accelerate the computation ofthe Sturm sequences of specific polynomials, taking advantage of the goodspecialization properties of the Sturm-Habicht sequences. Moreover, since theisolating interval representation of algebraic numbers of degree up to 4 canbe computed in constant time we conclude that comparison of such numberscan also be performed in constant time.

For example [148], the Sturm sequence of a quartic p(x) and its derivativep′(x) is

S0(x) = p(x)S1(x) = p′(x)S2(x) = 3∆2x

2 + 3W1x−W3

S3(x) = T1x+ T2

S4(x) = −∆1

Page 150: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 139

where T1 = −W3∆2 − 3W 21 + 9∆2∆3 and T2 = AW1 − 9bB. The Sturm

sequences of two general quartic polynomials can be described similarly [148].The precomputation of these Sturm sequences for polynomials of degree ≤ 4reduces many of the algorithmic problems on small degree algebraic numbersto the computation of signs of algebraic expressions. The degree of thesealgebraic expressions is an indicator of the complexity of the approach [148]:

Theorem 5. There is an algorithm that compares any two roots of two quar-tics using Sturm sequences and isolating intervals from above where the alge-braic degree of the quantities involved is in the worst case at most 14.

Notice that the comparison of two algebraic numbers can also be per-formed, using the Bernstein-basis approach. Indeed, suppose that the twoalgebraic numbers α and β are defined by the polynomials p and q. Thenby computing their gcd and dividing by it, we may assume that p and q areco-prime. In this case, we can subdivide the isolation intervals of α and βusing Algorithm 7, until say, q has a constant sign on the interval Iα definingα. Then Iα can be set-subtracted from the interval Iβ defining β and thecomparison of α and β reduces to the easy comparison of the non-overlappingintervals Iα and Iβ .

Comparison of symbolic expressions.

Algorithms for the comparison of symbolic expressions representing algebraicnumbers can also used. Let E be a real algebraic expression given as directedacyclic graph (dag) (source nodes are operands and internal nodes are oper-ators). A separation bound sep(E) is a real number sep(E) > 0, that can becomputed easily from E, such that

val(E) = 0 or | val(E)| ≥ sep(E).

Separation bounds allow us to determine the sign of an expression bymeans of numerical computations. An error bound ∆ is initialized to somepositive value, say ∆ = 1, and an approximation ξ of ξ = val(E) with |ξ− ξ| ≤∆ is computed using approximate arithmetic, say floating point arithmeticwith arbitrary-length mantissa. If |ξ| > ∆, the sign of ξ is equal to the sign ofξ. Otherwise, |ξ| ≤ ∆ and hence |ξ| < 2∆. If 2∆ ≤ sep(E), we have ξ = 0. If2∆ > sep(E), we halve ∆ and repeat the process. The worst case complexityof the procedure just outlined is determined by the separation bound.

The following separation bound are taken from the article [73]. We needto define the weight D(E) of an expression, which is an upper bound onthe algebraic degree of the algebraic number defined by the expression. Theweight D(E) of an expression dag E is the product of the weights of the nodesand leaves of the dag. Leaves and +, −, · and / operations have weight 1, ak√ -node has weight k, and a !(j, Ed, . . .)-operation has weight d.

Let p(x) = xd + ad−1xd−1 + . . .+ a0 be a polynomial with real coefficients

ai. A root bound Φ(ad−1, . . . , a0) is an upper bound for the absolute value of

Page 151: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

140 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

all roots of p(x). One example for a root bound is the Lagrange-Zassenhausbound (see [345])

Φ(. . . , ai, . . .) = 2 maxi=0,...,d−1

d−i√

|ai|.

Theorem 6. Let E be a real algebraic expression with val(E) = ξ. Let u(E)and l(E) be defined inductively on the structure of E according to the followingrules:

u(E) l(E)

integer N |N | 1E1 ± E2 u(E1) · l(E2) + l(E1) · u(E2) l(E1) · l(E2)E1 · E2 u(E1) · u(E2) l(E1) · l(E2)E1/E2 u(E1) · l(E2) l(E1) · u(E2)

k√

E1 and u(E1) = 0 0 1k√

E1 and u(E1) ≥ l(E1) k√

u(E1)l(E1)k−1 l(E1)k√

E1 and u(E1) < l(E1) u(E1) k√

(u(E1)k−1l(E1))

(j, Ed, . . . , E0) Φ(. . . ,(l(E)d−i−1 u(Ed)

∏k =d

l(Ek)

u(Ei)∏

k =il(Ek)

), . . .)

Let D(E) be the weight of E. Then either ξ = 0 or(l(E)u(E)D(E)−1

)−1

≤ |ξ| ≤ u(E)l(E)D(E)−1

Separation bounds have been studied extensively in computer algebra [77,254, 345, 304] as well as in computational geometry [75, 343, 73, 242].

The separation bounds given above can be improved using the fact thatpowers of integers can be factored out from the number before computing theseparation bound [285, 306].

3.5 Multivariate Problems

Geometric problems in 3D often involve the solution of polynomial equationsin several variables. This problem can be reduced to a univariate problemand thus to the manipulation of real algebraic numbers, as follows. We areinterested in the case of zero-dimensional systems, i.e. systems that have onlyfinitely many complex solutions.

We denote by f1 = 0, . . . , fm = 0 the polynomial equations in K[x] =K[x1, . . . , xn] that we want to solve. The quotient ring K[x]/(f1, . . . , fm) ofpolynomials modulo f1, . . . , fm ∈ K[x1, . . . , xn] is denoted by A. In the casethat we consider here, where the number of complex roots is finite, the quotientalgebra A is a finite-dimensional vector space over K.

We consider the operators of multiplication Mg by an element g in thering A:

Mg : A → Aa → g a

Page 152: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 141

Then, the algebraic solution of the system is performed by analyzing theeigenvalues and eigenvectors of these operators. It is based on the next theoremwhich involves the transposed of the operators M t

g. By definition, M tg is acting

on the set of linear forms A on A. If ζ is a root of the polynomial systemf1 = 0, . . . , fm = 0, then the map 1ζ : g → g(ζ) is an element A.

Here is the main theorem from which we deduce the root computation:

Theorem 7. Assume that the set of complex solutions of f1 = 0, . . . , fs = 0is the finite set ζ1, . . . , ζd.1. Let g ∈ A. The eigenvalues of the operator Mg (and its transpose M t

g) areg(ζ1), . . . , g(ζd).

2. The common eigenvectors of (M tg) for g ∈ A are (up to a scalar) the eval-

uation 1ζ1 , . . . ,1ζd.

The first point of this theorem can be found in [39] and the second in [261].This theorems implies in particular that the common eigenvectors of the trans-pose of the operators Mx1 , . . . ,Mxn

of multiplication by x1, . . . , xn, corre-spond to the linear forms which evaluate a polynomial at a root. A numericalapproximation of these roots of the system can thus be obtained by comput-ing the common eigenvectors of these operators, using standard linear algebratools. See [39, 105, 261, 266, 328, 107, 143, 267] for more details on this ap-proach.

These operators can also be used to describe the solution points as theimage, by a rational map, of the roots of a univariate polynomial. In otherwords, the (real) coordinates of the solutions are rational functions evaluatedat real algebraic numbers whose defining equations can be deduced explicitlyfrom the matrices Mxi

. It leads to Algorithm 8, which yields the so-calledRational Univariate Representation (RUR) of the roots. For details on this

Algorithm 8 Rational Univariate Representation of the roots

Input: The tables Mx1 , . . . , Mxn of multiplication by x1, . . . , xn in A.

1. Compute the determinant ∆(u) := det(u0 I + u1 Mx1 + · · · + un Mxn) and itssquare-free part d(u).

2. Choose a generic t ∈ Kn+1 and compute the n + 1 first coefficients of

d(t + u) = d0(u0) + u1 d1(u0) + · · · + un dn(u0) + · · ·

considered as a polynomial in u1, . . . , un.

Output: the roots of the system f1 = 0, . . . , fm = 0 are

ζ1 =d1(α)

d′0(α)

, . . . , ζn =dn(α)

d′0(α)

for all roots α of the univariate polynomial equation d0(α) = 0.

Page 153: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

142 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

construction, see [247, 186, 298, 44, 142].The generic condition required in Algorithm 8 on t ∈ K

n+1 is that itseparates the roots:

∑ni=0 ζiti =

∑ni=0 ζ

′iti if ζ and ζ ′ are two distinct solutions

of the system. Methods to find a generic t are described for instance in [298].In order to get a minimal rational univariate representation, one can fac-

torize d0(u0) and keep the irreducible factors, which divide the numerator ofthe fraction obtained by substituting xi with di(u0)

d′0(u0)

.This Rational Univariate Representation (RUR) allows us to replace the

treatment of solutions of a multivariate system by the manipulation of alge-braic numbers of degree bounded above by the number of complex solutionsof the system.

Another important aspect is that we can compute a RUR of a polynomialsystem with coefficients in an algebraic extension Q[θ], for θ an algebraicnumber, i.e with coefficients in Q[x]/(p(x)), where p is the minimal polynomialof θ. Computing the tables of multiplication and the RUR of the roots overQ[θ] require field arithmetic operations and equality test in Q[θ], which areperformed easily by reduction modulo p.

3.6 Topology of Planar Implicit Curves

As an application of these algebraic techniques, we detail the computation ofthe topology of an implicit curve. It is a key ingredient of many geometricproblems including arrangement computation on arcs of curves, intersectionof surfaces, . . . . We consider first a curve C defined as the zero locus V(f)of a polynomial in two variables f(x, y) ∈ Q[x, y]. We can assume that fis square-free (otherwise, we perform Algorithm 6). In Section 3.6.1, we aregoing to present from a geometric point of view the way the topology iscomputed. In this computation, we need to manipulate algebraic numbers.In Section 3.6.2, we describe different algebraic tools allowing to certify thecomputation. Finally, in Section 3.6.3, we present an alternative to the firstalgorithm. As the condition of genericity is costly, we propose an algorithmpartially based on subdivision which deals with algebraic curves even not ingeneric position.

Before explaining how the algorithm works, we will give some definitions:

Definition 8 (Critical point). A point (α, β) of C = V(f) is x-critical iff(α, β) = ∂f

∂y (α, β) = 0.

Definition 9 (Singular point). A point (α, β) of C = V(f) is singular iff(α, β) = ∂f

∂y (α, β) = ∂f∂x (α, β) = 0.

Definition 10 (Regular point). A point (α, β) of C = V(f) is regular if itis not singular.

Definition 11 (Generic position). The curve C = V(f) is said to be ingeneric position if:

Page 154: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 143

• The leading coefficient of f with respect to y (polynomial in x) has no realroots.

• For every α in R, the number of critical points with x-coordinate α is atmost 1.

So in generic position, the curve has no vertical asymptote and its x-criticalpoints have different x-coordinates.

3.6.1 The Algorithm from a Geometric Point of View

In this section, we are going to present the geometric idea permitting to recoverthe topology of the curve from the computation of some particular points.

Algorithm 9 Topology of an implicit planar curve

Input: a polynomial f(x, y) ∈ Q(x, y) defining a curve C ⊂ R2 (up to a gcd-

computation and a change of variables, we can assume f is square-free and is monicin y).

1. Compute the subresultant sequence of f(x, y) and ∂f∂y

(x, y) viewed as polyno-mials in y.

2. Compute the x-critical points Pi = (αi, βi).3. Check that the curve is in generic position (see Section 3.6.2) and if it is not we

perform a random change of variables and restart from step 1.4. For each critical point Pi = (αi, βi), compute the number of regular points with

x-coordinate αi which are above and below Pi using Sturm sequences.5. Compute the number of arcs above a value between two successive abscissas

αi, αi+1, which is constant. It can be done for example choosing a rational x-coordinate a between αi and αi+1 and computing the number of real solutions off(a, y) = 0 using Sturm sequences. Then we compute numerical approximationsof those different points.

6. Construct the segments connecting the points computed before. For that pur-pose, consider a section x = αi, i.e. all the points of the curve with abscissas αi

and the next section x = αi+1 (see Figure 3.1).• Choose a rational point a ∈ ]αi, αi+1[ and compute the section corresponding

to x = a.• In the section x = αi, compute the number λi of points of C above (αi, βi)

and µi the number of points below.• Connect the λi points above (αi, βi) with the λi points of largest y-

coordinate of the section x = a, respecting the order on the y-coordinate.• Connect the µi points under (αi, βi) with the µi points of smaller y-

coordinate of the section x = a, respecting the order on the y-coordinate.After that, connect the remaining points of the section x = a to the criticalpoint (αi, βi).

Page 155: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

144 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

Fig. 3.1. Connections

3.6.2 Algebraic Ingredients

Computing the topology will lead us to the treatment of algebraic numbers.In this section, we come back to some delicate points of the algorithm. Weshow how to use the algebraic tools presented in the previous section to certifythese steps.

Computing the critical points:

Proposition 6. Let f be a square-free polynomial in R[x, y] of degree din y, such that C = V(f) is in generic position.Let Srj and srj denote the jth subresultant and subresultant coefficient off and ∂f

∂y (considered as polynomials in y). If (α, β) is a critical point ofC, then there exists k ∈ N

∗ such that:

sr0(α) = 0, . . . , srk−1(α) = 0, srk(α) = 0.

Moreover, we have: β = −1k

srk,k−1(α)srk(α) , where srk,k−1(x) denotes the coeffi-

cient of yk−1 in Srk−1(x, y).

So, we observe that in generic position, the y-coordinate β of a criticalpoint (α, β) is a rational expression of α.We define inductively a family of polynomials Γk(x):

Φ0(x) = sr0(x)gcd(sr0(x),sr′0(x))

Φ1(x) = gcd(Φ0(x), sr1(x)) Γ1 = Φ0(x)Φ1(x)

Φ2(x) = gcd(Φ1(x), sr2(x)) Γ2 = Φ1(x)Φ2(x)

Φ3(x) = gcd(Φ2(x), sr3(x)) Γ3 = Φ2(x)Φ3(x)

......

Φ0(x) = gcd(Φd−2(x), srd−1(x)) Γd−1 = Φd−2(x)Φd−1(x)

Page 156: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 145

We deduce that the square-free part Φ0(x) of sr0(x) can be written asΦ0 = Γ1(x).Γ2(x) · · ·Γd−1(x). If (α, β) is a critical point of C in genericposition, then α is a root of Φ0. It is in fact the root of one and only one ofthe Γi. And if α is a root of Γk, we have that sr1(α) = 0, . . . , srk−1(α) =0, srk(α) = 0. Thus gcd(f(α, y), ∂f

∂y (α, y)) = Srk(α, y) and β is the onlyroot of Srk(α, y) (with multiplicity k).

Generic position: An important operation that we have to perform, is to checkthat C is in generic position. If αi is the x-coordinate of a critical point,αi is the root of a certain Γk and we note this root αk

i . Then:

Proposition 7. The curve C is in generic position if and only if for everyαk

i , the polynomial Srk(αki , y) has only one distinct root which is βk

i =−1k

srk,k−1(α)srk(α) .

We have to check that Srk(αki , y) has only one distinct root where αk

i isdefined by a pair (Γk, ]a, b[), so that αk

i is the only root of Γk in ]a, b[. Wecompute a Sturm sequence for Srk(αk

i , y). It is a family of polynomialsin Q[αi][y]. So to apply Sturm’s theorem, we need to compute signs ofpolynomials expressions in αk

i . Such signs can be computed, using anotherSturm sequence.

Number of points above and under a critical one: Assume C is in generic po-sition. If Pα = (α, β) is a critical point of C, then we need to computethe number of regular points with x-coordinate α which are above andunder Pα. We can assume that α is a root of Γk. Then y-coordinatesof the regular points with abscissas α are the roots of the polynomialFk(α, β, y) = f(α,y)

(y−β)k . The coefficients of Fk(α, β, y) can be computed inan inductive way [185]. So as β is a rational expression of α we obtain thecoefficients of Fk(α, β, y) as rational expressions in α. We determine thenumber of roots of this polynomial such that y − β > 0 (resp. y − β < 0).This can be computed again using Sturm sequences [106].

3.6.3 How to Avoid Genericity Conditions

We have seen that to check the genericity position of a curve, we had to com-pute several Sturm sequences, which can be costly. An important improvementwould be able to deal with curves even not in generic position.

1. We compute the two resultants Resy(f, ∂yf) and Resx(f, ∂yf). This allowsus to compute isolating boxes, containing at most one x-critical point ofthe curve. Let B = ]a, b[× ]c, d[ be a box which contains an x-critical point(α, β). First, we refine (or delete) the box so that there is one and onlyone point with abscissa α in B. For that, we compute the Sturm sequenceof f(α, y) and compute the number of changes of sign on ]c, d[. We refinethe box until the number of changes is at most one (if it is 0, the box isempty and we delete it).

Page 157: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

146 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

2. Assume Pα,1, . . . , Pα,k are the x-critical points with abscissas α sortedaccording to their y-coordinate. After the first step Pα,i is isolated in a box]ai, bi[×]ci, di[. We compute the Sturm sequence of f(α, y) and ∂yf(α, y)and compute the number nk of points with y-coordinate bigger than dk.Then nk is the number of points above Pα,k, nk−1 −nk − 1 is the numberof points between Pα,k−1 and Pα,k, . . . ,n1 −n2 −1 is the number of pointsbetween Pα,1 and Pα,2. At last we compute the number of points withy-coordinate smaller than c1. We have a family of boxes correspondingto x-critical points with abscissas α. Up to refinement, we assume allthe boxes have the same x-coordinates a, b (the boxes are of the type]a, b[×]c, d[). What we want, is to refine the boxes so that if the box isB =]a, b[×]c, d[, then the curve C does not intersect the sides [(a, c), (b, c)]and [(a, d), (b, d)]. For that, we compute the Sturm sequences of f(x, c)and f(x, d) and we refine the size of the box until the number of signchanges (for the interval ]a, b[) is 0.

3. The next step consists of computing the number of points of intersec-tion of C with the side [(a, c), (a, d)] (resp. [(b, c), (b, d)]). This is done bycomputing the Sturm sequences of f(a, y) and ∂yf(a, y) (resp. f(b, y) and∂yf(b, y) ) on ]c, d[. We compute the number of points in an intermedi-ate section x = a ∈ Q (using the Sturm Sequence of f(x, y), ∂yf(x, y) atx = a.

4. The connections of the different points is made similarly as in the genericcase.

3.7 Topology of 3d Implicit Curves

We consider here an implicit curve in an affine space of dimension 3. Bydefinition, it is an algebraic variety CC = V(f1, . . . , fm) (fi ∈ R[x, y, z]) ofdimension 1 in C

3. We denote by I(CC) ⊂ R[x, y, z], the ideal of the curveCC (that is the set of polynomials which vanish on CC) and by g1, . . . , gs ∈R[x, y, z] a set of generators: I(CC) = (g1, . . . , gs). By Hilbert’s Nullstellensatz[107, 202], we have I(V(f1, . . . , fk)) =

√I ⊂ R[x, y, z]. It can be proved [141,

202], that 3 polynomials g1, g2, g3 ∈ R[x, y, z] are enough to generate I(CC).For simplicity, we will consider here that the curve is described as the

intersection of two surfaces P1(x, y, z) = 0, P2(x, y, z) = 0, with P1, P2 ∈R[x, y, z]. We assume that the gcd of P1 and P2 in R[x, y, z] is 1, so thatV(P1, P2) = CC is of dimension 1, and all its irreducible components are ofdimension 1. We are interested in describing the topology of the real part

CR = (x, y, z) ∈ R3, P1(x, y, z) = 0, P2(x, y, z) = 0,

that we will denote hereafter by C.In this section, we assume moreover that I(C) = (P1, P2) or equiva-

lently that (P1, P2) is a reduced ideal, that is equal to its radical: (P1, P2) =√(P1, P2).

Page 158: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 147

We will not consider examples such as P1 = x2+y2−1, P2 = x2+y2+z2−1,where (P1, P2) = (x2+y2−1, z2) and I(C) = (x2+y2−1, z), so that the curve Cis defined “twice” by the equations P1 = 0, P2 = 0 (the two surfaces intersecttangentially along C). Such a property can be tested by projecting into ageneric direction and testing if the equation computed from the resultantof P1, P2 is square-free, or by more general methods such as computing theradical of (P1, P2) [192].

The general idea behind the algorithm that we are going to describe isas follows: we use a sweeping plane in a given direction (say parallel to the(y, z) plane) to detect the critical positions where something happens. We alsocompute the positions where something happens in projection on the (x, y)and (x, z) plane. Then, we connect the points of the curve of C on these criticalplanes. This yields a graph of points, connected by segments, with the sametopology as the curve C.

3.7.1 Critical Points and Generic Position

In this section, we make more precise what we mean by the points wheresomething happens. These points will be called hereafter critical points.

Definition 12. Let I(C) = (g1, g2, . . . , gs) and let M be the s × 3 Jacobianmatrix with rows ∂xgi, ∂ygi, ∂zgi.

• A point p ∈ C is regular (or smooth) if the rank of M evaluated at p is 2.• A point p ∈ C which is not regular is called singular.• A point p = (α, β, γ) ∈ C is x-critical (or critical for the projection on

the x-axis) if the curve C is tangent at this point to a plane parallel to the(y, z)-plane i.e., the multiplicity of intersection of the plane with I(C) at pis greater or equal to 2. The corresponding α is called an x-critical value.

A similar definition applies to the orthogonal projection onto the y and z axisor onto any line of the space. Notice that a singular point is critical for anydirection of projection.

If I(C) = (P1, P2), then the x-critical points are the solutions of the system

P1(x, y, z) = 0, P2(x, y, z) = 0, (∂yP1∂zP2 − ∂yP2∂zP1)(x, y, z) = 0. (3.1)

In the case of a planar curve defined by P (x, y) = z = 0, with P (x, y)square-free so that I(C) = (P (x, y), z), this yields the following definitions: apoint (α, β)

• is singular if P (α, β) = ∂xP (α, β) = ∂yP (α, β) = 0.• is x-critical if P (α, β) = ∂yP (α, β) = 0.

This allows us to describe the genericity condition that we require for thecurve C, in order to be able to apply the algorithm:

Page 159: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

148 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

Definition 13 (Generic position). Let

Nx(α) = # (β, γ) ∈ R2 | (α, β, γ) is an x-critical point of C .

We say that C is in generic position for the x-direction, if

• ∀α ∈ R, Nx(α) 1, and• there is no asymptotic direction of C parallel to the (y, z)-plane.

By a random change of variables, the curve can be put in a generic position. Inpractice, instead of changing the variables, we may choose a random directionfor the sweeping plane.

3.7.2 The Projected Curves

The algorithm that we are going to describe, uses the singular points of theprojection of C onto the (x, y) and (x, z)-planes. We denote by C′ (resp. C′′)the projection of the curve C onto the (x, y) (resp. (x, z))-plane. The equationof the curve C′ is obtained as follows. We decompose the polynomials P1, P2

in terms of the variable z:

P1(x, y, z) = ad1(x, y)zd1 + ...+ a0(x, y)

P2(x, y, z) = bd2(x, y)zd2 + ...+ b0(x, y)

with ad1(x, y) = 0 and bd2(x, y) = 0. Then, the resultant polynomial

G(x, y) = Resz(P1, P2)

vanishes on the projection of the curve C on the plane (x, y). Conversely,by the resultant theorem [236, 142] (see also Section 3.4.1), ad1(x, y) and ifthe gcd c(x, y) of ad1(x, y) and bd2(x, y) in R[x, y] is 1 then ad1(x, y) andbd2(x, y) do not vanish simultaneously on a component of dimension 1 of theprojection C′ of the curve C. So G(x, y) = 0 defines C′ and a finite numberof additional points. If it’s not the case, G is a non-trivial multiple of theimplicit equation of C′. Such a situation can be avoided, by a linear changeof variables. Nevertheless, since the critical points of the curve defined byG(x, y) = 0 contains the critical points of C′, we will see hereafter that thischange of variables is not necessary.

Notice, that G(x, y) is not necessarily a square-free polynomial. Considerfor instance the case P1 = x2 + y2 − 1, P2 = x2 + y2 + z2 − 2, where G(x, y) =(x2 + y2 − 1)2. In this case, there are generically two (complex) points of Cabove a point of C′.

We can easily compute the gcd of G(x, y) and ∂yG(x, y) in order to getthe square-free part g(x, y) = G(x, y)/ gcd(G(x, y), ∂yG(x, y)) of G(x, y).

Similarly, for the projection C′′ of C on the (x, z)-plane, we compute

H(x, z) = Resy(P1, P2),

Page 160: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 149

and its square-free part h(x, z) from the gcd of H(x, z) and ∂zH(x, z). Theequation h(x, z) = 0 defines a curve which is exactly C′′, if the gcd of theleading components of P1, P2 in y is 1. Its set of singular points contains thoseof C′′.

In order to analyze locally the projection of the curve C, we recall thefollowing definition:

Definition 14. [338] Let X be an algebraic subset of Rn and let p be a point

of X. The tangent cone at p to X is the set of points u in Rn such that there

exists a sequence of points xk of X converging to p and a sequence of realnumbers tk such that limk→+∞ tk(xk − p) = u.

Notice, that at a smooth point of C, the tangent cone is a line.

Proposition 8. Let p′ = (α, β) be an x-critical point of C′, which is notsingular. Then α is the x-coordinate of an x-critical point of C.

3.7.3 Lifting a Point of the Projected Curve

The problem we want to tackle here is the following: Assume we are giventwo surfaces defined by two implicit equations P1 = 0 and P2 = 0. Let usconsider the projection of the curve of intersection of the two surfaces on the(x, y)-plane.

Starting from a point (x0, y0) of the projected curve, how can we find(a numerical approximation of) the z-coordinate of the point(s) above(x0, y0)?

We note p(z) = P1(x0, y0, z), q(z) = P2(x0, y0, z) and d = deg(p), d′ = deg(q).Consider the Sylvester submatrix Syl1(x0, y0) of the mapping

R[z]d′−2 ⊕ R[z]d−2 −→ R[z]d+d′−2

(u, v) → p u+ q v

If ξ is a common root of p and q then (1, ξ, . . . , ξd+d′−2) is in the kernelof the transpose of Syl1(x0, y0). If we assume that Syl1(x0, y0) is of maxi-mal rank, and if ∆i denotes the minor of Syl1(x0, y0) obtained by removingthe row i, then the (non-zero) vector [∆1,−∆2, . . . , (−1)d+d′−1∆d+d′−1] isin the kernel of the transpose of Syl1(x0, y0). Thus (1, ξ, . . . , ξd+d′−2) and[∆1,−∆2, . . . , (−1)d+d′−1∆d+d′−2] are linearly dependent. We deduce thatξ = −∆d+d′−1

∆d+d′−2 = −S1,0(x0,y0)S1,1(x0,y0)

.This method allows us to lift a point on C, if there is only one point above

(x0, y0), but it can be generalized when there are several points above. Thisgeneralization is closely related to the subresultant construction of univariatepolynomials [330]. Here we want to exploit linear algebra tools from a numer-ical perspective. The aim is to make the matrix of multiplication by z in thequotient algebra R[z]/(P1(x0, y0, z), P2(x0, y0, z)) appear, in order to computeits eigenvalues which yields z-coordinate of the points above (x0, y0) [142].

Page 161: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

150 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

We proceed as follows: Given a point (x0, y0) of the projected curve C′,we construct the Sylvester matrix associated to P (z), q(z). By construction,the columns of this matrix are P, z P, . . . , zd′−1 P, q, z q, . . . , zp−1 q, written inthe basis 1, z, . . . , zd+d′−1. Assume that the kernel of the transposed Sylvestermatrix Syl(x0, y0) has dimension d and is generated by Λ1, . . . , Λd.By transposition, we can interpret the Λi (i = 1 . . . d) as linear formsover Qd+d′−1[z] vanishing on P, z P, . . . , zd′−1 p, q, z q, . . . , zd−1 q. We can ex-tend the Λi over R[z], considering that these forms vanish over all theideal generated by p and q. So they can be considered as elements of thedual of A = R[z]/(p(z), q(z)). As the linear forms Λi are independent,they also form a basis of this dual space. The coefficients of Λi in thedual basis (1∗, . . . , (zd−1)∗) of the monomial basis 1, z, . . . , zd−1 of A are[Λi(1), Λi(z), . . . , Λi(zd−1)]. By definition of the transposed operator, for anya ∈ A, M t(Λi)(a) = Λi(Mz(a)) = Λi(z a). Thus we have the relation:

⎜⎝

Λ1(z) . . . Λd(z)...

...Λ1(zd) . . . Λd(zd)

⎟⎠ = M t

z

⎜⎝

Λ1(1) . . . Λd(1)...

...Λ1(zd−1) . . . Λd(zd−1)

⎟⎠

where Mz is the operator of multiplication by z in R[z]/(p(z), q(z)). Asd = dim ker(Syl(x0, y0)) = dim A, and as (1, z, ..., zd−1) form a basis of thequotient space, the matrix

⎜⎝

Λ1(1) . . . Λd(1)...

...Λ1(zd−1) . . . Λd(zd−1)

⎟⎠

is invertible. We deduce that computing the generalized eigenvalues of theprevious matrices yields the eigenvalues of the operator Mz of multiplicationby z in A, that is the z-coordinate of the points above (x0, y0).

We summarize the algorithm here:

Algorithm 10 Lifting the projection

• Compute the Sylvester matrix S = Syl(x0, y0).• Compute a basis Λ1, . . . , Λd of the kernel of St.• Extract the submatrix A0 of the coordinates of Λ1, . . . , Λd corresponding to the

evaluations in 1, . . . , zd−1.• Extract the submatrix A1 of the coordinates of Λ1, . . . , Λd corresponding to the

evaluations in z, . . . , zd.• Compute the generalized eigenvalues of A1 and A0 and output the corresponding

z-coordinates of the point above (x0, y0).

The last step can be replaced by the computation of det(A1−z A0) and a univariateroot finding step.

Page 162: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 151

3.7.4 Computing Points of the Curve above Critical Values

In this section, we are going to describe how we check the genericity conditionand how we compute a finite set of points, which will allow us to deduce thetopology of C.

First, we check that there is no asymptotic direction parallel to the (y, z)-plane, by testing if the curve C has a point at infinity in the plane x = 0. Thisis done by checking if the system

P1

∆(0, y, z) =

P2

∆(0, y, z) = 0

has a non-trivial solution, where P is the homogeneous component of highestdegree of a polynomial P and ∆ = gcd(P

1 , P2 ). It reduces to computing the

projective resultant of these two homogeneous polynomials. Since the numberof asymptotic directions of C is finite, by a generic linear change of variables,we can avoid the cases where C has an asymptotic direction parallel to the(y, z)-plane.

Next, we compute the x-critical points of C by solving the system (3.1),using Algorithm 8. This computation allows us to check that the system iszero-dimensional and that the x-coordinates of the real solutions are distinct.If this is not the case, we perform a generic change of coordinates.

The cases for which we have to do a change of coordinates are those wherea component of C is in a plane parallel to (y, z) or where a plane parallelto (y, z) is tangent to C in two distinct points. Such cases are avoided by ageneric change of coordinates.

We denote by Σ0 = σ01 , . . . , σ

0k0

the x-coordinates of the x-critical points:σ0

1 < · · · < σ0k0

.Next, we compute the singular points of C′ as (a subset of) the real solu-

tions of the system

g(x, y) = 0, ∂xg(x, y) = 0, ∂yg(x, y) = 0, (3.2)

and of C′′, as (a subset of) the real solutions of

h(x, z) = 0, ∂xh(x, z) = 0, ∂zh(x, z) = 0. (3.3)

We denote by Σ1 = σ11 , . . . , σ

1k1

the x-coordinates of these singular points:σ1

1 < · · · < σ1k1

.An important property of the projected curves C′ and C′′, that will be used

in the algorithm, is the following:

Proposition 9. The arcs of the curve C′ (resp. C′′) above ]σi, σi+1[ do notintersect.

Let k(x) be the square-free part ofResy(g(x, y), ∂yg(x, y))∗ Resz(h(x, z), ∂zh(x, z)). We consider the zero-dimensional system:

Page 163: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

152 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

⎧⎨

k(x) = 0P (x, y, z) = 0Q(x, y, z) = 0

Computing generalized normal forms and computing a Rational UnivariateResolution of this system (see Section 3.5), we obtain a representation of thesolutions of this system as:

⎧⎪⎪⎨

⎪⎪⎩

f0(T ) = 0x = f1(T )y = f2(T )z = f3(T )

3.7.5 Connecting the Branches

The approach that we are going to describe now for the branch connection, canbe seen as an extension of the approach of [191, 185] to the three-dimensionalcase.

The previous step yields a sequence of strictly increasing values

Σ = σ1, . . . , σl,

such that above ]σi, σi+1[, the branches of C are smooth and the arcs of C′, C′′

do not intersect. We will use this property to connect the points of C abovethe values σi. Notice that Proposition 9 is still true if we refine the sequenceσ1, . . . , σl. In particular, it is valid if we consider the x-coordinates of thesingular points of a curve, defined by a multiple of the equation of C′ (resp.C′′). It is also valid, if we insert new values in between these critical values:δ0 < σ1 < µ1 < · · · < σl < δ1, where µi := σi+σi+1

2 for i = 0, . . . , l − 1, andδ0, δ1 are any value such that ]δ0, δ1[ contains Σ. We denote by

α0 < · · · < αm

this new refined sequence of values and by Li, the set of points on C aboveαi, for i = 0, . . . ,m. These points are computed, either

• by substituting x = αi and solving the 2-dimensional system P1(αi, y, z) =0, P2(αi, y, z) = 0.

• or by computing the points of C′ above αi and by lifting them to C (Algo-rithm 10).

This construction implies the following lemma, which is used in the nexttheorem, in order to describe how the computed points have to be connected:

Lemma 3. Two distinct points of a regular section of C with the same y-coordinate (resp. z-coordinate) are connected to two points of the next section,with the same y-coordinate (resp. z-coordinate) or to a critical point.

Page 164: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 153

Theorem 8. Under the genericity condition of Definition 13, the curve Cconnects the points Li to the points Li+1, only in one way.

To summarize, the connection of the branches from one plane section of Cto the next one, is performed as follows:

Algorithm 11 Connecting the branches

If there is no x-critical point in Li and possibly an x-critical point c of C in Li+1,do the following:

1. Decompose Li+1 into the subsets V ′1 , . . . , V ′

k of the points with the same y-coordinate, listed by increasing y. Let sj = |V ′

j |.2. Compute the index j0 such that c ∈ V ′

j0 . Decompose Li into the subsetsV1, . . . , Vk in the following way:• For j > j0, Vj is the set of sj greatest points for the lexicographic order with

x > y > z, among Li − ∪l>jVl.• For j < j0, Vj is the set of sj smallest points for the lexicographic order,

among Li − ∪l<jVl.• Vj0 is the remaining set of points Li − ∪l=j0Vl.

3. For j = j0 connect the points of Vj to the points of V ′j , according to there

z-coordinates, by segments.4. For j = j0, let A′

j0 (resp. B′j0) be the set of regular points of V ′

j0 , with z-coordinate < z(c) (resp. > z(c)).

• Connect the |A′j0 | points of smallest z-coordinates in Vj0 to the points in

A′j0 , according to their z-coordinate, by segments.

• Connect the |B′j0 | points of greatest z-coordinates in Vj0 to the points in

B′j0 , according to their z-coordinate, by segments.

• Connect the remaining points in Vj0 to c, by segments.

If there is a x-critical point of C in Li, exchange the role of Li and Li+1 in theprevious steps.

Proposition 10. Assume that we are in a generic position. Then the topologyof the curve above the segment [αi, αi+1] is the same as the set of segmentsproduced by the Algorithm 11.

3.7.6 The Algorithm

We summarize the complete algorithm below:

Remark 1. This algorithm can be easily adapted to the computation of thetopology of C in a box (resp. bounded domain), by considering the points onthe border of the box (resp. domain) as x-critical points.

Remark 2. By a generic change of variables, the set of x-coordinates of thex-critical points of C′ will contain those of C and the resolution of the system

Page 165: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

154 B. Mourrain, S. Pion, S. Schmitt, J-P. Tecourt, E. Tsigaridas, N. Wolpert

Algorithm 12 Topology of the curve C ⊂ R3 defined by two polynomials

Input: polynomials P1(x, y, z), P2(x, y, z) ∈ Q[x, y, z].

• Compute the x-critical points of C and their x-coordinates Σ := σ01 , . . . , σ0

kwith σ0

1 < · · · < σ0k.

• Check the generic position; If the curve is not in a generic position, apply arandom change of variables and restart from the first step.

• Compute the square-free part g(x, y) of Resz(P1, P2).• Compute the square-free part h(x, z) of Resy(P1, P2).• Compute the singular points of the curves g(x, y) = 0 and h(x, z) = 0 and insert

their x-coordinate in Σ.• Compute the µi, δ0, δ1 and the ordered sequence α1 < · · · < αl. Above each αi

for i = 1, . . . , l, compute the set of points Li on the curve C.• For each i = 0, . . . , l−1, connect the points Li to those of Li+1 by Algorithm 11.

Output: the graph of 3D points connected by segments, with the same topology asthe curve C.

(3.1) can be replaced by the computation of the x-critical points of C′ and bya lifting operation on C. This allows us to treat unreduced curves, such thatI(C) = (P1, P2), by using only the square-free part of G(x, y) and H(x, z).However the verification, a posteriori, of the correctness of the result is moredelicate.

3.8 Software

The algebraic-geometric computation that we have seen, is based on an exactarithmetic model, which may involve large size numbers. The library gmp

[6] provides tools for manipulating integer and rational numbers of arbitrarysize. There are also tools for manipulating floating point numbers of arbitrarysize. If control over the precision and the rounding mode of each operationare needed, one can also use mpfr, developed in the same spirit [10].

Cgal [2] provides interval arithmetic, as well as a simple multi-precisionfloating point type able to evaluate signs of polynomials over floating pointinput exactly, it also interfaces with external libraries such as gmp and leda

for multi-precision computations. Cgal also provides generic mechanisms toapply filtering techniques to its own kernel of geometric primitives as wellas user defined primitives [282, 283, 69]. Finally, Cgal provides some fine-tuned statically filtered predicates [252] for Delaunay triangulations and otherclassical geometric algorithms.

boost [1] provides a generic implementation of interval arithmeticwhich can be used in many other contexts [71]. Finally, mpfi [9]provides interval arithmetic with multiple-precision bounds based onmpfr [10]. Other resources on interval computations can be found at

Page 166: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

3 Algebraic Issues in Computational Geometry 155

http://www.cs.utep.edu/interval-comp/main.html, together with manyother interval arithmetic libraries.

There are several implementations of algebraic numbers which use theseparation bound approach for comparison. The leda library [76] implementsreal algebraic root expressions (without the !-operator) using the bound givenabove. The improved separation bound [285, 306] and the diamond operatorare implemented in [173]. They will be included in the leda library soon.

The core library [3] implements real algebraic expression using severaldifferent separation bounds.

A package of the library synaps [13] is devoted to the treatment of alge-braic numbers represented by an isolating interval and a square-free polyno-mial of Z[x]. The specialization for small degree developed by E. Tsigaridasand I. Emiris is available there. The isolation and comparison of small degreealgebraic numbers are given by precomputed formulas. For higher degrees, iso-lation and comparison methods based on the Bernstein subdivision methodor on the Sturm-Habicht computations are also implemented.

Regarding multivariate polynomial systems solving, one can also find insynaps [13] solvers based on normal form computation (developed by Ph.Trebuchet) or subdivision solvers (developed by J.P. Pavone), which are veryinteresting for filtering purposes. Implementation of polynomial solvers basedon Grobner computation are also available in gbrs [5], or singular [12].

Regarding the topology of implicit curves, implementations of the sweepingalgorithm and of other methods based on subdivision techniques are availablein synaps [13].

Page 167: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

4

Differential Geometry on Discrete Surfaces

David Cohen-Steiner and Jean-Marie Morvan

Point clouds and meshes are ubiquitous in computational geometry and itsapplications. These subsets of Euclidean space represent in general smoothobjects with or without singularities. It is then natural to study their geom-etry by mimicking the differential geometry techniques adapted for smoothsurfaces. The aim of the following pages is to list some geometric quantities(length, area, curvatures) classically defined on smooth curves or surfaces,and to define their analog for discrete objects, justifying our definition by acontinuity property: if a sequence of discrete objects tends (in a certain sense)to a smooth object, do the corresponding geometric quantities tend to theones of the smooth object?

4.1 Geometric Properties of Subsets of Points

Consider a subset S of points of a vector space E, and G a group acting onE. We say that a quantity Q associated to S is geometric with respect to Gif the corresponding quantity associated to g(S) is the same, for all g ∈ G.For instance, if E

N is the N -dimensional Euclidean space endowed with itsstandard scalar product, any metric quantity associated to S is geometricwith respect to the group of rigid motions: the diameter of S, the area ofthe convex hull of P are examples of geometric quantities. But the distancefrom the origin O to the closest point of S is not, since it is not invariantunder translation. It is important to point out that the fact to be geometricdepends on the group. For instance, let G be the group of rigid motions ofE

N and let G1 be the group of projective transformations of EN . Then, the

property of S being a circle is geometric for G but not for G1, while theproperty of being a conic or a straight line is geometric for G and G1. In thefollowing, we consider only the group G of rigid motions, which seems to bethe simplest and the most useful one for our purpose. But it is clear that

Chapter coordinator

Page 168: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

158 D. Cohen-Steiner, J-M. Morvan

other interesting studies have been done in the past, and will be done in thefuture with different groups, as affine group, projective group, quaternionicgroup, etc...

We are interested in geometric quantities which are continuous in a certainsense. Indeed, if one wants to evaluate a quantity Q(S) defined on S, but ifone can only approximate S by S ′, one would like to evaluate the quantityQ(S ′), hoping that the result is not too far from Q(S). In other words, wewould like to have:

if limn→∞

Sn = S, then limn→∞

Q(Sn) = Q(S).

Remark that this claim is incomplete since we did not specify the topologyon the set of subsets S of E

N . The simplest one is the Hausdorff topology,but we shall see that it not enough in general. However, if one only considersconvex subsets, then a beautiful theorem of Hadwiger [229] states that thespace of Hausdorff-continuous additive geometric quantities is spanned bythe so-called intrinsic volumes. Examples of intrinsic volumes are length forcurves, area for surfaces, but also integrals of mean and Gaussian curvature(for smooth convex sets). These examples, which we will study in more detailin what follows, actually exhaust all possibilities for curves and surfaces. Otherquantities than intrinsic volumes can be studied along the same lines. Forexample, recent work by Hildebrandt et. al. [207], which is not covered in thisbook, proves convergence results for shortest geodesics and Laplace-Beltramioperators.

To classify geometric quantities (as we said, we only consider quantitiesinvariant by rigid motions), we can try to use differential geometry. In fact,some of them can usually be defined when S is “smooth”, or at least “contin-uous”. Involving these particular characteristics, we can try to classify themby the order of differentiability.

Definition 1. Let Q be a geometric quantity associated to a smooth subman-ifold M embedded in E

N . We say that the order of Q is k if Q involves thedifferentials of order k of the embedding of M .

We must remark that this definition is ambiguous, since, a priori, Q canbe computed in many ways involving different degrees of differentiability.

4.2 Length and Curvature of a Curve

4.2.1 The Length of Curves

Any book of differential geometry begins with curves in E2 or E

3, (see [51],[112] for instance). The length of a segment is classically given by the Eu-clidean distance between its two endpoints. The length of a polygon is the

Page 169: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

4 Differential Geometry on Discrete Surfaces 159

sum of the length of its edges. Let us now consider the length l(C) of a C1-curve of E

2

C : [0, 1] → E2.

It is well known that l(C) can be computed in two different ways. Using thedifferential of C, one defines l(C) by

l(C) =∫ 1

0

‖C ′(t)‖dt. (4.1)

With the point of view of Sect. (4.1), the length appears as a quantity of order1. Another definition uses polygons inscribed in C. Take all subdivisions s =(0, x1, ..., xn, 1) of the segment [0, 1], and compute the length of the polygonlines

(C(0), C(x1), ..., C(xn), C(1)).

The supremum of these numbers, when s describes the set S of all subdivisionsof [0, 1] is the length of C:

l(C) = sups=(0,x1,...,xn,1)∈S

l((C(0), C(x1), ..., C(xn)). (4.2)

Using the mean value theorem, it can be proved that these two definitionsare equivalent. However, the second one can be given for a more general classof curves, (that is, the class of curves for which (4.2) is finite - the rectifiablecurves-). Remark that (4.1) and (4.2) imply immediately a convergence theo-rem: if Pn is a sequence of polygons inscribed in C, whose Hausdorff limit isC, then

limn→∞

l(Pn) = l(C). (4.3)

However, this theorem cannot be extended to polygon which are not inscribedin C. Finally, remark that we have defined a (classical) geometric quantity -thelength- in two different contexts, (discrete and smooth) and we have studied acontinuous property as a bridge between them. This gives a general frameworkto study other geometric quantities such as curvatures. We shall follow thisapproach in the next sections.

4.2.2 The Curvature of Curves

The Curvature of a Planar Smooth Curve

A typical example of a geometric property of order 2 is the curvature k(p) ofa (regular) curve C at a point p. To compute it, we first need to calculate theunit tangent vector field t, which involves a first derivative, and then take thederivative of the result. Using the arclength s,

(dt

ds

)

p

= k(p)n(p),

Page 170: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

160 D. Cohen-Steiner, J-M. Morvan

where n is the normal vector field of C. If the geometric image of the curveC is smooth enough, it can be locally represented by the graph (x, f(x)) ofa smooth function f , such that p = (0, 0), (i.e. f(0) = 0), and such that thetangent to C at p is collinear to the x-axis, (i.e. f ′(0) = 0). Then, k(p) =f

′′(0). Let ν = f

′′′(0). Near p = (0, 0) we have

f(x) =kx2

2+νx3

6+ o(x3).

The Curvature of a Polygonal Line in E2

By analogy with the smooth case, one can define the curvature k(p) of a polyg-onal line at one of its interior vertices p (i.e. different from the endpoints):

Definition 2. Let P be an (oriented) polygonal line of E2 and p be one of

its interior vertices. Let ∠(p) ∈ [0, π) be the turning angle between the twoconsecutive edges e1, e2 adjacent to p, of length η1, η2. The curvature k(p) ofP at p is defined by the angular defect

k(p) =π − ∠(p)

η

where η = (η1 + η2)/2.

So, k(p) vanishes when the two edges are collinear.

An Approximation Theorem

The previous definition allows us to get an approximation theorem: one canestimate the curvature of a curve from the angular defect α of an inscribedpolygon. See [51] and [68] for details.

Theorem 1. Let p, q and r be three consecutive vertices on C, with η thedistance from q to p and η′ the distance from q to r. Then the angular defectk(p) and the curvature k(p) of C at p satisfy:

• if η = η′:k(p) = k(p) + o(η),

• if η = η′:k(p) = k(p) + o(1).

as η and η′ go to zero.

Thus, we can conclude that the angular defect is a good approximation ofthe curvature of the curve provided the edges are short enough.

Page 171: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

4 Differential Geometry on Discrete Surfaces 161

4.3 The Area of a Surface

4.3.1 Definition of the Area

If T is a triangle, its area is given by: A(T ) = 12bh, where b is a basis of T and h

the corresponding height. Summing the areas of all the facets of a triangulatedpolyhedron, one deduces a definition of the area of any polyhedron, (afterhaving proved that the result does not depend on the chosen triangulation).Let M be a parametric surface, M = x(U), where U is a domain of E

2 (withcoordinates (u, v)), and x : U → E

3 is a smooth embedding. The area A(M)of M involves the first derivatives of x:

A(M) =∫

U

‖xu ∧ xv‖dudv.

If T is a triangle, the previous definition is consistent with the first one. Moregenerally, area can be defined for a very large class of subsets of Euclideanspace, using measure theory. If S is any subset of points of E

3, the area ofS is the 2-dimensional Hausdorff measure H2(S) [258]. These definitions areequivalent in the smooth case. An important problem is to know if one has acontinuity property similar to equation 4.3. The answer is negative in general,as the following classical example shows. Let us build a 2-parameter familyof generalized Schwarz lanterns [51] (two of them are displayed in Fig. 4.3.1)Let C be a cylinder of finite height H and radius r in E

3. Let P (n,m) be atriangulation inscribed in C defined as follows: consider m+ 1 circles on thecylinder C obtained by intersecting C by 2-planes orthogonal to the axis ofC. Inscribe on each circle a regular n-gon such that the n-gon on the slice kis deduced from the n-gon of the slice k − 1 by a rotation of angle π

n . Thenjoin each vertex v of the slice k − 1 to the two vertices of the slice k whichare nearest to v. One obtains a triangulation whose vertices vi,j are definedas follows:

∀i ∈ 0, ..n− 1,∀j ∈ 0, ..m,

vi,j = (r cos(iα), r sin(iα), jh) if j is even,vi,j = (r cos(iα+ α

2 ), r sin(iα+ α2 ), jh) if j is odd,

and whose faces are:vi,j vi+1,j vi,j+1,vi,j vi−1,j+1 vi,j+1,

where α = 2πn and h = H

m .

Then when n tends to infinity, a simple computation shows that

limn→∞

A(P (n,m)) = 2πrH

1 +m2π4r2

4n4H2.

In particular,

Page 172: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

162 D. Cohen-Steiner, J-M. Morvan

Fig. 4.1. Examples of half Schwarz Lanterns

limn→∞

A(P (n, n2)) = 2πrH

1 +r2π4

4H2= A(C),

andlim

n→∞A(P (n, n3)) = ∞,

although C is the Hausdorff limit of both P (n, n2) and P (n, n3). This showsthat there exists sequences of triangulations inscribed on a (smooth) surfaceM whose Hausdorff limit is M , but whose area tends to infinity, or to a limitdifferent from the area of M .

4.3.2 An Approximation Theorem

Our purpose here is to get conditions under which two close surfaces haveclose areas. This problem is studied in details in [260]. Let M be a compactsmooth surface of E

3. There exists a maximal open set Um of E3 containing M

on which the orthogonal projection pr onto M is well defined and continuous.We need to be more precise to state our results, and use the notion of reachintroduced by H. Federer, [161], [162]:

Definition 3. Let A be any subset of EN and a ∈ A.

1. We denote by reach(A, a) the supremum of the real numbers r such thatevery point of the ball of radius r and center a has an unique projectionon A, (realizing the distance dA(m) from m to A):

reach(A, a) = supr ∈ R|p : |p− a| < r ⊂ UA.

Page 173: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

4 Differential Geometry on Discrete Surfaces 163

2. The reach of A is defined as the infimum of the values of reach(A, a) fora in A. We denote by Ur(A) the tubular neighborhood of A whose radiusis the reach r of A.

It can be shown that convex sets and C2-submanifolds are subsets withpositive reach. However non-convex polyhedra are not! In [260] is introducedthe following:

Definition 4. Let M be a smooth surface of E3.

• The function ωM : Ur(M) → R defined by

ωM (p) = ‖pr(p) − p‖ρpr(p)

(where ρpr(p) denotes the maximum of the two principal curvatures of Mat pr(p)) is called the relative curvature function of M on Ur(M), see 4.4.1for the definitions of the principal curvatures.

• If P is any subset lying in Ur(M) the real number

ωM (P ) = supp∈P

ωM (p),

is called the relative curvature of P with respect to M .

Following [170] and [260], we introduce the

Definition 5. Let m be a smooth surface of E3.

• A subset P of E3 is nearly parallel to M if it lies in Ur(M), where r is

the reach of M and if the restriction of pr to P is one-to-one.• A polyhedron of E

3 is closely inscribed in M if both its vertices lie inM and it is nearly parallel to M .

If P is a surface nearly parallel to M and is differentiable almost every-where, we define at almost every point p of P the angle αm ∈

[0, π

2

]between

the tangent planes TpP and Tpr(p)M and we call it the deviation at p. We put

αmax = maxp∈P

αp,

αmin = minp∈P

αp.

Theorem 2. Let P be a surface nearly parallel to M . Then,

cosαmax

(1 + ωM (P ))2A(P ) ≤ A(M) ≤ cosαmin

(1 − ωM (P ))2A(P ).

If the surface M is compact, then ρ is bounded. So we deduce from theprevious theorem the following

Corollary 1. Let M be a compact orientable smooth surface in E3. Let Pn be

a sequence of almost everywhere differentiable surfaces nearly parallel to M .If

Page 174: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

164 D. Cohen-Steiner, J-M. Morvan

• the Hausdorff limit of Pn is M , when n goes to infinity, and• the angle between tangent planes TpPn and Tpr(p)M tends to 0 almost

everywhere when n goes to infinity, then:

limn→∞

A(Pn) = A(M).

Since we only need that the surfaces Pn are diffentiable almost everywhere,we can apply Corollary 1 to a sequence of polyhedra:

Corollary 2. Let M be a compact orientable C2 surface in E3. Let Pn be a

sequence of triangulated polyhedra closely inscribed in M . If both

1. the Hausdorff limit of Pn is M when n goes to infinity, and2. cr(Pn) tends to 0 when n goes to infinity, (where cr(Pn) denotes the supre-

mum of the circumradii of the triangles of Pn), then:

limn→∞

A(Pn) = A(M).

Indeed, it can be proved that the angle between the tangent plane to atriangle t inscribed in a smooth surface and the surface tangent plane at anyvertex of t is O(cr(t)) [260].

4.4 Curvatures of Surfaces

Now we deal with curvatures of surfaces. They are quantities of order 2 inthe smooth case. We first give the standard definitions of curvatures in thesmooth case. Then we give a pointwise convergence result for the (Gauss)curvature of a sequence of polyhedra approximating a smooth surface. As wewill see, the shortcomings of this theorem lead us to adopt a different pointof view.

4.4.1 The Smooth Case

Let us first recall some basic definitions and notations in the case of a smoothsurface M bounding a compact solid V ⊂ E

3. The unit normal vector at apoint p ∈ M pointing outward V will be referred to as n(p). Note that Mis thereby oriented. Given a vector v in the tangent plane TpM to M at p,the derivative of n(p) in the direction v is orthogonal to n(p) as n(q) has unitlength for any q ∈ M . The derivative Dpn of n at p thus defines an endomor-phism of TpM , known as the Weingarten endomorphism, or shape operator 1.The Weingarten endomorphism can be shown to be symmetric; the associ-ated quadratic form is called the second fundamental form. Eigenvectors andeigenvalues of the Weingarten endomorphism are respectively called principal

1for some reason, most authors add a minus sign in the definition of the Wein-garten endomorphism.

Page 175: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

4 Differential Geometry on Discrete Surfaces 165

directions and principal curvatures. Both principal curvatures can be recov-ered from the trace and determinant of Dpn, also called mean 2and Gaussiancurvature at p, respectively denoted by H(p) and G(p). Fig. 4.4.1 shows thegeometric meaning of the second fundamental form at a point p : applied toa unit vector v in the tangent plane at p, it yields the signed curvature of thesection of the surface by the plane spanned by n(p), v, and passing throughp. Principal directions, displayed in bold, correspond to the values of v wherethe second fundamental form is maximal or minimal. According to the sign ofthe Gaussian curvature, one gets three different cases, respectively depictedin Fig. 4.4.1: elliptic (positive), parabolic (zero), and hyperbolic (negative).

p

n(p)

v

p

n(p)

v

pn(p)

v

Fig. 4.2. The second fundamental form

4.4.2 Pointwise Approximation of the Gaussian Curvature

Gaussian Curvature of a Polyhedron

Consider now a polyhedral surface P . If p is a vertex of P (which is not onthe boundary of P ), one can assign to p the angular defect 2π −

∑i γi at p,

where the γi’s stand for the angles at p of the facets incident to p. Using thesenotations, it is classical to define a notion of discrete Gauss curvature [42]:

Definition 6. Let P be a polyhedral surface and p be a vertex that is not onthe boundary. The Gauss curvature G(p) of P at p is defined by

G(p) =2π −

∑i γi

Awhere A denotes the sum of the areas of the triangles adjacent to p.

Remark that in this formula, the Gauss curvature of a vertex of a poly-hedron scales like the inverse of a surface area, like the Gauss curvature of asmooth surface at one of its point.

2the mean curvature is usually defined as the half trace of the Weingarten endo-morphism.

Page 176: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

166 D. Cohen-Steiner, J-M. Morvan

An Approximation Theorem

We shall now compare the curvatures of a smooth surface M at a point p withthe angular defect of a polyhedron P inscribed in M having this point p asan interior vertex. Our problem is local around p, so we consider the set oftriangles incident to p, (which we call the one ring of P ). A normal sectionthrough p is the intersection of M with a plane containing p and the normalvector to p.

Definition 7. Let p be a point of a smooth surface M and let pi, i = 1, . . . , nbe its neighbors. Point p is called a regular vertex if

• its neighbors lie in normal sections, two consecutive of which form an angleof θ(n) = 2π/n,

• for all i, the distance from p to pi is a constant η.

Definition 8. Let vmax and vmin be the principal directions at p. The offsetangle a is defined as the angle between the directions vmax and (pπ(p1)), whereπ(p1) is the orthogonal projection of p1 onto the tangent plane.

In [68] the following is proved:

Theorem 3. Consider a regular vertex p of valence n. If γi denotes the anglebetween directions (ppi) and (ppi+1):

• There exist two functions A(a, n) and B(a, n) such that

2π −n∑

i=1

γi =[A(a, n)G(p) +B(a, n) (k2

max + k2min)

]η2 + o(η2).

• The only value of n such that the functions A(a, n) and B(a, n) dependupon a is n = 4, and then

2π−n∑

i=1

γi =[(1−2 cos2 a sin2 a)G(p)+cos2 a sin2 a (k2

max+k2min)

]η2+o(η2).

• If n = 4:

2π −n∑

i=1

γi =n

16 sin 2π/n[(

2 − cos4πn

− cos2πn

)G(p)+

(1 +

12

cos4πn

− 32

cos2πn

)(k2

max + k2min)

]η2 + o(η2).

In particular, the only value of n such that B(a, n) = 0 is n = 6, and thenA(a, 6) =

√3/2, that is

2π −n∑

i=1

γi =√

32G(p)η2 + o(η2).

Page 177: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

4 Differential Geometry on Discrete Surfaces 167

Remark that the principal curvatures can be estimated from two differentmeshes of valences n1 and n2 such that n1 = 4, n2 = 4, n1 = n2, by solving asystem of equations deduced from Theorem 3.

Finally, the previous result shows that in general, at a point p of asmooth surface endowed with a triangulated polyhedron, the defect angleG(p) is not a good approximation of the (pointwise) Gauss curvature at p.The approximation is “good” in very special cases, for instance when the onering around p is regular and the valence is 6.

4.4.3 From Pointwise to Local

In the previous section, we have seen the difficulty of approximating the point-wise Gaussian curvature of a smooth surface by the one of a polyhedron. Asshown in Fig. 4.3 in the case of curves, the very concept of pointwise curva-ture does not even make sense for the class of piecewise linear objects. Indeed,at any point lying in the interior of an edge, the curvature is 0, whereas ata vertex, it seems infinite. This problematic situation is easily overcome byshifting from the pointwise point of view to the measure theoretic one : in-stead of considering curvatures at a given point, one should consider integralsof curvature over a given region. For instance, even if the curvature at a givenpoint of a polygonal line is not geometrically relevant, it is intuitively clearthat the total amount of curvature in the region B (in bold in Fig. 4.3) is β,the angle between the normals at the two endpoints of B.

00

B

β

Fig. 4.3. What is the curvature of a polygonal line?

The function that associates to each region B the number β is the sim-plest example of what are called curvature measures. We now define curvaturemeasures for smooth or polyhedral surfaces.

Page 178: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

168 D. Cohen-Steiner, J-M. Morvan

Notion of Curvature Measures

We denote by B the set of Borel subsets3 of E3. If P is a triangulated poly-

hedron, we denote by V, E, T the set of its vertices, edges, and triangles,respectively.

Definition 9. Let M be an oriented smooth surface and P be an orientedpolyhedron of E

3. We respectively denote mean and Gaussian curvatures at apoint p ∈ M by H(p) and G(p).

• The Gaussian curvature measure of M is the map

ΦGM : B → R,

defined by

ΦGM (B) =

B∩M

G(p)dp.

• The mean curvature measure of M is the map

ΦHM : B → R,

defined by

ΦHM (B) =

B∩M

H(p)dp.

• The Gaussian curvature measure of P is the map

ΦGP : B → R,

defined byΦG

P (B) =∑

p∈V∩B∩P

G(p),

• The mean curvature measure of P is the map

ΦHP : B → R,

defined byΦH

P (B) =∑

e∈E

length (e ∩B)β(e),

where |β(e)| ∈ [0, π] is the angle between the normals to the trianglesincident on e. The sign of β(e) is positive if e is convex (i.e. salient)and negative if e is concave.3Borel subsets are the building blocks of measure theory. They include in par-

ticular all open and closed subsets.

Page 179: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

4 Differential Geometry on Discrete Surfaces 169

Up to now, these definitions of curvature measures of polyhedra are com-pletely arbitrary. In fact, there is a strong consistency in these definitions.In [170], J. Fu proved a convergence theorem of curvatures. Here we mentiona convergence theorem based on homotopic deformation of integral currents[161]. Details on the proof and extensions can be found in [97], [95], [96]:

Theorem 4. Let P be a triangulated polyhedron closely inscribed in M . LetB be the relative interior of a union of triangles. Then, assuming P and Mare consistently oriented:

• |ΦGP (B) − ΦG

M (pr(B))| ≤ CMKε;• |ΦH

P (B) − ΦHM (pr(B))| ≤ CMKε;

where pr denotes the orthogonal projection on M and

• CM is a real number depending only on the maximum curvature of M ,• K =

∑t∈T,t⊂B cr(t)2 +

∑t∈T,t⊂B,t∩∂B =∅ cr(t);

• ε = maxcr(t), t ∈ T, t ⊂ B;where cr(t) is the circumradius of the triangle t.

We will see in Sect. 4.4.5 that in several practically important cases, thenumber K can be bounded from above, implying that the curvature measuresof a sequence of increasingly fine triangulations of a smooth surface convergeto the ones of the smooth surface.

Exterior Calculus

Before we explain where these theorems come from, we need some backgroundon calculus on manifolds (see [80] for further information). Let S be a smoothmanifold of dimension at least two embedded in some euclidean space E

k. Iff is a vector field on S, we denote by fx ∈ TxS the vector associated with apoint x ∈ S. differential 2-forms are, in a certain sense, 2-dimensional analogsof (co-)vector fields:

Definition 10. A differential 2-form ω on S associates with every point x ∈ Sa skew-symmetric bilinear form on TxS, denoted by ωx.

The following definition shows how a differential 2-form can be built from twovector fields:

Definition 11. The exterior product f ∧ g of two vector fields f and g on S,is the differential 2-form defined by:

(f ∧ g)x(u, v) = (fx ∧ gx)(u, v) =fx.u gx.ufx.v gx.v

for all x in S and u, v ∈ TxS. Here . is the inner product of Ek.

Page 180: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

170 D. Cohen-Steiner, J-M. Morvan

Exterior products are special cases of differential 2-forms. However, they pro-vide a good intuition of the general case: any 2-differential form can actuallybe written as a linear combination of exterior products of vector fields. Itcan be seen from the definition of an exterior product that if A is a lineartransformation of the plane P spanned by u and v, then (f ∧ g)x(Au,Av) =det(A)(f ∧ g)x(u, v). In particular, (f ∧ g)x(u, v) = (f ∧ g)x(u′, v′) for any twoorthonormal frames (u, v) and (u′, v′) of P with the same orientation. Notethat this property extend to general differential 2-forms by linearity. Similarly,we have fx ∧ gx(u, v) = f ′

x ∧ g′x(u, v) for any couple of orthonormal frames(fx, gx) and (f ′

x, g′x) spanning the same oriented plane. Important examples of

exterior products are area forms. Area forms are a way to represent orientedsurfaces as 2-differential forms. If T ⊂ S is an oriented surface, then the areaform of T is constructed as follows: for each point x ∈ T , pick an orthonor-mal frame of the tangent plane TxT compatible with the orientation of thesurface, say (ax, bx). We will call such frames positively oriented orthonormalframes. For x /∈ T , set ax = bx = 0. The area form of T , denoted by aT , isthe differential 2-form a∧ b. Intuitively, area forms can be thought of as fieldsof surface elements: when applied to two vectors u and v in TxS, aT x yieldsthe signed area of the parallelogram spanned by the projections of u and v onTxT .

Integration.

Differential 2-forms can be integrated on oriented surfaces, in the same wayvector fields can be integrated on oriented curves. To see how, let T be anoriented surface in S and, for each x ∈ T , let (ux, vx) be a positively orientedorthonormal frame of the tangent plane TxT . The integral of a differential2-form ω on T is defined to be:

Tω =

Tωx(ux, vx)dx

whenever the right-hand side is defined. For instance, one has∫T aT =

area(T ), which is why area forms are called this way.

Change of variable.

A change of variable is merely a diffeomorphism φ : S ′ −→ S where S ′ is themanifold where the new variables live. Using such a map, a differential 2-formω on S can be transformed into a differential 2-form on S ′, by a process calledpullback :

Definition 12. The pullback of ω by φ, denoted by φ∗ω is given by:

φ∗ωx(u, v) = ωφ(x)(Dxφ(u),Dxφ(v))

for all x ∈ S ′ and u, v ∈ TxS ′.

Page 181: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

4 Differential Geometry on Discrete Surfaces 171

In a certain sense, pulling a differential 2-form back amounts to expressingit in terms of the new variables. The change of variable formula relates theintegral of a differential 2-form with the one of its pullback. The result turnsout to be particularly simple:

S′φ∗ω =

φ(S′)ω (4.4)

For example, if S = S ′ = E2 and h is an integrable function from S to

R, applying (4.4) to ω = haT yields φ∗ω = Jac(φ)(h φ)aT , where Jac(φ)denotes the determinant of the Jacobian matrix of φ. Equation (4.4) thusgeneralizes the classical change of variable formula. For this formula to hold,φ need actually not be a diffeomorphism from S ′ to S; the only requirementis that φ should be a diffeomorphism from S ′ to φ(S ′).

Integral 2-currents.

Integral 2-currents generalize oriented surfaces [258]. They can be formallydefined as linear combinations of oriented surfaces with integral coefficients. Inparticular, any oriented surface T can be considered as an integral 2-current,which we will abusively also denote T . Integration of differential 2-forms isextended to integral 2-currents by linearity:

nT +pT ′ω = n

Tω + p

T ′ω

The surface that is setwise the same as T but with reverse orientationthus corresponds to the current −T . Geometrically, integral 2-currents can bethought of as oriented surfaces with multiplicities. For instance, if T and T ′

are two oriented surfaces such that orientations of T and T ′ agree on T ∩ T ′,T + T ′ can be represented as T ∪ T ′ endowed with the same orientation as Tand T ′, points in T ∩ T ′ having a multiplicity equal to 2. If orientations of Tand T ′ do not agree, then summing T and T ′ yields a cancellation on T ∩ T ′.Finally, integration of differential forms on integral currents is traditionallynot denoted by an integration sign, but rather by a bracket, namely one writes〈C, ω〉 instead of

∫C ω.

A Unified Framework, the Theory of Normal Cycles

The proof of Theorem 4 relies on the theory of the normal cycle. This theoryhas been developped by P. Wintgen and M. Zahle to give a general methodto define curvatures of a large class of objects, [349], [171], [170]. The mainobservation is that the curvature measures of smooth surfaces can be inter-preted as integrals of particular differential forms on the unit normal bundle ofsurfaces. So, the crucial point is to define a generalization of this unit normalbundle for non-smooth objects, called the normal cycle. In this section, we

Page 182: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

172 D. Cohen-Steiner, J-M. Morvan

T

T ′

T ′

T − T ′T + T ′

Fig. 4.4. Sum of integral currents

describe the differential forms ωG and ωH which induce the Gauss curvaturemeasure and mean curvature measure, when integrated on the normal cyclesassociated to the studied object, and we shall describe the construction of thenormal cycle of a polyhedron.

Invariant 2-forms.

Now set S = E3 × S2. S is obviously a subset of E

3 × E3. We will call the

first factor of the latter product the point space, Ep, and the second one thenormal space, En. The reason for this is that an element of S can be thoughtof as a point in space together with a unit normal vector. If u is a 3-vector, un

will denote the vector (0, u) ∈ Ep × En, and up the vector (u, 0) ∈ Ep × En.Rigid motions of E

3 can be naturally extended to S: if g is such a motion,one can set g(p, n) = (g(p), g(n)), where g is the rotation associated with g.We now define two particular differential 2-forms on S. Let (p, n) ∈ S andx, y ∈ E

3 such that (x, y, n) is a positively oriented orthonormal frame of E3.

We set:

ωH(p,n) = xp ∧ yn + xn ∧ yp

ωG(p,n) = xn ∧ yn

One can actually check that these 2-forms do not depend on the choice ofx and y. Moreover, they are invariant under rigid motions, that is satisfyg∗ω = ω for any rigid motion g.

Normal cycle of a smooth surface and a polyhedron.

Let us give a short overview of the theory of normal cycle.

• In the smooth case, the normal cycle is a generalization of the unit normalbundle. Recall that if M is an oriented smooth surface in E

3, the unitnormal bundle of M is the manifold

ST⊥M = (p, n(p)), p ∈ M

Page 183: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

4 Differential Geometry on Discrete Surfaces 173

endowed with the orientation induced by the one of M . Now if V is thesolid enclosed by a closed smooth surface in E

3, the normal cycle N(V ) ofV is nothing but the current canonically associated to ST⊥∂V : If ω is any2-differential form defined on E

3 × E3, the duality bracket 〈, 〉 is given by

〈N(V ), ω〉 =∫

ST⊥∂V

ω.

• This definition can be easily generalized to convex bodies C of E3: We

begin by defining the normal cone Cp(C) of a point p of C as the set ofunit vectors n such that

∀q ∈ C, −→pq.n ≤ 0.

The normal cone C(C) of C is the union of the sets p×Cp(C), when p runsover C. Now the normal cycle of C is nothing but the current associatedto C(C) endowed with its canonical orientation. A crucial property of thenormal cycle is its additivity: if C1 and C2 are two convex subsets of E

3

such that C1 ∪ C2 is convex, then,

N(C1 ∪ C2) = N(C1) +N(C2) −N(C1 ∩ C2). (4.5)

• Remarking that a polyhedron is the union of (convex) tetrahedra, trian-gles, edges and vertices, we define the normal cycle of a polyhedron byapplying (4.5) recursively. If polyhedron V is triangulated using tetrahe-dra (ti)i=1..n, this leads to the following formula

N(V ) =∞∑

n=1

(−1)n+1∑

1≤i1<..<in≤n

N(∩nj=1tij

)

by inclusion-exclusion. Of course one must check that the definition isindependent of the decomposition of the polyhedron, but it is not toodifficult to prove.

Curvature measures.

To recover the curvature measures in a unified way, we use the theory ofnormal cycles. If M is smooth and bounds a solid V , let i be its Gauss map:

i : M → ST⊥M

defined byi(p) = (p, n(p)).

One has the following (we refer to [97], [95], [96]):

Theorem 5. Let V be a solid whose boundary M is either a smooth surfaceor a polyhedron. If B is a Borel subset of E

3, then:

Page 184: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

174 D. Cohen-Steiner, J-M. Morvan

• ΦGM (B) = 〈N(V ), χ(i(B ∩ V ))ωG〉,

• ΦHM (B) = 〈N(V ), χ(i(B ∩ V ))ωH〉

where χ denotes the characteristic function.

Let us prove this theorem for Gaussian curvature in the smooth case. Bydefinition we have:

N(V )

ωGχ(i(B ∩M)) =∫

i(B∩M)

ωG

The change of variable formula now states that:∫

i(B∩M)

ωG =∫

B∩M

i∗ωG

To prove the first claim, it is thus sufficient to show that:

i∗ωG = GaM

Let (u, v) be a positively oriented orthonormal frame of TxM , where x ∈ M .By definition, the derivative of i is given by:

∀w ∈ TxM Dxi(w) = wp +Dxn(w)n

Expressing ωGi(x) in the frame (un, vn, nn

x), we get

(i∗ωG)x(u, v) =un.(up + Dxn(u)n) vn.(up + Dxn(u)n)un.(vp + Dxn(v)n) vn.(vp + Dxn(v)n)

=u.Dxn(u) v.Dxn(u)u.Dxn(v) v.Dxn(v)

= G(x)

The proof of the second equality is similar.This interpretation of curvature measures in terms of differential forms

leads to the approximation theorem 4 by applying classical results on defor-mation of integral currents [162].

4.4.4 Anisotropic Curvature Measures

In the previous section, we have seen how to define Gauss and mean cur-vature measures on polyhedra, which generalize Gauss and mean curvatureson smooth surfaces. From the Gauss and mean curvature, the principal cur-vatures are easily recovered by solving a quadratic equation. However, thisdoes not give any information on the principal directions. In this section, wesolve this problem by giving an extension of the concept of curvature tensorto polyhedra, based on the normal cycle. At each point p of M , we denote byhp the bilinear form

hp : E3p × E

3p → R

Page 185: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

4 Differential Geometry on Discrete Surfaces 175

defined as the composition of the second fundamental form at p, hp, with theprojection prTpM on TpM:

hp = hp (prTpM , prTpM ).

hp is clearly null on the normal space of M at p.We give the following [98]:

Definition 13. Let X,Y be two (constant) vectors of E3, and (p, n) be a point

of E3 × E

3. The 2-form

ωX,Y(p,n) = (n×X)p ∧ Y n,

is called the anisotropic 2-form.

In this definition, × is the standard cross product in E3. The relation between

ωX,Y and hp(X,Y ) is given by [98]:

Theorem 6. Let M be a smooth surface bounding a solid V , and B a Borelsubset of E

3. Then,

〈N(V ), χ(π−1(B ∩ V ))ωX,Y 〉 =∫

B∩M

hp(X,Y )dp.

We puthM (B)(X,Y ) = 〈N(V ), χ(π−1(B ∩M)ωX,Y 〉. (4.6)

Remark that one could also introduce the other form

ωX,Y(p,n) = Xp ∧ (nn × Y n)

and definehM (B)(X,Y ) = 〈N(V ), χ(π−1(B ∩M)ωX,Y 〉.

This possibility leads to a similar result, namely

hM (B) =∫

B∩M

(Trace(hp)Id− hp)dp

By analogy with (4.6), we define the anisotropic curvature measure hP

associated to a polyhedron of E3:

Definition 14. Let P be a polyhedron of E3, bounding a solid V , and B be a

Borel subset of E3. We put

hP (B)(X,Y ) = 〈N(V ), χ(π−1(B ∩ V )ωX,Y 〉.

The reason why we use ω instead of ω in this definition is that it leads tosimpler expressions. Indeed, a computation gives

Page 186: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

176 D. Cohen-Steiner, J-M. Morvan

Theorem 7. Let P be a polyhedron and B a Borel subset of E3. Then,

hP (B)(X,Y ) =∑

e∈E

β(e) length (e ∩B)−→e ⊗ −→e .

where −→e ⊗ −→e denotes the bilinear form with matrix −→e .transpose(−→e ).

Using the same techniques as in Sect. 4.4.3, we have an approximationresult similar to Theorem 4: with the same notations,

Theorem 8. Let P be a triangulated polyhedron closely inscribed in M . LetB be the relative interior of a union of triangles. Then,

‖hP (B) − hM (B)‖ ≤ CMKε,

where CM ,K, ε are defined in Theorem 4.

Classically, ‖hP (B) − hM (B)‖ = sup‖X‖=1,‖Y ‖=1 |hP (B) − hM (B)(X,Y )|.It must be remarked that hP (B)(X,Y ) is symmetric in (X,Y ). This im-

plies that one can diagonalize hP (B). One gets three eigendirections: the oneassociated to the smallest eigenvalue can be called the estimated normal ofB∩P , and the two others can be called its principal directions, by analogy withthe smooth case. We note that even if the estimated curvature tensor alwaysconverges to the actual one, it might not be the case for the eigendirections.Indeed, on a cylinder, the curvature tensor has rank one, so the estimatednormal may lie anywhere in the plane orthogonal to the axis of the cylinder.For that reason, this method should not be used strictly for normal estimationpurposes, for which simpler techniques exist.

In practice, one may take for B a small number of rings of triangles aroundthe considered vertex. Experimental results are shown in Fig. 4.5 and Fig. 4.7.

Fig. 4.5. The principal directions estimated on an ellipsoid with 1442 vertices, lookvery similar to the actual ones, whose integral lines are shown in Fig. 4.6

Page 187: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

4 Differential Geometry on Discrete Surfaces 177

Fig. 4.6. Lines of curvature of an ellipsoid [206]

Fig. 4.7. Directions of minimal curvature estimated on a mesh of Michelangelo’sDavid. For each vertex, the averaging domain used for computations is the 2-ring ofthat vertex

Page 188: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

178 D. Cohen-Steiner, J-M. Morvan

4.4.5 ε-samples on a Surface

In this paragraph, assume that M bounds a solid V and is endowed witha finite point sample S. We denote by Del(S) the Delaunay triangulationassociated to S, and by DelM (S) the restriction of Del(S) to M , that is, theset of faces of Del(S) whose dual Voronoi face intersects M . An ε-sample Son M is a sample such that for every point m of M , the ball B(m, εlfs(m))encloses at least one point of S. Here, lfs(m) denotes the local feature sizeof M at m, defined as follows: the medial axis of M is the center of themaximal open balls included in E

3 \M . If m ∈ M , the local feature size of Mat m is the Euclidean distance from m to the medial axis of M . This notion,also used in Chap. 6 Sect. 6.2.2, actually coincides with the notion of reachintroduced before (Definition 3).

In [21] and [25], N. Amenta et al. proved that if S is an ε-sampling of Mwith ε < 0.06, then DelM (S) is closely inscribed in M . Moreover they proved

Lemma 1. Let S be an ε-sample on M , with ε < 0.06. If B be any Borelsubset of DelM (S), then the Hausdorff distance δB = δ(B, pr(B)) between Band its projection onto M satisfies:

δB ≤ ε supm∈pr(B)

lfs(m).

Moreover,cr(B) ≤ ε sup

m∈pr(B)

lfs(m),

where cr(B) is the maximum of the circumradius of all triangles lying in B.

When M is approximated by the restricted Delaunay triangulation of anε-sample, one gets a “good” approximation of the normal:

Theorem 9. Let S be an ε-sample on M , with ε < 0.06. Then, the maximumangle between the normal of a triangle of the restricted Delaunay triangulationand the corresponding tangent plane of M at any of the vertices of the triangleis O(ε).

However, in general, one cannot deduce that the difference between thecurvature measures of B ∩ DelM (S) and pr(B) ∩M is O(ε). For that we needa stronger assumption. If we assume that the ε-sample on M is κ-light [93],namely that for every point m of M , the ball B(m, εlfs(m)) encloses at most κpoints of S, then it can be shown that the parameter K in Theorem 4 satisfies

K = O(area(M))

in Theorem 4 and Theorem 8. So one has:

Page 189: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

4 Differential Geometry on Discrete Surfaces 179

Theorem 10. Let S be a κ-light ε-sample on M . Then,

‖ΦGDelM (S)

− ΦGM‖ = O(ε);

‖ΦHDelM (S)

− ΦHM‖ = O(ε);

‖hDelM (S) − hM‖ = O(ε).

4.4.6 Application

Estimating the curvature tensor from a triangulated approximation of a sur-face is an important building block for several applications in geometric mod-eling and computer graphics. To end this chapter, we briefly mention one ofthem: anisotropic remeshing of surfaces [19]. The goal here is to approximatea given triangulated surface by a surface (mostly) made of quadrilaterals, insuch a way that the approximation error is as small as possible. As shown byapproximation theory [319], in such an optimal quadrangulation, the quadri-laterals axes should be aligned with the principal directions of the surface,and their aspect ratio should be proportional the square root of the princi-pal curvatures ratios. A strategy to build such a quadrangulation (see figure4.8) is to estimate the curvature tensor at each vertex of the surface, thennumerically integrate two networks of curvature lines (one for the maximumcurvature, and one for the minimum curvature), choosing the spacing betweenconsecutive lines as a function of principal curvatures (left). Finally, overlayingthe two networks (center) and straightening the curves between intersectionpoints (right) provides the desired quadrangulation.

Fig. 4.8. Anisotropic remeshing of a hand

Page 190: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5

Meshing of Surfaces

Jean-Daniel Boissonnat, David Cohen-Steiner, Bernard Mourrain, GunterRote, and Gert Vegter

5.1 Introduction: What is Meshing?

Meshing is the process of computing, for a given surface, a representationconsisting of pieces of simple surface patches. In the easiest case, the resultwill be a triangulated polygonal surface. More general meshes also includequadrilateral (not necessarily planar) patches or more complicated pieces,but they will not be discussed here. For example, Fig. 5.1a shows a meshed

Fig. 5.1. (a) A meshed sphere. (b) A meshed double-cone

sphere x2 + y2 + z2 = 1. Fig. 5.1b shows a good mesh of a double-conex2 + y2 = z2. Note that the cone has pinching point at the apex, whichis represented correctly in this mesh. The automatic construction of good

Chapter coordinator

Page 191: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

182 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

meshes for surfaces with singularities is still an open research area. Here wewill mainly concentrate on smooth surfaces, with the exception of Sect. 5.4,where surfaces with singularities are also treated.

Why Meshing?

The meshing problem occurs in different settings, depending on the way howa surface is given, and on the purpose of meshing.

Usually we assume that a surface is given implicitly, as the solution of anequation

f(x, y, z) = 0.

The function f comes from various sources. It can be explicitly given, often asa polynomial, like in the examples above, or as a sum of exponential “blob”functions like exp(−‖A(x−b)‖)−1 for a matrix A and a center b, which allowflexible modelling of shapes.

One can also try to fit data by defining an appropriate function f from thedata. For example, in scattered data interpolation, a scanned image may begiven a two-dimensional (or sometimes three-dimensional) grid of grey-levelvalues. If f is a function that interpolates these values on each grid square,the equation f(x, y) = const extracts a level curve (iso-curve, or iso-surfacein higher dimensions). In the area of surface reconstruction from scattereddata points, there are procedures for defining a function f whose zero set isan approximation of the unknown surface (natural neighbor interpolation, seeSect. 6.3.3, p. 263.)

The implicit representation of a surface is convenient for defining the sur-face as a mathematical object, for modeling and manipulation by the user,but it is not very convenient for handling the surface by computer. For draw-ing or displaying a surface (Computer Graphics), an explicit representationas a union of polygons is easier to handle. Engineering applications that per-form computations on the surface (and on the volume inside and outside thesurface), such as finite element analysis, also require a meshed surface.

Related Problems.

Sometimes, a surface is already given as a mesh, but one wants to constructa different, “better” mesh. For example, one may try to improve the shapeof the triangles, eliminating long and skinny triangles or triangles that aretoo large, or one may want to produce a coarser mesh, eliminating areas thatare meshed too densely, with the purpose of reducing the amount of datafor storage or transmission (data compression). These are the problems ofremeshing, mesh refinement and mesh simplification. These problems are alsoapplicable for plane meshes, where the given “surface” is a region of the plane[301, 317]. Some of the methods that we will discuss below have been appliedto this setting, and to the meshing problem for polyhedral surfaces in general,but we will only mention this briefly.

Page 192: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 183

As mentioned, engineering applications also require three-dimensional vol-ume meshes or even higher-dimensional meshes. Extending a given boundarymesh of a surface to a mesh of the enclosed volume is a difficult problem ofits own.

In this chapter, we will concentrate on surface meshing. The other prob-lems described above are not covered in this book. For simplicity, we restrictour attention to surfaces without boundary. Some algorithms can clip a sur-face by some bounding box or by intersecting it with some other surface, butwe will not discuss this.

Meshing of curves, by comparison, is a much easier problem: Here welook for a polygonal chain approximating a curve. We will often discuss curvemeshing because the main ideas of many meshing algorithms can be illustratedin this setting.

Meshing is related to surface reconstruction, which is the subject of Chap-ter 6: in both cases, the desired output is a meshed surface. However, surfacereconstruction starts from a set of sample points of the surface that is givenas input, and which is usually the result of some measurement process. Inmeshing, one also constructs a point sample of the surface, but the selectionof these points is under the control of the algorithm.

There is some overlap in the techniques applied, in particular in the area ofDelaunay meshing (Sect. 5.3). As mentioned above, one way of reconstructinga surface is by defining a function f whose zero set is the reconstructed surface.

Goals of Meshing Algorithms—Correctness.

There is a vast literature on meshing with many practical algorithms in theareas of Computer-Aided Geometric Design (CAGD) and Computer Graphics.In this book we concentrate on methods with proven correctness and qualityguarantees. Correctness means that the result should be topologically correctand geometrically close.

The definition of what it means for a mesh to be topologically correct hasevolved over the past few years. It is not sufficient to require that a surfaceS and its mesh S′ are homeomorphic. A torus and a knotted torus are home-omorphic when viewed as surfaces in isolation, but one would certainly notaccept one as a topologically correct representation of the other, see Fig. 5.2.The following definition combines the strongest notions of having the correcttopology with the requirement of geometric closeness.

Definition 1. An ambient isotopy between two surfaces S, S′ ⊂ R3 is a con-

tinuous mappingγ : R

3 × [0, 1] → R3

which, for any fixed t ⊆ [0, 1], is a homeomorphism γ(·, t) from R3 to itself,

and which continuously deforms S into the mesh S′: γ(S, 1) = S′.In addition, the approximation error D is the largest distance by which a

point is moved by this homeomorphism:

Page 193: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

184 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

Fig. 5.2. Two homeomorphic surfaces which are not isotopic

‖x− γ(x, 1)‖ ≤ D for all x ∈ S

This implies that the surface S and the meshed surface S′ are homeo-morphic to each other, and their Hausdorff distance (see the definition inSect. 6.2.3 on p. 251) is at most D. There is also the concept of isotopy be-tween two surfaces, which only deforms S without deforming the ambientspace R

3, see Sect. 7.2 (p. 281):

Definition 2. An isotopy between two surfaces S, S′ ⊂ R3 is a continuous

mappingγ : S × [0, 1] → R

3

which, for any fixed t ⊆ [0, 1], is a homeomorphism γ(·, t) from S onto itsimage, and which continuously deforms S into the mesh S′: γ(S, 1) = S′.

Formally, isotopy is weaker than ambient isotopy. However, for our purposes,there is no difference between between isotopy and ambient isotopy: The iso-topy extension lemma ensures that an isotopy between two smooth surfaces(of class C1) embedded in R

3 can always be extended to an ambient isotopy[208, Theorem 1.3 of Chapter 8, p. 180]. This does not directly apply to apiecewise linear surface mesh S′, but it is easy to show that a piecewise linearsurface is ambient isotopic to an approximating smooth surface, to which thetheorem applies. The isotopy extension lemma cannot be used in the algo-rithm of Sect. 5.4, which deals with singular surfaces, but in this case, theambient isotopy will be constructed explicitly.

Theorems in earlier papers have only made claims about the Hausdorffdistance or about the existence of a homeomorphism, but it is often not diffi-cult to obtain also isotopy. Typically, the mapping constructed in the proofsmoves points along fibers that sweep out the space between the surface S

Page 194: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 185

and its approximation S′. These fibers move each point of the mesh S′ to itsclosest neighbor on the surface S′, as in Fig. 5.3a. (For a curve in the plane,one can also map each curve point to its closest neighbor on the mesh, as inFig. 5.3b; this does not work in higher dimensions because it may lead to adiscontinuous mapping.) Each point x on the mesh is mapped to the “correct”

(a) (b)

y

Fig. 5.3. The isotopy between a smooth curve and the approximating polygon isindicated by fibers perpendicular to the curve (a) or to the polygon edges (b). Thecurve can be continuously deformed into the polygon by moving each point alongits fiber

corresponding closest point y on the surface, if x is not too far from S, in par-ticular, if the distance from y to x is not larger than the radius of the medialsphere, see Fig. 5.3a, which shows the medial circle at y ∈ S. (See p. 109 inSect. 2.7 for the definition of medial sphere.)

A common tool for establishing isotopy is a tubular neighborhood S of asurface S. It is a thickening of the surface such that within the volume of S,the projection of a point x to the nearest point πS(x) on S is well-defined.The points x which have the same nearest neighbor πS(x) = p form a segmentthrough p normal to the surface. These segments are called fibers of the tubularneighborhood, and they form a partition of S.

Lemma 1 (see [302, Theorem 4.1]). Let S be a compact closed surface ofclass C2 in R

3 with a tubular neighborhood S. Let T be a closed surface (notnecessarily smooth) contained in S such that every fiber intersects T in exactlyone point.

Then πS : T → S induces an ambient isotopy that maps T to S. ()

The isotopy interpolates between T and S along the fibers, and it does notmove points by more than the length of the longest fiber.

Principal Approach and Primitive Operations.

Although other approaches are conceivable, all methods basically select ver-tices on the surface and connect them appropriately. The fundamental op-eration is to find the intersection point of a line segment with the surface.

Page 195: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

186 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

For a few algorithms, it is sufficient to compute these intersections only ap-proximately, and thus the mesh vertices will lie only close to the surface. (Inparticular, this holds for the marching cubes algorithms in Sect. marching-cubes and piecewise-linear interpolation in Sect. 5.5.2).

Some algorithms also compute certain critical points of the surface. Allthese operations require access to the function f defining the surface and itsderivatives. Intersecting the surface with a line segment boils down to solvinga univariate equation.

In order to ensure some quality and correctness guarantees on the mesh,some algorithms need to obtain further information about the surface, forinstance, bounds on the curvature, or in more algebraic terms, bounds on thederivatives of the function defining the surface.

We will discuss the required primitive operations in detail with each algo-rithm.

Other Quality Criteria.

Besides topological correctness and geometric closeness to the original surface,we may want to achieve other criteria.

1. Normals: The normals of the mesh should not deviate too much from thenormals of the surface. Note that a “wiggly” approximation of a givensurface or a curve can be isotopic and have arbitrarily small Hausdorffdistance, but still have normals deviating very badly from the originalnormals.

2. Smoothness: Adjacent facets should not form a sharp angle.3. Desired density. We may impose an upper bound on the size of the mesh

triangles. This bound may depend on the location. For example, in fluidmechanics calculations, a region of turbulence will require a finer meshthan a region of smooth flow.

4. Regularity and Shape. We want to avoid skinny triangles with sharp an-gles.

There are many other criteria for individual mesh elements. All of these cri-teria, except the first two in the above list, also apply to plane meshes, andthey have been studied extensively in the literature. The algorithms in thischapter concentrate on achieving correctness; geometric quality criteria areoften considered in a secondary refinement step.

Basic Assumptions about Smoothness.

The basic assumption for most part of this chapter is that f is a smoothfunction and the surface has no singularities.

Assumption 1 Nonsingularity.The function f and its gradient ∇f are never simultaneously zero.

Page 196: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 187

This implies that the equation f(x) = 0 defines a collection of smooth surfaceswithout boundary. As mentioned in the introduction, meshing in the vicinityof singularities is a difficult open problem and an active area of research.

Section: Algorithm Strategy Topological Correctness Scaffolding

5.2.3:Snyder [321, 322]

refinement globalparameterizability

cubes

5.2.4: Plantinga andVegter [286]

refinement Small Normal Variation cubes

5.3.1: Boissonnat andOudot [64]

refinement sample density,local feature size

Voronoidiagram

5.3.2: Cheng, Dey,Ramos and Ray [90]

refinement topological ballproperty∗

Voronoidiagram

5.4: Mourrain andTecourt [263, 327]

space sweep,vertical projection

treatment ofcritical points

verticalplanes

5.5.1:Stander and Hart [324]

parameter sweep Morse theory —

5.5.2: Boissonnat,Cohen-Steiner, andVegter [61]

refinement (Morse theory)∗† boxes†

Table 5.1. A rough taxonomy of the meshing algorithms described in this chapter,according to the overall strategy, the way how topological correctness is achieved,and the kind of spatial ground structure (“scaffolding”) that is used.∗ These two algorithms employ a hierarchy of conditions, which are successivelytested, in order to achieve correctness.† This algorithm uses Morse theory in a more indirect way. It works with boxeswhich are subdivided into tetrahedra.

5.1.1 Overview

Meshing algorithms can be roughly characterized as (i) continuation-basedmethods, that grow a mesh following the surface, and (ii) mesh-based meth-ods, which build some sort of three-dimensional scaffolding around the surface.Although continuation-based methods are often used in practice, it is not easyto achieve correctness guarantees for them. Thus, all algorithms discussed inthis chapter fall into the second category. There are three types of adaptive“grid structures” which are used: axis-aligned cubes, vertical planes, and theVoronoi diagram. The algorithms use different algorithmic strategies and avariety of conditions to ensure topological correctness. Table 5.1 summarizesthese characteristics. One can see that the algorithms are related in various

Page 197: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

188 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

different ways. In the remainder of this chapter, we have chosen to groupthe algorithms mainly by the mathematical idea that underlies their correct-ness, but a different organization might be equally reasonable. It is perhapsrewarding to return to Table 5.1 after reading the chapter.

5.2 Marching Cubes and Cube-Based Algorithms

The marching cubes algorithm [342, 244] conceptually covers space by a grid ofsmall cubes, and locally computes a mesh for each cube which is intersectedby the surface. The algorithm computes f at all grid points. The surfacemust pass between the grid points with positive f and the grid points withnegative f . The algorithm computes intersection points between the surfaceand the grid edges whose endpoints have opposite signs, and uses them as thevertices of the mesh. Depending on the desired accuracy, these intersectionpoints can be computed by linear interpolation of f between the endpoints orsome more elaborate method, or one can simply choose the midpoints of theedges.

⊕⊕

Fig. 5.4. A cube intersected by the surface f(x, y, z) = 0. The sign of f at thevertices is shown. Inside the cube, the surface will be represented by two trianglesconnecting the points where the surface intersects the edges of the cube

These vertices have to be connected, inside each cube, by a triangular meshthat separates the positive and the negative vertices, as shown in Fig. 5.4.There are different possible patterns of positive and negative cube vertices,and the triangulation can be chosen according to a precomputed table of cases.

Page 198: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 189

(In three dimensions, the 28 = 256 cases are reduced to 15 different cases bytaking into account symmetries.)

*⊕ *

*

*

*

* *

*

⊕ ⊕⊕

?

? ?

? ??

Fig. 5.5. The intersections marked with ? are not found by checking the signs of fat grid points. In the left picture, this leads to a curve with two components insteadof one. The right figure shows a shifted copy of the same curve. When all 4 sides of asquare are intersected, as in the square marked ??, there are two ways of connectingthem pairwise. Applying a local rule to decide between the two possibilities may notalways give the correct result. In addition, the meshed curve misses a large part ofthe protrusion in the lower left corner

Problems with this method appear when the grid is not sufficiently fine tocapture the features of the surface. In some cases, the connecting triangula-tion between the mesh vertices inside a cube is ambiguous, and some arbitrarydecision has to be made. Fig. 5.5 shows a two-dimensional instance of a curvewhose constructed mesh has an incorrect topology (2 cycles instead of a sin-gle cycle). A slightly shifted grid leads to an ambiguous situation: the signpattern of f at the vertices is not sufficient to decide how the points shouldbe connected.

It can also happen that components of the implicit surface or curve whichare smaller than a grid cell may be completely missed.

Originally, the marching cubes algorithm was designed to find isosurfacesof the form f(x) = const in a scalar field f resulting from medical imagingprocedures, with one data value (gray-level) f(p) for each point p in a pixelor voxel grid. In this case, one has to live with ambiguities, trying to makethe best out of the available data. One can resolve ambiguities by any rulewhich ensures that triangles in different cubes fit together to form a closedsurface. (In fact, the rules as given originally in [244] may resolve ambiguitiesinconsistently, leading to meshes which are not watertight surfaces.)

In our setting, however, the function f is defined everywhere, and it is notsufficient to achieve consistency: we want a topologically correct mesh; on theother hand, we are free to compute additional values at any point we like.Thus, the obvious way to solve ambiguities is to refine the grid, see Fig. 5.6.

Page 199: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

190 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

*

*

*⊕

⊕ ⊕

*

*

*

*

*

*

*

*

*⊕

⊕⊕ ⊕

*

*

*

*

*

⊕??

Fig. 5.6. A section from the right part of Fig. 5.5 before and after subdividing theoffending square into four subsquares. The ambiguity is resolved

5.2.1 Criteria for a Correct Mesh Inside a Cube

The basic strategy is to subdivide the cells of the grid until sufficient infor-mation is available for forming a correct mesh. The question is now: How canwe tell that a mesh within some grid cube is correct and the cube need notbe further subdivided.

We present two criteria, an older one due to Snyder [322, 321], and a recentone, due to Plantinga and Vegter [286].

5.2.2 Interval Arithmetic for Estimating the Range of a Function

Both methods are based on estimating the range of values of a function g(p) |p ∈ B when the parameter p ranges over some domain B, which is typicallya box. In most cases, g will be the function f or one of its derivatives, andone tries to establish that the range of g does not contain 0, i.e., g(p) = 0 forall p ∈ B.

For example, if B is a grid cube and f(p) = 0 for all p ∈ B, we knowthat the surface S contains no point of B, and no further processing of B isnecessary.

The standard technique for estimating the range of a function is intervalarithmetic. The idea of using interval arithmetic in connection with meshingwas pioneered by Snyder [322, 321].

Interval arithmetic has been introduced in Sect. 3.2.2 as a method to copewith the limited precision of floating-point computation. Ideally, one wouldlike to have the exact result x of a computation. By interval arithmetic, oneobtains an interval [a, b] which definitely contains the correct result x. Byrepeating the calculations with increased accuracy, one can decrease the sizeb−a of the interval until it becomes smaller than any prespecified limit ε > 0.

Interval arithmetic is also suited to get the range of a function whose inputsx1, x2, x3, . . . vary in some given intervals. Instead of starting with zero-length

Page 200: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 191

intervals for exact inputs, one takes the given starting intervals. Note that thisapproach may suffer from a systematic overestimation of the resulting interval,for example when subtracting quantities that are close, like in f(x) = x−sinx.For x = [0, 0.3], we get the interval approximation f([0, 0.3]) = [0, 0.3] −(sin)([0, 0.3]) = [0, 0.3] − [0, 0.2956] = [−0.2956, 0.3], whereas the true rangeof f is contained in [0, 0.0045]. There are techniques such as Fast AutomaticDifferentiation [193] which can circumvent this problem.

For the remainder of this chapter, we assume, for a given function g theavailability of some operation g such that g([a1, b1], [a2, b2], . . .) returns aninterval that contains the range g(x1, x2, . . .) | a1 ≤ x1 ≤ b1, a2 ≤ x2 ≤b2, . . . . We require that the resulting interval can be made arbitrarily smallif the input intervals are small enough:

Assumption 2 Convergence (of Interval Arithmetic).The size of the interval g([a1, b1], [a2, b2], . . .) goes to zero if the sizes of theparameter intervals [a1, b1], [a2, b2], . . . tend to zero.

This requirement is fulfilled for ordinary interval arithmetic in the vicinity ofevery point for which g is continuous, provided that the accuracy of the calcu-lations can be increased arbitrarily. If the computation of g does not involveoperations that may be undefined, like division by zero, and in particular, ifg is a polynomial, interval arithmetic converges.

If a continuous function g satisfies g(x) = 0 for all x in a box B, conver-gence implies that interval arithmetic will establish this fact by subdividingB into sufficiently many sub-boxes.

5.2.3 Global Parameterizability: Snyder’s Algorithm

We want to compute a mesh for a surface f(x) = 0 inside some box X =[xmin, xmax] × [ymin, ymax] × [zmin, zmax]. The method works by induction onthe dimension. Thus, as a subroutine, the algorithm will need to compute amesh for a curve f(x) = 0 (an approximating polygonal chain) inside somerectangle X = [xmin, xmax] × [ymin, ymax].

Snyder’s criterion for telling when a cell need not be further subdivided isglobal parameterizability of f inside a box X in two of the variables x, y, orz. We say that (x, y, z) ∈ X | f(x, y, z) = 0 is globally parameterizable inthe parameters x and y, if, for each pair (x, y), the equation f(x, y, z) = 0 hasat most one solution z in the box X. One way to establish this property is toensure that the derivative with respect to the third variable is nowhere zero:

∂zf(x, y, z) = 0 for all (x, y, z) ∈ X (5.1)

An analogous definition holds for a curve (x, y) ∈ X | f(x, y) = 0 in twodimensions: it is globally parameterizable in the parameter x, if, for each valuex, the equation f(x, y) = 0 has at most one solution y in the box X.

Page 201: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

192 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

Global parameterizability of a curve in the parameter x means that thesolution consists of a sequence of curves which can be written in the parame-terized form y = C(x), over sequence of disjoint intervals for the parameter x.Similarly, global parameterizability of a surface in the parameters x and ymeans that the solution consists of parameterized surface patches z = S(x, y)over a set of disjoint domains for (x, y).

Suppose that a curve in a two-dimensional rectangle X is globally para-meterizable in x. The curve has at most one intersection with the left andright edge, and an arbitrary number of intersections with the bottom and topedge. Let x1, x2, x3, . . . denote the sequence of intersections, sorted from leftto right, see Fig. 5.7a.

Between the first two successive intersections x1 and x2, there can either beno solution inside X, or the solution can be an x-monotone curve in X. Thesetwo possibilities can be distinguished by intersecting the curve with a verticalline segment half-way between x1 and x2. More precisely, we just need tocompute the signs of f at the endpoints of . Given this information, we candraw polygonal connections between the points xi which are a topologicallycorrect representation of the curve pieces inside X, as in Fig. 5.7b. To connecttwo points xi and xi+1 on the same edge, we can for example draw two 45

segments. Points on different edges can be connected by straight lines.

x1

x2

x3 x4

x5 x6 x7

x8

x

y

x

y

x1

x2

x3 x4

x5 x6 x7

x8

(a) (b)

Fig. 5.7. Finding a correct mesh for a curve in a square

The following lemma summarizes this procedure, and it also formulatesthe three-dimensional version.

Lemma 2. 1. If a curve f(x, y) = 0 is globally parameterizable in x in atwo-dimensional box X, and if one can find the zeros of f on the edges ofthe box, then one can construct a topologically correct mesh for the curveinside X.

Page 202: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 193

2. • If a surface f(x, y, z) = 0 is globally parameterizable in x and y in athree-dimensional box X, and

• if, on the top and bottom face of X, each of the two functionsf(x, y, zmax) and f(x, y, zmin) is everywhere nonzero or globally pa-rameterizable in x or y, (not necessarily both in the same variable)

then one can construct a topologically correct mesh for the surface in-side X, provided that one can find the zeros of f on the edges of the box.

In each case, the only additional information required is the sign of f at afew points on the edges of the box.

We call a function f well-behaved with respect to the box X if the conditionsof part 2 of the lemma are satisfied, possibly after permuting the coordinatesx, y, and z.

Proof (Proof of part 2). Suppose the surface intersects the bottom face as inFig. 5.7a and the top face as in Fig. 5.8a. Fig. 5.8b shows the overlay of thetwo intersection patterns, like in a top view onto the box. By global parame-terizability in x and y, the intersections with the top face and the bottom facecannot cross. In each region which is delimited by these intersection curves,there is either no intersection of the surface with X or there is a single surfacepatch. These two cases can be distinguished by checking whether an appro-priate vertical line segment in the boundary of X intersects the surface, i.e.,whether f has opposite signs at the endpoints of this segment.

Fig. 5.8c shows the polygonal mesh for the intersection with the top face,and Fig. 5.8d shows the overlay with Fig. 5.7b. The shaded areas in Fig. 5.8band 5.8d represent the existing patches of the surface in X and the corre-sponding patches of the mesh that are to be constructed. Such a mesh canbe constructed easily: we may need to find intersection points at the verticaledges of X, and we may need to add 45 segments on the vertical sides of X.On each vertical side, the mesh edges will look exactly as the ones that wouldbe produced by part 1 of the lemma. This is important to ensure that thesurface patches in adjacent boxes fit together across box boundaries, even ifthe adjacent box is parameterizable in y and z or in x and z.

Any triangulation of the grey polygons in Fig. 5.8d will now lead to ap-propriate triangulated surface patches, as shown in Fig. 5.8e. We leave it asexercise to construct an isotopy that shows topological correctness in the senseof Definition 1.

We can now present the overall algorithm. We suppose we are given aninitial box containing the part of the surface in which we are interested.

The algorithm maintains a list of boxes that are to be processed. Weselect a box X from the list and process it as follows. First we try to establishthat f(x) = 0 in X, using interval arithmetic. If this is the case, we candiscard the box without further processing. Otherwise, we check if Lemma 2can be applied. Using interval arithmetic, we try to show that one of thepartial derivatives is nonzero in X, see (5.1), which implies that f is globally

Page 203: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

194 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

x

y

x

y

(c) (d)

x

y

x

z(a) (b)

(e)

y

Fig. 5.8. Finding a correct mesh for a surface in a cube

parameterizable in two of the parameters x, y, and z. We then also have tocheck the “top” and “bottom” faces of X, in a completely analogous way:Either f or one of its partial derivatives must be nonzero on the face. Ifthis test succeeds, we know that we can mesh the surface in X. Otherwise, wesubdivide X into smaller boxes and put them on the list for further processing.

The approximation error is trivially bounded by the diameter of the box,regardless of how we construct the mesh in each box. Thus, if we want toguarantee a small error, we can achieve this by subdividing boxes that are toolarge, before checking global parameterizability.

In the end, we have a bunch of boxes of different sizes in which we haveto construct meshes. Cubes of different sizes may touch, and therefore themethod of Lemma 2 must be adapted: The surface is first meshed inside thesmallest boxes. The pattern of intersection with the boundary is transmittedto larger adjacent boxes, and thus the mesh boundary on the sides of theboxes may look more involved than in Fig. 5.8e. The largest boxes are meshedlast.

We still have to discuss the assumption of Lemma 2 that the intersectionsof the surface with the cube edges can be found. Snyder [322, 321] proposedto use interval arithmetic also for this task. In fact, this problem is just themeshing problem in one dimension: finding zeros f(x) = 0 of a univariatefunction f . (The two- and three-dimensional versions are treated in Lemma 2.)Global parameterizability in this setting boils down to requiring f ′ = 0.

Page 204: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 195

The basic algorithm successively subdivides a starting interval until f = 0or f ′ = 0 can be established to hold throughout each subinterval, by inter-val arithmetic. Then one can establish the existence of a unique zero or theabsence of a zero by computing the sign of f at all interval endpoints. Theresults is a sequence of disjoint isolating intervals [u1, v1], [u2, v2], . . ., whereeach interval is known to contain a unique zero (cf. Sect. 3.3.2).

Note that the sequence of points x1, x2, . . . need not be exact for thealgorithm in part 1 of the lemma to work. All that is required is that theyhave the correct order. There will be a sequence of disjoint isolating intervalsfor the intersections with the upper edge and another sequence of disjointisolating intervals for the intersections with the lower edge. If any two of theseintervals overlap, the intervals must be refined until they become disjoint.This will eventually happen, since, by global parameterizability, the zeros onthe upper edge and on the lower edge are distinct. Then any point from therespective interval can be used to construct the mesh.

Note however, that interval arithmetic fails to converge for zeros where thefunction only touches the zero line or does not cross it transversally such asthe points x5 and x7 in Fig. 5.7a, or generally when f(x) = f ′(x) = 0 (grazingintersections). No amount of subdivision will suffice to show the presence orabsence of a zero in this case.

Thus, to cope with these cases, one has to resort to the exact methods ofChap. 3. In practice, one could of course simply stop the subdivision whenthe size of the intervals become smaller than some threshold and “declare”the presence of a zero in this interval, giving up any correctness claims belowthe precision threshold.

Another issue is termination of Snyder’s algorithm. It turns out that thisquestion is closely related to the problem of grazing intersections: the algo-rithm may fail to terminate in certain special situations.

Consider the elliptic paraboloid z = x2 − xy+ y2. In a cube X in the firstorthant with the corner at the origin, the surface is globally parameterizablein x and y, but not in any other pair of variables. However, on the bottomface z = 0, the partial derivatives with respect to x and to y are 2x − y and2y−x, and neither of them has a uniform sign in X. This box will never satisfythe condition of Lemma 2, and subdivision will produce a smaller box of thesame type. Thus the algorithm will not terminate. Note that this surface isnot in any way difficult to mesh; it presents no problems for the algorithm ifthe origin is inside some (small enough) cube: the surface will simply intersectthe four vertical edges, and the mesh will consist of two triangles.

In both cases discussed above, the difficulty results from a special positionof the grid relative to the surface: The surface is tangent to an edge (in the caseof grazing intersections for the one-dimensional problem) or a face (in the caseof non-termination) of a grid cube. In fact, one can show that this is the onlysource of difficulties: If no face of a cube that is created during the algorithmis tangent to the surface, the algorithm will terminate. Thus, a translation androtation of the initial grid to a “generic” position guarantees termination: All

Page 205: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

196 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

cube faces are parallel to one of three given directions. A smooth surface hasonly finitely many points with a specified randomly chosen normal direction,the grid must be translated such that no grid plane will go through one ofthese critical points. This is ensured, for example, if the coordinates of thecritical points are not multiplies of powers of 2, in the grid coordinate system.

In all likelihood, such a translation and rotation of the initial grid to ageneric position should also remove the problem or grazing intersections withgrid edges, but this has not been analyzed.

Exercise 1. If (x, y, z) ∈ X | f(x, y, z) = 0 is globally parameterizable inthe parameters x and y, then the intersection curves on the vertical sides ofX (parallel to the z-axis) are globally parameterizable in the parameters x ory, respectively.

Exercise 2. Construct an explicit isotopy between the original curve piecesand the polygonal approximating curve in the case of Lemma 2, part 1.(Fig.s 5.7a and 5.7b). Assume first that the intersections x1, x2, . . . with theboundary are given exactly. Then extend the construction to the case whenthe intersections are replaced by approximate values x′1, x

′2, . . . etc. The only

property that can be assumed is that they are ordered in the same way as thetrue values x1, x2, . . .

Exercise 3. Extend the previous exercise to part 2 of Lemma 2. Assume thatan isotopy from the true intersection curves to the polygonal approximationis given on each face of the cube X.

Exercise 4. Examine termination of Snyder’s algorithm for a parabolic cylin-der (y − x)2 − z = 0 and for the hyperbolic paraboloids x2 − y2 − z = 0 andxy− z = 0, starting with eight unit cubes meeting at the origin. Assume thatthe range of f and its derivatives over any box (a) can be calculated exactly,or (b) is evaluated using interval arithmetic.

5.2.4 Small Normal Variation

Plantinga and Vegter [286] used a stronger condition than global parameter-izability to guide the subdivision process, the Small Normal Variation

condition:〈∇f(x1),∇f(x2)〉 ≥ 0, for all x1, x2 ∈ X (5.2)

In other words, there is an upper bound of 90 on the angle between twogradient vectors, and in particular, between two normal vectors of the surface.

Exercises 5–7 below explore the relation to global parameterizability andLemma 2. In particular, Small Normal Variation implies that the function ismonotone in some coordinate direction, and therefore the surface (or curve)is globally parameterizable.

Page 206: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 197

Condition (5.2) can be checked by interval arithmetic. We compute an in-terval representation ∇f(X) = (∂f/∂x,∂f/∂y,∂f/∂z) of the gradientand take the interval scalar product of this vector with itself. If the resultinginterval does not contain 0, we have established the Small Normal Variationcondition.

The algorithm starts with a given box and recursively subdivides it until,in every box X, the following termination condition is satisfied:

Either f(x) = 0 for all x ∈ X, or the Small Normal Variation condition(5.2) holds.

Both conditions are checked with interval arithmetic.

Theorem 1. If the surface S = x | f(x) = 0 has no singular points andinterval arithmetic converges, this subdivision procedure terminates.

Proof. By the nonsingularity assumption and since f and ∇f are contin-uous, there is a positive minimum distance ε between the solution sets off(x) = 0 and ∇f(x) = 0 inside the starting box. This means that everybox X which is smaller than ε has either f(x) = 0 or ∇f(x) = 0 for allx ∈ X. Convergence implies that interval arithmetic will establish f(x) = 0or ‖∇f(x)‖2 = 0, respectively, after finitely many subdivision steps. However,the interval computation of ‖∇f(x)‖2 = 〈∇f(x),∇f(x)〉 is identical to thecalculation of 〈∇f(X),∇f(X)〉 that is used to check the Small NormalVariation condition.

One can see that the granularity of the subdivision adapts to the propertiesof the function f . In places where f and ∇f have a large variation and f isclose to 0, the algorithm will have to subdivide the cubes a lot, but in regionswhere f is “well-behaved”, not much refinement will be necessary.

We still have to show that the signs of f at the vertices of all boxes givesufficient information to construct a correct mesh. We first discuss the case ofa curve in the plane, for illustration. For simplicity, let us ignore the case whenf is zero at some box vertex. The algorithm will simply insert a vertex on everyedge for which f has opposite signs at the endpoints. Now, the ambiguous casethat caused so much headache in Fig. 5.5 is excluded: If the signs alternatein the four corners, then f is neither monotone in the x-direction nor in they-direction, contradicting the Small Normal Variation condition, see Fig. 5.9a.

It may happen that the curve intersects an edge twice, and these inter-sections go unnoticed, as in Fig. 5.9b. However, the Small Normal Variationcondition ensures that the curve cannot escape too far before coming back,see Fig. 5.9c.

Before trying to mesh the curve inside the boxes, the algorithm refines thesubdivision until it becomes balanced : The size of two boxes that are adjacentvia an edge differs at most by a factor of 2. As long as two adjacent boxesdiffer by a larger factor, the bigger box is subdivided into four boxes. (Boxesin which f(x) = 0 need not be subdivided, of course.) At this stage, we need

Page 207: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

198 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

(a) (b) (d)(c)

⊕ ⊕ ⊕

Fig. 5.9. (a) The ambiguous sign pattern cannot arise. The arrows along the sidesindicate the direction in which f cannot be increasing. The little arrows indicate twonormals of a hypothetical solution, which form an angle larger than π/2. (b) Thetwo intersections with the upper edge are missed, but the straight segment betweenthe endpoints is isotopic to the true curve. (c) In particular, the curve cannot leavethe adjacent cube without violating the Small Normal Variation condition in theadjacent cube. Thus, the approximating segment is not only isotopic, it is evengeometrically close. (d) The connections between endpoints in a square can be chosenby simple local rules

not worry about the termination condition inside the boxes, because they areautomatically fulfilled.

Finally, we insert a mesh vertex on every edge whose endpoints have differ-ent signs. We have to decide how to connect these vertices inside each square.Due to the balancing operation, there is only a small number of cases to ana-lyze. It turns out that there can be zero, two, or four vertices on the boundaryof a square. If there are two vertices, we simply connect them by a straightline. If there are four vertices, two of them must lie on the same side, sincethe case of Fig. 5.9a is excluded. We connect each of them to one of the othervertices, see Fig. 5.9d for an example.

Theorem 2 ([286]). The polygonal approximation constructed by the algo-rithm is isotopic to the curve S. ()

The algorithm works similarly for surfaces in three dimensions: The refine-ment step has the same termination criterion as in the plane. After balancingthe subdivision, a vertex is inserted at every edge with endpoints of oppositesigns. The analysis of the possible cases is now more involved. In particu-lar, there can be an ambiguity on the face of a box without contradictingthe Small Normal Variation condition, as in Fig. 5.10a. This is because thiscondition does not carry over from a cube to a face: The gradient of the re-stricted function f(x, y, zmax) on a face of the cube is the projection of thethree-dimensional gradient vector ∇f , and two gradient vectors with anglesless than π may form a larger angle after projection.

Page 208: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 199

(b)(a) (c)

??

Fig. 5.10. (a) The ambiguous sign pattern can arise on a face of a cube. (b-c) Theambiguity can be resolved in two possible ways. The two resulting meshes cross theboundary face in different patterns, but they are isotopic to each other

However, in this case one can insert the two edges arbitrarily in the am-biguous face. Each choice leads to a different mesh in the two boxes, seeFig. 5.10b–c. But when the boxes are combined, the two choices lead to iso-topic meshes.

Fig. 5.10 is representative of the different cases that can arise. One justhas to ensure that the choice of edges is done in a consistent manner foradjacent boxes, for example, by always favoring the edges which do not crossthe diagonal in direction (1, 1, 0) (Fig. 5.10c) over the alternate choice, or byconsulting the value of f in the middle of the square. The algorithm constructsa mesh that is isotopic to the surface S.

Comparison with Snyder’s algorithm.

Looking at Fig. 5.10, we can see why Snyder’s algorithm of Sect. 5.2.3 has aharder time to terminate: it insists on topological correctness within each sin-gle cube separately. The example of Fig. 5.10 shows that this is not necessaryto get the correct topology in a global level. Snyder’s algorithm may refinethe grid to some unneeded precision when surface interacts with the grid inan unfavorable way.

Exercise 5. If all three partial derivatives are nonzero in a box X (and hencef is globally parameterizable in each pair of parameters out of x, y, and z),then f has Small Normal Variation.

Exercise 6. If f satisfies Small Normal Variation, then it monotone in x, y, orz, and in particular, it is globally parameterizable in some pair of parametersout of x, y, and z.

Page 209: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

200 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

Exercise 7. Construct a function f with Small Normal Variation which isnot well-behaved in the sense of Lemma 2, part 2. The function f shouldhave the property that Small Normal Variation can be established by intervalarithmetic.

Exercise 8. Construct an example of a function which is well-behaved withrespect to a cube X, but is no longer well-behaved after subdividing X intoeight equal subcubes. (For Small Normal Variation, this cannot happen: thiscondition carries over to all sub-boxes.)

Exercise 9. This exercise explores the properties of interval arithmetic forestimating the maximum angle between two gradient vectors in a box X. Thealgorithm of Sect. 5.2.4 terminates as soon as the angle between two differentnormals is less than 90. Consequently, the geometric distance between thesurface and the mesh can only be estimated very crudely; essentially it isproportional to the size of the box. If the angle bound is smaller, one mightderive better bounds (see Research Problem 3, p. 227).

The standard way to estimate the angle is by the formula

cosα =〈x, y〉

‖x‖ · ‖y‖

where x, y ∈ ∇f(X). If 〈∇f(X),∇f(X)〉 = [a, b] for some interval with0 < a < b, the standard interval arithmetic calculation leads to a bound ofα ≤ arccos b

a . Assuming that ∇f(X) = ([a1, b1], [a2, b2], [a3, b3]), can onederive a better bound on α by tackling the problem more directly? By howmuch can one improve the crude bound α ≤ arccos b

a? Are there instanceswhere the crude bound cannot be improved?

Exercise 10. Suppose that f satisfies the Small Normal Variation condition.Then there is an infinite circular double-cone C (like in Fig. 5.1b) of openingangle α = 2arcsin

√1/3 ≈ 70 with the following property: When the apex of

C is translated to any point x on the surface S, the two cones lie on differentsides of S and intersect S only in x.(Hint: α is the opening angle of the largest cone that fits into the first orthant.On the unit sphere S2 of directions, a set of diameter π (measured in angles)is contained in a spherical disc of radius (π − α)/2.)

Exercise 11. Prove that the sign pattern on the vertices shown in Fig. 5.11cannot arise, for a function with Small Normal Variation. (This pattern isconfiguration 13 in [286, Fig. 5].)(This exercise seems to require some geometric arguments which are notstraightforward. The previous exercise may be useful.)

Page 210: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 201

Fig. 5.11. Is this sign pattern possible when Small Normal Variation holds?

5.3 Delaunay Refinement Algorithms

The Restricted Delaunay Triangulation.

Given a set of points P and a surface S, the Delaunay triangulation restrictedby S is formed by all faces of the three-dimensional Delaunay triangulationwhose dual Voronoi faces intersect S. In particular, it consists of those trian-gles whose dual Voronoi edges intersect S. In the applications, the points ofP will always lie on S.

Generically, Voronoi vertices will not happen to lie on S; thus, the re-stricted Delaunay triangulation T contains no tetrahedra; it is at most two-dimensional. If P is a sufficiently good sample of S, then T will form a surfacethat is isotopic to S. A restricted Delaunay triangle xyz is characterized bythe existence of an empty ball through the vertices xyz whose center p lies onthe surface. We call this ball the surface Delaunay ball. It may happen that avertex p ∈ P is incident to no edge and no triangle of the restricted Delaunaytriangulation T : then p must lie on a small component of S that is completelycontained in the Voronoi cell V (p). It can also happen that p is incident tosome edges but to no triangle of T .

We will present two algorithms that use the restricted Delaunay triangula-tion as a mesh. They start with some initial point sample and add points untilit is guaranteed that the restricted Delaunay triangulation forms a polyhedralsurface that is isotopic to the given surface. The algorithms are adaptationsof the greedy “farthest point” technique of Chew [91] in which the points thatare added are centers of surface Delaunay balls.

The algorithms differ in the way how the correct topology is ensured, andthey differ in the primitive operations that are used to obtain informationabout the surface. We will present an algorithm of Boissonnat and Oudot,which is based on the local feature size, and an algorithm of Cheng et al. thatworks towards establishing the so-called topological ball property.

Page 211: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

202 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

5.3.1 Using the Local Feature Size

The generic form of Chew’s mesh refinement algorithm is as follows, for thecase of a surface without boundary.

Select some starting sample P ⊂ S, and compute its restricted De-launay triangulation T . If T contains a “bad” triangle xyz, insert thecenter of the surface Voronoi ball of this triangle into P , and update T .

Depending on the definition of “bad” triangle, the algorithm will give differentresults. The algorithm can also treat surfaces (and plane regions) with bound-ary, and in fact, this is the real challenge in the design of the algorithm. Forsimplicity, we will discuss only the case of smooth surfaces without boundary.

The local feature size of a point x ∈ S, denoted by lfs(x), is the distancefrom x to the closest point on the medial axis, see Fig. 5.12. (See p. 109 inSect. 2.7 for the definition of the medial axis; see also Sect. 6.2.2, pp. 244–247,for a more extensive discussion about the medial axis and the local featuresize.)

In the case of a curve, the local feature size is small where the curve makessharp bends, as in the region C of Fig. 5.12. More generally, for a surface,the curvature radius corresponding to the maximum principal curvature (seeSect. 4.4.1) at x is an upper bound on lfs(x). The local feature size is alsosmall when a different part of the curve comes close, as in the region aroundA of Fig. 5.12. It is therefore a somewhat natural measure for specifying thenecessary density of the mesh. There are however instances where the localfeature size overestimates the density: for example, two parallel flat sheetsof a surface that approach each other very closely have a small local featuresize, but they can be meshed with few vertices. The local feature size is alsorelated to the length of the fibers in a tubular neighborhood of the surface,see Lemma 1, Sect. 5.1.

The local feature size is nonzero if S is smooth at x. It is zero at edgesor other singular points of S. The local feature size is a Lipschitz-continuousfunction with constant 1:

lfs(x) − lfs(y) ≤ ‖x− y‖

For a smooth compact surface, the local feature size is therefore bounded frombelow by a positive constant lfsmin > 0.

ε-Samples and Weak ε-Samples.

A fundamental concept is the notion of an ε-sample P ⊂ S of a surface S,introduced by Amenta and Bern [22]. It is defined by the following condition:For every point x ∈ S, there is a point p ∈ P , such that ‖p− x‖ ≤ ε · lfs(x).

Since lfs(x) is difficult to obtain in practice, one replaces it by some otherfunction ψ: A ψ-sample P ⊂ S for a function ψ : S → R

+ is a subset with thefollowing property: For every point x ∈ S, there is a point p ∈ P , such that

Page 212: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 203

AB

C

x

lfs(x)

Fig. 5.12. A curve, its medial axis, and the local feature at a point x on the curve

‖p − x‖ ≤ ψ(x). Thus, an ε-sample is the same as an (ε · lfs)-sample. It willalways be clear from the context which definition is meant.

Both of these notions are still difficult to check because the definitioninvolves a condition for infinitely many points x ∈ S. The following conceptrelaxes this condition to a finite set of points.

For every surface Delaunay ball with center x and radius r, r ≤ ε ·lfs(x), or r ≤ ψ(x), respectively.

A point sample with this property is called a weak ε-sample (a weak ψ-sample,respectively). (Originally, this was called a loose ε-sample [64].)

The difference between ε-samples and weak ε-samples is not too big, how-ever. It can be shown that every weak ε-sample, for small enough ε is alsoan ε′-sample, with ε′ = O(ε) [64, Theorem 1]. To exclude trivial counterex-amples, one has to assume that, for each connected component C of S, therestricted Delaunay triangulation of P has a triangle with at least one vertexon C.

Theorem 3. If P ⊂ S is a weak ε-sample of S for ε < 0.1, and, for everyconnected component C of S, the restricted Delaunay triangulation T of Pcontains a triangle incident to a sample point on C, then T is ambient isotopicto S. The isotopy moves each point x ∈ S by a distance at most O(ε2 lfs(x)).

The theorem was first formulated for ε-samples (with the same bound of0.1) by Amenta and Bern [22], see also Theorem 6 in Chap. 6 (p. 248) for arelated theorem. The extension to weak ε-samples is due to Boissonnat andOudot [65].

We give a rough sketch of the proof, showing the geometric ideas, butomitting the calculations. Let us consider a ball tangent to S in some point

Page 213: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

204 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

x ∈ S. The definition of local feature size implies that such a ball contains noother point of S as long as its radius is smaller than lfs(x). Thus, when wedraw the two balls of radius lfs(x) tangent to S, it follows that the the surfacemust pass between them, and hence, in the neighborhood of x, S must bemore or less “flat”, see Fig. 5.13. By the Lipschitz continuity of lfs, the sameproperty (with slightly smaller balls) must hold for all other surface points inthe vicinity of x. Consider three points a, b, c ∈ S at distance r = ε · lfs(x)from x. Then the normal of the plane through these points differs from thesurface normal at x only by a small angle, which can be shown to be O(ε).

We now apply this observation to the situation when x is a center ofa surface Voronoi ball through the vertices a, b, c of a restricted Delaunaytriangle ∆. Since the variation of surface normals is bounded, one can show

b c

Sn

a

xr

Fig. 5.13. The surface must squeeze between two tangent balls of radius lfs(x)

that the maximum distance from a point of ∆ to the closest point on S isO(ε2 lfs(x)). It follows that the projection πS that maps every point of ∆ tothe closest point on S is injective: if we extend an open segment of lengthlfs(y) from every surface point y to both sides of S in the direction normalto S, these segments do not intersect, and they can be used as the fibers ofa tubular neighborhood S of S. Each point of such a segment has y as itsunique closest neighbor on S. For small enough ε, the triangle ∆ is containedin S. Thus, the mapping πS defines an isotopy between ∆ and a correspondingsurface patch, as in Lemma 1 and Fig. 5.3a.

Page 214: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 205

One can show that two triangles of T that share an edge or a vertex havenormals that differ by at most O(ε), and the mapping πS extends contin-uously across the edge or the vertex. It follows that the projection πS is ahomeomorphism that is invertible locally. (In topological terms, πS : T → Sis a covering map, if we can establish that it is surjective.) By assumption,on every component, there is at least one vertex contained in a triangle of T .This ensures that πS(T ) contains that vertex, and since the mapping can becontinued locally, it follows that every component of S is covered at least once.It is now still possible that some component is covered more than once by πS .This would imply that some sample point p ∈ P is covered more than once.However, one can show quite easily that no point of T except p itself has p asits closest neighbor on S.

With the help of Lemma 1, one can obtain the desired ambient isotopybetween T and S. ()

The Delaunay refinement algorithm of Boissonnat and Oudot [64] appliesthis theorem to obtain a topologically correct mesh. It requires some functionψ(x) for determining the necessary degree of refinement. The function ψ mustbe a lower estimate for the local feature size. To obtain a bound on the runningtime, it should be a Lipschitz function with constant 1:

ψ(x) − ψ(y) ≤ ‖x− y‖

The refinement algorithm is an instance of the general Delaunay refinementalgorithm described on p. 202. A triangle with surface Delaunay ball of radiusr centered at x is declared “bad” if r > ψ(x).

Thus the main loop of the algorithm runs as follows. We have to intersectevery Voronoi edge with the surface S. If there is an intersection point x, it isthe center of a surface Delaunay ball, and it is the witness for a correspondingtriangle in the restricted Delaunay triangulation. If the radius r of the ball islarger than ψ(x), we insert x into P and update the Voronoi diagram. It mayhappen that a Voronoi edge intersects the surface more than once. Then wecarry out the test for all intersection points. If follows from the arguments inthe proof of Theorem 3 that at least one point x has r > φ(x) and can beinserted into P .

The following lemma helps to prove termination of this algorithm.

Lemma 3. Let ψ be a Lipschitz function with 0 < ψ(x) ≤ lfs(x). Consider analgorithm which successively inserts points into a sample P with the propertythat every point p has distance at least ψ(p) from all previously inserted points.Then the number of points is at most O(H(ψ, S)), with

H(ψ, S) :=∫

x∈S

1ψ(x)2

dx.

Proof. This is proved by a packing argument: Let L be the Lipschitz constantof ψ. First we prove that

Page 215: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

206 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

1L+ 2

ψ(p) +1

L+ 2ψ(q) ≤ ‖p− q‖ (5.3)

for any two points p, q ∈ P . Assume that p was inserted before q. Then, byassumption, ‖p− q‖ ≥ ψ(q). By the Lipschitz property, we have

ψ(p) ≤ ψ(q) + L · ‖p− q‖ ≤ (L+ 1) · ‖p− q‖,

which implies ψ(p) + ψ(q) ≤ (L+ 2) · ‖p− q‖ and hence (5.3). It follows thatwe can draw disjoint disks Dp of radius ψ(p)/(L+2) around all points p ∈ P .It is not difficult to show that the integral over these disks is bounded frombelow: ∫

x∈Dp

1ψ(x)2

dx ≥ Ω( 1

(L+ 2)2)

(5.4)

The argument is a follows. The area of Dp is Ω(ψ(p)/(L + 2))2: it can besomewhat smaller than a plane disk of radius ψ(p)/(L + 2), since Dp lies onthe curved surface S, but since the radius is bounded in terms of the localfeature size, it cannot be smaller by more than a constant factor. By theLipschitz property, the integrand cannot deviate too much from the value1/ψ(p)2 at the center of the disk. Multiplying the integrand by the area ofintegration yields the lower bound (5.4). Since the disks Dp are disjoint, itfollows that the number of points is O((L+ 2)2H(ψ, S)).

In a similar way, but using a covering argument instead of a packing argu-ment, one can prove a lower bound on the size of a weak ε-sample (an henceon an ε-sample), cf. [150]:

Lemma 4. Let ψ be a Lipschitz function with 0 < ψ(p) ≤ lfs(p). Any ψ-sample of S with respect to ψ must have at least Ω(H(ψ, S)) points. ()

We still have to ensure that the restricted Delaunay triangulation containsa triangle on every component. A seed triangle is a triangle in the restrictedDelaunay triangulation with a surface Delaunay ball of radius r ≤ ψ(x)/3,where x is the center. Since this triangle is so small, one can show that therefinement algorithm will never insert a point in its surface Delaunay ball.

Lemma 5. If the sample P contains a seed triangle, this triangle will remainin the restricted Delaunay triangulation. ()

The algorithm starts with sample P that consists of a seed triangle onevery component of the surface. The lemma ensures that this triangle remainsin the restricted Delaunay triangulation till the end, thus fulfilling the lastassumption of Theorem 3. Since

∫1/ lfs(x)2 dx ≥ Ω(1) on every closed surface,

the extra seed points fall withing the asymptotic bound of Lemma 3.The following theorem summarizes the conclusions from the above theo-

rems and lemmas about the Delaunay refinement algorithm.

Theorem 4. Let ψ be a Lipschitz-continuous function with Lipschitz con-stant 1 and 0 < ψ(x) ≤ lfs(x). Suppose that P is initialized with seed triangle

Page 216: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 207

Fig. 5.14. Two meshes constructed by the Delaunay refinement algorithm ofBoissonnat and Oudot [64]

on every connected component of S. Then the Delaunay refinement algorithmcomputes a sample of Θ(H(ψ, S)) points. The resulting mesh is a weak ψ-sample. If ψ(x) ≤ ε · lfs(x) for ε ≤ 0.1, it is ambient isotopic to S. Theisotopy maps every point to a point of distance at most O(ε2 lfsmax). ()

Geometry Improvement.

After obtaining the correct topology, one can improve the geometry of themesh by eliminating triangles with small angles (with bad “aspect ratio”).

A triangle is declared “bad” if the minimum angle is below some bound.This can be done concurrently with the size criterion specified by ψ. If thebound is not too strict (less than π/6), termination of the algorithm is guar-anteed. For further details, we refer to [64].

Primitive Operations.

The algorithm needs some lower estimate ψ on the local feature size as externalinput. In some applications, such information can be known in advance. Asa heuristic without correctness guarantee, one can also use the distance tothe poles of the Voronoi diagram (roughly, the largest distance to a Voronoivertex in the Voronoi cell of each sample point on each side of the surface(see the definition on p. 236 in Sect. 6.2.1). This is a suitable substitute forthe local feature size, once a reasonably fine starting mesh has been obtained(Theorem 7 in Chap. 6, p. 249). The distance to the closest pole should bescaled down by a constant factor, to obtain a lower bound on the local featuresize with some safety margin.

The essential primitive operation during the algorithm is the intersectionof the surface with a Voronoi edge. If the surface is given as a solution set of

Page 217: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

208 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

an equation, this can be written as an equation in one variable. Dependingon the type of the equation, it can be solved exactly with the techniques ofChap. 3 or numerically with a bisection method or interval arithmetic.

If a Voronoi edge happens to be tangent to the surface or have a “grazingintersection”, this causes numerical or algebraic difficulties. This is a drawbackthat is shared by all algorithms that compute intersections: They may havenumerical or algebraic problems that are not inherent in the problem itself,but are caused by the added “scaffolding” structure that the algorithm putsaround the surface (a Voronoi diagram, or a grid of cubes like in the previoussection).

On the other hand, once the mesh is sufficiently fine, Voronoi edges that in-tersect the surface will do so transversally, and the smaller the mesh becomes,the more perpendicular and numerically well-behaved will be the intersection.Also, in connection with appropriate conditions like Small Normal Variation,one can avoid attempts to compute difficult intersections.

Besides the estimate ψ and the computation of intersection points, thealgorithm requires only a small initial seed triangle on every component. Onecan construct examples with some tiny components that are missed completelyunless they are specified initially. For instances which are not so complicated,it is often sufficient to intersect a few random lines with the surface to providea starting sample. An alternative approach is to look for critical points onthe surface in some arbitrary direction d, by solving for points where ∇f isparallel to d. This will insert at least two seed vertices on every componentof S. Then one can test the incidence criterion of Theorem 3 at the end,by checking whether the seed points are incident to some triangles of therestricted Delaunay triangulation, and if necessary, restart the algorithm aftera few additional refinements. The surface mesher of Boissonnat and Oudot isimplemented in the Cgal library. Fig. 5.14 shows meshes that were obtainedby this algorithm.

The algorithm is restricted to smooth surfaces, because the local featuresize is 0 at non-smooth points. However, by introducing a new sampling con-dition, it has been shown recently that the algorithm also works for somenon-smooth surfaces provided that the normal deviation is not too large atthe singular points [66]. Experimental results on polyhedral surfaces, piece-wise smooth surfaces, and algebraic surfaces with singularities can be foundin [65].

Exercise 12. Assume we know a Lipschitz continuous function φ(x) which isa lower estimate on the local feature size lfs(x), with φ(x) ≥ φmin > 0. Refinethe analysis leading to Theorem 4 to show that an approximating mesh withHausdorff error O(D), for D ≤ φmin, can be obtained by running the Delaunayrefinement of Sect. 5.3 with threshold function ψ(x) :=

√Dφ(x). Show that

ψ satisfies the assumptions of Theorem 4.

Page 218: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 209

Exercise 13. 1. Take a set P of at least 4 points from a sphere S, butotherwise in general position. Show that the Delaunay triangulation of Prestricted by S is homeomorphic to S.

2. Find a point set P which lies very close to the sphere S, whose restrictedDelaunay triangulation is not homeomorphic to S.

5.3.2 Using Critical Points

Another meshing algorithm of Cheng, Dey, Ramos and Ray [90] uses a dif-ferent criterion for topological correctness of the restricted Delaunay trian-gulation. We say that a point set P on a surface S satisfies the topologicalball property if every Voronoi face F of dimension k in the Voronoi diagramof P intersects S in a closed topological (k − 1)-ball or in the empty set,for every k ≥ 0. (For example, the non-empty intersection of a 2-dimensionalVoronoi face F with the surface must be a curve segment.) Moreover, the inter-section must be nondegenerate, in the following sense: the (relative) boundaryof the intersection must coincide with the intersection of S with the bound-ary ∂F . (For example, it is forbidden that an interior point of the curvesegment in the above example touches the boundary of F .)

Theorem 5 ([138]). Let P be a non-empty finite point set. The Delaunaytriangulation of P restricted by a surface S is homeomorphic to S if the topo-logical ball property is satisfied.

In the paper [138], where this property was introduced, it was called the closedball property, see also Theorem 1 in Chap. 6 (p. 241).

The topological ball property is by itself not restricted to smooth sur-faces. However, the termination proof of the algorithm and the methods thatare used to establish the topological ball property are restricted to surfaceswithout singularities, defined by a smooth function f .

Instead of using some quantitative argument as in Sect. 5.3.1, the algo-rithm that we are going to describe tries to establish the topological ball prop-erty directly. For this purpose, we need some computable conditions whichimply the topological ball property for a given surface f(x) = 0. These condi-tions will be given in the sequel. In each case, testing the condition involvesfinding a point on the surface with certain criticality properties, which reducesto the task of solving a system of equations involving f and its derivatives.There will be three equations in three unknowns, and thus generically a zero-dimensional set of solutions. If f is a polynomial, the number of solutions willbe finite and the techniques of Chap. 3 can be applied to solve the problemexactly, thereby leading to a provably correct algorithm. In this section, how-ever, we will restrict ourselves to the task of setting up the geometric andtopological conditions and deriving the corresponding systems of equations.

The following lemma gives a sufficient condition for a two-dimensionalsurface patch to be isotopic to a disk.

Page 219: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

210 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

Lemma 6 (Silhouette Lemma). Let M ⊂ S be a connected, compact 2-manifold whose boundary is a single cycle, and let d ∈ S

2 be an arbitrarydirection. If M contains no point whose normal is perpendicular to d, then itis a topological disk.

See Exercise 14 for a proof. The set of points whose normal is perpendicularto d is called the silhouette of the surface S in direction d. Algebraically, itis defined by the condition 〈∇f, d〉 = 0 (and f = 0), which specifies a one-dimensional family of solutions. Generically, it is a set of smooth curves.

The algorithm performs a sequence of four tests to establish the topologicalball property. If any test fails, a new sample point is identified. This point isinserted into the sample, and the restricted Delaunay triangulation is updated.We assume throughout that no Voronoi vertex lies on S. (If this case shouldhappen, it can be resolved by perturbing the set P slightly, either by a smallrandom amount, or conceptually with symbolic perturbation [136, 344]. Inthis way, one can also ensure that P contains no 5 co-spherical points, andthus the Delaunay triangulation is indeed a proper triangulation.)

(1) For a Voronoi edge e, the topological ball property amounts to requiringthat e intersects S in at most one point (but not in one of its endpoints).

Thus, we look at each Voronoi edge e in turn, and intersect e with S.If there is more than one intersection, then insert the intersection point p∗

which is farthest from p, where p is the sample point in any Voronoi cell towhich e belongs. (The choice of p has no influence on the distances to p∗.) Thepossibility that the intersection point is an endpoint of e, and thus a Voronoivertex, has been excluded above.

(2) The second check is some topological consistency check for the re-stricted Delaunay triangulation T . (The purpose of this test will become ap-parent later.) We check if T is a two-dimensional manifold: each edge mustbe shared by exactly two triangles, and the triangles incident to each vertexp must form a single cycle around p. If this holds, these triangles form a topo-logical disk around p. If the test fails for some vertex p or for some edge pq,we intersect all edges of the Voronoi cell of p with S and insert into P theintersection point p∗ which is farthest from p.

(3) Next, we look at each Voronoi facet F . The topological ball propertyrequires that F intersects S in a single curve connecting two boundary points.In general, the intersection F ∩S could consist of several closed curves or opencurves that end at the boundary of F .

Suppose that F is the intersection of the Voronoi cells V (p) and V (q).First, we exclude the possibility of some closed loop. If there is a closed loop,then it must have an extreme point in some direction. Thus, we choose somearbitrary direction d in F and compute the points of F ∩ S with tangentdirection d. Algebraically, this amounts to finding a point x on F ∩ S wherethe surface normal ∇f is perpendicular to d in R

3. We take the line l in Fthat is perpendicular to d and goes through x, and we intersect l it with S. Ifx is part of a cycle, then l must intersect S in a point x∗ of F different from x.

Page 220: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 211

Among all such points x∗, we choose the one with largest distance from p andinsert it into P . If necessary, we have to repeat this test for each critical pointx which lies in F .

If no point p∗ is found in this way, we have excluded the possibility of aclosed cycle in F ∩ S. F ∩ S might still consist of more than one topologicalinterval. However, since no Voronoi edge intersects S in more than one point,S must intersect more than two Voronoi edges of F . This means the dualDelaunay edge pq of F is incident to more that two triangles in the restrictedDelaunay triangulation, violating the topological disk condition for p and qthat was established in (2).

Thus, we have established the topological ball property for all Voronoiedges and for all two-dimensional Voronoi faces.

(4) Finally, we have to check that the surface forms a topological diskin each Voronoi cell V (p). Because of the test (2), we already know that Sintersects the boundary of V (p) in a single cycle. However S could still containa handle or some more involved topological structure inside V (p). To excludethis possibility, we use the Silhouette Lemma (Lemma 6). We take the normaldirection d = ∇f(p) in the point p and look at the silhouette in that direction,defined as the set of points whose normal is perpendicular to d. Arguing in thesame was as in (3), a silhouette can either form a cycle inside V (p), or it mustintersect the boundary. We choose an arbitrary direction d′ ⊥ d, and we lookfor a critical point in direction d′ on the silhouette curve; we also intersect thesilhouette with all boundary facets of V (p). If we find any point in V (p) inthis way, we insert it into the sample. (It is not necessary to choose the pointfarthest from p.) Otherwise, we know that no silhouette exists in V (p), andthe surface must be a topological disk.

For intersection of the silhouette with a plane, we have the two equationscharacterizing the silhouette:

f(x) = 0, 〈∇f(x), d〉 = 0,

and the plane equation, leading to a 0-dimensional solution set. The thirdequation for defining the critical point in direction d′ can be worked out asthe condition that the three vectors Hf (x) · d, d′, and the gradient ∇f(x)should be coplanar:

det(Hf (x)d, d′,∇f(x)) = 0, (5.5)where Hf (x) is the Hessian matrix at x.

If we start the algorithm with an empty sample set P = ∅, the algorithmwill directly proceed to step (4) to find a critical point on some silhouette(in an arbitrary direction). Any component of S without sample points hasa silhouette with critical points (for any directions d and d′) and will thuseventually be detected. Of course, any other method to find some seed pointson the surface is also appropriate for starting the algorithm. Cheng et al. [90]propose to initialize P with all critical points of S in the vertical direction.

Here is a summary of the Topology Refinement Algorithm to obtain atopologically correct mesh.

Page 221: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

212 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

Check the conditions given in (1)–(4), in this order. If any conditionfails, it defines a new point. Insert it into P and update the Voronoidiagram. Continue the process till no new point is inserted.

As discussed above, this process ensures that the topological ball propertyholds when the algorithm terminates, and therefore, the restricted Delaunaytriangulation is a homeomorphic mesh for S. It is however, not known whetherthe mesh is actually isotopic to S, see Research Problem 4 on p. 228.

The proof of termination assumes that f is smooth and defines a smoothcompact surface S, and it is based on the local feature size. One can show thata new point p∗ that is inserted has distance at least k · lfs(p) from all previouspoints, for k = 0.06. Therefore, Lemma 3 applies and gives the explicit bound|P | = O(H(S, lfs)). (Note that the algorithm does not have to know the localfeature size.)

The tests in (1) and (2) insert centers of surface Delaunay balls and fallwithin the framework of Delaunay refinement. The tests in (3) and (4) aredifferent and require more involved computations.

The above discussion has ignored a few degenerate cases which do nothappen in practice, but which need to be excluded nevertheless, to obtaina certified method. For example, in step (3), the intersection S ∩ F with aVoronoi face might be tangent to a third edge between its two endpoints. Thiswould violate the topological ball property for F because the boundary of theintersection S ∩ F does not coincide with the intersection S ∩ ∂F with theboundary. However, this situation would lead to an extra triangle incidentto the Delaunay edge pq and be detected in step (2). It is possible that theintersection S ∩ F is formed by S being tangent to F from one side, eitherin a point, in a curve, or even in a two-dimensional area. This would be inviolation of the topological ball property for one of the incident cells V (p)or V (q). However, such a point of tangency is detected by the geometriccondition of having a surface normal ∇f perpendicular to d, in step (3), andcan be inserted into the sample.

Improving the Geometry.

The mesh obtained in this way has the correct topology, but it may still bea very rough approximation. As in the Delaunay refinement algorithm of theprevious section, one can refine the mesh in order meet various geometricquality criteria. One can eliminate triangles with small angles or edges withsharp face angles between adjacent triangles. This refinement may destroy thecorrect topology, hence it is necessary to go back to steps (1)–(4) and thencome back for another round of geometry improvement, and so on, until theprocess stabilizes. It can be shown that the asymptotic upper bound |P | =O(H(S, ψ)) from Lemma 3 still applies (with a different constant), and hence,the method terminates, for smooth surfaces.

Page 222: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 213

Primitive Operations.

The only primitive operation is the solution of systems of equations involvingthe function f and its derivatives, and various plane or line equations thatcome from the Voronoi diagram. These equations have generically a zero-dimensional set of solutions, and thus are amenable to techniques of Chap. 3and to software such as Synaps, in the case of an algebraic function f . Incontrast to the Delaunay refinement algorithm of the previous section, theequations go beyond intersecting a line segment with the surface: they involvederivatives of f up to second order.

On the other hand, no a-priori knowledge or estimate about the localfeature size or the location of different connected components is required bythis algorithm.

Polyhedral Input.

This Delaunay refinement algorithm has been extended to the case when theinput is already a polygonal surface S whose dihedral angles are not too sharp(bigger than π) [126]. For example, S can come from a sufficiently fine sampleof a smooth surface. Actually this falls into the area of remeshing, which isnot within the scope of this chapter, but the algorithm is based on the sameideas as for the smooth case. It is is implemented in SurfRemesh softwareby Tamal K Dey and Tathagata Ray1. Of course, for a polyhedral inputsurface, some simplifications are possible. The algorithm refines the surfacewith Delaunay triangles that have bounded aspect ratio, and it achieves asmall approximation error.

Exercise 14. Prove the Silhouette Lemma (Lemma 6) by projecting M indirection d onto a plane.

Exercise 15. Prove that the points which are critical in direction d′ on thesilhouette in direction d are defined by (5.5).

5.4 A Sweep Algorithm

Mourrain and Tecourt [263, 327] have proposed a meshing algorithm for al-gebraic surfaces that is based on sweeping a vertical plane over the surface.We have already seen in previous sections that critical points play a crucialrole in determining the topological structure of a surface. Accordingly, thealgorithm uses certain critical points to guide the sweep. In contrast to previ-ous methods discussed in this chapter, this algorithm makes no smoothness orregularity assumptions about the input surface (other than those which followfrom being an algebraic surface). The algorithm works for surfaces with self-intersections, fold lines, or other singularities. On the other hand, it makes

1http://www.cse.ohio-state.edu/˜tamaldey/surfremesh.html

Page 223: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

214 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

no guarantees about the geometric accuracy of the mesh, and it cannot beextended in a straightforward way to provide a more accurate mesh.

We first give a rough overview, concentrating on the geometric ideas. Wewill then discuss the primitive geometric operations that are necessary. In thecase of algebraic surfaces, these operations can be carried out exactly.

The algorithm cuts the surface M into vertical slabs by a series of planesparallel to the y-z-plane in such a way that, between two successive planes,the surface has a “trivial” structure that can be constructed easily. Fig. 5.15shows a mesh for a torus shape that is constructed in this way. Before meshing

Fig. 5.15. A triangular mesh for a torus constructed by connecting a sequence ofvertical cuts. The mesh is shown both as a surface and as a transparent skeleton.The vertices and edges are marked according to the conventions of Fig. 5.16 andFig. 5.17 below

the surface between the planes, we first have to construct the intersection of Mwith each plane. This is the meshing problem for a plane curve. The algorithmsolves this problem in an analogous way, cutting it by vertical lines throughcertain critical points, finding the intersections with these lines, and connect-ing the points between them. Thus, the algorithm proceeds by induction onthe dimension.

We first discuss the problem of finding a topologically correct mesh for aplanar curve C, in the form of a planar straight-line graph which is ambientisotopic to C. This algorithm is due to Gonzalez-Vega and Necula [185]. Wewill assume throughout that C and M contains no straight line segment whichis vertical. (This can most conveniently be achieved by a sufficiently randomrotation of the coordinate system; alternatively, one can handle vertical partsexplicitly.) For simplicity of exposition, we will also assume that the curve orsurface is bounded. The algorithm can also deal with curves and surfaces that

Page 224: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 215

are clipped by a bounding box or sphere, and it can be extended to handlealgebraic surfaces with infinite parts.

5.4.1 Meshing a Curve

We want to construct an embedded planar straight-line graph which is isotopicto the solution set of the equation f(x, y) = 0. First we compute the x-coordinates of all potential “critical points”: points where the curve has avertical tangent, or where it crosses itself or has some other singularity. Thesepoints are characterized by the equation

fy(x, y) = 0, f(x, y) = 0. (5.6)

Let X be the finite set of x-coordinates of the solutions of this system ofequations. In the x-interval between two successive critical points, the solutionconsists of a constant number of x-monotone curves, since fy(x, y) = 0, and bythe implicit function theorem, the curve can be locally written as a graph of afunction y = h(x), see Fig. 5.16. To make life easier, we insert an intermediate

Fig. 5.16. A plane curve and its critical points (full circles). The vertical linesthrough the critical points and the additional lines between the critical points (dot-ted) define the polygonal mesh. In the left part, the isotopy that maps the curve tothe meshed curve is indicated

x-value between each pair of successive values of X. Now, for each value x inthis enlarged set, we intersect the curve with the vertical line at x. (This isnothing but the one-dimensional version of the meshing problem.) We get adiscrete set of points on each vertical line. By construction, the intersectionequation has only simple roots at each intermediate value x, whereas it hasat least one multiple root at each value of X.

Now that we have the points on each vertical line, we need to figure outhow to connect them. For each point, we need to know how many parts of

Page 225: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

216 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

the curve emanate on each side. For a simple root (including all points on theintermediate lines) there is one piece emanating on each side. For the criticalpoints (multiple roots), we have to use algebraic tools to find this information.This is described in detail in Sect. 3.6.1 and Sect. 3.6.2. In each vertical slab,we now scan the points from bottom to top and connect them simply by astraight segment, taking into account the multiplicity of emanating arcs, seeFig. 5.16. By adding the intermediate lines, we have ensured that these linesegments are disjoint. (In the example of Fig. 5.16 we could not connect pointson the first and third line directly by straight segments if the second line werenot there.)

The resulting graph is ambient isotopic to the given curve. We can evenexplicitly construct an isotopy of a very restricted kind, because all we haveto do is to move points vertically upward or downward from each curve pieceto the corresponding segment, as indicated in Fig. 5.16. The points on thevertical lines remain fixed.

Finally, we summarize the geometric primitives that we need to providein order to make this algorithm work:

• We must be able to find all critical points by solving (5.6).• We must find the intersection of the curve with a vertical line. (Some of

these lines are defined by going through a critical point.)• For each point on one of the lines, we must be able to determine how many

branches of the curve emanate to the left and to the right.

For the case of an algebraic curve, Sect. 3.6.1 and Sect. 3.6.2 describe howthis can be done in an exact manner.

5.4.2 Meshing a Surface

Now that we know how to mesh a curve, let us proceed to a surface f(x, y, z) =0 in space. Our goal is to find uniform regions in the x-y-plane where thesurface can be regarded as a family of a constant number of function graphsof the form z = h(x, y). We therefore have to cut the surface at the pointsof self-intersection and the points that have vertical tangents (the silhouette).These points form the polar variety C, which is defined by

fz(x, y, z) = 0, f(x, y, z) = 0. (5.7)

This system of two equations in three variables will in general have a one-dimensional solution space, consisting of curves on the surface M . (The pointsof self-intersection, as well as other sorts of critical surface points, satisfy infact the stronger condition fx(x, y, z) = fy(x, y, z) = fz(x, y, z) = 0, andhence they are included in the solution of (5.7).) When we cut the surfaceat the polar variety, we obtain x-y-monotone surface patches that can beparameterized in x and y.

As discussed in the beginning, we partition the surface into vertical slabs byplanes perpendicular to the x-axis, in such a way that, between two sections,

Page 226: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 217

the topology of the surface “does not change”. The points at which we cutwill be called slab points. These points include all x-critical points of the polarvariety, as well as all points where the projection of the polar variety on thex-y-plane intersects itself.

The system of equations that characterize the x-critical points has beengiven in (5.5) for two general directions d and d′. In our case, d is the z-direction and d′ is the x-direction. Thus, the critical points are given by thesystem

(fz · fyz − fy · fzz)(x, y, z) = 0, fz(x, y, z) = 0, f(x, y, z) = 0. (5.8)

This includes the x-critical points of the surface itself, i. e., the points wherex has a local extremum: these points have a tangent plane perpendicular tothe x-axis, and a fortiori a vertical tangent line, and therefore they lie onthe silhouette. There are cases when the system (5.8) does not have a zero-dimensional solution set, and therefore it cannot be used to define slab points.(The example of Fig. 5.20 below is an instance of this.) In these cases, onemust modify the system to obtain a finite set of slab points, as describedin [263, 327].

The points where the vertical projection of the polar variety onto the x-y-plane crosses itself are the points (x, y) for which (5.7) has more than onesolution z. For a polynomial f , these points can be found by computing theresultant of the polynomials in (5.7), see Chap. 3 for details. A slab point (x, y)of this type will be called a multiple slab point if more than two curves of thepolar variety pass through the vertical line at (x, y) without going throughthe same point in space.

We make the following important nondegeneracy assumption:

There is a finite set of slab points, there are no multiple slab points,and no two slab points have the same x-coordinate.

This assumption excludes for example a surface which consists of two equalspheres vertically above each other. The two silhouettes (equators) wouldcoincide in the projection. It also excludes a torus with a horizontal axis, or avertical cylinder (for which the polar variety would be two-dimensional), forthe same reason. Such cases are very special, and they can easily be avoidedby a random transformation of the coordinate system. Still, any number ofcurves of the polar variety may go through the same point in space, and inparticular, the surface can have self-intersections of arbitrary order. Thus, thenondegeneracy assumption is no restriction on the generality of the surface M .

Now we proceed as in the planar case. We take the x-coordinates of allslab points, we add intermediate “regular” x-values between them, and wecompute all vertical cross-sections at these values, using the algorithm ofSect. 5.4.1 for plane curve meshing. Note that the intersections of the polarvariety with the vertical planes become critical points for the two-dimensionalmeshing problem. This can be seen by comparing (5.7) with (5.6), noting thatthe z-coordinate of our three-dimensional problem becomes the y direction of

Page 227: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

218 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

the two-dimensional problem. The algorithm produces in each vertical planea planar graph that is ambient isotopic to the cross-section. The isotopy hasonly deformed the curves vertically.

Now, as we look at a slab from the top, the polar variety will form x-monotone non-crossing curves from one plane to the next, as in Fig. 5.17a.The strip between the boundaries is divided into triangular and quadrangularregions that are bounded by two curves of the polar variety C, and one or twostraight pieces from the boundary walls. (In addition, there are the unboundedregions at the extremes, but by the boundedness assumption on the surfaceM ,there cannot be any part of M in these areas.) We must find the correctassignment between the critical points on the two planes that have to beconnected by the polar variety in the projection. By construction, one of theplanes is an “intermediate” plane without a slab point; so each critical pointis incident to one piece of C. By assumption, the other plane contains atmost one slab point, and we know which one it is. We can therefore findthe correct connections by assigning critical points in a one-to-one manner,with the projected slab point absorbing the difference between the number ofcritical points on the two sides. In the mesh, these pieces of C will be replacedby straight line segments, see Fig. 5.17b. Fig. 5.17 shows an example wherethe critical points in the regular cross-section outnumber the critical pointson the other side, and thus s has to accept two connections. A different casearises if s is a local x-minimum of the surface, or in the situation of Fig. 5.19:s receives no connections at all from the left.

x

y

(a)

s

x

y

(b)

s

x

y

(c)

Fig. 5.17. (a) Vertical projection of the polar variety between two planes. Thecritical points in each vertical plane are marked by full circles. The plane on theright contains a slab point s, the plane on the left is a “regular” cross-section.(b) Vertical projection of the resulting mesh. (c) The horizontal component of theisotopy

Now we have to construct the surface pieces. Above each region of the pro-jected picture, the surface M consists of a constant number of x-y-monotone

Page 228: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 219

(a) (b)

1

2

3

1

2

3

s s

Fig. 5.18. Connecting a region in several layers: (a) A simple situation with threelayers above the projection and a one-to-one assignment between two successivecross-sections. The pieces of the polar variety are shown in thick lines. The figureon the left includes a piece of the surface from an adjacent region, to show how thesegment projected polar variety in the projection arises. This part of the surface willbe meshed as part of the adjacent region. (b) Four layers over a triangular region.Three parts of the surface intersect in the point s, which is therefore a slab point

s sa b

1

2

3

1

2

3

Fig. 5.19. Connecting a quadrilateral region in several layers: The triangulation ofthe region must avoid to connect the critical point s with the boundary points aand b on the other side, because otherwise the first and second layer of the surfacewould touch along this diagonal. This situation occurs for example in the secondslab for the torus of Fig. 5.15

Page 229: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

220 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

surface patches. The number of patches is determined by any point in the x-y-plane which does not lie on the projection of C, for example, at the “inter-mediate” vertical lines from the cross-sections (the open circles in Fig. 5.17b).It is now a straightforward matter to connect the cross-sections above eachregion. We choose some triangulation of the region (as indicated in Fig. 5.17b)and use this triangulation to connect the pieces in all layers. Over a quadrilat-eral region, one can simply connect the curve pieces in the two cross-sectionsone by one from bottom to top, see Fig. 5.18a. The situation can be more in-volved over a triangular region, see Fig. 5.18b for an example. However, thereis always a unique way to connect the cross-sections, if one takes into accountthe information from adjacent regions. Fig. 5.19 shows a situation where thetriangulation of the region cannot be chosen arbitrarily. There are degeneratesituations which are more complicated, for example when more than threesurface patches intersect in the same point, or when an x-minimal point ona self-intersection curve has at the same time a vertical tangent plane. Sincewe know that there is only one slab point on every vertical line and we knowwhich point it is, these cases can also be resolved.

It is clear that the resulting triangles do not cross, and hence form atopologically correct mesh of the surface above each region. One can even writedown the ambient isotopy between the surface and the mesh: In a first step,one transforms only the y coordinates to deform Fig. 5.17a into Fig. 5.17b,see Fig. 5.17c:

(x, y, z) → (x, g(x, y), z),

for some continuous function g : [x1, x2] × R → R that is monotone in y foreach value of x, similarly to the two-dimensional case. More explicitly, g isdefined for all points on the projection of C by the condition that they mustbe mapped to the corresponding straight line segments. Between these points,g is extended by linear interpolation in y. For x = x1 and x = x2, we haveg(x, y) = y: the two boundary planes are left unchanged.

In a second step, we only have to deform the surfaces vertically. Note thatthis coincides with the isotopy that is defined for each vertical slab by theplanar curve meshing procedure. Thus, by concatenating the two isotopies(first in the y-direction and then in the z-direction) and gluing them togetheracross all slabs, we get the isotopy between M and the mesh.

Theorem 6. The mesh constructed by this algorithm is ambient isotopic tothe surface M .

For an algebraic surface, one can analyze the number of solutions that theequations arising in the course of the solution might have [263, 327]:

Theorem 7. For an algebraic surface of degree d, the algorithm constructs amesh with at most O(d7) vertices.

Note that the solution set M of the equation f(x, y, z) = 0 may not be asurface at all. Of course, without any smoothness requirements whatsoever,

Page 230: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 221

M could be some “wild” set. But even when f is a polynomial (the case ofan algebraic “surface”), M can be a space curve or a set of isolated points. Itcan even be a mixture of parts of different dimensions, for example the unionof a sphere and a line through the sphere, plus a few isolated points. Thealgorithm can be extended to handle these cases.

In particular, if the set M contains a space curve C, then all points onthat curve will automatically form part of the polar variety. Figs. 5.20–5.21show an example of a sphere and a line that are defined by the equation

(x2 + y2 + z2 − 1)((x+ z)2 + (y + z)2

)= 0.

In such cases, the connection between two vertical sections will contain edgeswith no incident triangles.

xy

z

Fig. 5.20. The union of a sphere and a line, and the first half of the vertical cross-sections. The cross-sections in the right half are symmetric. The slab points aremarked white

In fact, when the curve meshing problem (Sect. 5.4.1) is used as a sub-routine for the surface meshing problem, degenerate cases of this type willoccur. For example, an x-critical point p of M which is a local minimum ormaximum in the x-direction will become an isolated point in the vertical planethrough p. A saddle point in the x-direction will become a double point of thecurve.

Finally, let us recall the geometric primitive that is needed, in addition tothose that are necessary for the curves in the two-dimensional vertical cross-sections:

• We must be able find all slab points.

Page 231: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

222 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

Fig. 5.21. The mesh for the example of Fig. 5.20. For better visibility, the verticalsections have been separated by a large amount. Again, only the left half of themesh is shown

It is implicit that we can check whether a finite set of slab points exists,whether two slab points have the same x-coordinate, or when a multiple slabpoint occurs. Thus, when at any time in the algorithm, we find that ourbasic assumption is violated, we can simply perform a sufficiently generictransformation of the coordinates and start from scratch. For details abouthow this primitive can be carried out for the case of an algebraic surface, werefer to [263, 327].

The two-dimensional subproblems arise from intersectingM with a verticalplane, i.e., by substituting the variable x by some constant (which is often thex-coordinate of some slab point).

As a by-product, the algorithm produces a mesh of a space curve, namelythe polar variety on M , defined by two polynomial equations (5.7). The algo-rithm can be extended to construct a topologically correct polygonal approx-imation for a space curve that is defined by two arbitrary polynomials [177].

Finally, let us step back and look at the algorithm from a broader perspec-tive. Some ideas recur that we have already seen in connection with Snyder’salgorithm (Sect. 5.2.3): the algorithm proceeds by induction on the dimen-sion, and the condition when it is safe to construct a mesh is very similar toglobal parameterizability, except that there are several curve pieces (a con-stant number of them), each of which is parameterizable.

Silhouettes and the polar variety, which play an important part in thisalgorithm, are also used in the algorithm of Cheng, Dey, Ramos and Ray [90]of Sect. 5.3.2 to avoid complicated topological situations.

Exercise 16. By applying a random transformation of coordinates, one canassume in the meshing algorithm for an algebraic curve (Sect. 5.4.1) that notwo critical points have the same x-coordinate. Is this statement still true

Page 232: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 223

when the curve meshing algorithm is used as a subroutine for the verticalsections of the surface meshing algorithm (Sect. 5.4.2)?

5.5 Obtaining a Correct Mesh by Morse Theory

5.5.1 Sweeping through Parameter Space

Stander and Hart [324] proposed a method for obtaining a topologically cor-rect mesh that is based on sweeping through the family of surfaces f(x, y, z) =a for varying parameters a and watching the critical points where the topologychanges. Morse theory (see Sect. 7.4.2 on p. 300) classifies these changes. Thismethod works theoretically, but there is no completely analyzed guaranteedfinite algorithm to implement it. We sketch the main idea of this method.

For a given parameter a, the surface f(x, y, z) = a can be interpreted asthe level set of a trivariate function f : R

3 → R. The idea is to start with avery small (or very large) value a for which f(x, y, z) = a has no solution, andto gradually increase a until a = 0 and the surface in which we are interestedis at hand. This is related to the space sweep method of Sect. 5.4, except thatit works in one dimension higher: It sweeps a hyperplane a = const throughthe four-dimensional space of points (x, y, z, a) and maintains the intersectionwith the hypersurface f(x, y, z) = a.

As a varies, the surface “expands” continuously, except when a passes acritical value of f , where the topology changes. A critical value is the value off at a critical point, i. e., at a point x where ∇f(x) = 0. (These are preciselythe values that we have avoided in the discussion so far, by assuming thatthe surface has no critical points.) At a non-degenerate critical point x, theHessian Hf has full rank, and the number of its negative eigenvalues (theMorse index) gives information about the type of topology change. A criticalvalue of Morse index 0 or 3 is a local minimum or maximum of f , and itcorresponds to the situation when a small sphere-like component of the surfaceappears or disappears as a increases. The more interesting cases are the saddlepoints, the critical points of Morse index 1 and 2. Generically, they look like ahyperboloid x2 +y2 −z2 = a in the vicinity of the origin, for a ≈ 0. For a > 0,we have a hyperboloid of one sheet, and for a < 0, we have a hyperboloid oftwo sheets, see Fig. 5.22. The transition occurs at a = 0, where the surface is acone. Depending on the Morse index (1 or 2), the transition in Fig. 5.22 takesplace from left to right or from right to left as a increases. The eigenvectorsof the Hessian give the coordinate frame for rotating and scaling the picturesuch that it looks like the standard situation in Fig. 5.22.

Degenerate critical points, where the Hessian Hf does not have full rank,would pose a difficulty for this approach. They can be avoided by multiplyingf by some suitably generic positive function g like g(x) = a+‖x−b‖ for somearbitrarily chosen scalar point b and scalar a > 0.

The algorithm of Stander and Hart [324] proceeds as follows: First wecompute all critical points and critical values. This amounts to solving a 0-

Page 233: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

224 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

(a) (b) (c)

Fig. 5.22. The change of the surface at a saddle point of f . Two separate pieces ofthe surface (a) come together in a pinching point (b) and form a tunnel (c)

dimensional system of equations. Then we let a vary from a = amin, where thesurface is empty, to a = 0 in small steps. At each step, we maintain a mesh ofthe surface f(x, y, z) = a. Between critical values, we simply update the mesh.We know that the surface has no singularities, and we know that the topologyis unchanged from the previous step. Any standard continuation method thatbuilds a mesh on each component of the surface, taking into account Lipschitzconstants for ∇f , can be applied.

At a critical point, we have to implement the appropriate topologicalchange in the surface. A critical point of index 0 is easy to handle: One justhas to generate a small spherical component of the surface. A critical pointof index 3 is even easier: a small spherical component is simply deleted.

At a critical point, we have to implement the topological change indicatedin Fig. 5.22. Going from left to right, two surface patches meet, forming atunnel. We shoot rays from the origin in the positive and negative z direction(which is given by one of the eigenvectors of the Hessian), and remove the twomesh triangles that we hit first. Connecting the two triangles by a cylindricalring establishes the new topology.

Going from right to left corresponds to closing a tunnel and separatingthe surface into two pieces which are locally disconnected. We intersect thex-y-plane with the surface and remove the ring of intersected triangles. Bytriangulating the two polygonal boundaries that are formed in the upper andin the lower half-plane, the two holes are closed.

To make a rigorous and robust method, one has to analyze the requiredstep length that makes the approximations work, but this has not been doneso far. Also, the complexity of the resulting mesh has not been analyzed.

5.5.2 Piecewise-Linear Interpolation of the Defining Function

The method of Boissonnat, Cohen-Steiner, and Vegter [61] also uses Morsetheory, but in a more indirect way. The basic idea is to output the zero-setof a piecewise-linear interpolation of the defining function f . More precisely,

Page 234: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 225

let S = f−1(0) denote the surface that we want to mesh, and assume S iscontained in some bounding box. Let T denote a tetrahedral mesh of thisbounding box, f be the function obtained by linear interpolation of f on T ,and set S = f−1(0). The algorithm consists in building a tetrahedral mesh Tsuch that the output mesh S is isotopic to S.

A B

C

DE

FG

A BC

D

EF

G

0

100

200

0

−100 −100

−100

0

−100

200

100

−100

0

200100

100 100

A B

C

DE

FG

A BC

D

EF

G

0

100

200

0

−100 −100

−100

0

−100

200

100

−100

0

200

100

100 100

−100

0

100

100

0

f

g

0

Fig. 5.23. Critical points do not determine the topology of level sets. The twofunctions have the same critical points of the same types at the same heights, butdifferent level sets at level 0. Minima and maxima are indicated by empty and fullcircles, and crosses denote saddle points. On the right, the corresponding contourtrees (Sect. 7.4.2) are shown

To ensure that this is the case, the mesh T must of course satisfy certainconditions. From Morse theory, one might require that f and f have the samecritical points, the same value at critical points, and the same types of critical

Page 235: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

226 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

points. Unfortunately, this is not sufficient even for implicit curves in theplane. Indeed, the situation in figure 5.23 is a two-dimensional example oftwo zero-sets S = f−1(0) and S′ = g−1(0) (boundaries of the grey regions)which are not homeomorphic, though their defining functions have the samecritical points, with the same values and indices. In this example, g cannot beobtained from f by piecewise-linear interpolation, but it is possible to designexamples where this is the case.

Therefore, additional conditions are required. A sufficient set of conditionsis given in the theorem below, which is the mathematical basis of the algo-rithm. The theorem is based on Morse theory for piecewise-linear functions,see [41, 42, 61]. We present a simplified version here. We assume that everycritical point of f is a vertex of T . The local topology at a critical point sof f (or f) is characterized by the Euler characteristic of the lower link at s.Loosely speaking, the lower link can be defined as the intersection of the lowerlevel set f−1((−∞, f(s)]) with a small sphere around s. The lower link is ac-tually defined only for a piecewise linear function f on a triangulation T , asa certain subcomplex of T . If f is a Morse function and s is a critical pointwith Morse index i, the Euler characteristic if the “lower link” according tothe definition above is 1 − (−1)i, see Exercise 3 in Chap. 7 (p. 311).

Theorem 8. Assume f and f have the same critical points. At each criticalpoint s, f and f have the same value, and the lower link of s for f has the sameEuler characteristic as the lower link for f . Suppose there is a subcomplex Wof T satisfying the following conditions:

1. f does not vanish on ∂W .2. W contains no critical point of f .3. W can be subdivided into a complex that collapses onto S (see Sect. 7.3,

p. 292).

Then S and S are isotopic.

An example is shown in Fig. 5.24.The algorithm that is based on this theorem works with an octree-like

subdivision of the bounding box into boxes, which are further subdivided intoa tetrahedral mesh T . The complex W is taken to be the “watershed” of Sin the graph of |f |: W is grown outward from the set of tetrahedra whichhave vertices with different signs of f . Tetrahedra are added to W in orderto fulfill Condition 1, while trying to avoid the inclusion of critical points(Condition 2). If a set W cannot be found, the mesh T is refined. Note thatfulfilling the conditions requires to compute all critical points of f exactly,which is difficult, in particular in the case of nearly degenerate critical points.This is why the algorithm actually uses a relaxed (but still sufficient) set ofconditions that permits an implementation within the framework of intervalanalysis. This algorithm is not meant to provide a geometrically accurateapproximation of S, but rather to build a topologically correct approximationusing as few elements as possible.

Page 236: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 227

(a) (b)

A

C

D

E

F

G

B

A

C

D

E

F

G

B

Fig. 5.24. (a) a triangulation T for the function f of Fig. 5.23, rotated by 90. Thesubcomplex W is shaded. Since W must collapse to S, it must form two bands thatenclose the two components of S, without common vertices. (b) the zero-set of thepiecewise linear function f

5.6 Research Problems.

1. It was mentioned in Sect. 5.2.4 that the behavior of the Small NormalVariation refinement algorithm Plantinga and Vegter [286] adapts the re-finement to the properties of f . Estimate the number of cubes generatedby the algorithm in terms of properties of the function f , like total vari-ation of f and ∇f , etc.

2. Can the balancing operation be eliminated in the algorithm of Sect. 5.2.4?Try to define rules for constructing a mesh when a cube may have anarbitrary number of small neighboring boxes.

3. The algorithm in Sect. 5.2.4 stops as soon as the angle between two surfacenormals inside a cube is bounded by π/2. If we impose some smaller boundα on the angle, what can be said about the distance between the surfaceand the approximating mesh? How should the mesh be chosen to obtaina good approximation?

The Delaunay refinement algorithm requires the knowledge of a lower es-timate ψ(p) on the local feature size. The minimum local feature size lfsmin

Page 237: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

228 J.-D. Boissonnat, D. Cohen-Steiner, B. Mourrain, G. Rote, G. Vegter

corresponds to points of maximum principal curvature or to medial spheresthat touch the surface in two or three points and have a locally minimumradius. In the case of an implicit surface f(x, y, z) = 0, the points where theseextrema are attained can be found by solving appropriate systems of equa-tions involving f and its derivatives. Generally, these systems have a finite setof solutions, which includes all local minima and maxima. By checking andcomparing these solutions, one can compute lfsmin and use this constant as aglobal lower estimate ψ(p). This yields a theoretically guaranteed and reliablemeshing algorithm for smooth surfaces, provided that the equations that areinvolved can be solved (for example, when f is a polynomial).

However, in this case, the necessary mesh density is dictated by the globalminimum of the local feature size, and thus it does not adapt to different partsof the surface. There is no reliable way to find a good individual lower esti-mate ψ(p) on the local feature size lfs(p) beforehand, short of computing themedial axis. The next two questions address this question from a theoreticalviewpoint.

1. The algorithm may rely on the user to specify the function ψ(p), whichcan as well simply be a global constant ψmin independent of the location.Suppose the algorithm terminates, for a given function ψ, and constructsa mesh. Is there a way of deciding if the constructed mesh is at leastconsistent, in the sense that there exists a hypothetical surface S′ forwhich ψ is a lower bound on the local feature size, and for which thesame mesh would be obtained? (This idea of having a “certificate” ofconsistency is similar to the approach of [127] for curve reconstruction.)Note that in practice, one may apply the algorithm to a non-smooth sur-face and be perfectly happy with the resulting mesh; however, the hy-pothetical surface S′ in the above question would necessarily have to besmooth. Otherwise it would contain points with lfs = 0.

2. For an implicit surface f(x, y, z) = 0, is there a way of estimating the localfeature size within some given range for the variables x, y, z, by lookingat the function f and its derivatives? Can one use interval arithmetic toobtain a conservative lower bound ψ?

3. The test (5.5) for critical points in a silhouette involves second derivatives(cf. Exercise 15). Is there a zero-dimensional system of equations for es-tablishing the topological ball property that only involves f and its firstderivatives?

4. The topological ball property and isotopy.The topological ball property only guarantees a homeomorphism betweenthe original surface and the reconstruction, it does not provide an isotopy.In fact, Theorem 5 can be extended to manifolds in arbitrary dimension k(and even to non-manifolds [138]): For a k-dimensional manifold M ⊂ R

n,the topological ball property means that every Voronoi face F of dimensiond intersects M in a closed topological (d−n+k)-ball or in the empty set.

Page 238: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

5 Meshing of Surfaces 229

For manifolds of codimension at least 2, the topological ball propertyis not sufficient to establish isotopy. For example, the topological ballproperty for a point sample P on a curve C in R

3 (k = 1, n = 3) will notdetect whether C is knotted inside a Voronoi cell, and thus the restrictedDelaunay will not always be isotopic to C.a) Does the topological ball property for a surface S in R

3 (or moregenerally, for an (n − 1)-manifold embedded in R

n) imply that therestricted Delaunay triangulation is isotopic to S?

b) Find an appropriate strengthening of the topological ball propertythat ensures isotopy of the restricted Delaunay triangulation.

5. For a curve f(x, y) = 0, the critical points in direction (uv ) are given by

the equation

u · fx(x, y) + v · fy(x, y) = 0, f(x, y) = 0.

If f is a polynomial of degree d, give an upper bound on the number ofdirections for which two distinct critical points lie on a line parallel to (u

v ).

Page 239: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6

Delaunay Triangulation Based SurfaceReconstruction

Frederic Cazals and Joachim Giesen

6.1 Introduction

6.1.1 Surface Reconstruction

The surfaces considered in surface reconstruction are 2-manifolds that mighthave boundaries and are embedded in some Euclidean space R

d. In the sur-face reconstruction problem we are given only a finite sample P ⊂ R

d of anunknown surface S. The task is to compute a model of S from P . This modelis referred to as the reconstruction of S from P . It is generally representedas a triangulated surface that can be directly used by downstream computerprograms for further processing. The reconstruction should match the originalsurface in terms of geometric and topological properties. In general surfacereconstruction is an ill-posed problem since there are several triangulated sur-faces that might fulfill these criteria. Note, that this is in contrast to the curvereconstruction problem where the optimal reconstruction is a polygon thatconnects the sample points in exactly the same way as they are connectedalong the original curve. The difficulty of meeting geometric or topologicalcriteria depends on properties of the sample and on properties of the sam-pled surface. In particular, sparsity, redundancy, noisiness of the sample ornon-smoothness and boundaries of the surface make surface reconstruction achallenging problem.

Notation. The surface that has to be reconstructed is always denoted by Sand a finite sample of S is denoted by P . The size of P is denoted by n, i.e.,n = |P |.

6.1.2 Applications

The surface reconstruction problem naturally arises in computer aided geo-metric design where it is often referred to as reverse engineering. Typically,the surface of some solid, e.g., a clay mock-up of a new car, has to be turned

Page 240: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

232 F. Cazals, J. Giesen

into a computer model. This modeling stage consists of (i) acquiring datapoints on the surface of the solid using a scanner (ii) reconstructing the sur-face from these points. Notice that the previous step is usually decomposedinto two stages. First a piece-wise linear surface is reconstructed, and second,a piecewise-smooth surface is built upon the mesh.

Surface reconstruction is also ubiquitous in medical applications and nat-ural sciences, e.g., geology. In most of these applications the embedding spaceof the original surface is R

3. That is why we restrict ourselves in the followingto the reconstruction of surfaces embedded in R

3.

6.1.3 Reconstruction Using the Delaunay Triangulation

Because reconstruction boils down to establishing neighborhood connectionsbetween samples, any geometric construction defining a simplicial complex onthese samples is a candidate auxiliary data structure for reconstruction. Onesuch data structure is the Delaunay triangulation of the sample points. Theintuition that it might be extremely well suited for reconstruction was firstraised in [54] and is illustrated in Fig. 6.1 which features a sampled curve andthe Delaunay triangulation of the samples. It seems that the Delaunay trian-gulation explores the neighborhood of a sample point in all relevant directionsin a way that even accommodates non-uniform samples.

The Delaunay triangulation is a cell complex that subdivides the convexhull of the sample. If the sample fulfills certain non-degeneracy conditionsthen all faces in the Delaunay triangulation are simplices and the Delaunaytriangulation is unique. The combinatorial and algorithmic worst case com-plexity of the Delaunay triangulation grow exponentially with the dimensionof the embedding space of the original surface. In R

3 the combinatorial as wellas the algorithmic complexity of the Delaunay triangulation is Θ(n2), wheren = |P | is the size of the sample. However, it has been shown [33] that theDelaunay triangulation of points that are well distributed on a smooth sur-face has complexity O(n log n). Robust and efficient methods to compute theDelaunay triangulation in R

3 exist [2]. Also important for the reconstructionproblem is the Voronoi diagram which is dual to the Delaunay triangulation.The Voronoi diagram subdivides the whole space into convex cells where eachcell is associated with exactly one sample point.

There are also approaches toward the surface reconstruction problem thatare not based on the Delaunay triangulation, e.g., level set methods [350], ra-dial basis function based methods [79] and moving least squares methods [16].That we do not cover these approaches in this chapter does not mean thatthey are less suited or worse. On the practical side, many of them are verysuccessfully applied in daily practice. On the theoretical side though, thesealgorithms often involve non-local constructions making a theoretical analysisdifficult. As opposed to these, algorithms elaborating upon Delaunay are more

Page 241: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 233

Fig. 6.1. Left: a sampled curve. Right: Delaunay contains a piece-wise linear ap-proximation of the curve. Notice the Delaunay triangulation has neighbors in alldirections, no matter how non-uniform the sample

prone to such an analysis, and one of the goals of this survey is to outline thekey geometric features involved in these analysis.

6.1.4 A Classification of Delaunay Based Surface ReconstructionMethods

Using the Delaunay triangulation still leaves room for quite different ap-proaches to solve the reconstruction problem. But all these approaches, thatwe sketch below, benefit from the structure of the Delaunay triangulationand the Voronoi diagram, respectively, of the sample points. We should notealready here that many of the algorithms combine features of different ap-proaches and as such are not easy to classify. We did the classification bywhat we consider the dominant idea behind a specific algorithm.

Tangent plane methods. If one considers a smooth surface with a suffi-ciently dense sample, the neighbors of a point in the point cloud should notdeviate too much from the tangent plane of the surface at that point. It turnsout that this tangent plane can be well approximated by exploiting the factthat under the condition of sufficiently dense sample the Voronoi cell of thesample point is elongated in the direction of the surface normal at the samplepoint. This normal or tangent plane information, respectively, can be used toderive a local triangulation around each point.

Restricted Delaunay based methods. It is possible to define subcom-plexes of the Delaunay triangulation by restricting it to some given subset ofR

3. Restricted Delaunay based methods compute such a subset from the De-launay triangulation of the sample. This subset should contain the unknownsurface S provided the sample is dense enough. The reconstruction basicallyis the Delaunay triangulation of P restricted to the computed subset.

Inside / outside labeling. Given a closed surface S one can attempt to clas-sify the tetrahedra in the Delaunay triangulation as either inside or outside

Page 242: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

234 F. Cazals, J. Giesen

with respect to S. The interface between the inside and outside tetrahedrashould provide a good reconstruction of S. Algorithms that follow the inside/ outside labeling paradigm often shell simplices from the outside of the De-launay triangulation of the sample points in order to discover the surface tobe reconstructed. A subclass of the shelling algorithms guide the shelling bytopological information like the critical points of some function which can bederived from the sample.

Empty balls methods. When reconstructing a surface, the simplices re-ported should be local according to some definition. One such definition con-sists of requiring the existence of a sphere that circumscribes the simplex anddoes not contain any sample point on its bounded side. The ball boundedby such a sphere is called an empty ball. All Delaunay simplices are local inthis sense. This property can be used to filter simplices from the Delaunaytriangulation, e.g., by considering the radii of the empty balls.

6.1.5 Organization of the Chapter

The rest of this chapter is subdivided into two sections. Sect. 6.2 containsmathematical pre-requisites that are necessary to understand the ideas andguarantees behind the algorithms that are detailed in Sect. 6.3.

6.2 Prerequisites

Some prerequisites that we introduce here in order to describe the various re-construction algorithms and the guarantees they come with are also describedin other chapters. Voronoi diagrams are introduced in much more generalityin Chap. 2, the restricted Delaunay triangulation, ε-samples and the topo-logical concepts of homeomorphy and isotopy also play a dominant role inChap. 5 on meshing, most differential geometric concepts are more detailedin Chap. 4 and all topological concepts appear in more detail in Chap. 7.The reason for this redundancy is mostly to make this chapter self containedand to provide a reader only interested in reconstruction with the minimallyneeded background.

6.2.1 Delaunay Triangulations, Voronoi Diagrams and RelatedConcepts

General Position.

The sample P is said to be in general position if there are no degeneraciesof the following kind: no three points on a common line, no four points ona common circle or hyperplane and no five points on a common sphere. Inthe following we always assume that the sample P is in general position. But

Page 243: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 235

note that the case that P is not in general position can also be dealt withalgorithmically [136]. We make the general position assumption only to keepthe exposition simple.

Voronoi Diagram.

The Voronoi diagram V (P ) of P is a cell decomposition of R3 in convex

polyhedra. Every Voronoi cell corresponds to exactly one sample point andcontains all points of R

3 that do not have a smaller distance to any othersample point, i.e. the Voronoi cell corresponding to p ∈ P is given as follows

Vp = x ∈ R3 : ∀q ∈ P ‖x− p‖ ≤ ‖x− q‖.

Closed facets shared by two Voronoi cells are called Voronoi facets, closededges shared by three Voronoi cells are called Voronoi edges and the pointsshared by four Voronoi cells are called Voronoi vertices. The term Voronoi facecan denote either a Voronoi cell, facet, edge or vertex. The Voronoi diagram isthe collection of all Voronoi faces. See Fig. 6.2 for a two-dimensional exampleof a Voronoi diagram.

Delaunay Triangulation.

The Delaunay triangulation D(P ) of P is the dual of the Voronoi diagram,in the following sense. Whenever a collection V1, . . . , Vk of Voronoi cells cor-responding to points p1, . . . , pk have a non-empty intersection, the simplexwhose vertices are p1, . . . , pk belongs to the Delaunay triangulation. It is asimplicial complex that decomposes the convex hull of the points in P . Thatis, the convex hull of four points in P defines a Delaunay cell (tetrahedron)if the common intersection of the corresponding Voronoi cells is not empty.Analogously, the convex hull of three or two points defines a Delaunay facet orDelaunay edge, respectively, if the intersection of their corresponding Voronoicells is not empty. Every point in P is a Delaunay vertex. The termDelaunaysimplex can denote either a Delaunay cell, facet, edge or vertex. See Fig. 6.2for a two-dimensional example of a Delaunay triangulation.

Flat Tetrahedra.

In surface reconstruction flat tetrahedra may cause problems for some algo-rithms. The most notorious flat tetrahedra are slivers. These are Delaunaytetrahedra that have a small volume but do not have a large circumscribingball and do not have a small edge. Here all comparisons in size are made withrespect to the length of the longest edge of the tetrahedron. See Fig. 6.3 foran illustration of a sliver and a cap, and refer to [89] for a classification ofbaldly shaped tetrahedra.

Page 244: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

236 F. Cazals, J. Giesen

Fig. 6.2. Voronoi and Delaunay diagrams in the plane

Fig. 6.3. A nearly flat tetrahedron can be located near the equatorial plane or thenorth pole of its circumscribing sphere. The tetrahedra near the poles have a largecircumscribing ball. Only the tetrahedron near the equatorial plane is a sliver (alsoshown on the top right, the bottom right tetrahedron being a cap.)

Pole.

There are positive and negative poles associated with a Voronoi cell Vp. If Vp

is bounded then the positive pole is the Voronoi vertex in Vp with the largestdistance to the sample point p. Let u be the vector from p to the positivepole. If Vp is unbounded then there is no positive pole. In this case let u bea vector in the average direction of all unbounded Voronoi edges incident toVp. The negative pole is the Voronoi vertex v in Vp with the largest distanceto p such that the vector u and the vector from p to v make an angle largerthan π/2.

Page 245: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 237

Empty-ball Property.

It follows from the definitions of Voronoi diagrams and Delaunay triangula-tions that the relative interior of a Voronoi face of dimension k, which is dualto a Delaunay simplex of dimension 3 − k, consists of the set of points havingexactly 3−k+1 nearest neighbors. Therefore, for any point in such a Voronoiface, there exists a ball empty of sample points containing the vertices of thedual simplex on its boundary. The simplex is said to have the empty ball prop-erty. See also Fig. 6.4 for a two-dimensional example. For Delaunay tetrahedrathere is only one empty ball whereas there is a continuum of empty balls forDelaunay triangles and edges.

The empty ball property can be used to define sub-complexes of the Delau-nay triangulation by imposing additional constraints on the empty balls. Herewe discuss two such restrictions that lead to Gabriel simplices and α-shapes,respectively.

Gabriel Simplex.

A simplex of dimension less then 3 is called Gabriel if its smallest circum-scribing ball is empty. Obviously all Gabriel simplices are contained in theDelaunay triangulation. Gabriel simplices also have a dual characterization: aDelaunay simplex is Gabriel iff its dual Voronoi face intersects the affine hullof the simplex.

Well known and heavily used is the Gabriel graph which is the geometricgraph that contains all one dimensional Gabriel simplices.

Fig. 6.4. Empty balls centered on Voronoi faces

Page 246: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

238 F. Cazals, J. Giesen

d

b

c

a

m

Fig. 6.5. All edges but edge ab are Gabriel edges

Restricted Voronoi Diagram and Restricted DelaunayTriangulation.

Given a subset X ⊂ R3 we can restrict the Voronoi diagram of P to X

by replacing every Voronoi face with its intersection with X. The restrictedVoronoi diagram is denoted as VX(P ). The Delaunay triangulation DX(P ) ofP restricted to X is defined similarly as the Delaunay triangulation of P . Theonly difference is that instead of taking the common intersection of Voronoicells now the common intersection of restricted Voronoi cells is taken. Thatis, whenever a collection V1 ∩X, . . . , Vk ∩X of Voronoi cells corresponding topoints p1, . . . , pk restricted to X have a non-empty intersection, the simplexwhose vertices are p1, . . . , pk belongs to the restricted Delaunay triangulation.The restricted Delaunay triangulation of a plane curve is illustrated in Fig. 6.6.The restricted Delaunay triangulation is also most convenient to introduce theso-called α-complex and α-shape of a collection of balls.

α-complex and α-shape.

Given a sample P , consider the collection of balls of square radius α centeredat these points 1. For each ball, consider the restricted ball, i.e., the intersectionof the ball with its corresponding Voronoi region. Finally, letX be the union ofthese restricted regions. Using the construction from the previous paragraph,the α-complex of the balls is the Delaunay triangulation restricted to thedomain X [131, 137]. The polytope 2 associated with the α-complex is calledthe α-shape. While the α-complex consists of simplices of any dimension, i.e.,

1We present the α-complex for a collection of balls of the same radius√

α. Thevariable α stands for the square radius rather than the radius, a constraint stemmingfrom the construction of the α-complex for a collection a balls of different radii usingthe power diagram. See [131] for the details.

2Polytope stands here for the union of the closure of the domain of the simplices,rather then the convex hull of a set of points in R

d.

Page 247: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 239

vertices, edges, triangles and tetrahedra, the boundary of the α-shape consistsonly of vertices, edges and triangles. In surface reconstruction where one isconcerned with triangles contributing to the reconstructed surface, the focushas mainly been on the boundary of the α-shape.

It is actually possible to assign to each simplex of the Delaunay triangula-tion an interval specifying whether it is present in the α-complex for a givenvalue of α, and similarly for the simplices in the boundary of the α-shape. Theintervals for the boundary are contained in the intervals for the α-complex.

May be a more intuitive characterization of the points of appearance anddisappearance of simplices in the boundary of the α-shape is as follows: letballs grow at the sample points with uniform speed. A simplex appears in theboundary of the α-shape, when the balls corresponding to the vertices of thesimplex intersect for the first time. Note that this intersection takes place onthe dual Voronoi face of this simplex. It disappears when the common inter-section of the balls corresponding to the vertices of the simplex completelycontains the dual Voronoi face of the simplex. This growing process is illus-trated in Fig. 6.8. In terms of growing process, the differences between theα-complex and the α-shape are twofold: first, once a simplex appears in theα-complex, it stays forever; second, the α-complex also contains Delaunaytetrahedra.

Note that α can be interpreted as a spatial scale parameter. If P is a uni-form sample of the surface S then there exist α-values such that the boundariesof the corresponding α-shapes of P provide a reasonable reconstruction of S.

Fig. 6.6. Diagrams restricted to a curve

Page 248: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

240 F. Cazals, J. Giesen

Fig. 6.7. Triangulation restricted to a surface

(a) (b)

(c)

(a) (b)

(c)

Fig. 6.8. At two different values of α: (a)α-complex with solid triangles scaled toavoid cluttering (b)α-shape (c)boundary of the α-shape

Page 249: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 241

Topological Ball Property.

The restricted Voronoi diagram VS(P ) of a sample P of a surface S has thetopological ball property if the intersection of S with every Voronoi face inV (P ) is homeomorphic to a closed ball whose dimension one smaller thenthat of the Voronoi face. (Notice that the transverse intersection of a Voronoicell of dimension k with a manifold of dimension d − 1 has dimension equalto k + (d − 1) − d = k − 1.) Edelsbrunner and Shah [138] were able to relatethe topology of the restricted Delaunay triangulation DS(P ) to the topologyof S.

Theorem 1. Let S be a surface and P be a sample of S such that VS(P ) hasthe closed all property. Then DS(P ) and S are homeomorphic.

Power Diagram and Regular Triangulation.

The concepts of Voronoi- and Delaunay diagrams are easily generalized to setsof weighted points. A weighted point p in R

3 is a tuple (z, w) where z ∈ R3

denotes the point itself and w ∈ R its weight. Every weighted point gives riseto a distance function, namely the power distance function,

πp : R3 → R, x → ‖x− z‖2 − w.

Let P now be a set of weighted point in R3. The power diagram of P is a

decomposition of R3 into the power cells of the points in P . The power cell of

p ∈ P is given as

Vp = x ∈ R3 : ∀q ∈ P, πp(x) ≤ πq(x).

The points that have the same power distance from two weighted points in Pform a hyperplane. Thus Vp is either a convex polyhedron or empty. Closedfacets shared by two power cells are called power facets, closed edges sharedby three power cells are called power edges and the points shared by fourpower cells are called power vertices. The term power face can denote eithera power cell, facet, edge or vertex. The power diagram of P is the collectionof all power faces.

The dual of the power diagram of P is called the regular triangulation ofP . The duality is defined in exactly the same way as for Voronoi diagramsand Delaunay triangulations. That is the reason why regular triangulationsare also referred to as weighted Delaunay triangulations.

Natural Neighbors.

Given a Delaunay triangulation, it is natural to define the neighborhood ofa vertex as the set of vertices this vertex is connected to. This information

Page 250: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

242 F. Cazals, J. Giesen

is of combinatorial nature and can be made quantitative using the so-callednatural coordinates which were introduced by Sibson [318].

Given a point x ∈ R3 which is not a sample point, define V +(P ) = V (P ∪

x), D+(P ) = D(P ∪x), and denote by V +x the Voronoi cell of x in V +(P ).

In addition, for any sample point p ∈ P define V(x,p) = V +x ∩Vp and denote by

wp(x) the volume of V(x,p). The natural neighbors of a point x are the samplepoints in P that are connected to x in D+(P ). Equivalently, these are thepoints p ∈ P for which V(x,p) = ∅. The natural coordinate associated with anatural neighbor is the quantity

λp(x) =wp(x)w(x)

, with w(x) =∑

p∈P

wp(x). (6.1)

For an illustration of these definitions see Fig. 6.9.

Fig. 6.9. Point x has six natural neighbors

The term coordinate is clearly evocative of barycentric coordinates. Recallthat in any three-dimensional affine space, a set of four affinely independentpoints pi, i = 1, . . . , 4 define a basis of the affine space. Moreover, every pointx decomposes uniquely as x =

∑i=1,...,4 λpi

(x)pi, with λpi(x) the barycentric

coordinate of x with respect to pi. Natural coordinates provide an elegantextension of barycentric coordinates to the case where one has more than fourpoints. The following results have been proven in a number of ways [318, 36,72, 210].

Theorem 2. The natural coordinates satisfy the requirements of a coordinatesystem, namely,

(1) for any p, q ∈ P , λp(q) = δpq where δpq is the Kronecker symbol and

Page 251: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 243

a

b

c

d

x1x2

x3

Fig. 6.10. Critical points of the distance function. Points x1, x2 are regular, butpoint x3 is critical

(2) the point x is the weighted center of mass of its neighbors. That is,

x =∑

p∈P

λp(x) p, with∑

p∈P

λp(x) = 1. (6.2)

Induced Distance Function.

Voronoi diagrams of a sample P are closely related to the distance function

h : R3 → R, x → min

p∈P‖x− p‖ (6.3)

induced by the set of sample points. This distance function is smooth every-where besides at the points in P and on the lower dimensional Voronoi faces,i.e., on the facets, edges and vertices.

At every point x inside a Voronoi region, the gradient of h is the unitvector pointed away from the center of the region. Interestingly, for pointsx on lower dimensional Voronoi faces, one can define a generalized gradient,as depicted in Fig. 6.10. Let x be a point and denote by C(x) the set ofclosest points in P to x, i.e., C(x) consists of the vertices dual to the (lowestdimensional) Voronoi face containing x. If x does not belong to the convexhull of C(x), then the generalized gradient at x is the unit vector that pointsfrom the closest neighbor of x in the convex hull of C(x) to x. Otherwise, i.e.,x is contained int eh convex hull of C(x), the point x is called a critical point.

It was was observed by Edelsbrunner [132] and later proved by Giesenand John [184] that the critical points of the distance function, i.e., the localextrema and the saddle points, can be characterized in terms of Delaunaysimplices and Voronoi faces.

Theorem 3. The critical points of h are the intersection points of Voronoifaces and their dual Delaunay simplices. The local maxima are Voronoi ver-tices contained in their dual Delaunay cell. The saddle points are intersection

Page 252: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

244 F. Cazals, J. Giesen

points of Voronoi facets and their dual Delaunay edges and intersection pointsof Voronoi edges and their dual Delaunay triangles. All sample points are min-ima.

The index of a critical point is the dimension of the Delaunay simplexinvolved in its definition. See Fig. 6.2.1 for an example in two dimensions.

Induced Flow and Stable Manifolds.

As in the case of smooth functions there is a unique direction of steepestascent of h at every non-critical point of h. Assigning to the critical pointsof h the zero vector and to every other point in R

3 the unique unit vector ofsteepest ascent defines a vector field on R

3. This vector field is not smoothbut nevertheless gives rise to a flow on R

3, i.e., a mapping

φ : [0,∞) × R3 → R

3,

such that at every point (t, x) ∈ [0,∞) × R3 the right derivative

limt←t′

φ(t, x) − φ(t′, x)t− t′

exists and is equal to the unique unit vector of steepest ascent at x. Theflow basically tells how a point moved if it would always follow the steepestascent of the distance function h. The curve that a point x follows is givenby φx : R → R

3, t → φ(t, x) and called the orbit of x. See Fig. 6.2.1 for someexample orbits in two dimensions.

Given a critical point x of h the set of all points whose orbit ends in x,i.e., the set of all points that flow into x, is called the stable manifold of x.The collection of all stable manifolds forms a cell complex which is called flowcomplex. See Fig. 6.2.1 for examples of stable manifolds in two dimensions.

6.2.2 Medial Axis and Derived Concepts

Medial Axis.

The medial axis M(S) of a closed subset S ⊂ R3 consists of all points in

R3\S having two or more nearest points on S. In a way the medial axis

generalizes the concept of the Voronoi diagram of a point set. We have seenwhen discussing the empty ball property that the Voronoi faces of dimensionk with k = 0, . . . , 2 consist of all points equidistant from 3 − k + 1 samplepoints.

Smooth surfaces S play a special role in reconstruction since for theirreconstruction several guarantees can be provided under a certain samplingcondition. This sampling condition is based on the medial axis of S. That isthe reason why we here provide some more details on the structure of themedial axis of a smooth surface S.

Page 253: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 245

Fig. 6.11. From the left: 1) The local minima , saddle points and local maxima⊕ of the distance function induced by the sample points (local minima). 2) Someorbits of the flow induced by the sample points. 3) The stable manifolds of the saddlepoints. 4) The stable manifolds of the local maxima

Structure of the Medial Axis of a Smooth Surface.

The medial axis of a smooth surface S shares another structural property withthe Voronoi diagram of a finite point set, namely, it has a stratified structure.For the Voronoi diagram this structure means that a Voronoi facet is thecommon intersection of two Voronoi regions, a Voronoi edge is the commonintersection of three Voronoi facets and a Voronoi vertex is the common inter-section of four Voronoi edges. To precisely describe the stratified structure ofM(S) one needs the notion of contact between a sphere and the surface. Infor-mally, the contact of a sphere at a point p of S tells how much the sphere andthe surface agree at p. More precisely, an A1 contact means that the tangentplane to the sphere and to S agree at p; an A2 contact point has the propertyof an A1 point with the additional property that the radius of the sphere isthe inverse of a principal curvature of S at p; at last, an A3 contact is likean A2 contact with the additional property that the curvature involved is anextreme along the corresponding line of curvature. Focusing on the centers ofthe contact spheres rather than the contact points themselves, and denotingAk

1 a set of k ≥ 1 simultaneous A1 contacts between a sphere and the surface,the structure of the M(S) is described by the following theorem [347, 181]which is illustrated by an example in Fig. 6.12.

Theorem 4. The medial axis of a smooth surface S in R3 is a stratified vari-

ety containing sheets, curves and points. The sheets correspond to A21 contacts,

Page 254: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

246 F. Cazals, J. Giesen

the curves to A31 and A3 contacts, and the points to A4

1 and A3A1 contacts.Moreover, one has the following incidences. At an A4

1 point, six A12 sheets and

four A31 curves meet. Along an A3

1 curve, three A21 sheets meet. A3 curves

bound A21 sheets. At last, the point where an A2

1 sheet vanishes is an A3A1

point.

Fig. 6.12. The stratified structure of the medial axis of a smooth surface

Medial Axis Transform.

A concept closely related to the medial axis of a closed subset S ⊂ R3 is the

skeleton of R3\S, which consists of the centers of maximal spheres included

in R3\S. Here maximal is meant with respect to inclusion among spheres.

For a smooth surface S the closure of the medial axis is actually equal to theskeleton of R

3\S. The medial axis transform builds on the close relationshipof the skeleton and the medial axis, namely, the medial axis transform is thecollection of maximal empty balls centered at the medial axis of S. It can be

Page 255: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 247

shown that a smooth surface S can be recovered as the envelope of its medialaxis transform.

Tubular Neighborhoods.

A natural tool involved in the analysis of several reconstruction algorithmsis that of tubular neighborhood or tube of a surface S. As indicated by thename, a tube of a surface is a thickening of the surface such that within thevolume of the thickening, the projection of a point x to the nearest pointπ(x) on S remains well defined. Following our discussion of the medial axis,a surface can always be thickened provided the thickening avoids the medialaxis. Moreover, it is easily checked that the projection onto S proceeds alongthe normal at the projection point. This property provides a way to retractthe neighborhood onto the surface.

Local Feature Size.

The local feature size is a function lfs : S → R on the surface S that assignsto each point in S its least distance to the medial axis of S. An immediateconsequence of the triangle inequality is that the local feature size of a smoothsurface is Lipschitz continuous with Lipschitz constant 1, see Fig. 6.13 for anillustration. The local feature size can be used to establish another quanti-tative connection of a surface and its medial axis [59] by using the followingtheorem.

Theorem 5. Let B be a ball centered at x ∈ R3 with radius r that intersects

the surface S. If this intersection is not a topological ball then B contains apoint of the medial axis of S.

From this theorem we can conclude that any ball centered at any pointp ∈ S whose radius is smaller then the local feature size lfs(p) at p intersectsS in a topological disk.

Fig. 6.13. The local feature size is 1-Lipschitz

Page 256: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

248 F. Cazals, J. Giesen

Fig. 6.14. For a non-smooth curve, some Voronoi centers may not converge to themedial axis

ε-sample.

Amenta and Bern [23, 22] introduced a non-uniform measure of samplingdensity using the local feature size. For ε > 0 a sample P of a surface S iscalled an ε-sample of S if every point x on S has a point of P in distance atmost ε lfs(x).

We next provide three theorems that involve ε-samples. The first theoremis concerned with the topological equivalence of the restricted Delaunay tri-angulation DS(P ) and a surface S for an ε-sample P . The second theoremis concerned with the convergence of Voronoi vertices of the Voronoi diagramof an ε-sample of a smooth surface S towards the medial axis M(S) of S.The last theorem provides a good approximation of the normal of S at somesample point in an ε-sample P .

Amenta and Bern [22] stated the following theorem, which provides atopological guarantee for a value of ε less than ∼ 0.3. The theorem is rigorouslyproven in [88]. In the context of surface reconstruction, this theorem shouldbe put in perspective with respect to Theorem 1:

Theorem 6. If P is an ε-sample of S such that ε satisfies

cos(

arcsin(

2ε1 − ε

)

1 − 3ε

)

1 − ε

then VS(P ) has the topological ball property.

It can be shown that the Voronoi vertices of a dense sample of a planarsmooth curve lie close to the medial axis of the curve. This result is false ingeneral for non smooth curves, as illustrated in Fig. 6.14. It is also false ingeneral for dense samples of smooth surfaces. In fact for almost any pointx ∈ R

3\S, there exists an arbitrarily dense sample P of S such that x is aVoronoi vertex of V (P ) provided some non-degeneracy holds. To see this growa ball around x until it touches S. Now grow it a little bit further and put foursample points on the intersection of S with the boundary of the ball. Then xis shared by the Voronoi cells of the four points, i.e., it is a Voronoi vertex ifthe four points are in general position.

Page 257: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 249

Fortunately, it was observed by Amenta and Bern [22] that the poles ofthe Voronoi diagram of a sample of a smooth surface converge to the medialaxis.

Theorem 7. Let P be an ε-sample of a smooth surface S. The poles of theVoronoi diagram V (P ) converge to the medial axis M(S) of S as ε goes tozero.

Fig. 6.15. In 2D, all Voronoi vertices converge to the medial axis. In 3D, someVoronoi vertices may be far from the medial axis but poles are guaranteed to con-verge to the medial axis

Finally, also the following theorem is due to Amenta and Bern [22]. Itfollows from Theorem 7.

Theorem 8. Let P be an ε-sample of a smooth surface S. For any samplepoint p ∈ P let p+ be the positive pole of the Voronoi cell Vp. The anglebetween the normal of S at p and the vector p − p+ if oriented properly canbe bounded by 2 arcsin

1−ε

).

6.2.3 Topological and Geometric Equivalences

To assess the quality of a reconstruction we need topological and geomet-ric concepts. Our presentation of these concepts is informal, and the readeris referred to [208] for an exposition involving the apparatus of differentialtopology.

Topological Concepts.

Homeomorphy. Two surfaces are called homeomorphic if there is a homeo-morphism between them. A homeomorphism is a continuous bijection of one

Page 258: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

250 F. Cazals, J. Giesen

surface onto the other, such that the inverse is also continuous. Two home-omorphic surfaces have the same properties regarding open and closed sets,and also neighborhoods. Note that homeomorphy is an equivalence relation.Surfaces that are embedded in R

3 can be completely classified with respectto homeomorphy by their genus, i.e., the number of holes. For example thetorus of revolution, i.e., a doughnut, and a “knotted” torus are homeomorphicsince both have genus 1. This example shows that homeomorphy is a weakconcept in the sense that it does not take the ambient space (here R

3) intoaccount. This is done by the concept of isotopy which for example accountsfor the knottedness of a torus.

Isotopy. Two surfaces are isotopic if there exists a one-parameter family ofembeddings into R

3 that continuously deform the first surface into the secondone. Isotopy is also an equivalence relation. Note the knotted torus can notbe deformed continuously into the unknotted one. Any transformation thatdeforms the knotted torus in the unknotted one has to tear the torus at somepoint. Thus it cannot be continuous.

Homotopy equivalence. If we want to topologically compare the medialaxes of two surfaces even the concept of homeomorphy (which can be extendedto more complex faces than surfaces) seems too strong since the medial axisof a surface is a more complicated object than the surface itself. For compar-ing medial axes the concept of homotopy equivalence seems to be appropriate.Intuitively, the homotopy type of a space encodes its system of internal closedpaths, regardless of size, shape and dimension. For example, an annulus hasthe homotopy type of a circle. Two topological spaces are homotopy equiva-lent if they have the same homotopy type. Homotopy equivalence is anotherequivalence relation on topological spaces.

Fig. 6.16. Two homeomorphic topological spaces

Page 259: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 251

Fig. 6.17. The first two figures have the same homotopy type, but are not homeo-morphic. The third one has a different homotopy type

Geometric Concepts.

Hausdorff distance. The Hausdorff distance is a measure for the distanceof two subsets of some metric space. We are interested in the case where thesesubsets are surfaces or medial axes of surfaces in R

3.Given two closed subsets X,Y of R

3, the one-sided Hausdorff distanceh(X,Y ) is defined as h(X,Y ) = maxx∈X miny∈Y ‖x − y‖. The one-sidedHausdorff distance is not a distance measure since in general it is notsymmetric. Symmetrizing h yields the Hausdorff distance as H(X,Y ) =maxh(X,Y ), h(Y,X). See also Fig. 6.18.

Intuitively, the Hausdorff distance is the smallest thickening such that thetubular neighborhood of X contains Y and the tubular neighborhood of Ycontains X.

Fig. 6.18. The one-sided Hausdorff distance is not symmetric

Normals and tangent planes. Given two surfaces, their Hausdorff dis-tance just takes into account their relative positions. In the context of surfacereconstruction, we are also be interested in differential properties of the recon-structed surface with respect to the sampled surface. At the first order, such

Page 260: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

252 F. Cazals, J. Giesen

a measure is provided by the tangent planes (or the normals) to the surfaces,a quantity known to play a key role in the definition of metric properties ofsurfaces [259].

6.2.4 Exercises

The following exercises are meant to make sure the important notions havebeen understood. We also provide selected references to further investigatethe problems addressed.

Exercise 1 (Sampling conditions and reasonable reconstructions).Consider the one-parameter family of curves that are indicated in Fig. 6.19.Let Cd be the curve corresponding to a value d ∈ [0,∞). For d = 0, Cd is asingle curve without boundary, and for d > 0, Cd consists of two connectedcomponents with boundaries.

Plot the medial axis of R2 \Cd for d = 0 and d > 0. Assume we are given

sample points equally spaced along Cd. Discuss what a reasonable reconstruc-tion would be depending on d.

Exercise 2 (Sorting Gabriel edges). Consider a curve bounding a sta-dium, i.e., two line-segments joined by two half-circles. Also consider a densesampling of the curve, that is the distance between to samples along the curveis much smaller than the radius of the circles and the distance between thetwo line-segments.

Plot the Delaunay triangulation of the samples, and report the Gabrieledges. Explain which of the Gabriel edges are relevant for the reconstructionof the curve, and which are not. Now, perturb slightly the boundary of thestadium, pick samples on the new curve, and answer the same questions.

Exercise 3 (Local geometry of points on the Medial Axis). Specifyinga sphere in R

3 leaves 4 degrees of freedom. Similarly, choosing a point ona surface or curve in R

3 leaves two or one, respectively, degrees of freedom.Consider an A1 contact between a sphere and a smooth surface. Such a contactfixes three degrees of freedom of the sphere. Similarly, an A3 contact fixes allfour degrees of freedom of the sphere. Explain why.

By matching the number of constraints and the number of degrees offreedom, show that

(i) A21 points of the medial axis of a surface are expected to be on sheets of

the medial axis, and(ii) A3

1 and A3 points are expected on curves of the medial axis, and(iii) A4

1 and A3A1 points are expected at isolated points of the medial axis.

Exercise 4 (Using poles). Let S be a closed surface which is in C0 but notin C1, that is, there are curves on S along which the normal to the surface isnot continuous. Describe the geometry of the Voronoi cell of a sample point

Page 261: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 253

on such a curve. Which problem may arise in using the poles associated tosuch a sample point? Answer the same question assuming the surface S issmooth but has boundaries.

rd

Fig. 6.19. A one parameter family of shapes

Further reading.

• Exercise 1. For curve reconstruction, see [24, 125, 127].• Exercise 2. The separation of critical points of the distance functions to

an ε-sample a smooth surface is studied in [122].• Exercise 3. An intuitive presentation of the local geometry of the medial

axis is provided in [181].• Exercise 4. To learn more on the geometry of Voronoi cells, refer to [21]

and [120].

6.3 Overview of the Algorithms

6.3.1 Tangent Plane Based Methods

We assume the sampled surface S is smooth, i.e., there exists a well definedtangent plane at each point of the surface. Since we only deal with surfacesof co-dimension 1, i.e., surfaces embedded in R

3, approximating the tangentplane at some point of the surface is equivalent to approximating the normalat this point. Thus here tangent plane based methods include normal basedmethods. The first algorithm based on the tangent planes at the sample pointsis Boissonnat’s [54] algorithm. Boissonnat’s paper probably is the first refer-ence to the surface reconstruction problem at all. Simply put, his algorithmreduces the reconstruction problem to the computation of local reconstruc-tions in the tangent planes at the sample points. These local reconstructionshave to be pasted together in the end.

Lower Dimensional Localized Delaunay Triangulation.

Gopi, Krishan and Silva [188] designed an algorithm that is very similar innature to Boissonnat’s early algorithm.

Page 262: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

254 F. Cazals, J. Giesen

" Bottom-line. This algorithm has three major steps. First, normal andtangent plane approximation at the sample points. Second, selection of aneighborhood of sample points for each sample point. Third, projection ofthe neighborhood of a sample point on its tangent plane and computation ofthe Delaunay neighborhood of the sample point in its projected neighborhood.Sample points p, q, r ∈ P form a triangle in the reconstruction if they all aremutually contained in their Delaunay neighborhoods.

" Algorithm. The normal and tangent plane approximation at the samplepoints is done using the eigenvectors of the covariance matrix of the k nearestneighbors of the sample point p. The covariance matrix is the 3 × 3 matrix

C =∑

i

(qi − p)(qi − p)T

where the sum is taken over the k nearest neighbors of p in P and p is thecentroid of these neighbors. The eigenvector corresponding to the smallesteigenvalue of the positive definite, symmetric matrix C is taken as the ap-proximate normal at p. The remaining two eigenvectors span an approximatetangent plane at p. The approximate normals at the sample points are con-sistently oriented by propagating the orientation at some seed sample pointalong the edges of the Euclidean minimum spanning tree of P .

From the approximated normals at the sample points the directional nor-mal variations and even the principal curvatures at the sample points canbe estimated using again the k nearest neighbors of the sample points. Theapproximated principal curvatures kmin(p) and kmax(p) at a sample point pare used to locally approximate the unknown surface S by a height function

h(x, y) =12(kmin(p)x2θ + kmax(p)y2θ)

parameterized by Cartesian coordinates x and y over the approximated tan-gent plane at p. The neighborhood of a sample point p contains all samplepoints in P whose distance to p and whose height value are bounded by func-tions of 2kmax(p) and kmin(p).

The neighbors of a sample point p are projected onto the approximatedtangent plane at p by rotating the all the vectors from p to its neighborsinto the tangent plane. In the tangent plane the Delaunay neighbors of p aredetermined by computing a two dimensional Delaunay triangulation of p andits projected neighbors. The output of the algorithm consists of all triangleswith vertices in P whose vertices are mutual Delaunay neighbors.

" Complexity. The complexity of the algorithm was not theoretically ana-lyzed. But is seems reasonable to assume that the local operations at eachsample point can be done in constant time each, which would amount to alinear time complexity in total. But there are also the global operations ofdetermining the neighborhoods of the sample points and of consistently ori-enting the normals. Although the latter operation is not really needed for thealgorithm to work.

Page 263: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 255

" Guarantees. The triangles output by the algorithm form surface homeo-morphic to S provided a curvature based, locally uniform sampling conditionholds. This sampling condition also takes care of different parts of S comingclose together.

" Extensions. Some heuristics are given to deal with samplings that donot fulfill the sampling condition. Especially the case of under-sampling isdealt with, though even the extensions do not make sure that the outputis a topological surface in practice. Of course also oversampling can causeproblems since at some points of the algorithm the k nearest neighbors of asample point are used. This k-neighborhood can be spatially biased in thecase of oversampling. This bias can invalidate the geometric approximationsof normals, tangent planes and curvatures.

Greedy Algorithm.

The Greedy algorithm was introduced by Cohen-Steiner and Da in [94]. Itincrementally grows a surface from a seed triangle guided by the intuitionthat the normals vary smoothly over the surface S.

" Bottom-line. The greedy algorithm incrementally reconstructs an orientedsurface S by selecting triangles from the Delaunay triangulation D(P ) of Pand stitching them to S. The guideline for the selection is straightforward:the incremental construction should make easy decisions first by stitchingtriangles, which do not yield ambiguities.

" Algorithm. When extending the surface, a valid triangle is a triangle whosestitching does not create a topological singularity, and admissible glue opera-tions are of four types extension, gluing, hole filing, ear filling —See Fig. 6.20.

Let e be a boundary edge of S. Out of all the valid triangles t incident toe, one of them is chosen as candidate for the surface extension. To define thecandidate, denote rt the radius of the smallest empty ball circumscribing atriangle t. Among all the triangles whose dihedral angle βt across e is largerthan some threshold αs (an angle near π), the candidate is the triangle withleast rt. Since a greedy approach is used, one needs to rate the differentcandidates. To do so, each triangle is assigned a score, which is 1/rt if βt islarger than a threshold β, and −βt otherwise.The threshold αs prevents from considering facets whose stitching would causea fold-over, i.e., a large dihedral angle. Notice also the scoring strategy favorssmall triangles provided the dihedral angle is less than the threshold β.

Equipped with these notions, the algorithm consists of the initializationand extension stages. First, the triangle with least circumradius is chosen asa seed, and its edges are pushed into a priority queue Q. Next, the algorithmiterates over Q and processes triangles in order of decreasing confidence. Oncea candidate triangle has been popped, a check is performed to see whethera possible extension is possible. This might not be the case anymore due to

Page 264: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

256 F. Cazals, J. Giesen

potential changes in the environment of the triangle. In any case, the priorityqueue and the surface are updated.

By construction, the output of the Greedy algorithm is a triangulated andoriented surface, which may not interpolate all the samples since the usedthresholds might leave some sample points without incident triangle.

" Complexity. The algorithm uses the Delaunay triangulation of the samplestogether with a priority queue. Both data structures determine the complexityof the algorithm.

" Guarantees. No guarantee can be provided on the quality of the recon-struction due to the difficulty of handling clusters of flat tetrahedra. As thesurface extension is incremental, such clusters can be approached in variousmanners from different directions, thus making it impossible to close the sur-face.

" Extensions. Two heuristics are used to accommodate boundaries as wellas sharp features. For boundaries, a candidate triangle is discarded as soonas the radius of its empty ball is significantly larger than that of the triangleit would be stitched to. Sharp edges are detected and removed through theremoval of samples, which are not part of the output surface.

propagation.

hole filling. ear filling.

b

b

cc

b

c

gluing.

c

b

Fig. 6.20. Glue operations of the Greegy algorithm [94]

Page 265: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 257

6.3.2 Restricted Delaunay Based Methods

Since all Delaunay based surface reconstruction algorithms filter out a subsetof the Delaunay triangulation D(P ) of the sampling P it seems natural andvery appealing to choose just these simplices from D(P ) that are restrictedto some subset of R

3 that is a good approximation of the unknown surface Sand can be computed efficiently from P . This paradigm is motivated by thefact that if we could directly compute the Delaunay triangulation DS(P ) of Prestricted to S we would be done since due to the theorems of Edelsbrunnerand Shah (Theorem 1) and Amenta and Bern (Theorem 6), respectively, forsufficiently dense ε-samples DS(P ) is homeomorphic to S.

Crust.

The Crust algorithm was designed by Bern and Amenta [22] who also werethe first to provide detailed guarantees for the reconstruction provided someε-sampling condition is fulfilled.

" Bottom-line. The Crust is based on the Delaunay triangulation D(P ∪Q)of P and the set Q of poles of the Voronoi diagram V (P ). Let V be the unionof the Voronoi cells of the points in P in the Voronoi diagram V (P ∪ Q) ofP ∪Q. In a nutshell the Crust is the Delaunay triangulation of P restricted toV . The rationale behind this approach is that R

3 \V should cover the medialaxis M(S) of the surface S. Thus restricting the Delaunay triangulation of Pto V should remove all simplices from D(P ) that cross the medial axis M(S)of S. On the other hand V should provide a thickened version of S and thusthe restricted Delaunay triangulation DV (P ) should contain all simplices fromDS(P ). See Fig. 6.21 for an illustration in two dimensions.

Fig. 6.21. The set V is a thickening of the surface S that avoids the medial axis ofS

Page 266: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

258 F. Cazals, J. Giesen

" Algorithm. The Crust algorithm proceeds as follows: After the set Q ofpoles is computed from V (P ) the Delaunay triangulation D(P ∪ Q) of theunion of P andQ is constructed. From this Delaunay triangulation all trianglesthat have all three vertices in P are retained. The retained triangles are calledcandidate triangles. The candidate triangles not necessarily form a surface, butthey contain at least one if P is sufficiently dense. One of these surfaces isextracted from the candidate triangles in the final step of the Crust algorithm,which walks along the inside or outside of the candidate triangle set andreports all triangles visited. While walking care has to be taken of danglingtriangles. These are triangles that have an edge that is incident only to thistriangle in the set of candidate triangles. The dangling triangles are recursivelyremoved from the set of candidate triangles before the actual walk starts.

" Guarantees. It can be shown that for a closed smooth surface S and asufficiently dense ε-sampling P of S the set of candidate triangles contains allthe triangles of the Delaunay triangulation DS(P ) of P restricted to S. Thisimplies that the set of candidate triangles contains at least one surface, namelythe restricted Delaunay triangulation DS(P ). Thus the manifold extractionstep of the Crust algorithm, i.e., the removal of the dangling triangles fromthe set of candidate triangles and the actual walking are safe in the sense thatthe reported triangles actually form a surface.

" Complexity. The worst case running time and memory consumption ofthe Crust algorithm are Θ(m2), where m is the size of P ∪Q. Note, that twoDelaunay triangulations have to be computed, one from n and the other fromm points. The latter computation determines the asymptotic complexity ofthe algorithm.

" Extensions. As described above the Crust algorithm only works for smoothclosed surfaces and sufficiently dense ε-samples. Main problem is the final stepof the algorithm that extracts a surfaces from the set of candidate triangles.For practical data sets that do not fulfill the requirements of the algorithmit can happen that this last step removes almost all candidate triangles sincedangling triangles are removed recursively. This can be prevented if the re-moval of the dangling triangles is implemented in a more conservative fashion.This done the Crust algorithm can also cope with surfaces with boundariesand a “certain amount of non-smoothness” in practice.

Cocone.

The Cocone algorithm was designed by Amenta et al. [25] as a successor andimprovement of the Crust algorithm.

" Bottom-line. The Cocone algorithm builds as the Crust algorithm on theidea of approximating the Delaunay triangulation DS(P ) of P restricted to Sby computing a subset C ⊂ R

3 from P , which is a thickened version of S suchthat the Delaunay triangulation DC(P ) of P restricted to C can computed.

Page 267: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 259

The subset C is defined as follows: for every sample point p ∈ P approximatethe normal of S at p using the pole of the Voronoi cell Vp in V (P ), seeTheorem 8. The co-cone at p is now defined as the intersection of Vp with thecomplement of a double cone with apex p and fixed opening angle around theapproximate normal at p, see Fig. 6.22 for a two dimensional example. The setC is the union of all such co-cones. Note, that C can be computed just fromP . Theorem 7 implies that the local thickening of S using co-cones is smallcompared to the local feature size and thus C is a reasonable approximationof S.

Fig. 6.22. The co-cone of a sample on a curve together with the Voronoi cell of thesample point and its pole

Fig. 6.23. Balls of opposite (same) color intersect shallowly (deeply)

" Algorithm. As the Crust algorithm the Cocone algorithm first computes asubset of candidate triangles from the triangles in D(P ). A triangle t in D(P )

Page 268: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

260 F. Cazals, J. Giesen

is a candidate triangle if its dual Voronoi edge e intersects any of the co-cones.This intersection test boils down to go through the vertices of t and check ife intersects the co-cone of one of the vertices, which is checking the anglesthe of vectors from a vertex v incident to t to the endpoints of e with theapproximate normal at v. As for the Crust algorithm the candidate trianglesform not necessarily a surface, but they contain at least one if P is sufficientlydense. Finally, the last step of the Crust algorithm is used to extract one ofthese surfaces.

" Guarantees. The same guarantees as for the Crust algorithm hold underthe same conditions. But for the Cocone algorithm it is the first time thatthese guarantees were rigorously proven, especially the fact that the surfaceS and its reconstruction are homeomorphic for dense enough sampling.

" Complexity. The running time and memory consumption of the Coconealgorithm is Θ(n2) where n is the size of P . This complexity is determined bythe computation of D(P ). In practice one does not observe the quadratic buta slightly super linear behavior of the running time.

" Extensions. As described above the Cocone algorithm has the same re-strictions as the Crust algorithm, which also can be mitigated in the sameway. But for the Cocone algorithm there exist several extensions.

In the vein of large datasets, two extensions were designed. In order toavoid the calculation of the entire Delaunay triangulation, Dey et al. proposeto split the point cloud into chunks using an octree [121]. Cocone is then calledon each chunk, and the matching of surface pieces from adjacent octree cellsis obtained by duplicating selected sample points at the cells’ boundaries.Alternatively, the complexity of the algorithm was reduced by Funke andRamos [174] to Θ(n log n) by avoiding the computation of D(P ). They use adata-structure called well separated pair decomposition that allows to computeefficiently nearest neighbors of any sample point p ∈ P in all spatial directions.These neighbors approximate the Voronoi neighbors of p, i.e., the samplepoints connected to p with an edge in D(P ). From these neighbors the normalof S at p can be approximated, and candidate triangles incident to p and twoof the approximate Voronoi neighbors can be computed as in the Coconealgorithm.

The output of the Cocone algorithm with robust manifold extraction stepis a surface with boundary. This surface might contain small unpleasant holes.An extension called Tight Cocone removes these unpleasant holes provided thesurface S is closed. The Tight Cocone algorithm falls in the class of inside /outside labeling algorithms, i.e., it removes tetrahedra from the outside ofthe Delaunay triangulation D(P ). The stopping criterion for the tetrahedronremoval is based on the triangles computed by the Cocone algorithm. Thelatter triangles have to be contained in the reconstruction. The Tight Coconealgorithm was designed by Dey and Goswami [123] and got its name from thefact that its output is a watertight surface, i.e., a surface that bounds a solid,which might be pinched together at some points.

Page 269: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 261

The Tight Cocone algorithm was even further extended to deal with anoisy sampling P . This extension called Robust Cocone was also developedby Dey and Goswami [124]. The Robust Cocone algorithm employs a factthat was first used in the Power Crust algorithm of Amenta and Choi [27,26], namely, the balls circumscribing adjacent Delaunay tetrahedra intersectdeeply if both tetrahedra belong to the same component, i.e., either outsideor inside. The tetrahedra only have a shallow intersection if they belong todifferent components. Dey and Goswami observed that this might not be truefor tetrahedra in the noisy regions around the surface S. But these tetrahedrahave comparatively small circumscribing balls and thus can be detected. Inthe Robust Cocone algorithm only the sample points on the boundary of thenoise layer either facing the outside or the inside are retained. Finally theTight Cocone algorithm is run on the retained subset of the sample points.

6.3.3 Inside / Outside Labeling

The common ancestor of all algorithms that are based on an approximateinside / outside labeling of the Delaunay tetrahedra with respect to the un-known closed surface S is the algorithm by Boissonnat [54], from the samepaper that introduces the first tangent plane based surface reconstruction al-gorithm. In this seminal paper Boissonnat describes a sculpturing technique,i.e., removing tetrahedron from the Delaunay triangulation from the outsidein order to sculpture a solid whose boundary is the reconstruction. Boissonnatuses a priority queue and weights on the tetrahedra still present in the shapeto decide which tetrahedron to remove next. The tetrahedron removal is con-trolled by topological constraints, i.e., by prescribing the genus of the surfaceof the resulting solid.

As depicted on 6.24, surfaces with boundary do not define an inside andan outside, so that the methods described in this section may not work forsuch surfaces.

Power Crust.

The Power Crust algorithm was introduced by Amenta et al. in [27, 26].

" Bottom-line. To put it briefly, the Power Crust algorithm is an approxi-mate medial axis transform built from empty balls rather than maximal balls,which is asymptotically licit by Theorem 7.

"Algorithm. Consider a solid T bounded by a closed surface S. By the medialaxis transform, the solid T can be expressed as an infinite union of spherescentered on the inner medial axis, i.e., the medial axis of R

3\S restricted toT . But if one has a dense point set on S and since the inner poles, i.e., thepoles contained in T , converge to the inner medial axis, the surface S cancertainly be approximated by the boundary of the union of balls centered

Page 270: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

262 F. Cazals, J. Giesen

Fig. 6.24. Pole c lies near the medial axis, but cannot be tagged as inside or outside.

on the inner poles, their radii being the distance to the corresponding samplepoints. Similarly, the complement of the solid can be approximated by a unionof balls centered on the outer poles, i.e., the complement of the set of innerpoles. Therefore and since we have two collections of balls (inner and outer),the surface S should also be approximated by the interface between the innerand outer cells of the power diagram defined by the union of inner and outerpolar balls. This interface that consists of facets in a power diagram is calledthe power crust. At last, the dual of the complement of the power crust inthe power diagram is called the power shape. The power shape is a subset ofthe regular triangulation and is expected to approximate the medial axis ofR

3\S.From an algorithmic standpoint, the critical part consists of tagging the

poles as inner or outer. Assuming the samples are enclosed within a boundingbox, and starting from the poles of the sample points located on the boundingbox, a greedy algorithm is developed. The strategy consists of iterating on thepoles using a priority queue, which depends on the angle defined by the twopoles of a sample, as well as the intersection angle between polar balls. Thealgorithm is provably good for dense enough samples, yet may fail in case ofunder-sampling, at sharp edges or in the presence of noise.

The surface reported is a watertight, i.e., a closed, piecewise linear surfaceconsisting of power facets, yet possibly pinched at some points. All the samplepoints are interpolated, yet the result contains additional vertices.

" Complexity. Three data structures are used: the Delaunay triangulation ofthe original samples, the power diagram of the poles, and the priority queueof the tagging algorithm.

" Guarantees. It is first proved that an inner and an outer ball intersectshallowly, see Fig. 6.23 for an illustration. This result was already presentin [30] for the two-dimensional case.

Page 271: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 263

Denoting UI (UO) the boundary of the union of inner (outer) balls, thefollowing properties are proved. The one-sided Hausdorff distance between UI

and S is small, and so is the distance between UO and S, as well as betweenthe power-crust and S. The angle between the normal at a point of UI orUO (where it is defined, i.e., on the interior of the spherical caps of UI andUO) and the normal at the nearest point on S is also small. This geometricproperty can be used to show that the projection of UI (or UO) to the nearestpoint on S defines a homeomorphism. Using a similar construction, it is alsoproved that the power crust and the surface are homeomorphic. At last, thepower shape is homotopy equivalent to the complement of the surface. Noticethat providing more accurate guarantees on the power shape is significantlymore difficult due to the intricate structure of the medial axis, and also dueto the fact that the power shape may contain flat tetrahedra.

" Extensions. Noise and under-sampling are detected by analyzing theroundness of Voronoi cells. Badly shaped cells and the corresponding polesare discarded. Discarding both poles of a sample that fails the skinniness testallows to accommodate sharp edges as the intersection of two facets of thepower diagram. At last, large facets of the power crust witnessed by an innerand an outer ball intersecting deeply can be removed, thus leaving a surfacewith boundary.

Natural Neighbors.

Natural neighbors were first used for reconstruction in [56, 58].

" Bottom-line. It is well known by a theorem of Whitney that any smoothsurface occurs as the solution set f−1(0) for some smooth function f : R

3 → R.The Natural Neighbors reconstruction method is based on the definition ofsuch a function based on two ingredients: an estimate of the tangent planebased on the poles, and the natural coordinates defined with respect to theVoronoi diagram of the samples.

" Algorithm. For the sake of clarity, first assume that each sample point isgiven with its normal vector ni. Denoting NNs(x) the natural neighbors of apoint x and λi(x) the natural coordinate of x with respect to pi, the methodis based upon the following implicit function f : R

3 → R:

f(x) =∑

pi∈NNs(x)

λi(x) 〈pix, ni〉.

The inner product 〈pix, ni〉 measures the signed distance from x to the tangentplane at pi, and the function f therefore averages the signed distances to thetangent planes of the natural neighbors of the point x. A direct consequenceof the properties of natural coordinates is that the function f interpolatesthe point cloud, so that the reconstructed surface S is naturally defined as

Page 272: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

264 F. Cazals, J. Giesen

f−1(0). It has been conjectured that S is a smooth surface, yet it remains toshow that 0 is a regular value of f .

Since the natural coordinates have an involved expression, a triangulatedapproximation of S can be obtained as a subset of the Delaunay triangulationof the samples, namely as the restricted Delaunay triangulation Df−1(0)(P ).This triangulation is easily computed as follows. Denote by c1c2 the dualVoronoi edge of a triangle t. If f(c1)f(c2) < 0, then triangle t belongs to therestricted Delaunay triangulation. Such triangles are also called bipolar in thiscase.

If the normals are unknown, they can be estimated using the poles. Ori-enting the normals is also possible using a greedy algorithm similar to the oneused in [27] for the Power-Crust algorithm.

" Complexity. Apart from the Delaunay triangulation, a priority queue isrequired to sign the poles and orient the normals if the normals are not pro-vided.

" Guarantees. It can be shown that the Hausdorff distance between f−1(0)and S tends to zero when the sampling density goes to infinity. There is noguarantee on the topological coherence between the bipolar facets that makeup the reconstruction since non manifold edges may be encountered in caseof boundaries, noise, or under-sampling. However, if a (strictly positive) lowerbound on the local feature size is known, the mesh obtained can be refinedusing Delaunay refinement –see Chapter 5, until a mesh ambient isotopic tothe original surface is obtained.

Topologically guided methods for the inside / outside labeling make useof the distance to the closest sample point. In Sect. 6.2 we have already sum-marized some properties of this function. In topological guided methods onewants to exploit the critical points of the distance function and their stablemanifolds for reconstruction.

" Extensions. An interesting extension of the above scheme, geared towardslarge datasets, is developed in [55]. Starting with a subset of the point cloud tobe processed, and observing that points located near the level set f−1(0) areredundant, the algorithm iteratively inserts points located far away from thiszero level set. Upon termination, a mesh featuring a subset of the whole pointcloud is returned, the points discarded being within a user specified tolerancefrom this mesh.

Wrap.

The Wrap algorithm was designed by Edelsbrunner [132].

" Bottom-line. The Wrap algorithm is based on the concepts of flow andstable manifolds. But instead of building directly on the flow induced by thesample points a flow relation is defined on the set of simplices of the Delaunay

Page 273: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 265

triangulation D(P ) of the sample points P . The critical points are defined ex-actly as for the distance function induced by P , i.e., as the intersection pointsof Delaunay- and their dual Voronoi objects. But their stable manifolds arenow approximated by sub-complexes of D(P ). The reconstruction producedby the Wrap algorithm is the boundary of the union of stable manifolds of asubset of the maxima of the flow relation. As the boundary of a solid it is asurface.

" More details. The flow relation # ⊂ D × D on the set D of Delaunaysimplices is defined as follows: τ # ν # σ if ν is a face of τ and σ and thereexists a point x in the interior of ν such that there is an orbit φy that ispassing from the interior of τ through x to σ. τ is called a predecessor andσ is called a successor of ν. The relation # is acyclic. A sink is a Delaunaytetrahedron that contains a maximum of the flow, i.e., its dual Voronoi vertex.The set of sinks is augmented by an artificial sink at infinity. The flow relationcan be used to define the ancestor and conservative ancestor sets of a set B ofsinks. These sets consist of Delaunay simplices that are linked to a tetrahedronin B by a chain in the flow relation. The wrapping surface of the point setP is the boundary of the union of the ancestor sets of all finite sinks orequivalently it consists of the complement in the Delaunay triangulation D(P )of the conservative ancestor set of the sink at infinity. The wrapping surfaceis unique. It can be computed by collapsing certain simplices. The collapseoperation removes simplices that are the unique co-face of one of their faces.A collapse does not change the homotopy type of the complex since it canbe seen as a deformation retraction, which always keeps the homotopy type.Thus the complex bounded by the wrapping surface is homotopy equivalentto a point, i.e., the wrapping surface cannot be a torus for example. Thelatter disadvantage is bypassed by allowing a simplex removing operation thatchanges the homotopy type. The deletion is similar to the original definitionof the wrapping surface. Instead of removing from the Delaunay triangulationD(P ) only the conservative ancestor set of the sink at infinity, the conservativeancestor sets of a set of sinks is removed. Consequently the wrapping surface isnow the boundary of the union of the ancestor sets of the remaining sinks. Thelatter union need not be homotopy equivalent to a point, i.e., the wrappingsurface can be topologically more complicated.

" Guarantees. No reconstruction guarantees are given besides the fact thatthe wrapping surface is always the boundary of a solid.

" Complexity. The running time of the Wrap algorithm is dominated by thetime needed to compute the Delaunay triangulation D(P ), i.e., it is Θ(n2)where n is the size of P .

" Extensions. No extensions to the Wrap algorithm are known.

Page 274: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

266 F. Cazals, J. Giesen

Flow Complex.

The flow complex is very much related to the Wrap algorithm.

" Bottom-line. It was observed by Giesen and John [183] that a reconstruc-tion similar to the one obtained by the Wrap algorithm can be derived fromthe flow complex. The flow complex has a recursive structure, i.e., the stablemanifolds of a critical point is bounded by stable manifolds of critical pointsof lower index. The reconstruction is the boundary of the union of all stablemanifolds of the local maxima of the induced distance function. The stablemanifold of an index 2 saddle point can be in the boundary of either oneor two stable manifolds of local maxima. As in the Wrap algorithm one canrecursively use stable manifolds of index 2 saddles, which are in the boundaryof only one stable manifold of a local maximum to push the reconstructionfurther to interior of the complex. The pushing is guided by considering thedifference in value of the height function at the local maximum and the index2 saddle point.

" Algorithm. The flow complex is not a subcomplex of the Delaunay tri-angulation D(P ) though D(P ) can be used to compute the flow complex.This computation is quite involved and makes use of the recursive structureof the stable manifolds. Here we want to refer the reader to [184] for a detaileddescription.

" Guarantees. No reconstruction guarantees are given besides the fact thatthe wrapping surface always is the boundary of a solid.

" Complexity. The combinatorial and algorithmic complexities of the flowcomplex are not known yet. The reconstruction has roughly three times asmany triangles as other Delaunay based reconstruction algorithms.

" Extensions. The reconstruction algorithm of [183] is guided by the sta-ble manifolds of index 2 saddles. An extension of this strategy is developedin [122], where it is first observed that critical points of the distance functionto the samples are either located near the surface or near the medial axis.This distinction is algorithmic since one can actually classify critical points asmedial axis or surface critical points using an angle-based criterion involvingthe poles. Based on this classification, it is sufficient to union all the stablemanifolds of medial axis critical points, and report the boundary of this union.

Convection Algorithm.

The convection algorithm was designed by Chaine [82].

" Bottom-line. The Convection algorithm is the geometric implementationof the convection model introduced by Zhao, Osher and Fedkiw [350]. In this

Page 275: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 267

model it is proposed to use the surface that minimizes the following energyfunctional as the reconstruction of S from P :

E(S′) =(∫

x∈S′hp(x) dx

)1/p

, 1 ≤ p ≤ ∞,

where the integral is taken over a closed surface S′ and h is the distancefunction induced by the sampling P of the surface S. Zhao et al. proposean evolution equation to construct the surface that minimizes the energyfunctional by deforming a good initial enclosing approximation of the surface.The evolution follows the gradient descent of the energy functional. Everypoint x of the surface S′ evolves towards the interior of the surface along thenormal direction n of S′ at x with speed proportional to −∇h(x) · n + t(x),where t(x) is the surface tension of S′ at x. In order to compute an initialapproximation of S Zhao et al. change the evolution in the sense the velocityfield at each point x ∈ S′ is replaced by −∇h(x). Chaine discretizes theconvection approach by introducing the concept of pseudo-surfaces. The facetsof a pseudo-surface are Delaunay triangles that have the oriented Gabrielproperty, where the triangles are oriented such that their normal points insidethe bounded component enclosed by the pseudo-surface. A pseudo surface canbe pinched together along some of its subsets. To define the oriented Gabrielproperty let t be a Delaunay triangle with oriented normal n. Let s be thehalf-sphere of the minimum enclosing sphere of t that is contained in the half-space bounded by the affine hull of t and pointed into by n. The triangle t hasthe oriented Gabriel property if the half sphere s does not contain any pointfrom P in its interior. Chaine proves the following theorem.

Theorem 9. Given a closed surface S′ enclosing the point set P then S′

evolves under the convection −∇h(x) to a set of closed, piecewise linearpseudo-surfaces.

Furthermore, she observed that Theorem 9 can be turned into an algorithmbased on the Delaunay triangulation D(P ) of the sample points P . In thisalgorithm the evolving pseudo surface is initialized with the boundary of theconvex hull of P and all the triangles on this boundary are oriented to pointinside the convex hull. The pseudo surface evolves by pushing into Delaunaytetrahedra. The pushing operations are determined by the vector field −∇h(x)and topological constraints.

" Algorithm. The algorithm basically works as follows: as long as there isa facet f in the evolving, oriented, pseudo surface S′ that does not have theoriented Gabriel property do the following. If the facet f with the inverseorientation also belongs to S′ then remove f from S′. Otherwise replace fby the three Delaunay facets incident to the Delaunay tetrahedron, which isincident to f and on the positive side of f with respect to the orientation off . Orient the three new facets in S′ properly such that their normals pointinto the interior of the evolving pseudo surface.

Page 276: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

268 F. Cazals, J. Giesen

" Guarantees. No reconstruction guarantees are given.

" Complexity. The running time of the Convection algorithm is dominatedby the time needed to compute the Delaunay triangulation D(P ), i.e., it isΘ(n2) where n is the size of P .

" Extensions. One modification of the Convection algorithm is to keep anoriented facet f in S′ if the same facet with the inverse orientation is also inS′. In doing so the convection algorithm can also reconstruct surfaces withboundaries.

Sometimes the Convection algorithm stops too early, i.e., one would liketo push the evolving surface even further. A heuristic to do so is provided.

Another extension, geared towards large datasets, is presented in [18].Borrowing the coarse-to-fine strategy from [57], the method first extracts atriangulated surface corresponding to a subset of the point cloud. This sur-face can be further refined by locally updating the Delaunay triangulation,and updating the reconstruction accordingly —a local process which does notrequire running the convection algorithm from scratch.

" Comments. The Convection algorithm is dual to the Wrap algorithm (andthe Flow complex) in the sense that the direction of “flow” is reversed. TheWrap algorithm retains the part of the Delaunay triangulation that does not“flow” to infinity whereas the Convection algorithm lets the convex hull of P“flow” towards the shape.

6.3.4 Empty Balls Methods

A triangle reported in a reconstructed surface should be local in some sense.One way to specify locality is to use the empty ball property.

Ball Pivoting Algorithm.

Bernardini et al. [52]designed the ball pivoting algorithm to compute a surfacesubset of an α-shape of a sampling P in linear time and space.

" Bottom-line and algorithm. Like in the definition of α-shapes a trianglepqr with vertices p, q, r ∈ P forms a triangle in the reconstruction if there is aball of radius α that contains p, q and r in its boundary and no point from Pin its interior. Starting with a seed triangle in the α-shape the ball pivotingalgorithm pivots a ball around an edge of this seed triangle, i.e., it revolvesaround an edge while keeping the edge’s endpoints on its boundary, until ittouches another point from P , forming another triangle in the α-shape. Thisprocess continues until all reachable edges have been processed.

" Guarantees. No guarantees are given.

" Complexity. Time and space complexity of the ball pivoting algorithm arelinear under some assumptions, i.e., it is asymptotically faster than computingthe Delaunay triangulation D(P ) of P .

Page 277: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 269

" Extensions. If not all points of P have been processed by the algorithmthen one can restart it with a new seed triangle until all points in P have beenconsidered.

To accommodate non-uniform sampling the pivoting process can be re-peated with a larger value for α.

Conformal α-shapes.

Conformal α-shapes were introduced in [81] to circumvent the uniformitylimitations inherent to α-shapes.

" Bottom-line. In the context of surface reconstruction, the size of the small-est empty ball associated with a simplex does not have an absolute meaning:a ball of a given radius may be associated to neighbors on the surface atone location, but may connect points across the surface elsewhere. To getaround this difficulty, conformal α-shapes re-scale the size of balls by takinginto account the information provided by the poles.

" Algorithm. Consider the Delaunay triangulation of the sample points, andthe associated α-complex. The α values associated to the simplices incidentto a sample p span the range [0, α+

p ], with α+p the distance from p to its

pole. In contrast to α-shapes, where α spans the real numbers, consider nowa parameter α ∈ [0, 1]. Placing around each sample point p a ball of radiusαp(α) = α+

p α, denote by Cαp the intersection of that ball with the Voronoi cell

of p. The conformal alpha shape is the Delaunay triangulation of the samplepoints P restricted to ∪p∈PC

αp . Notice that the radii of the balls get scaled

by a factor equal to the distance to the poles instead of using the same radiusα for all balls.

" Guarantees. For an ε-sample of a surface, it can be shown that the con-formal alpha shape contains the restricted Delaunay triangulation as soon asα ≥ η, with η = ε/(1 − ε). It can also be shown that the conformal alphashape does not contain large simplices for small values of α. Note that suchguarantees cannot be provided for ordinary α-shapes and are not known tohold for any method based on weighted α-shapes (an extension of α-shapesto weighted points, especially balls).

" Complexity. Commuting the conformal α-shapes requires to compute themoment of appearance of the simplices as a function of α. This is straightfor-ward from the α-values. Thus, the time complexity is the same as for ordinaryα-shapes.

Regular Interpolant.

The regular interpolant was introduced in [281] by Petitjean and Boyer. Theirwork stresses the importance of Gabriel triangles for surface reconstruction,an observation also raised in [34].

Page 278: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

270 F. Cazals, J. Giesen

" Bottom-line. The framework of ε-samples might not be the definitive set-up for solving practical problems. To bypass this difficulty, Petitjean andBoyer address the issue of finding an interpolant encoding the properties ofthe sampling P rather than those of an hypothetical smooth surface S. To seehow, we first introduce the relevant notions.

An interpolant O in R3 is a 2-simplicial complex having P as vertex set.

The interpolant is closed if each simplex bounds two distinct connected com-ponents of the ambient space.

Given a sample point p ∈ P , its granularity g(p) is defined as the radiusof the largest ball circumscribing a triangle incident to p.

Now, given an interpolant, its associated discrete medial axis is the Voronoidiagram from which one removes the Voronoi cells dual to simplices of theinterpolant. Notice that the process leaves Voronoi cells of dimensions fromtwo to zero, and in particular all the Voronoi vertices.

The discrete local feature size or local thickness t(p) at a sample point pis its least distance to the discrete medial axis with the convention t(p) = 0if p is on the boundary of a connected component of R

3\O, which does notcontain any piece of the discrete medial axis.

Equipped with these notions, an interpolant is called regular is g(p) < t(p)for all sample points p. Getting back to the point cloud, P is said to be regularif it admits at least one regular interpolant. These notions are depicted inFig. 6.25.

Regular interpolants do not exist in general due to the presence of slivers,see Fig. 6.3. When such a tetrahedron is located near its equatorial plane,the granularity is indeed larger than the distance to the discrete medial axis,which contains at least the circumcenter of the tetrahedron.

" Algorithm. For a regular interpolant, the triangles contributing to theinterpolant are the Gabriel triangles minimizing the granularity at the vertices.They can be retrieved in an incremental fashion.

" Guarantees. No guarantees are given.

" Complexity. The Gabriel property must be checked for triangles incidentto an edge. Using the Delaunay triangulation this can be done in time O(n2).

" Extensions. For non-regular point-sets, triangles are first selected so as tominimize the granularity, and are further decimated if they are not Gabriel.The interpolant built in this way is called a minimal interpolant. It is notmanifold in general. A manifold extraction step can be applied, which consistsof reporting groups of simplices that are simply connected, i.e., contractibleto a point.

Page 279: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 271

Fig. 6.25. A discrete version of the medial axis. Solid segments: interpolant; dottedsegments: belonging to Delaunay but not the interpolant. The medial axis consistsof the Voronoi segments dual to Delaunay edges, which do not contribute to theinterpolant. The Voronoi edges not belonging to the medial axis are dotted too

6.4 Evaluating Surface Reconstruction Algorithms

Evaluating surface reconstruction algorithms is a difficult task. Some of thealgorithms presented in this chapter come with theoretical guarantees undercertain conditions. But if these conditions are not met, their behavior is notspecified. Thus it is an interesting question how reconstruction algorithms per-form on “real data”. In order to assess the performance of different algorithmson real data two surface reconstruction challenges have been organized. Onechallenge was organized within the Effective Computational Geometry project,a project funded by the European Union. The other challenge was organizedwithin a DIMACS Workshop. For both challenges several data sets featuringthe following difficulties were selected: undersampling, sharp features, thinparts, boundaries, high genus, noise.

The reader is referred to www-sop.inria.fr/prisme/manifestations/ECG02/SurfReconsTestbed.html and www.cse.ohio-state.edu/dimacs-sr-challenge where the data sets used in the challenges areavailable. Some of these models are presented on Fig. 6.28, 6.29, 6.30, 6.27.

Page 280: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

272 F. Cazals, J. Giesen

6.5 Software

In this section, we provide information on the availability of implementa-tions of the different algorithms, and on the projects they have been used for.Whenever the information has been provided by the authors, we indicate so.

Greedy [94].

Information provided by D. Cohen-Steiner. Algorithm Greedy has been mar-keted by the Geometry Factory, the company selling the ComputationalGeometry Algorithms Library library, and is also available through the website cgal.inria.fr/Reconstruction.

Cocone and variants [25, 123, 124].

Information provided by T. Dey. The suite of Cocone algorithms is availablefrom www.cse.ohio-state.edu/∼tamaldey/cocone.html. Depending on theconstraints, users can choose from Cocone which reconstructs with boundaries,tight tcocone which returns a water-tight reconstruction, robust cocone whichhandles noise. Current implementations are based upon version 2.3 of theComputational Geometry Algorithms Library, www.cgal.org.

Power crust algorithm [27, 26].

Information provided by N. Amenta. The power crust software was releasedin 2002 at www.cs.utexas.edu/users/amenta/powercrust/welcome.html.The software was ported into the Visual Toolkit VTK by Tim Hutton —seewww.sq3.org.uk/powercrust. Unfortunately since powercrust was releasedunder the GPL licence, it cannot be officially included in the VTK distribu-tion.

Natural Neighbors [56, 58].

Information provided by F. Cazals and A. Lieutier. The surface reconstructionalgorithm based on Natural Neighbors was purchased by Dassault Sytemes,the editor of CAGD system CATIA, and has been integrated into the DigitalShape Editor of CATIA V5R6 since spring 2001.

Wrap [132].

As pointed out in [132], Algorithm Wrap has been implemented in 1996 atRaindrop Geomagic, and successfully commercialized as geomagic Wrap. It isalso protected by the U.S patent No. 6,3777,865.

Page 281: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 273

Ball pivoting algorithm [52].

Information provided by F. Bernardini. The algorithm is patented,US6968299: Method and apparatus for reconstructing a surface using a ball-pivoting algorithm. The code is copyright of IBM and not commerciallyavailable. The Ball Pivoting Algorithm has been used in two projects spon-sored by IBM Corporate Community Relations: Michelangelo’s Florence Pietawww.research.ibm.com/pieta, Eternal Egypt www.eternalegypt.org. Thealgorithm is part of a scanning system that IBM has made available to theEgyptian Center for Documentation of Cultural and Natural History (CULT-NAT)

6.6 Research Problems

Exercise 5 (Independence from the Delaunay triangulation). It hasbeen shown in [33] that the complexity of the Delaunay triangulation for rea-sonable point sets sampled from a smooth generic surface is O(n log n), whichis better than the Θ(n2) worst-case bound on the complexity of the Delaunaytriangulation. Therefore, one challenge is to design a surface reconstructionalgorithm whose running time is always independent of the size of the De-launay triangulation D(P ). Even better, the running time could be outputsensitive in the size of the reconstructed surface. An example such an algo-rithm running in time O(n log n) is the modification of the Cocone algorithmby Funke and Ramos [174].

Exercise 6 (Boundaries). Define a meaningful sampling theory for asmooth surface with boundaries. Design an algorithm that comes with guar-antees in terms of your sampling theory not only for the sampled surface, butalso for its bounding curves.

Exercise 7 (ε-samples). The major drawback of the ε-sample framework isthat the sufficient conditions of algorithms developed under its auspices cannotbe checked as a pre-condition. Propose a more constructive framework.

Page 282: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

274 F. Cazals, J. Giesen

Fig. 6.26. The evolution and progress in the Cocone family of algorithms, ilustratedon the Stanford bunny, 36k points. From left to right: Cocone, Tight Cocone andRobust Cocone. Triangles featuring non manifold edges and vertices are colored

Fig. 6.27. Pump, 47k points. Reconstructed with [94]

Page 283: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

6 Delaunay Triangulation Based Surface Reconstruction 275

Fig. 6.28. Mechanical part, 12k points. Reconstructed with [56]

Fig. 6.29. Vase, 2.7k points. Reconstructed with [56]

Page 284: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

276 F. Cazals, J. Giesen

Fig. 6.30. Plane engine, 11k points. Reconstructed with [82]

Page 285: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7

Computational Topology:An Introduction

Gunter Rote and Gert Vegter

7.1 Introduction

Topology studies point sets and their invariants under continuous deforma-tions, invariants such as the number of connected components, holes, tunnels,or cavities. Metric properties such as the position of a point, the distancebetween points, or the curvature of a surface, are irrelevant to topology. Com-putational topology deals with the complexity of topological problems, andwith the design of efficient algorithms for their solution, in case these prob-lems are tractable. These algorithms can deal only with spaces and maps thathave a finite representation. To this end we restrict ourselves to simplicialcomplexes and maps. In particular we study algebraic invariants of topologi-cal spaces like Euler characteristics and Betti numbers, which are in generaleasier to compute than topological invariants.

Many computational problems in topology are algorithmically undecid-able. The mathematical literature of the 20th century contains many (beauti-ful) topological algorithms, usually reducing to decision procedures, in manycases with exponential-time complexity. The quest for efficient algorithms fortopological problems has started rather recently. The overviews by Dey, Edels-brunner and Guha [119], Edelsbrunner [133], Vegter [329], and the book byZomorodian [351] provide further background on this fascinating area.

This chapter provides a tutorial introduction to computational aspects ofalgebraic topology. It introduces the language of combinatorial topology, rele-vant for a rigorous mathematical description of geometric objects like meshes,arrangements and subdivisions appearing in other chapters of this book, andin the computational geometry literature in general.

Computational methods are emphasized, so the main topological objectsare simplicial complexes, combinatorial surfaces and submanifolds of someEuclidean space. These objects are introduced in Sect. 7.2. Here we also in-troduce the notions of homotopy and isotopy, which also feature in other

Chapter coordinator

Page 286: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

278 G. Rote, G. Vegter

parts of this book, like Chapter 5. Most of the computational techniques areintroduced in Sect. 7.3. Topological invariants, like Betti numbers and Eulercharacteristic, are introduced and methods for computing such invariants arepresented. Morse theory plays an important role in many recent advances incomputational geometry and topology. See, e.g., Sect. 5.5.2. This theory isintroduced in Sect. 7.4.

Given our focus on computational aspects, topological invariants like Bettinumbers are defined using simplicial homology, even though a more advancedstudy of deeper mathematical aspects of algebraic topology could better bebased on singular homology, introduced in most modern textbooks on alge-braic topology. Other topological invariants, like homotopy groups, are harderto compute in general; These are not discussed in this chapter.

The chapter is far from a complete overview of computational algebraictopology, and it does not discuss recent advances in this field. However, readingthis chapter paves the way for studying recent books and papers on compu-tational topology. Topological algorithms are currently being used in appliedfields, like image processing and scattered data interpolation. Most of theseapplications use some of the tools presented in this chapter.

7.2 Simplicial complexes

Topological spaces.

In this chapter a topological space X (or space, for short) is a subset of someEuclidean space R

d, endowed with the induced topology of Rd. In particular,

an ε-neighborhood (ε > 0) of a point x in X is the set of all points in Xwithin Euclidean distance ε from x. A subset O of X is open if every pointof O contains an ε-neighborhood contained in O, for some ε > 0. A subset ofX is closed if its complement in X is open. The interior of a set X is the setof all points having an ε-neighborhood contained in X, for some ε > 0. Theclosure of a subset X of R

d is the set of points x in Rd every ε-neigborhood

of which has non-empty intersection with X. The boundary of a subset Xis the set of points in the closure of X that are not interior points of X. Inparticular, every ε-neighborhood of a point in the boundary of X has non-empty intersection with both X and the complement of X. See [28, Sect. 2.1]for a more complete introduction of the basic concepts and properties of pointset topology.

The space Rd is called the ambient space of X. Examples of topological

spaces are:

1. The interval [0, 1] in R;2. The open unit d-ball: B

d = (x1, . . . , xd) ∈ Rd | x2

1 + · · · + x2d < 1;

3. The closed unit d-ball: Bd

= (x1, . . . , xd) ∈ Rd | x2

1 + · · · + x2d ≤ 1 (the

closure of Bd);

Page 287: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 279

4. The unit d-sphere Sd = (x1, . . . , xd+1) ∈ R

d+1 | x21 + · · ·+x2

d+1 = 1 (theboundary of the (d+1)-ball);

5. A d-simplex, i.e., the convex hull of d+ 1 affinely independent points insome Euclidean space (obviously, the dimension of the Euclidean spacecannot be smaller than d). The number d is called the dimension of thesimplex. Fig. 7.1 shows simplices of dimensions up to and including three.

Fig. 7.1. Simplices of dimension zero, one, two and three

Homeomorphisms.

A homeomorphism is a 1–1 map h : X → Y from a space X to a space Ywith a continuous inverse. (In this chapter a map is always continuous bydefinition.) In this case we say that X is homeomorphic to Y , or, simply, thatX and Y are homeomorphic.

1. The unit d-sphere is homeomorphic to the subset Σ of Rm defined by

Σ = (x1, . . . , xd+1, 0, . . . , 0) ∈ Rm | x2

1+· · ·+x2d+1 = 1 (m > d). Indeed,

the map h : Sd → Σ, defined by h(x1, . . . , xd+1) = (x1, . . . , xd+1, 0, . . . , 0),

is a homeomorphism. Loosely speaking, the ambient space does not matterfrom a topological point of view.

2. The map h : Rk → R

m, m > k, defined by

h(x1, . . . , xk) = (x1, . . . , xk, 0, . . . , 0),

is not a homeomorphism.3. Any invertible affine map between two Euclidean spaces (of necessarily

equal dimension) is a homeomorphism.4. Any two d-simplices are homeomorphic. (If the simplices lie in the same

ambient space of dimension d − 1, there is a unique invertible affine mapsending the vertices of the first simplex to the vertices of the second sim-plex. For other, possibly unequal dimensions of the ambient space onecan construct an invertible affine map between the affine hulls of the sim-plices.)

5. The boundary of a d-simplex is homeomorphic to the unit d-sphere. (Con-sider a d-simplex in R

d+1. The projection of its boundary from a fixedpoint in its interior onto its circumscribed d-sphere is a homeomorphism.See Fig. 7.2. The circumscribed d-sphere is homeomorphic to the unitd-sphere.)

Page 288: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

280 G. Rote, G. Vegter

p

p′

Fig. 7.2. The point p on the boundary of a 3-simplex is mapped onto the pointp′ on the 2-sphere. This mapping defines a homeomorphism between the 2-simplexand the 2-sphere

Simplices.

Consider a k-simplex σ, which is the convex hull of a set A of k+1 independentpoints a0, . . . , ak in some Euclidean space R

d (so d ≥ k). A is said to span thesimplex σ. A simplex spanned by a subset A′ of A is called a face of σ. If τ isa face of σ we write τ . σ. The face is proper if ∅ = A′ = A. The dimension ofthe face is |A′|−1. A 0-dimensional face is called a vertex, a 1-dimensional faceis called an edge. An orientation of σ is induced by an ordering of its vertices,denoted by 〈a0 · · · ak〉, as follows: For any permutation π of 0, . . . , k, the ori-entation 〈aπ(0) · · · aπ(k)〉 is equal to (−1)sign(π)〈a0 · · · ak〉, where sign(π) is thenumber of transpositions of π (so each simplex has two distinct orientations).A simplex together with a specific choice of orientation is called an orientedsimplex. If τ is a (k−1)-dimensional face of σ, obtained by omitting the vertexai, then the induced orientation on τ is (−1)i〈a0 · · · ai · · · ak〉, where the hatindicates omission of ai.

Simplicial complexes.

A simplicial complex K is a finite set of simplices in some Euclidean spaceR

m, such that (i) if σ is a simplex of K and τ is a face of σ, then τ is asimplex of K, and (ii) if σ and τ are simplices of K, then σ ∩ τ is eitherempty or a common face of σ and τ . The dimension of K is the maximum ofthe dimensions of its simplices. The underlying space of K, denoted by |K|,is the union of all simplices of K, endowed with the subspace topology ofR

m. The i-skeleton of K, denoted by Ki, is the union of all simplices of K ofdimension at most i. A subcomplex L of K is a subset of K that is a simplicialcomplex. A triangulation of a topological space X is a pair (K,h), where Kis a simplicial complex and h is a homeomorphism from the underlying space|K| to X. The Euler characteristic of a simplicial d-complex K, denoted by

Page 289: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 281

χ(K), is the number∑d

i=0(−1)iαi, where αi is the number of i-simplices ofK. Examples of simplicial complexes are:

1. A graph is a 1-dimensional simplicial complex (think of a graph as beingembedded in R

3). The complete graph with n vertices is the 1-skeleton ofan (n−1)-simplex.

2. The Delaunay triangulation of a set of points in general position in Rd is

a simplicial complex.

Combinatorial surfaces.

A Combinatorial closed surface is a finite two-dimensional simplicial complexin which each edge (1-simplex) is incident with two triangles (2-simplices), andthe set of triangles incident to a vertex can be cyclically ordered t0, t1, . . . , tk−1

so that ti has exactly one edge in common with ti+1 mod k, and these are theonly common edges. Stillwell [325, page 69 ff] contains historical backgroundand the basic theorem on the classification combinatorial surfaces.

Homotopy and Isotopy: Continuous Deformations.

Homotopy is a fundamental topological concept that describes equivalencebetween curves, surfaces, or more general topological subspaces within a giventopological space, up to “continuous deformations”.

Technically, homotopy is defined between two maps g, h : X → Y froma space X into a space Y . The maps g and h are homotopic if there is acontinuous map

f : X × [0, 1] → Y

such that f(x, 0) = g(x) and f(x, 1) = h(x) for all x ∈ X. The map f is thencalled a homotopy between g and h. It is easy to see that homotopy is anequivalence relation, since a homotopy can be “inverted” and two homotopiescan be “concatenated”.

When g and h are two curves in Y = Rn defined over the same inter-

val X = [a, b], the homotopy f defines, for each “time” t, 0 ≤ t ≤ 1, acurve f(·, t) : [a, b] → R

n that interpolates smoothly between f(·, 0) = g andf(·, 1) = h.1

To define homotopy for two surfaces or more general spaces S and T , westart with the identity map on S and deform it into a homeomorphism fromS to T . Two topological subspaces S, T ⊆ X are called homotopic if there isa continuous mapping

γ : S × [0, 1] → X

such that γ(·, 0) is the identity map on S and γ(·, 1) is a homeomorphismfrom S to T .

1In the case of curves with the same endpoints g(a) = h(a) and g(b) = h(b),one usually requires also that these endpoints remain fixed during the deformation:f(a, t) = g(a) and f(b, t) = g(b) for all t.

Page 290: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

282 G. Rote, G. Vegter

By the requirement that we have a homeomorphism at time t = 1, one cansee that this definition is symmetric in S and T . Note that we do not requireγ(·, t) to be a homeomorphism at all times t. Thus, a clockwise cycle and acounterclockwise cycle in the plane are homotopic. In fact, all closed curvesin the plane are homotopic: every cycle can be contracted into a point (whichis a special case of a closed curve). A connected topological space with thisproperty is called simply connected.

Examples of spaces which are not simply connected are a plane with apoint removed, or a (solid or hollow) torus. For example, on the hollow torusin Fig. 7.3, the closed curve in the figure is not homotopic to its inverse.

If we require that γ(·, t) is a homeomorphism at all times during the de-formation we arrive the stronger concept of isotopy. For example, the smoothclosed curves without self-intersections in the plane fall into two isotopyclasses, according to their orientation (clockwise or counterclockwise). Iso-topy is usually what is meant when speaking about a “topologically correct”approximation of a given surface, as discussed in Sect. 5.1, where the strongerconcept of ambient isotopy is also defined (Definition 1, p. 183).

A map f : X → Y is a homotopy equivalence if there is a map g : Y → Xsuch that the composed maps gf and fg are homotopy equivalent to theidentity map (on X and Y , respectively). The map g is a homotopy inverse off . The spaces X and Y are called homotopy equivalent. A space is contractibleif it is homotopy equivalent to a point.

1. The unit ball in a Euclidean space is contractible. Let f : 0 → Bd be the

inclusion map. The constant map g : Bd → 0 is a homotopy inverse of f .

To see this, observe that the map fg is the identity, and gf is homotopic tothe identity map on B

d, the homotopy being the map F : Bd × [0, 1] → B

d

defined by F (x, t) = tx.2. The solid torus is homotopy equivalent to the circle. More generally, the

cartesian product of a topological space X and a contractible space ishomotopy equivalent to X.

3. A punctured d-dimensional Euclidean space Rd \ 0 is homotopy equiv-

alent to a (d− 1)-sphere.

Note that homotopy equivalent spaces need not be homeomorphic. However,such spaces share important topological properties, like having the same Bettinumbers (to be introduced in the next section). Section 6.2.3 (p. 250) describeshow this concept is applied in surface reconstruction.

7.3 Simplicial homology

A calculus of closed loops.

Intuitively, it is clear that the sphere and the torus have different shapes inthe sense that these surfaces are not homeomorphic. A formal proof of this

Page 291: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 283

observation could be based on the Jordan curve theorem: take a simple closedcurve on the torus that does not disconnect the torus. Such curves, the com-plement of which is connected, do exist, as can be seen from Fig. 7.3. If thereexists a homeomorphism from the torus to the sphere, the image of the curveon the torus would be a simple closed curve on the sphere. By the Jordancurve theorem, the complement of this curve is disconnected. Since connect-edness is preserved by homeomorphisms, the complements of the curves onthe torus and the sphere are not homeomorphic. This contradiction provesthat the torus and the sphere are not homeomorphic.

Fig. 7.3. Every simple closed curve on the sphere disconnects. Not every closedcurve on the torus disconnects

This proof seems rather ad hoc: it only proves that the sphere is nothomeomorphic to a closed surface with holes, but it cannot be used to showthat a surface with more than one hole is not homeomorphic to the torus.Homology theory provides a systematic way to generalize the argument aboveto more general spaces.

In this chapter we present basic concepts and properties of simplicial ho-mology theory, closely related to simplicial complexes and suitable for compu-tational purposes. An alternative, more abstract approach is followed in thecontext of singular homology theory. This theory is more powerful when prov-ing general results like topological invariance of homology spaces. Since we fo-cus on basic computational techniques we will not discuss this theory here, butrefer the reader to standard textbooks on algebraic topology, like [203]. Theequivalence of Simplicial and Singular Homology is proven in [203, Sect. 2.1].

Chain spaces and simplicial homology.

Let K be a finite simplicial complex. In this chapter, an simplicial k-chainis a formal sum of the form

∑j ajσj over the oriented k-simplices σj in K,

with coefficients aj in the field Q of rational numbers. In other words, it canbe regarded as a rational vector whose entries are indexed by the oriented

Page 292: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

284 G. Rote, G. Vegter

k-simplices of K. Furthermore, by definition, −σ = (−1)σ is the simplexobtained from σ by reversing its orientation. With the obvious definition foraddition and multiplication by scalars (i.e., rational numbers), the set of allsimplicial k-chains forms a vector space Ck(K,Q), called the vector spaceof simplicial k-chains of K. The dimension of this vector space is equal tothe number of k-simplices of K. Therefore, the Euler characteristic of a d-dimensional simplicial complex K can be expressed as an alternating sum ofdimensions of the spaces of k-chains:

χ(K) =d∑

i=0

(−1)i dimCk(K,Q). (7.1)

The boundary operator ∂k : Ck(K,Q) → Ck−1(K,Q) is defined as follows.For a single k-simplex σ = 〈vi0 · · · vik

〉, k > 0, let

∂kσ =k∑

h=0

(−1)h〈vi0 · · · vih· · · vik

〉,

and then let ∂k be extended linearly, viz., ∂k(∑

j ajσj) =∑

j aj∂kσj . For con-sistency we define C−1(K,Q) = 0, and we let ∂0 : C0(K,Q) → C−1(K,Q) bethe zero-map. The boundary operator is a linear map between vector spaces.It is easy to check that it verifies the relation ∂k∂k+1 = 0.

Example: One-homologous chains.

In the simplicial complex of Fig. 7.4 we consider the 2-chain γ = 〈v1v4v2〉 +〈v2v4v5〉+ 〈v2v5v3〉+ 〈v3v5v6〉+ 〈v1v3v6〉+ 〈v1v6v4〉. Then ∂2γ = α−β, whereα = 〈v4v5〉 + 〈v5v6〉 − 〈v4v6〉 and β = 〈v1v2〉 + 〈v2v3〉 − 〈v1v3〉. Since ∂1α = 0and ∂1β = 0, it follows that ∂1∂2γ = 0.

v1 v2

v3

v4 v5

v6

Fig. 7.4. One- and two-chains in an annulus

The vector space Zk(K,Q) = ker ∂k is called the vector space of simplicialk-cycles. The vector space Bk(K,Q) = im ∂k+1 is called vector space of sim-

Page 293: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 285

plicial k-boundaries. Since the boundary of a boundary is 0, Bk(K,Q) is a sub-space of Zk(K,Q). The quotient vector spaceHk(K,Q) = Zk(K,Q)/Bk(K,Q)is the k-th homology vector space of K. In particular, two k-cycles α and β arek-homologous if their difference is a k-boundary, i.e., if there is a k+1-chain γsuch that α− β = ∂k+1γ. The homology class of α ∈ Zk(K,Q) is denoted by[α]. The k-th Betti number of the simplicial complex K, denoted by βk(K,Q),is the dimension of Hk(K,Q). In particular:

βk(K,Q) = dimZk(K,Q) − dimBk(K,Q). (7.2)

Remark. In this chapter, the coefficients of simplicial chains are rationalnumbers. One usually takes these coefficients in a ring, like the set of integers.In that case one obtains homology groups in stead of homology vector spaces.Then, the Betti numbers are the ranks of these groups.

Example: Zero-homology of a connected simplicial complex.

Consider the connected simplicial complex K of Fig. 7.5. The 0-chains α =〈v6〉 and β = 〈v2〉 are 0-homologous since their difference is the boundary ofthe 1-chain γ = −〈v1v2〉+ 〈v1v4〉+ 〈v4v6〉, since ∂1γ = −(〈v2〉−〈v1〉)+(〈v4〉−〈v1〉)+(〈v6〉 − 〈v4〉) = α−β. In the same way one shows that every 0-chain of

v1

v2

v3

v4

v5

v6

Fig. 7.5. Zero-homology of a graph

the form 〈vi〉, 1 ≤ i ≤ 6, is homologous to α. This implies that every 0-chainof K is of the form c〈α〉, for some c ∈ Q. Hence: H0(K,Q) = Q. It is nothard to generalize this property to all connected simplicial complexes: if K isa finite connected simplicial complex, then H0(K,Q) = Q.

Example: One-homologous chains.

The boundary chains of the annulus in Fig. 7.4 are one-homologous. Indeed,the difference of the boundary chains α = 〈v4v5〉 + 〈v5v6〉 − 〈v4v6〉 and β =〈v1v2〉+〈v2v3〉−〈v1v3〉 is the boundary of the 2-chain γ = 〈v1v4v2〉+〈v2v4v5〉+〈v2v5v3〉 + 〈v3v5v6〉 + 〈v1v3v6〉 + 〈v1v6v4〉.

Page 294: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

286 G. Rote, G. Vegter

Betti numbers.

We present a few examples, demonstrating the computation of Betti numbersdirectly from the definition.

1. Connected simplicial complex. If K is a connected simplicial complex, thenβ0(K,Q) = 1. In fact, we already did the example on 0-homologous chains ofa connected simplicial complex K, proving that H0(K,Q) = Q.

2. Betti numbers of a tree. The tree of Fig. 7.6 is a simplicial complex K withedges oriented according to the direction of the arrows, i.e., e1 = 〈v1v2〉 andso on. Since it is connected, we have β0(K,Q) = 1. Furthermore, the matrix

v0

v1

v2

v3

v4v5

e1

e2

e3

e4e5

Fig. 7.6. A tree

of the boundary operator ∂1 : C1(K,Q) → C0(K,Q) with respect to the basise1, e2, e3, e4, e5 of C1(K,Q) and 〈v0〉, 〈v1〉, 〈v2〉, 〈v3〉, 〈v4〉, 〈v5〉 of C0(K,Q) is

∂1 e1 e2 e3 e4 e5〈v0〉 1 0 0 0 0〈v1〉 −1 1 1 0 0〈v2〉 0 −1 0 0 0〈v3〉 0 0 −1 1 1〈v4〉 0 0 0 −1 0〈v5〉 0 0 0 0 −1

(E.g., ∂1(e1) = 〈v0〉−〈v1〉 = 1·〈v0〉+(−1)·〈v1〉+0·〈v2〉+0·〈v3〉+0·〈v4〉+0·〈v5〉.)Since the columns of this matrix are independent (why?), the image of ∂1 hasdimension 5. Therefore, β1(K,Q) = dim ker ∂1 = dimC1(K,Q) − dim im ∂1 =0.

3. Betti numbers of the 2-sphere. The simplicial complex K of Fig. 7.7 is theboundary of a 3-simplex, consisting of four 2-simplices, six 1-simplices and four

Page 295: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 287

0-simplices. For convenience it is shown flattened on the plane, after cuttingthe edges incident to 0-simplex v4. The underlying space |K| is homeomorphicto the 2-sphere. Vertices with the same label have to be identified, like edgesbetween vertices with the same label. The matrix of the boundary operator

v1 v2

v3v4 v4

v4

Fig. 7.7. A 2-sphere

∂1 with respect to the canonical bases of C1(K,Q) and C0(K,Q) is

∂1 〈v1v2〉 〈v1v3〉 〈v1v4〉 〈v2v3〉 〈v2v4〉 〈v3v4〉〈v1〉 −1 −1 −1 0 0 0〈v2〉 1 0 0 −1 −1 0〈v3〉 0 1 0 1 0 −1〈v4〉 0 0 1 0 1 1

It follows that dimC0(K,Q) = 4, dim im ∂1 = 3, and dim ker ∂1 = 3. Thematrix of the boundary operator ∂2 with respect to the canonical bases ofC2(K,Q) and C1(K,Q) is

∂2 〈v1v2v3〉 〈v1v3v4〉 〈v1v4v2〉 〈v2v4v3〉〈v1v2〉 1 0 −1 0〈v1v3〉 −1 1 0 0〈v1v4〉 0 −1 1 0〈v2v3〉 1 0 0 −1〈v2v4〉 0 0 −1 1〈v3v4〉 0 1 0 −1

Therefore, dim im ∂2 = 3 and dim ker ∂2 = 1. Combining the previous results,we conclude that β0(K,Q) = 1, β1(K,Q) = 0 and β2(K,Q) = 1.

4. Betti numbers of the torus. Consider the simplicial complex of Fig. 7.8,which is a triangulation of the torus. It has 7 vertices, 21 oriented edges, and14 oriented faces. The matrix of ∂2 with respect to the canonical bases of

Page 296: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

288 G. Rote, G. Vegter

v 1

v 6

v 4 v 5 v 1

v 3v 7v 7

v 2

v 3

v 2

v 1v 5v 4v 1

Fig. 7.8. A triangulation of the torus

C1(K,Q) and C2(K,Q) is

∂2 142 245 253 356 165 126 276 237 173 157 475 467 134 364

12 1 0 0 0 0 1 0 0 0 0 0 0 0 013 0 0 0 0 0 0 0 0 −1 0 0 0 1 014 1 0 0 0 0 0 0 0 0 0 0 0 −1 015 0 0 0 0 −1 0 0 0 0 1 0 0 0 016 0 0 0 0 1 −1 0 0 0 0 0 0 0 017 0 0 0 0 0 0 0 0 1 −1 0 0 0 023 0 0 −1 0 0 0 0 1 0 0 0 0 0 024 −1 1 0 0 0 0 0 0 0 0 0 0 0 025 0 −1 1 0 0 0 0 0 0 0 0 0 0 026 0 0 0 0 0 1 −1 0 0 0 0 0 0 027 0 0 0 0 0 0 1 −1 0 0 0 0 0 034 0 0 0 0 0 0 0 0 0 0 0 0 1 −135 0 0 −1 1 0 0 0 0 0 0 0 0 0 036 0 0 0 −1 0 0 0 0 0 0 0 0 0 137 0 0 0 0 0 0 0 1 −1 0 0 0 0 045 0 1 0 0 0 0 0 0 0 0 −1 0 0 046 0 0 0 0 0 0 0 0 0 0 0 1 0 −147 0 0 0 0 0 0 0 0 0 0 1 −1 0 056 0 0 0 1 −1 0 0 0 0 0 0 0 0 057 0 0 0 0 0 0 0 0 0 1 −1 0 0 067 0 0 0 0 0 0 −1 0 0 0 0 1 0 0

The matrix of ∂1 with respect to the canonical bases of C0(K,Q) and C1(K,Q)is obtained similarly (preferably using a computer algebra system). Computingthe dimensions of the kernel and image of these operators we finally get

Page 297: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 289

β0(K,Q) = 1, β1(K,Q) = 2, β2(K,Q) = 1

Euler characteristic and Betti numbers.

One of the fundamental results of simplicial homology theory states that Bettinumbers of the underlying space of finite simplicial complex does not dependon the triangulation.

Theorem 1. Betti numbers are homotopy invariants: if K and L are sim-plicial complexes with homotopy equivalent underlying spaces, then the i-thhomology vector spaces of K and L are isomorphic. In particular,

βi(K,Q) = βi(L,Q), for all i.

The proof of this theorem is beyond the scope of these introductory notes.One usually introduces the more general singular homology groups for a topo-logical space X, which are independent of any triangulation. Then one provesthat these groups are isomorphic to the simplicial homology groups, obtainedby taking simplicial chains with integer coefficients in stead of rational coef-ficients. In particular, the corresponding Betti numbers, being the ranks ofthese groups, are equal.

Theorem 2. Let K be a d-dimensional simplicial complex. Then

χ(K) =d∑

i=0

(−1)iβi(K,Q).

Proof. Recall from (7.1) that χ(K) =∑d

i=0 (−1)i dimCk(K,Q). Since

Hi(K,Q) =ker ∂i

/

im ∂i+1.

we see that

βi(K,Q) = dimHi(K,Q)= dim ker ∂i − dim im ∂i+1

= dimCi(K,Q) − dim im ∂i − dim im ∂i+1.

Now:d∑

i=0

(−1)i (dim im ∂i + dim im ∂i+1) = 0.

Hence:d∑

i=0

(−1)iβi(K,Q) = χ(K,Q).

The claimed identities follow from the preceding derivation.

If X is a topological space with a simplicial complex K triangulating it, thenwe define χ(X) = χ(K,Q). It follows from Theorem 1 and Theorem 2 that theEuler characteristic does not depend on the specific choice of the triangulationK.

Page 298: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

290 G. Rote, G. Vegter

Incremental algorithm for computation of Betti numbers.

As can be seen in the case of a simple space like the torus, the matrices ofthe boundary map become rather large, even for simple examples. Thereforealternative approaches have been developed for special cases. We start withan incremental approach, in which the simplical complex is constructed byadding simplices one at a time, making sure that during the process all partialconstructs are indeed simplicial complexes. The key idea is to maintain theBetti numbers of the partial complexes. The following result indicates how todo this.

Proposition 1. Let K be a simplicial complex, and let K ′ be a simplicialcomplex such that K ′ = K ∪ σ for some k-simplex σ. Let ∂i and ∂′i be theboundary operators of the chain complexes associated with K and K ′, respec-tively. Furthermore, let γ = ∂′kσ. If γ also bounds in K, i.e., ∂′kσ ∈ im ∂k,then

βi(K ′,Q) =

βi(K,Q) if i = k

βk(K,Q) + 1 if i = k

If γ does not bound in K, i.e., ∂′kσ ∈ im ∂k, then

βi(K ′,Q) =

βi(K,Q) if i = k − 1βk−1(K,Q) − 1 if i = k − 1

Proof.

· · ·∂′

k+1−−−−→ Ck(K ′,Q)∂′

k−−−−→ Ck−1(K ′,Q)∂′

k−1−−−−→ · · ·∥∥∥

∥∥∥

Ck(K,Q) ⊕ Q[σ] Ck−1(K,Q)

Case 1: ∂′kσ ∈ im ∂k. Then im ∂′i = im ∂i, for all i, so dim im ∂′i = dim im ∂i,for all i. Therefore:

dim ker ∂′k = dimCk(K ′,Q) − dim im ∂′k= 1 + dimCk(K,Q) − dim im ∂k

= 1 + dim ker ∂k

Furthermore, for i = k we have dim ker ∂′i = dim ker ∂i. Hence (recalldimHi(K ′,Q) = dim ker ∂′i − dim im ∂′i+1):

βi(K ′,Q) = dimHi(K ′,Q) =

dimHi(K,Q) if i = k

1 + dimHk(K,Q) if i = k

Case 2: ∂′kσ ∈ im ∂k. Then

Page 299: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 291

dim im ∂′i =

dim im ∂i if i = k

dim im ∂k + 1 if i = k.

Hence:

dim ker ∂′i = dimCi(K ′,Q) − dim im ∂′i

=

dimCi(K,Q) − dim im ∂i if i = k

1 + dimCk(K,Q) − (1 + dim im ∂k) if i = k

= dim ker ∂i

This result yields an incremental algorithm for the computation of Betti num-bers. Whether this algorithm is efficient depends on the implementation of thetest ‘∂′kσ ∈ im ∂k’. The paper [113] presents an efficient implementation of thisalgorithm for subcomplexes of the three-sphere. This incremental method canbe used to compute the Betti numbers of some familiar spaces. Before show-ing how to do this, we introduce some additional tools that are helpful in thecomputation of Betti numbers.

Chain maps and chain homotopy.

Just like maps between spaces provide information about the topology ofthese spaces, maps between homology spaces provide information about thehomology of these spaces. The key stepping stone towards these maps arechain maps.

Let K and L be finite simplicial complexes. A chain map from K to L isa sequence of linear maps fk : Ck(K,Q) → Ck(L,Q) such that ∂k+1 fk+1 =fk ∂k+1. In other words, the sequence fk is a chain map if the followingdiagram is commutative:

. . .∂k+2−−−−→ Ck+1(K,Q)

∂k+1−−−−→ Ck(K,Q) ∂k−−−−→ . . .'fk+1

'fk

. . .∂k+2−−−−→ Ck+1(L,Q)

∂k+1−−−−→ Ck(L,Q) ∂k−−−−→ . . .

This chain map is denoted by f : C(K,Q) → C(L,Q). In fact, a chain map isa family of maps, containing one linear map for each dimension.

Proposition 2. Let K, L and M be finite simplicial complexes.

1. The sequence of identity maps idk : Ck(K,Q) → Ck(K,Q) is a chain map.

2. The composition of a chain map from K to L and a chain map from L toM is a chain map from K to M .

The proof of this result is straightforward and left as an exercise (Exercise 4).Let f : C(K,Q) → C(L,Q) be a chain map. The linear map f∗ : H(K,Q) →H(L,Q) is defined by

Page 300: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

292 G. Rote, G. Vegter

f∗k([α]) = [fk(α)],

for α ∈ Zk(K,Q). We say that f∗ is the map induced by f at the levelof homology. Using commutativity of the diagram above, it is easy to seethat this map is well-defined, i.e., that [fk(α)] is independent of the choice ofthe representative α of the homology class [α]. This map has some naturalproperties, following in a straightforward way from the definition.

Proposition 3. Let K, L and M be finite simplicial complexes.

1. The identity chain map generates the identity map at the level of homology.

2. The map induced by a composition of chain maps is the compositionof the maps induced by each chain map. In other words, for chain mapsf : C(K,Q) → C(L,Q) and g : C(L,Q) → C(M,Q):

(g f)∗ = g∗ f∗.

A chain homotopy between two chain maps f, g : C(K,Q) → C(L,Q) is asequence Tk of linear maps Tk : Ck(K,Q) → Ck+1(L,Q) such that

Tk−1 ∂k + ∂k+1 Tk = fk − gk.

If such a chain homotopy exists, then f and g are called chain-homotopic. Weshall frequently use the following result, the proof of which is a simple exercisein Linear Algebra (see Exercise 4).

Proposition 4. Chain homotopic chain maps induce the same linear map atthe level of homology.

Simplical collapse.

We now consider simplicial collapse, a very simple transformation of simpli-cial complexes which does not alter homology in positive dimensions. Thisoperation allows us to compute the Betti numbers of a simplicial complex Kby simplifying K until we obtain another simplical complex L for which theBetti numbers are known or easy to compute.

Let K be a finite simplicial complex, and let α and β be two simplices ofK such that α is a face of β, and α is not a face of any other simplex of K. LetL be the subcomplex of K obtained by deleting the simplices α and β. Thetransformation from K to L is called an elementary collapse. See Fig. 7.9.

More generally, we say that K collapses onto a subcomplex L, denoted byK L, if there is a finite sequence of elementary collapses transforming Kinto L.

Proposition 5. Let K and L be finite simplicial complexes such that K col-lapses onto L. Then Hk(K,Q) and Hk(L,Q) are isomorphic.

Page 301: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 293

v0v0

v1v1

v2v2

v3v3

Fig. 7.9. An elementary collapse removes the simplices v0v1v2v3 and v1v2v3 fromthe leftmost simplex

Proof. We give the proof for positive k, the case k = 0 being trivial. Ourstrategy consists of finding a chain homotopy inverse to the inclusion chainmap ι : C(L,Q) → C(K,Q). To this end let α be a k-simplex, positivelyoriented in the boundary ∂β of the k + 1-simplex β. Introduce the mapf : C(K,Q) → C(L,Q) by putting fk(α) = α − ∂β, fk+1(β) = 0, fi(σ) = σfor every i-simplex different from α and β, and extending linearly. It is nothard to prove that f is a chain map. Furthermore, f ι is the identity chainmap on C(L,Q).

Let the sequence of linear maps Pi : Ci(K,Q) → Ci+1(K,Q) be defined byPk(α) = β, and Pi(σ) = 0 for each i-simplex σ different from α. A straightfor-ward computation shows that the sequence Pi is a chain homotopy betweenthe identity map on C(K,Q) and the chain map ι f . From this we concludethat ιi : Hi(L,Q) → Hi(K,Q) is an isomorphism, for i > 0. In particular, Kand L have the same Betti numbers in positive dimension.

Example: Betti numbers of the projective plane.

The incremental algorithm, combined with the method of simplicial collapse,allows for rather painless computation of Betti numbers of familiar spaces.In this example we compute the Betti numbers of the projective plane RP2.The simplicial complex K of Fig. 7.10 is the unique triangulation of the pro-jective plane with a minimal number of vertices. The vertices and edges onthe boundary of the six-gon are identified in pairs, as indicated by the doubleoccurrence of the vertex-labels v1, v2 and v3. The arrows indicate the orien-tation of the simplices forming the basis of the chain space C2(K). We orientthe edges of the simplex from the vertex with lower index to the vertex withhigher index.

Let L be the simplicial complex obtained from K by deleting the orientedsimplex τ = 〈v4v5v6〉. The Betti numbers of L are easy to compute, sincea sequence of simplicial collapses transforms L into the subcomplex L0 with

Page 302: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

294 G. Rote, G. Vegter

v1 v1

v2

v2

v3

v3

v4

v5

v6

Fig. 7.10. A triangulation of the projective plane

vertices v1, v2 and v3, and oriented edges 〈v1v2〉, 〈v2v3〉 and 〈v1v3〉. The sim-plicial complex L0 is a 1-sphere, so β0(L) = β0(L0) = 1, β1(L) = β1(L0) = 1,and βi(L) = βi(L0) = 0 for i > 1.

To relate the Betti numbers of K with those of L, we have to determinewhether τ ′ = ∂2τ is a boundary in L. Consider the special 2-chain α, whichis the formal sum of all oriented 2-simplices in L. Taking the boundary ofα, we see that all oriented 1-simplices not in ∂2τ occur twice, those in theinterior of the six-gon in Fig. 7.10 with opposite coefficients and those in theboundary with the same coefficient. In other words, ∂2α = 2γ − ∂2τ , where γis the 1-cycle 〈v1v2〉 + 〈v2v3〉 − 〈v1v3〉 of L. Therefore, [τ ′] = 2[γ] in H1(L).Since [γ] forms a basis for H1(L), we conclude that [τ ′] = 0 in H1(L). Henceτ ′ is not a boundary in L. Applying the incremental algorithm we see thatβ0(K) = β0(L) = 1, β1(K) = β1(L) − 1 = 0, and β2(K) = β2(L) = 0.

Example: Betti numbers depend on field of scalars.

Homology theory can be set up with coefficients in a general field. A pri-ory, this leads to different Betti numbers. This is illustrated by revisitingthe simplicial complex K of Fig. 7.10, and applying the same procedure tocompute the Betti numbers over Z2. Using the same notation as in the pre-ceding example, we see that [τ ′] = 2[γ] = 0 in H1(L,Z2), so τ ′ is a bound-ary in C2(L,Z2). Applying the incremental algorithm again we conclude thatβi(K,Z) = βi(L,Z) = 1, for i = 0, 1, and β2(K,Z) = β2(L,Z) + 1 = 1. Notethat the Euler characteristic is independent of the coefficient field.

Page 303: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 295

7.4 Morse Theory

Finite dimensional Morse theory deals with the relation between the topologyof a smooth manifold and the critical points of smooth real-valued functionson the manifold. It is the basic tool for the solution of fundamental prob-lems in differential topology. Recently, basic notions from Morse theory havebeen used in the study of the geometry and topology of large molecules. Wereview some basic concepts from Morse theory, like in [329]. More elaboratetreatments are [255] and [250].

7.4.1 Smooth functions and manifolds

Differential of a smooth map.

A function f : Rn → R is called smooth if all derivatives of any order exist. A

map ϕ : Rn → R

m is called smooth if its component functions are smooth. Thedifferential of ϕ at a point q ∈ R

n is the linear map dϕq : Rn → R

m definedas follows. For v ∈ R

n, let α : I → Rn, with I = (−ε, ε) for some positive

ε, be defined by α(t) = ϕ(q + tv), then dϕq(v) = α′(0). Let ϕ(x1, . . . , xn) =(ϕ1(x1, . . . , xn), . . . , ϕm(x1, . . . , xn)). The differential dϕq is represented bythe Jacobian matrix ⎛

⎜⎜⎜⎜⎝

∂ϕ1

∂x1(q) . . .

∂ϕ1

∂xn(q)

......

∂ϕm

∂x1(q) . . .

∂ϕm

∂xn(q)

⎟⎟⎟⎟⎠.

Regular surfaces in R3.

A subset S in R3 is a smooth surface if we can cover the surface with open

coordinate neighborhoods. More precisely, a coordinate neighborhood of apoint p on the surface is a subset of the form V ∩ S, where V is an opensubset of R

3, for which there exists a smooth map ϕ : U → R3 defined on an

open subset U of R2, such that where V is an open subset of R

3 containingp, for which there exists a smooth map ϕ : U → R

3 defined on an open subsetU of R

2, such that

(i) The map ϕ is a homeomorphism from U onto V ∩ S;(ii) If ϕ(u, v) = (x(u, v), y(u, v), z(u, v)), then the two tangent vectors

⎜⎜⎜⎜⎜⎝

∂x

∂u∂y

∂u∂z

∂u

⎟⎟⎟⎟⎟⎠

,

⎜⎜⎜⎜⎜⎝

∂x

∂v∂y

∂v∂z

∂v

⎟⎟⎟⎟⎟⎠

are non-zero and not parallel.

Page 304: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

296 G. Rote, G. Vegter

The map ϕ is called a parametrization or a system of local coordinates in p.The set S is a smooth surface if each point of S has a coordinate neighborhood.Note that condition (ii) is equivalent to the fact that the differential of ϕ at(u, v) is an injective map.

Example: spherical coordinates. Let S be a 2-sphere in R3 with radius R and

center (0, 0, 0) ∈ R3. Consider the set U = (u, v) | 0 < u < 2π,−π/2 < v <

π/2 . The map ϕ : U → S, given by

ϕ(u, v) = (R cosu cos v,R sinu cos v,R sin v).

corresponds to the well-known spherical coordinates. Note that ϕ(U) is the 2-sphere minus a meridian. Each point of ϕ(U) has a system of local coordinatesgiven by ϕ.

Example: coordinates on the upper and lower hemisphere. Again, let S be thesphere with radius R and center at the origin of R

3, and let U = (x, y) |x2 + y2 < R2 . The (open) upper and lower hemispheres of the torus are thegraph of a smooth function. More precisely, each point of the upper hemispherehas local coordinates given by the map

ϕ(x, y) = (x, y,√R2 − x2 − y2).

A similar expression defines local coordinates at each point of the lower hemi-sphere. Covering the sphere by six hemispheres yields a system (at least one)of local coordinate system for each point of the sphere. Therefore, the sphereis a regular surface.

Example: coordinates on the torus of revolution. Let S be the torus obtainedby rotating the circle in x, y-plane with center (0, R, 0) and radius r aroundthe x-axis, where R > r. We show that S is a smooth surface by introducinga system of local coordinates for all points of the torus. To this end, letU = (u, v) | 0 < u, v < 2π and let ϕ : U → R

3 be the map defined by

ϕ(u, v) = (r sinu, (R − r cosu) sin v, (R − r cosu) cos v).

It is not hard to check that ϕ(U) ⊂ S. In fact, the map ϕ covers the torusexcept for one meridian and one parallel circle. It is easy to find local coordi-nates in points of these two circles by translating the parameter domain U alittle bit. Therefore, the torus is a regular surface.

Example: Local form of torus of revolution near (0, 0,±(R − r)). As in theexample of hemispheres, parts of the torus are graphs of a smooth function.In particular, the points (0, 0,±(R − r)) have local coordinates of the formϕ(x, y) = (x, y, f±(x, y)), where

f±(x, y) = ±√

R2 + r2 − x2 − y2 − 2R√r2 − x2.

Page 305: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 297

Submanifolds of Rn.

More generally, a subset M of Rn is an m-dimensional smooth submanifold of

Rn, m ≤ n, if for each p ∈ M , there is an open set V in R

n, containing p, anda map ϕ : U → M ∩V from an open subset U in R

m onto V ∩M such that (i)ϕ is a smooth homeomorphism, (ii) the differential dϕq : R

m → Rn is injective

for each q ∈ U . Again, the map ϕ is called a parametrization or a system oflocal coordinates on M in p. In particular, the space R

n is a submanifold ofR

n. A subset N of a submanifold M of Rn is a submanifold of M if it is a

submanifold of Rn. The difference of the dimensions of M and N is called the

codimension of N (in M).

Example: linear subspaces are submanifolds. The Euclidean space Rm is a

smooth submanifold of Rn, for m ≤ n. For m < n, we identify R

m with thesubset (x1, . . . , xn) ∈ R

n | xm+1 = · · · = xn = 0 of Rn.

Example: Sn−1 is a smooth submanifold of R

n. A smooth parametrization ofS

n−1 at (0, . . . , 0, 1) ∈ Sn−1 is given by ϕ : U → R

n, with

U = (x1, . . . , xn−1) ∈ Rn−1 | x2

1 + · · · + x2n−1 < 1,

andϕ(x1, . . . , xn−1) = (x1, . . . , xn−1,

√1 − x2

1 − · · · − x2n−1).

In fact, ϕ is a parametrization in every point of the upper hemisphere, i.e.,the intersection of S

n−1 and the upper half space (y1, . . . , yn) | yn > 0.

Example: codimension one submanifolds. The equator S1 = (x1, x2, 0) | x2

1 +x2

2 = 1 is a codimension one submanifold of S2 = (x1, x2, x3) | x2

1+x22+x2

3 =1. More generally, every intersection of the 2-sphere with a plane at distanceless than one from the origin is a codimension one submanifold.

Tangent space of a manifold.

The tangent vectors at a point p of a manifold form a vector space, calledthe tangent space of the manifold at p. More formally, a tangent vector of Mat p is the tangent vector α′(0) of some smooth curve α : I → M through p.Here a smooth curve through a point p on a smooth submanifold M of R

n

is a smooth map α : I → Rn, with I = (−ε, ε) for some positive ε, satisfying

α(t) ∈ M , for t ∈ I, and α(0) = p. The set TpM of all tangent vectors of Mat p is the tangent space of M at p.

If ϕ : U → M is a smooth parametrization of M at p, with 0 ∈ U andϕ(0) = p, then TpM is the m-dimensional subspace dϕ0(Rm) of R

n, whichpasses through ϕ(0) = p. Let e1, . . . , em be the standard basis of R

m; definethe tangent vector ei ∈ TpM by ei = dϕ0(ei). Then e1, . . . , em is a basis ofTpM .

Example: tangent space of the sphere. The tangent space of the unit sphereS

n−1 = (x1, . . . , xn) | x21 + · · · + x2

n = 1 at a point p is the hyperplanethrough p, perpendicular to the normal vector of the sphere at p.

Page 306: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

298 G. Rote, G. Vegter

Smooth function on a submanifold.

A function f : M → R on an m-dimensional smooth submanifold M of Rn is

smooth at p ∈ M if there is a smooth parametrization ϕ : U → M ∩ V , withU an open set in R

m and V an open set in Rn containing p, such that the

function f ϕ : U → R is smooth. A function on a manifold is called smoothif it is smooth at every point of the manifold.

Example: height function on a surface. The height function h : S → R on asurface S in R

3 is defined by h(x, y, z) = z, for (x, y, z) ∈ S. Let ϕ(u, v) =(x(u, v), y(u, v), z(u, v)) be a system of local coordinates in a point of thesurface, then h ϕ(u, v) = z(u, v) is smooth. Therefore, the height function isa smooth function on S.

Regular and critical points.

A point p ∈ M is a critical point of a smooth function f : M → R if thereis a local parametrization ϕ : U → R

n of M at p, with ϕ(0) = p, such that0 is a critical point of f ϕ : U → R (i.e., the differential of f ϕ at q isthe zero function on R

n). This condition does not depend on the particularparametrization.A real number c ∈ R is a regular value of f if f(p) = c for all critical points pof f , and a critical value otherwise.

Example: critical points of height function on the sphere. Consider the heightfunction on the unit sphere in R

3. Spherical coordinates define a para-metrization ϕ(u, v) in every point, except for the poles (0, 0,±1). Withrespect to this parametrization the height function h has the expressionh(u, v) = h(ϕ(u, v)) = sin v, so none of these points is singular (since−π/2 < v < π/2 away from the poles). Near the poles (0, 0,±1) we considerthe sphere as the graph of a function, corresponding to the parametrizationψ(x, y) = (x, y,

√1 − x2 − y2). The height function is expressed in these local

coordinates as h(x, y) = h(ψ(x, y)) = ±√

1 − x2 − y2, so the singular pointsof h are (0, 0,−1) (minimum), and (0, 0, 1) (maximum).

Example: critical points of height function on the torus. The torus M in R3,

obtained by rotating a circle in the x, y-plane with center (0, R, 0) and radiusr around the x-axis, is a smooth 2-manifold. Let U = (u, v) | −π/2 < u, v <3π/2 ⊂ R

2, and let the map ϕ : U → R3 be defined by

ϕ(u, v) = (r sinu, (R − r cosu) sin v, (R − r cosu) cos v).

Then ϕ is a parametrization at all points of M , except for points on one lati-tudinal and one longitudinal circle. The height function on M is the functionh : M → R defined by h(u, v) = h(ϕ(u, v)) = (R−r cosu) cos v, so the singularpoints of h are:

Page 307: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 299

(u, v) ϕ(u, v) type of singularity(0, 0) (0, 0, R − r) saddle point(0, π) (0, 0,−R + r) saddle point(π, 0) (0, 0, R + r) maximum(π, π) (0, 0,−R − r) minimum

The type of a singular point will be introduced in Sect. 7.4.2.

Implicit surfaces and manifolds.

In many cases a set is given as the zero set of a smooth function (or a systemof functions). If this zero set contains no singular point of the function, thenit is a manifold:

Proposition 6. (Implicit Function Theorem). Let f : M → R be asmooth function on the smooth submanifold M of R

n. If c is a regular valueof f , then the level set f−1(c) is a smooth submanifold of M of codimensionone.

A proof can be found in any book on analysis on manifolds, like [323].

Example: implicit surfaces in three-space. The unit sphere in three space is aregular surface, since 0 is a regular value of the function f(x, y, z) = x2 +y2 +z2 − 1. The torus of revolution is a regular surface, since 0 is a regular valueof the function g(x, y, z) = (x2 + y2 + z2 −R2 − r2)2 − 4R2(r2 − x2).

Hessian at a critical point.

Let M be a smooth submanifold of Rn, and let f : M → R be a smooth

function. The Hessian of f at a critical point p is the quadratic form Hpf onTpM defined as follows. For v ∈ TpM , let α : (−ε, ε) → M be a curve withα(0) = p, and α′(0) = v. Then

Hpf(v) =d2

dt2

∣∣∣∣t=0

f(α(t)).

The right hand side does not depend on the choice of α. To see this, letϕ : U → M be a smooth parametrization of M at p, with 0 ∈ U and ϕ(0) = p,and let v = v1e1 + · · · + vmem ∈ TpM , where ei = dϕ0(ei). Then

Hpf(v) =m∑

i,j=1

∂2(f ϕ)∂xi∂xj

(0)vivj .

In particular, the matrix of Hf (p) with respect to this basis is⎛

⎜⎜⎜⎜⎜⎝

∂2(f ϕ)∂x2

1

(0) . . .∂2(f ϕ)∂x1∂xm

(0)

......

∂2(f ϕ)∂x1∂xm

(0) . . .∂2(f ϕ)∂x2

m

(0)

⎟⎟⎟⎟⎟⎠

. (7.3)

Page 308: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

300 G. Rote, G. Vegter

It is not hard to check that the numbers of positive and negative eigenvaluesof the Hessian do not depend on the choice of ϕ, since p is a critical pointof f .

Non-degenerate critical point.

The critical point p of f : M → R is non-degenerate if the Hessian Hpf is non-degenerate. The index of the non-degenerate critical point p is the number ofnegative eigenvalues of the Hessian at p. If M is 2-dimensional, then a criticalpoint of index 0, 1, or 2, is called a minimum, saddle point, or maximum,respectively.

7.4.2 Basic Results from Morse Theory

Morse function.

A smooth function on a manifold is a Morse function if all critical pointsare non-degerate. The k-th Morse number of a Morse function f , denoted byµk(f), is the number of critical points of f of index k.

Example: quadratic function on Rm. The function f : R

m → R, defined byf(x1, . . . , xm) = −x2

1 − . . .− x2k + x2

k+1 + . . .+ x2m, is a Morse function, with

a single critical point (0, . . . , 0). This point is a non-degenerate critical point,since the Hessian matrix at this point is diag(−2, . . . ,−2, 2, . . . , 2), with kentries on the diagonal equal to −2. In particular, the index of the criticalpoint is k.

Example: singularities of the height function on Sm−1. The height functionon the standard unit sphere S

m−1 in Rm is a Morse function. This function is

defined by h(x1, . . . , xm) = xm for (x1, . . . , xm) ∈ Sm−1, With respect to the

parametrization ϕ(x1, . . . , xm−1) = (x1, . . . , xm−1,√

1 − x21 − · · · − x2

m−1),the expression of the height function is

h ϕ(x1, . . . , xm−1) =√

1 − x21 − · · · − x2

m−1.

Therefore, the only critical point of h on the upper hemisphere is (0, . . . , 0, 1).The Hessian matrix (7.3) is the diagonal matrix diag(−1,−1, . . . ,−1), so thiscritical point has index m−1. Similarly, (0, . . . , 0,−1) is the only critical pointon the lower hemisphere. It is a critical point of index 0.

Example: singularities of the height function on the torus. The singular pointsof the height function on the torus of revolution with radii R and r are(0, 0,−R−r), (0, 0,−R+r), (0, 0, R−r), and (0, 0, R+r). See also Sect. 7.4.1.A parametrization of this torus near the singular points ±(R− r) is ϕ(x, y) =(x, y, f±(x, y)), where f±(x, y) = ±

√R2 + r2 − x2 − y2 − 2R

√r2 − x2. The

expression h(x, y) = f±(x, y) of the height function with respect to theselocal coordinates at (x, y) = (0, 0) is

Page 309: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 301

h(x, y) = ±(R − r − 1

2rx2 +

12(R − r)

y2)

+ Higher Order Terms.

Hence the singular points corresponding to (x, y) = (0, 0), i.e., (0, 0,±(R−r)),are saddle points, i.e., singular points of index one. Similarly, the singular point(0, 0, R + r) is a maximum (index two), and the singular point (0, 0,−R − r)is a minimum (index zero), and the

Regular level sets.

Let M be an m-dimensional submanifold of Rn, and let f : M → R be a

smooth function. The set f−1(h) := q ∈ M |f(q) = h of points where f hasa fixed value h is called a level set (at level h). If h ∈ R is a regular value off , then f−1(h) is a smooth (m− 1)-dimensional submanifold of R

n.Similarly, we define the lower level set (also called excursion set) at somelevel h ∈ R as Mh = q ∈ M | f(q) ≤ h . If f has no critical values in [a, b],for a < b, then the subsets Ma and Mb of M are homeomorphic (and evenisotopic).

The Morse Lemma.

Let f : M → R be a smooth function on a smooth m-dimensional submanifoldM of R

n, and let p be a non-degenerate critical point of index k. Then there isa smooth parametrization ϕ : U → M ofM at p, with U an open neighborhoodof 0 ∈ R

m and ϕ(0) = p, such that

f ϕ(x1, . . . , xm) = f(p) − x21 − · · · − x2

k + x2k+1 + · · · + x2

m.

In particular, a critical point of index 0 is a local minimum of f , whereas acritical point of index m is a local maximum of f . See Fig. 7.11.

Fig. 7.11. Passing a critical level set of a Morse function in three-space. Thecritical point has index 1. A local model of the function near the critical point isf(x1, x2, x3) = −x2

1 + x22 + x2

3, with the x1-axis running vertically

Page 310: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

302 G. Rote, G. Vegter

Abundance of Morse functions.

(i) Morse functions are generic. Every smooth compact submanifold of Rn has

a Morse function. (In fact, if we endow the set C∞(M) of smooth functionson M with the so-called Whitney topology, then the set of Morse functionson M is an open and dense subset of C∞(M). In particular, there are Morsefunctions arbitrarily close to any smooth function on M .)(ii) Generic height functions are Morse functions. Let M be an m-dimensionalsubmanifold of R

m+1 (e.g., a smooth surface in R3). For v ∈ S

m, the height-function hv : M → R with respect to the direction v is defined by hv(p) =〈v, p〉. The set of v for which hv is not a Morse function has measure zero inS

m.

Passing critical levels.

One can build complicated spaces from simple ones by attaching a number ofcells. Let X and Y be topological spaces, such that X ⊂ Y . We say that Yis obtained by attaching a k-cell to X if Y \ X is homeomorphic to an openk-ball. More precisely, there is a map f : B

k → Y \X, such that f(Sk−1) ⊂ Xand the restriction f | B

k is a homeomorphism Bk → Y \ X. Let f : M → R

be a smooth Morse function with exactly one critical level in (a, b), and a andb are regular values of f . Then Mb is homotopy equivalent to Ma with a cell ofdimension k attached, where k is the index of the critical point in f−1([a, b]).See Fig. 7.12.

Fig. 7.12. Passing a critical level of index 1 corresponds to attaching a 1-cell. HereM is the 2-torus embedded in R

3, in standard vertical position, and f is the heightfunction with respect to the vertical direction. Left: Ma, for a below the critical levelof the lower saddle point of f . Middle: Ma with a 1-cell attached to it. Right: Mb,for b above the critical level of the lower saddle point of f . This set is homotopyequivalent to the set in the middle part of the figure

Morse inequalities.

Let f be a Morse function on a compact m-dimensional smooth submanifoldof R

n. For each k, 0 ≤ k ≤ m, the k-th Morse number of f dominates the

Page 311: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 303

k-th Betti number of M :

µk(f) ≥ βk(M,Q).

An intuitive explanation is based on the observation that passing a criticallevel of a critical point of index k is equivalent corresponds to the attachmentof a k-cell at the level of homotopy equivalence. Therefore, either the k-thBetti number increases by one, or the k−1-st Betti number decreases by one,cf the incremental algorithm for computing Betti numbers in Sect. 7.3, whilenone of the other Betti numbers changes. Since only the k-th Morse numberchanges, more precisely, increases by one, the Morse inequalities are invariantupon passage of a critical level.

In the same spirit one can show that the Morse numbers of f are related tothe Betti numbers and the Euler characteristic of M by the following identity:

m∑

k=1

(−1)kµk(f) =m∑

k=1

(−1)kβk(M,Q) = χ(M).

Gradient vector fields.

Consider a smooth function f : M → R, where M is a smooth m-dimensionalsubmanifold of R

n. The gradient of f is a smooth map grad f : M → Rn,

which assigns to each point p ∈ M a vector grad f(p) ∈ TpM ⊂ Rn, such that

〈grad f(p), v〉 = dfp(v), for all v ∈ TpM .

Since dfp(v) is a linear form in v, the vector grad f(p) is well defined by thepreceding identity. This definition has a few straightforward implications. Thegradient of f vanishes at a point p if and only if p is a singular point of f . If pis not a singular point of f , then dfp(v) is maximal for a unit vector v ∈ TpMiff v = grad f(p)/‖ grad f(p)‖. In other words, grad f(p) is the direction ofsteepest ascent of f at p. Furthermore, if c ∈ R is a regular value of thefunction f , then grad f is perpendicular to the level set f−1(c) at every point.

To express grad f in local coordinates, let ϕ : U → M be a system of localcoordinates at p ∈ M . Let e1, . . . , em be the basis of TpM corresponding to thestandard basis e1, . . . , em of R

m. In other words: ei = dϕq(ei), where q ∈ Uis the pre-image of p under ϕ. We denote the standard coordinates on R

m byx1, . . . , xm. Then

grad f(p) =m∑

i=1

ai(q)ei,

where ai : U → R is the smooth function defined by the set of linear equations

m∑

j=1

gij(q)aj(q) =∂(f ϕ)∂xi

(q), (1 ≤ i ≤ m),

Page 312: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

304 G. Rote, G. Vegter

with gij(q) = 〈ei, ej〉. Since the coefficients are the entries 〈ei, ej〉 of a Gram

matrix, the system is non-singular. Note that ai =∂(f ϕ)∂xi

if the system of

coordinates is orthonormal at p, that is gij(q) = 1, if i = j and gij(q) = 0, ifi = j. This holds in particular if U = M = R

n and ϕ is the identity map onU , so the definition agrees with the usual definition in a Euclidean space.

Integral lines, and their local structure near singular points.

In the sequel M is a compact submanifold of Rn. The gradient of a smooth

function f on M is a smooth vector field on M . For every point p of M , thereis a unique curve x : R → M , such that x(0) = p and x′(t) = grad f(x(t)), forall t ∈ R. The image x(R) is called the integral curve of the gradient vectorfield through p.

Lemma 1. Let f : M → R be a smooth function on a submanifold M of Rn.

1. The integral curves of a gradient vector field of f form a partition of M .2. The integral curve x(t) through a singular point p of f is the constant

curve x(t) = p.3. The integral curve x(t) through a regular point p of f is injective, and both

limt→∞ x(t) and limt→−∞ x(t) exist. These limits are singular points off .

4. The function f is strictly increasing along the integral curve of a regularpoint of f .

5. Integral curves are perpendicular to regular level sets of f .

The proof is a bit technical, so we skip it. See [194] for details. The firstproperty implies that the integral curves through two points of M are disjointor coincide. The third property implies that a gradient vector field does nothave closed integral curves. The limit limt→∞ x(t) is called the ω-limit of p,and is denoted by ω(p). Similarly, limt→−∞ x(t) is the α-limit of p, denoted byα(p). Note that all points on an integral curve have the same α-limit and thesame ω-limit. Therefore, it makes sense to refer to these points as the α-limitand ω-limit of the integral curve. It follows from Lemma 1.2 that ω(p) = pand α(p) = p for a singular point p.

Stable and unstable manifolds.

The structure of integral lines of a gradient vector field grad f near a singularpoint can be quite complicated. However, for Morse functions, the situationis simple. To gain some intuition, let us consider the simple example of thefunction f(x1, x2) = x2

1−x22 on a neighborhood of the non-degenerate singular

point 0 ∈ R2. The gradient vector field is 2x1e1 − 2x2e2, where e1, e2 is the

standard basis of R2. The integral line (x1(t), x2(t)) through a point p =

(p1, p2) is determined by x1(0) = p1, x2(0) = p2, and

Page 313: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 305

x′1(t) = 2x1(t)x′2(t) = −2x2(t)

Therefore, the integral curve through p is (x1(t), x2(t)) = (p1e2t, p2e

−2t),which is of the form x1x2 = c. See Fig. 7.13 (Left). The singular point

o

Fig. 7.13. Left: Integral curves of the gradient of f(x1, x2) = x21−x2

2 on a neighbor-hood of the singular point (0, 0) ∈ R

2. Right: Integral curves of the gradient vectorfield near a general saddle point of a function on R

2

o = (0, 0) is the α-limit of all points on the horizontal axis, and the ω-limit ofall points on the vertical axis. The general structure of integral curves near asaddle point is similar, as indicated by Fig. 7.13 (Right). The stable curve ofp consists of all points with ω-limit equal to p. The unstable curve is definedsimilarly. These curves intersect each other at p, and are perpendicular there.

More generally, the stable manifold of a singular point p is the setW s(p) = q ∈ M | ω(q) = p. Similarly, the unstable manifold of p is theset Wu(p) = q ∈ M | α(q) = p. Note that both W s(p) and Wu(p) con-tain the singular point p itself. Furthermore, the intersection of the stableand unstable manifolds of a singular point consists just of the singular point:W s(p) ∩Wu(p) = p. Stable and unstable manifolds of gradient systems aresubmanifolds [214, Chapter 6]. The dimension of W s(p) is equal to the num-ber of negative eigenvalues of the Hessian of f at p, whereas the dimension ofWu(p) is equal to the number of positive eigenvalues of this Hessian. Stableand unstable manifolds of gradient systems are submanifolds [214, Chapter6].

The Morse-Smale complex.

A Morse function on M is called a Morse-Smale function if its stable andunstable manifolds intersect transversally, i.e., at a point of intersection thetangent spaces of the stable and unstable manifolds together span the tangentspace of M . If p and q are distinct singular points, the intersection W s(p) ∩

Page 314: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

306 G. Rote, G. Vegter

Wu(q) consists of all regular integral curves with ω-limit equal to p and α-limit equal to q. In particular, a Morse-Smale function on a two-dimensionalmanifold has no integral curves connecting two saddle points, since the stablemanifold of one of the saddle points and the unstable manifold of the secondsaddle point would intersect non-transversally along this connecting integralcurve.

Morse-Smale functions form an open and dense subset of the space offunctions on a compact manifold [320].

The Morse-Smale complex associated with a Morse-Smale function f onM is the subdivision of M formed by the connected components of the inter-sections W s(p) ∩ Wu(q), where p and q range over all singular points of f ,see Fig. 7.14. The Morse-Smale complex is a CW-complex. In geographicalliterature, the Morse-Smale complex is known as the surface network.

maximumminimum saddle

Fig. 7.14. The Morse-Smale complex of a function on the plane. The stable one-manifolds are solid, the unstable one-manifolds are dashed (Courtesy Herbert Edels-brunner.)

The Morse-Smale complex on a two-manifold consists of cells of dimension0, 1 and 2, called vertices, edges and regions. According to the QuadrangleLemma [135], each region of the Morse-Smale complex is a quadrangle withvertices of index 0, 1, 2, 1, in this order around the region. Hence the complex isnot necessarily a regular CW-complex, since the boundary of a cell is possiblyglued to itself along vertices and arcs.

Using a paradigm called simulation of differentiability, in [135] the conceptof Morse-Smale complex is also defined for piecewise linear functions, and analgorithm for its construction is applied to geographic terrain data. In [134]this work is extend to piecewise linear 3-manifolds.

Page 315: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 307

Reeb graphs and contour trees.

The level sets f−1(h) of a Morse function f on a two-dimensional domainchange as h varies. At certain values of h, components of the level set maydisappear, new components may appear, or a component may split into twocomponents, or two components may merge. A component of a level set iscalled a contour. The Reeb graph (after the American journalist John Reeb,1887–1920 [293]) encodes the changes of contours. It is obtained by contract-ing every contour to a single point. When f is defined on a simply connecteddomain (for example, a box), the Reeb graph is a tree, and it is also referredto as the contour tree. Fig. 7.15b shows an example of a contour tree of abivariate function h = f(x, y) defined on a square domain. The vertical axis

200 200

300

300

400

300

400

500 500

600

600

h

200

300

400

500

600

AB

C

D

E

F G

H

I

J

L KM

NOx

y

A

B

C

D

E

F

G

H

I

J

L

K

MN

O

(a) (b)

300

400400400400

400

hA

B

C

D

E

F G

H

I

J

L KM

NO

(c)

hA

B

C

D

E

F G

H

I

J

LKM

NO

(d)

Fig. 7.15. (a) a contour map of level sets (isolines), (b) the corresponding contourtree, (c) the join tree, and (d) the split tree. As in Fig. 7.14, minima and maximaare indicated by empty and full circles, and crosses denote saddle points. The pointswhere a contour touches the boundary play also a role in the contour tree (forexample, they may be local minima or maxima) but they are not critical points inthe sense of having derivative 0. The level sets in (a) are labeled with the heightvalues, and these values are indicated in the trees of (b), (c), and (d). The criticalpoint F changes only the topology of a contour and not the number of contours;when the contour tree is viewed as a discrete structure, F is not a vertex of the tree

of the contour tree represents the value h of the function. The intersection ofa horizontal line at a given value h with the contour tree yields all contours atthat level, and the merging or splitting, appearance or disappearance of con-tours is reflected in vertices of degree 3 and 1 in the contour tree, respectively.Saddle points become vertices of degree 3, and minima and maxima becomevertices of degree 1. A contour tree is therefore a good tool to visualize the

Page 316: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

308 G. Rote, G. Vegter

behavior of a function on a global scale, in particular when it is a function ofmore than two variables, see [224, 223]. In these applications, f is usually acontinuous piecewise linear function interpolating data at given sample points.These functions are not smooth and therefore not Morse functions, but thenotion of level sets and Reeb graphs extends without difficulty to this classof functions. It is not uncommon to have multiple saddle points, where morethan two contours meet at the same time. The Reeb graph has then verticesof degree higher than three. More examples of contour trees are shown inFig. 5.23 of Sect. 5.5.2.

Note that the Reeb graph only regards the number of components (the0-homology) of the level sets, it does not reflect every change of topology.For example, in three dimensions, a contour might start as a ball, and as hincreases, it might extrude two arms that meet each other, forming a torus,without changing the connectivity between contours. (At this point, we havea saddle of index 1.) In two dimensions, this phenomenon happens only forpoints on the boundary of the domain, such as the point F in Fig. 7.15.

Figure 7.15c displays the join tree, which is defined analogously to thecontour tree, except that it describes the evolution of the lower level setsMh = f−1([−∞, h]) instead of the “ordinary” level sets f−1(h). For example,at h = 300 we have three components in the lower level set, as indicated inFig. 7.16. Since the lower level sets can only get bigger as h increases, they can

200 200

300

300

400

300

400

500 500

600

600

200

300

400

500

600

x

y

A

B

C

D

E

F

G

H

I

J

L

K

MN

O

(a) (b)

300

400400400400

400

hA

B

C

D

E

F G

H

I

J

L KM

NO

Fig. 7.16. (a) the lower level set at level 300 and (b) the corresponding part in thejoin tree

Page 317: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 309

only join and never split (hence the name join tree): the tree is a directed treewith the root at the highest vertex. The split tree (Fig. 7.15d) can be definedanalogously for upper level sets. The join and the split tree are importantbecause it is easier to construct these trees first instead of constructing thecontour tree directly. As shown by Carr, Snoeyink, and Axen [78] the contourtree can then be built from the join tree and the split tree in linear time.

The simplest and fastest way to construct the join (and split) tree ofa piecewise linear function is the method of monotone paths, as describedin [92]. We sketch the main idea. This method requires an initial identificationof all “critical” vertices: vertices where the topology of the level set changeslocally as the level set passes through them. This condition can be checked byscanning the neighboring faces of each vertex independently. These vertices arecandidates for becoming vertices of the join tree. They are sorted by functionvalues and processed in increasing order. At each critical vertex v which is nota minimum, we start a monotone decreasing path into each different “localcomponent” of the lower level set in the neighborhood of v. For example,if we increase h in Fig. 7.16, the next critical point that is processed is J ,see Fig. 7.17. Into each of the two shaded regions, we start a descending

200 200

300

300

400

300

400

500 500

600

600

200

300

400

500

600

x

y

A

B

C

D

E

F

G

H

I

J

L

K

MN

O

(a) (b)

300

400400400400

400

hA

B

C

D

E

F G

H

I

J

L KM

NO

Fig. 7.17. Identifying the components that are to be merged by growing descendingpaths

path. Each path is continued until it reaches a local minimum (such as thepoint L) or a previously constructed path (such as the descending path from

Page 318: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

310 G. Rote, G. Vegter

M that ends in O). If we have stored the appropriate information with eachpath, we can identify the components of the lower level sets that need to bemerged (namely, the component L and the component MNO; the componentK remains separate). Since each path can only descend, it is guaranteed thatit cannot leave the lower level set into which it belongs, and therefore itidentifies the correct component. It can happen that two descending pathsreach the same component. In this case we only have a change of topology ofthe contour, without changing the number of contours.

This algorithm works in any dimension. If the piecewise linear function fis defined on a triangulated mesh with t cells and there are nc critical points,the algorithm O(t+ nc log nc) time and O(t) space.

Note that the descending paths do not have to follow the steepest direction;thus, unlike the integral curves of the gradient vector field, they can cross theboundaries of the Morse-Smale complex.

With few exeptions [99], the efficient computation of Reeb graphs has beenstudied mostly for functions on simply connected domains, and hence underthe heading of contour trees.

7.5 Exercises

Exercise 1 (Triangulations of surfaces). Prove that the number of ver-tices in a finite triangulation of a boundaryless surface with Euler character-istic χ is at least ⌈

7 +√

49 − 24χ2

.

(You should be able to do this exercise without any knowledge of homologytheory.)

Exercise 2 (Non-homeomorphic spaces with equal Betti numbers).Give an example of two simplicial complexes with equal Betti numbers, butwith non-homeomorphic underlying spaces.

Exercise 3 (Homology of connected graphs). Let G be a tree. Provethat β0(G,Q) = 1 and β1(G,Q) = 0 using the matrix of the boundary map.(Hint: Consider an enumeration of the vertices and oriented edges such thatedge ei is directed from vertex vj to vertex vi, with j > i.)

Exercise 4 (Chain maps and chain homotopy). Prove Propositions 2, 3and 4.

Exercise 5 (Cone construction and Betti numbers of spheres). Let Lbe a finite simplicial complex in R

n, and regard Rn as the subspace of R

n+1

with final coordinate zero. Let v be a point in Rn+1 \R

n. If σ is a k-simplex ofL with vertices v0, . . . , vk, then the (k+1)-simplex with vertices v, v0, . . . , vk iscalled the join of σ and v. The cone of L with apex v is the simplicial complex

Page 319: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

7 Computational Topology: An Introduction 311

consisting of the simplices of L, the join of each of these simplices and v, andthe 0-simplex 〈v〉 itself. (One can check that these simplices form a simplicialcomplex.) Let K be the cone of L.

1. Let the map Tk : Ck(K,Q) → Ck+1(K,Q) be defined as follows: Let σ =〈v0, . . . , vk〉 be a k-simplex of K. If σ is also a k-simplex of L, then Tk(σ) =〈v, v0, . . . , vk〉, otherwise Tk(σ) = 0. Prove that the sequence Tk is achain homotopy between the identity map and the zero map on the chaincomplex C(K,Q).

2. Conclude that Hk(K,Q) = 0, for k > 0. What is H0(K,Q)?3. Determine the Betti numbers of the d-dimensional disk, i.e., the space

Bd = (x1, . . . , xd) ∈ R

d | x21 + · · · + x2

d ≤ 1. (Hint: Note that a disk ishomeomorphic to a d-simplex.)

4. Use the previous result, and the incremental homology algorithm to de-termine the Betti numbers of the d-sphere.

Exercise 6 (Homology of orientable surfaces).

1. Prove that β0(K) = 1 for every triangulation K of an orientable surfaceof genus g (a sphere with g handles).

2. Let K be a simplicial complex whose underlying space is the torus, andlet all simplices of K be oriented compatibly. Let α =

∑σ σ, where the

sum ranges over all (oriented) simplices of K. Prove that Z2(K,Q) = Qα,and that β2(K,Q) = 1.

3. Use the same technique as in part 2 of this exercise to prove thatβ2(K,Q) = 1 for every triangulation K of an orientable surface of genus g.

4. Let L be the subcomplex ofK obtained by deleting an arbitrary 2-simplex.Use the incremental algorithm to prove that β2(L,Q) = β2(K,Q)−1, andβi(L,Q) = βi(K,Q), for i = 0, 1.

5. Now let K be the simplicial complex of Fig. 7.8. Prove that L simpliciallycollapses onto the subcomplex M , the subgraph of L consisting of thevertices v1, . . . , v5 and the edges v1v2, v2v3, v3v1, v1v4, v4v5, and v5v1.Conclude that β1(K,Q) = 2, and β0(K,Q) = 1.

6. Try to generalize this exercise to an orientable surface of genus g.

Exercise 7 (Morse Theory yields Betti numbers).

1. Use Morse theory to compute the Betti numbers of the d-sphere Sd.

2. Compute the Euler characteristic of a surface M with g handles by defin-ing a suitable Morse function on it. Then compute the Betti numbersof this surface. (Hint: You may want to use the first and third result ofExercise 6).

3. For a Morse function f , let s be a critical point with Morse index i.Consider the intersection L−(s) of the lower level set f−1((−∞, f(s)])with a small sphere around s. Prove that the Euler characteristic of L−(s)equals 1 − (−1)i.

Page 320: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

312 G. Rote, G. Vegter

Exercise 8 (The mountaineer’s equation). For a smooth Morse functionon the 2-sphere S

2, the number of peaks and pits (maxima and minima)exceeds the number of passes (saddles) by 2.

Exercise 9 (Contour trees for bivariate Morse functions). Show that,for a smooth Morse function on the 2-sphere S

2, a saddle point will alwaysgenerate a vertex of degree three in the Reeb graph. Use this observation andthe previous exercise to prove that the Reeb graph is in fact a tree in thiscase.

Page 321: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

8

Appendix - Generic Programmingand The Cgal Library

Efi Fogel and Monique Teillaud

8.1 The Cgal Open Source Project

Several research groups in Europe had started to develop small geometrylibraries on their own in the early 1990s. A consortium of eight sites in Europeand Israel was founded to cultivate the labour of these groups and gather theirproduce in a common library called Cgal — the Computational GeometryAlgorithms Library [2].

The goal of Cgal was to promote the research in Computational Geom-etry and translate the results into useful, reliable, and efficient programs forindustrial and academic applications, the very same goal that governs Cgal

developers to date. In fact, Cgal meets two recommendations of the Compu-tational Geometry Impact Task Force Report [86, 87], which was publishedroughly when Cgal came to existence: production and distribution of usable(and useful) geometric software was a key recommendation, which came withthe need for creating a reward structure for implementations in academia.

An INRIA startup, Geometry Factory,1 was founded on January 2003.The company sells Cgal commercial licenses, support for Cgal, and cus-tomized developments based on Cgal.

In November 2003, when Version 3.0 was released, Cgal became an OpenSource Project, allowing new contributions from various resources. Commonparts of Cgal (i.e., the so-called kernel and support libraries) are now dis-tributed under the GNU Lesser General Public License (or GNU LGPL forshort) and the remaining part (i.e., the basic library) is distributed under theterms of the Q Public License (QPL).

The implementations of the Cgal software modules described in this bookare complete and robust, as they handle all degenerate cases. They rigor-ously adapt the generic programming paradigm, briefly reviewed in the nextsection to overcome problems encountered when effective computational ge-ometry software is implemented. Geometric programming is discussed in the

1http://www.geometryfactory.com/.

Page 322: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

314 E. Fogel, M. Teillaud

succeeding section. Finally, a glimpse at the structure of Cgal is given in theconcluding section.

8.2 Generic Programming

Several definitions of the term generic programming have been proposed sinceit was first coined about four decades ago along with the introduction of theLISP programming language. Since then several approaches have been put intotrial through the introduction of new features in existing computer languages,or even new computer languages all together. Here we confine ourself to theclassic notion first described by David Musser, Alexander Stepanov, DeepakKapur, and collaborators, who considered generic programming as a disciplinethat consists of the gradual lifting of concrete algorithms abstracting overdetails, while retaining the algorithm semantics and efficiency [271].

One crucial abstraction supported by all contemporary computer lan-guages is the subroutine (also known as procedure or function, dependingon the programming language). Another abstraction supported by C++ isthat of abstract data typing, where a new data type is defined together withits basic operations. C++ also supports object-oriented programming, whichemphasizes on packaging data and functionality together into units within arunning program, and is manifested in hierarchies of polymorphic data typesrelated by inheritance. It allows referring to a value and manipulating it with-out needing to specify its exact type. As a consequence, one can write a singlefunction that operates on a number of types within an inheritance hierarchy.Generic programming identifies a more powerful abstraction (perhaps less tan-gible than other abstractions), making extensive use of C++ class-templatesand function-templates. It is a formal hierarchy of abstract requirements ondata types referred to as concepts, and a set of classes that conform preciselyto the specified requirements, referred to as models. Models that describe be-haviours are referred to as traits classes [272]. Traits classes typically add alevel of indirection in template instantiation to avoid accreting parameters totemplates.

A generic algorithm has two parts: the actual instructions that describe thesteps of the algorithm, and a set of requirements that specify which propertiesits argument types must satisfy. The following swap function is an exampleof the first part of a generic algorithm.

template <class T> void swap(T & a, T & b)

T tmp = a; a = b; b = tmp;

When the function call is compiled, it is instantiated with a data type thatmust have an assignment operator. A data type that fulfils this requirement

Page 323: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

8 Appendix - Generic Programming and The Cgal Library 315

is a model of a concept commonly called Assignable [38]. The instantiateddata type must also model the concept CopyConstructible. The int data type,for example, is a model of these two concepts associated with the templateparameter T . Thus, it can be used to instantiate the function template [38].2

There are many data types that model both concepts Assignable and Copy-Constructible in conjunction, as they consist of only a single requirement each.Thus, it is hard to refer to any of its models as a traits. On the other hand, con-sider an imaginary generic implementation of a data structure that handlesgeometric arrangements. Its prototype is listed below. The Arrangement 2class must be instantiated with a class that must in turn define a type thatrepresents a certain family of curves, and some functions that operate oncurves of this family.

template <class Traits> class Arrangement_2

// the code

;

It is natural to refer to a model of this concept as a traits class. One im-portant objective is to minimize the set of requirements the traits conceptimposes. A tight traits concept may save tremendously in analysis and pro-gramming of classes that model the concept. Another important reason forreaching the minimal requirements is to avoid computing the same algebraicentity in different ways. The importance of this is amplified in the contextof computational geometry, as a non tight model that consists of duplicate,but slightly different, implementations of the same algebraic entity, can leadto superficial degenerate conditions, which in turn can drastically increaserunning times.

An algorithm implemented according to the standard object-oriented par-adigm alone may resort to use dynamic cast to achieve flexibility, is enforcedto have tight coupling through the inheritance relationship, may require ad-ditional memory for each object to accommodate the virtual-function table-pointer, and adds for each call to a virtual member function an indirectionthrough the virtual function table. An algorithm implemented according tothe generic programming paradigm does not suffer from these disadvantages.The set of requirements on data types is not tied to a specific C++ languagefeature. Therefore it might be more difficult to grasp. In return, a generic im-plementation gains stronger type checking at compile time and a higher levelof flexibility, without loss of efficiency. In fact, it may expedite the compu-tation. Many articles and a few books have been written on the subject. Werefer the reader to [38] for a complete introduction.

2See http://www.sgi.com/tech/stl/ for a complete specification of the SGISTL.

Page 324: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

316 E. Fogel, M. Teillaud

The prime example of generic programming was STL, the C++ StandardTemplate Library, that became part of the C++ standard library in 1994. Sincethen a few other generic-programming libraries emerged. The most notablein our context were Leda (Library of Efficient Data Types and Algorithms),a library of combinatorial and geometric data types and algorithms [8, 251],and Cgal [2, 156], the Computational Geometry Algorithms Library. Earlydevelopment of Leda started in 1988, ten years before the first public releaseof Cgal became available. While Leda is mostly a large collection of fun-damental graph related and general purpose data structures and algorithms,Cgal is a collection of large and complex data structures and algorithmsfocusing on geometry.

A noticeable influence on generic programming is conducted by the Boostonline community, which encourages the development of free C++ softwaregathered in the Boost library collection [1]. It is a large set of portable and highquality C++ libraries that work well with, and are in the same spirit as, the C++Standard Library. The Boost Graph Library (BGL), which consists of genericgraph algorithms, serves a particularly important role in our context. It canbe used for example to implement the underlying topological data structureof an arrangement instance, that is, a model of the concept ArrangementDcel ;see Sect. 1.4.1 for more details. Using some generic programming techniques,an arrangement instance can be adapted as a BGL graph, and passed as inputto generic algorithms already implemented in the BGL, such as the Dijkstrashortest path algorithm.

8.3 Geometric Programming and Cgal

Implementing geometric algorithms and data structures is notoriously diffi-cult, as transforming such algorithms and data structures into effective com-puter programs is a process full of pitfalls. However, the last decade has seensignificant progress in the development of software for computational geome-try. The mission of such a task, which Kettner and Naher [222] call geometricprogramming, is to develop software that is correct, efficient, flexible (namelyadaptable and extensible3), and easy to use.

The use of the generic programming paradigm enables a convenient separa-tion between the topology and the geometry of data structures. This is a keyaspect, for example, of the design of Cgal polyhedra, Cgal triangulations,and Cgal arrangements (explored in Sect. 1.4.1) .

This way algorithms and data structures can be nicely abstracted in combi-natorial and topological terms, regardless of the specific geometry and algebraof the objects at hand. This abstraction is realized through class and function

3Adaptability refers to the ability to incorporate existing user code, and ex-tendibility refers to the ability to enhance the software with more code in the samestyle.

Page 325: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

8 Appendix - Generic Programming and The Cgal Library 317

templates that represent specific data structures and algorithmic frameworks,respectively. The main class or function template that implements a datastructure or an algorithm is typically instantiated with yet another class,referred to as a traits class, that defines the set of geometric objects andoperations on them required to handle a concrete type of objects.

Generic programming is a key ingredient of flexibility. Changingonly the traits class allows for instance to reuse the generic 2D classDelaunay triangulation 2 to compute a terrain in 3D: the traits classTriangulation euclidean traits xy 3 defines point sites as 3D points, andcomputes the elementary predicates on the first two coordinates only.

typedef CGAL::Exact predicates inexact constructions kernel Kernel;

typedef CGAL::Delaunay triangulation 2<Kernel> Delaunay;

// the kernel Kernel defines the orientation and the in_circle

// tests on 2D points

typedef CGAL::Triangulation euclidean traits xy 3<Kernel> Traits;

typedef CGAL::Delaunay triangulation 2<Traits> Terrain;

// the traits class Traits defines the orientation and the in_circle

// tests on the 2D projections of the 3D points

An immediate advantage of the separation between the topology and thegeometry of data structures is that users with limited expertise in computa-tional geometry can employ the data structure with their own special typeof objects. They must however supply the relevant traits class, which mainlyinvolve algebraic computations. A traits class also encapsulates the numbertypes used to represent coordinates of geometric objects and to carry out alge-braic operations on them. It encapsulates the type of coordinate system used(e.g., Cartesian, Homogeneous), and the geometric or algebraic computationmethods themselves. Naturally, a prospective user of the package that devel-ops a traits class would like to face as few requirements as possible in termsof traits development.

Another advantage gained by the use of generic programming is the conve-nient handling of numerical issues to expedite exact geometric computation.In the classic computational-geometry literature two assumptions are usuallymade to simplify the design and analysis of geometric algorithms: First, in-puts are in “general position”. That is, degenerate input (e.g., three curvesintersecting at a common point) is precluded. Secondly, operations on realnumbers yield accurate results (the “real Ram” model [288], which also as-sumes that each basic operation takes constant time). Unfortunately, theseassumptions do not hold in practice, as numerical errors are inevitable. Thus,an algorithm implemented without keeping this in mind may yield incorrectresults (see [221, 305] for examples).

Page 326: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

318 E. Fogel, M. Teillaud

In a geometric algorithm each computational step is either a construc-tion step or a conditional step based on the result of a predicate. The formerproduces a new geometric object such as the intersection point of two seg-ments. The latter typically computes the sign of an expression used by theprogram control. Different computational paths lead to results with differentcombinatorial characteristics. Although numerical errors can sometimes betolerated and interpreted as small perturbations in the input, they may leadto invalid combinatorial structures or inconsistent state during a program ex-ecution. Thus, it suffices to ensure that all predicates are evaluated correctlyto eliminate inconsistencies and guarantee combinatorially correct results.

Exact Geometric Computation (EGC), as summarized by Yap [346], sim-ply amounts to ensuring that we never err in predicate evaluations. EGCrepresents a significant relaxation from the naive concept of numerical ex-actness. We only need to compute to sufficient precision to make the correctpredicate evaluation. This has led to the development of several techniquessuch as precision-driven computation, lazy evaluation, adaptive computation,and floating point filters, some of which are implemented in Cgal, such asnumerical filtering. Here, computation is carried out using a number typethat supports only inexact arithmetic (e.g., double floating point), while ap-plying a filter that indicates whether the result is exact. If the filter fails, thecomputation is re-done using exact arithmetic.

Switching between number types and exact computation techniques, andchoosing the appropriate components that best suit the application needs,is conveniently enabled through the generic programming paradigm, as ittypically requires only a minor code change reflected in the instantiating ofjust a few data types.

8.4 Cgal Contents

Cgal is written in C++ according to the generic programming paradigmdescribed above. It has a common programming style, which is very similarto that of the STL. Its Application Programming Interface (API) is homo-geneous, and allows for a convenient and consistent interfacing with othersoftware packages and applications. .

The library consists of about 500,000 lines of code divided among approx-imately 150 classes. Cgal also comes with numerous examples and demos.The manual has about 3,000 pages. There are roughly 50 chapters that aregrouped in several parts for a rough description.

The first part is the kernels [155], which consist of constant size non-modifiable geometric primitive objects and operations on these objects. Theobjects are represented both as stand-alone classes that are instantiated bya kernel class, and as members of the kernel classes. The latter option allowsfor more flexibility and adaptability of the kernel.

Page 327: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

8 Appendix - Generic Programming and The Cgal Library 319

In addition, Cgal offers a collection of basic geometric data structuresand algorithms such as convex hull, polygons and polyhedra and operationson them (Boolean operations, polygon offsetting), 2D arrangements, 2D and3D triangulations, Voronoi diagrams, surface meshing and surface subdivi-sion, search structures, geometric optimization, interpolation, and kinetic datastructures. These data structures and algorithms are parameterized by traitsclasses, that define the interface between them and the primitives they use.In many cases, the kernel can be used as a traits class, or the kernel classesprovided in Cgal can be used as components of traits classes for these datastructures and algorithms.

The third part of the library consists of non-geometric support facilities,such as circulators, random generators, I/O support for debugging and forinterfacing Cgal with various visualization tools. This part also provides theuser with number type support.

Cgal kernel classes are parameterized by number types. Instantiating akernel with a particular number type is a trade-off between efficiency and ac-curacy. The choice depends on the algorithm implementation and the expectedinput data to be handled. Number types must fulfil certain requirements, sothat they can be successfully used by the kernel code. The list of requirementsestablishes a concept of a number type. A few number-type concepts havebeen introduced by Cgal, e.g., RingNumberType and FieldNumberType. Nat-urally, number types have evident semantic constraints. That is, they shouldbe meaningful in the sense that they approximate some subfield of the realnumbers. Cgal provides several models of its number-type concepts, someof them implement techniques to expedite exact computation mentioned inthe previous paragraph. Cgal also provides a glue layer that adapts number-type classes implemented by external libraries as models of its number-typeconcepts.

The above describes the accessibility model of Cgal at the time this bookwas written. Constant and persistent improvement to the source code and thedidactic manuals, review of packages by the Editorial board and exhaustivetesting, through the years led to a state of excellent quality internationallyrecognized as an unrivalled tool in its field. At the time these lines are writ-ten, Cgal already has a foothold in many domains related to computationalgeometry and could be found in many academic and research institutes as wellas commercial entities. Release 3.1 was downloaded more than 14.500 times,and the public discussion list counts more than 950 subscribed users.

Acknowledgements

The development of Cgal was supported by two European Projects Cgal

and Galia during three years in total (1996–1999). Several sites have kept onworking on Cgal after the European support stopped.

Page 328: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

320 E. Fogel, M. Teillaud

The new European project ACS (Algorithms for Complex Shapes with cer-tified topology and numerics)4 provides again partial support for new researchand developments in Cgal.

4http://acs.cs.rug.nl/.

Page 329: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

References

The page numbers where each reference is cited are listed in brackets at theend of each item.

1. Boost, C++ libraries.http://www.boost.org. [154, 316]

2. Cgal, Computational Geometry Algorithms Library.http://www.cgal.org. [VI, 3, 26, 29, 55, 114, 154, 232, 313, 316]

3. Core number library.http://cs.nyu.edu/exact/core pages. [11, 35, 38, 155]

4. Exacus, Efficient and exact algorithms for curves and surfaces.http://www.mpi-inf.mpg.de/projects/EXACUS. [4, 13, 36]

5. FGB/RS.http://fgbrs.lip6.fr. [155]

6. GMP, GNU multiple precision arithmetic library.http://www.swox.com/gmp. [38, 119, 154]

7. Irit modeling environment.http://www.cs.technion.ac.il/∼irit/. [61]

8. Leda, Library for efficient data types and algorithms.http://www.algorithmic-solutions.com/enleda.htm. [316]

9. MPFI, Multiple precision interval arithmetic library.http://perso.ens-lyon.fr/nathalie.revol/software.html. [154]

10. MPFR, Multiple-precision floating-point computations.http://www.mpfr.org. [154]

11. QI: Quadrics intersection.http://www.loria.fr/equipes/isa/qi. [50]

12. Singular, Computer algebra system for polynomial computations.http://www.singular.uni-kl.de. [155]

13. Synaps, a library for symbolic and numeric computation.http://www-sop.inria.fr/galaad/logiciels/synaps. [155]

14. K. Abdel-Malek and H.-J. Yeh. On the determination of starting points forparametric surface intersections. Computer-Aided Design, 28:21–35, 1997. [117]

15. P. K. Agarwal and M. Sharir. Arrangements and their applications. In J.-R.Sack and J. Urrutia, editors, Handbook of Computational Geometry, pages 49–119. Elsevier Science Publishers B.V. North-Holland, Amsterdam, 2000. [2, 41,66]

Page 330: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

322 References

16. M. Alexa, J. Behr, D. Cohen-Or, S. Fleishman, D. Levin, and C. Silva. Pointset surfaces. In IEEE, editor, Visualization, pages 21–28, 2001. [232]

17. B. S. Alin Bostan, Philippe Flajolet and E. Schost. Fast computation of specialresultants. Journal of Symbolic Computation, 41(1):1–29, January 2006. [128]

18. R. Allegre, R. Chaine, and S. Akkouche. Convection-driven dynamic sur-face reconstruction. In Proc. of Shape Modeling International, pages 33–42,Cambridge, MA, USA, June 15–17 2005. [268]

19. P. Alliez, D. Cohen-Steiner, O. Devillers, B. Levy, and M. Desbrun. Anisotropicpolygonal remeshing. ACM Trans. Graph., 22(3):485–493, 2003. [179]

20. H. Alt, O. Cheong, and A. Vigneron. The Voronoi diagram of curved objects.Discrete and Computational Geometry, 34(3):439–453, 2002. [104, 105]

21. N. Amenta and M. Bern. Surface reconsruction by Voronoi filtering. In Proc.14th Ann. Sympos. Comput. Geom., pages 39–48, 1998. [178, 253]

22. N. Amenta and M. Bern. Surface reconstruction by Voronoi filtering. DiscreteComput. Geom., 22(4):481–504, 1999. [202, 203, 248, 249, 257]

23. N. Amenta, M. Bern, and D. Eppstein. The crust and the β-skeleton: Com-binatorial curve reconstruction. Graphical Models and Image Processing,60:125–135, 1998. [248]

24. N. Amenta, M. Bern, and D. Eppstein. The crust and the β-skeleton: Combi-natorial curve reconstruction. Graphical models and image processing: GMIP,60(2):125–135, 1998. [253]

25. N. Amenta, S. Choi, T. K. Dey, and N. Leekha. A simple algorithm for home-omorphic surface reconstruction. In Proc. 16th Ann. Sympos. Comput. Geom.,pages 213–222, 2000. [178, 258, 272]

26. N. Amenta, S. Choi, and R. Kolluri. The power crust. In ACM Solid Modeling,pages 249–260, 2001. [261, 272]

27. N. Amenta, S. Choi, and R. K. Kolluri. The power crust, unions of balls, andthe medial axis transform. Comput. Geom. Theory Appl., 19:127–153, 2001.[261, 264, 272]

28. M. Armstrong. Basic Topology. Undergraduate Texts in Mathematics.Springer-Verlag, New York, Berlin, Heidelberg, 1983. [278]

29. V. I. Arnol’d, S. M. Guseın-Zade, and A. N. Varchenko. Singularities of dif-ferentiable maps. Vol. I: The classification of critical points, caustics and wavefronts, volume 82 of Monographs in Mathematics. Birkhauser Boston Inc.,Boston, MA, 1985. [117]

30. D. Attali. r-regular shape reconstruction from unorganized points. Comput.Geom. Theory Appl., 10:239–247, 1998. [262]

31. D. Attali and J.-D. Boissonnat. A linear bound on the complexity of thedelaunay triangulation of points on polyhedral surfaces. Discrete and Comp.Geometry, 31:369–384, 2004. [77]

32. D. Attali, J.-D. Boissonnat, and H. Edelsbrunner. Stability and computa-tion of medial axes: a state of the art report. In T. Moller, B. Hamann,and B. Russell, editors, Mathematical Foundations of Scientific Visualization,Computer Graphics, and Massive Data Exploration, Mathematics and Visual-ization. Springer-Verlag. [110, 113]

33. D. Attali, J.-D. Boissonnat, and A. Lieutier. Complexity of the Delaunay trian-gulation of points on surfaces the smooth case. In Proc. 19th Ann. Symposiumon Computational Geometry, pages 201–210, San Diego, 2003. ACM Press. [77,232, 273]

Page 331: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

References 323

34. M. Attene and M. Spagnuolo. Automatic surface reconstruction from pointsets in space. In Eurographics, pages 457–465. ACM Press, 2000. [269]

35. F. Aurenhammer. Power diagrams: properties, algorithms and applications.SIAM J. Comput., 16:78–96, 1987. [83, 84, 90, 96]

36. F. Aurenhammer. Linear combinations from power domains. Geom. Dedicata,28:45–52, 1988. [242]

37. F. Aurenhammer and R. Klein. Voronoi diagrams. In J.-R. Sack and J. Urrutia,editors, Handbook of Computational Geometry, pages 201–290. Elsevier SciencePublishers B.V. North-Holland, Amsterdam, 2000. [69]

38. M. H. Austern. Generic Programming and the STL. Addison Wesley, 1999.[36, 315]

39. W. Auzinger and H. J. Stetter. An elimination algorithm for the computationof all zeros of a system of multivariate polynomial equations. In Proc. Intern.Conf. on Numerical Math., volume 86 of Int. Series of Numerical Math, pages12–30. Birkhauser Verlag, 1988. [141]

40. C. Bajaj and M.-S. Kim. Generation of configuration space obstacles: the caseof moving algebraic surfaces. Algorithmica, 4:155–172, 1989. [57]

41. T. F. Banchoff. Critical points and curvature for embedded polyhedra. J. Diff.Geom., 1:245–256, 1967. [226]

42. T. F. Banchoff. Critical points and curvature for embedded polyhedral surfaces.Amer. Math. Monthly, 77:475–485, 1970. [165, 226]

43. G. Barequet and V. Rogol. Maximizing the area of an axially-symmetric poly-gon inscribed by a simple polygon. In 16th Canadian Conf. on ComputationalGeometry, pages 128–131, 2004. [62]

44. S. Basu, R. Pollack, and M.-F. Roy. Algorithms in Real Algebraic Geometry.Springer-Verlag, Berlin, 2003. ISBN 3-540-00973-6. [110, 125, 130, 133, 138,142]

45. J. L. Bentley. Multidimensional binary search trees used for associative search-ing. Commun. ACM, 18(9):509–517, Sept. 1975. [23]

46. J. L. Bentley and T. A. Ottmann. Algorithms for reporting and countinggeometric intersections. IEEE Trans. Comput., C-28(9):643–647, Sept. 1979.[4, 7]

47. E. Berberich. Exact Arrangements of Quadric Intersection Curves. Universitatdes Saarlandes, Saarbrucken, 2004. Master Thesis. [48]

48. E. Berberich, A. Eigenwillig, M. Hemmer, S. Hert, L. Kettner, K. Mehlhorn,J. Reichel, S. Schmitt, E. Schomer, and N. Wolpert. EXACUS: Efficient andexact algorithms for curves and surfaces. In Proc. 13th Annu. European Sym-pos. Algorithms (ESA’05), volume 3669 of Lecture Notes in Computer Science,pages 155–166, Oct. 2005. [4, 36]

49. E. Berberich, A. Eigenwillig, M. Hemmer, S. Hert, K. Mehlhorn, andE. Schomer. A computational basis for conic arcs and Boolean operationson conic polygons. In Proc. 10th European Symposium on Algorithms, volume2461 of Lecture Notes in Computer Science, pages 174–186. Springer-Verlag,2002. [4, 9, 11, 36, 55]

50. E. Berberich, M. Hemmer, L. Kettner, E. Schomer, and N. Wolpert. An exact,complete and efficient implementation for computing planar maps of quadricintersection curves. In Proc. 21th Annual Symposium on Computational Geom-etry, pages 99–106, 2005. [4, 36]

Page 332: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

324 References

51. M. Berger and B. Gostiaux. Differential Geometry: Manifolds, Curves andSurfaces. Graduate Texts in Mathematics No. 115. Springer-Verlag, New York,1988. (translated by S. Levy). [158, 160, 161]

52. F. Bernardini, J. Mittleman, H. Rushmeir, C. Silva, and G. Taubin. Theball-pivoting algorithm for surface reconstruction. IEEE Transactions on Vi-sualization and Computer Graphics, 5(4):349–359, 1999. [268, 273]

53. H. Bieri. Nef polyhedra: A brief introduction. Computing Suppl., 10:43–60,1995. [55]

54. J.-D. Boissonnat. Geometric structures for three-dimensional shape represen-tation. ACM Trans. Graph., 3(4):266–286, 1984. [232, 253, 261]

55. J.-D. Boissonnat and F. Cazals. Coarse-to-fine surface simplification with geo-metric guarantees. In Eurographics, 01. [264]

56. J.-D. Boissonnat and F. Cazals. Smooth surface reconstruction via naturalneighbour interpolation of distance functions. In Proc. 16th Ann. Sympos.Comput. Geom., pages 223–232, 2000. [263, 272, 275]

57. J.-D. Boissonnat and F. Cazals. Smooth surface reconstruction via naturalneighbour interpolation of distance functions. In Proc. 16th Ann. Symposiumon Computational Geometry, pages 223–232. ACM Press, 2000. [268]

58. J.-D. Boissonnat and F. Cazals. Coarse-to-fine surface simplification with geo-metric guarantees. In A. Chalmers and T.-M. Rhyne, editors, Eurographics’01,pages 490–499, Manchester, 2001. Blackwell. [263, 272]

59. J.-D. Boissonnat and F. Cazals. Natural coordinates of points on a surface.Comput. Geom. Theory Appl., 19:155–173, 2001. [247]

60. J.-D. Boissonnat, A. Cerezo, O. Devillers, and M. Teillaud. Output-sensitiveconstruction of the Delaunay triangulation of points lying in two planes. In-ternat. J. Comput. Geom. Appl., 6(1):1–14, 1996. [69]

61. J.-D. Boissonnat, D. Cohen-Steiner, and G. Vegter. Isotopic implicit surfacemeshing. In Proc. 36th Ann. ACM Symposium on Theory of Computing, pages301–309, New York, June 2004. ACM Press. [187, 224, 226]

62. J.-D. Boissonnat and C. Delage. Convex hulls and Voronoi diagrams of ad-ditively weighted points. In Proc. 13th European Symposium on Algorithms,Lecture Notes in Computer Science, pages 367–378. Springer, 2005. [91, 115]

63. J.-D. Boissonnat and M. Karavelas. On the combinatorial complexity of Euclid-ean Voronoi cells and convex hulls of d-dimensional spheres. In Proc. 14thACM-SIAM Sympos. Discrete Algorithms (SODA), pages 305–312, 2003. [81,90]

64. J.-D. Boissonnat and S. Oudot. Provably good surface sampling and approxi-mation. In SGP ’03: Proceedings of the 2003 Eurographics/ACM SIGGRAPHsymposium on Geometry processing, pages 9–18, Aire-la-Ville, Switzerland,Switzerland, 2003. Eurographics Association. [187, 203, 205, 207]

65. J.-D. Boissonnat and S. Oudot. Provably good sampling and meshing of sur-faces. Graphical Models, 67:405–451, 2005. [114, 203, 208]

66. J.-D. Boissonnat and S. Oudot. Provably good sampling and meshing of lip-schitz surfaces. In Proc. 22nd Ann. Sympos. Comput. Geom., 2006. [208]

67. J.-D. Boissonnat and M. Yvinec. Algorithmic Geometry. Cambridge UniversityPress, UK, 1998. [69, 100, 104, 105, 109]

68. V. Borrelli, F. Cazals, and J.-M. Morvan. On the angular defect of triangu-lations and the pointwise approximation of curvatures. Comput. Aided Geom.Design, 20:319–341, 2003. [160, 166]

Page 333: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

References 325

69. H. Bronnimann, C. Burnikel, and S. Pion. Interval arithmetic yields efficientdynamic filters for computational geometry. Discrete Applied Mathematics,109:25–47, 2001. [121, 154]

70. H. Bronnimann, L. Kettner, S. Schirra, and R. Veltkamp. Applications ofthe generic programming paradigm in the design of CGAL. In M. Jazayeri,R. Loos, and D. Musser, editors, Generic Programming—Proceedings of aDagstuhl Seminar, volume 1766 of Lecture Notes in Computer Science, pages206–217. Springer-Verlag, 2000. [36]

71. H. Bronnimann, G. Melquiond, and S. Pion. The Boost interval arithmeticlibrary. In Proc. 5th Conference on Real Numbers and Computers, pages65–80, 2003. [154]

72. J. L. Brown. Systems of coordinates associated with points scattered in theplane. Comput. Aided Design, 14:547–559, 1997. [242]

73. C. Burnikel, S. Funke, K. Mehlhorn, S. Schirra, and S. Schmitt. A separationbound for real algebraic expressions. Technical Report ECG-TR-123101-02,MPI Saarbrucken, 2002. [139, 140]

74. C. Burnikel, S. Funke, and M. Seel. Exact geometric computation using cas-cading. Internat. J. Comput. Geom. Appl., 11:245–266, 2001. [122, 123]

75. C. Burnikel, K. Mehlhorn, and S. Schirra. How to compute the Voronoi di-agram of line segments: Theoretical and experimental results. In Proc. 2ndAnnu. European Sympos. Algorithms, volume 855 of Lecture Notes Comput.Sci., pages 227–239. Springer-Verlag, 1994. [140]

76. C. Burnikel, K. Mehlhorn, and S. Schirra. The LEDA class real number.Technical Report MPI-I-96-1-001, Max-Planck Institut Inform., Saarbrucken,Germany, Jan. 1996. [155]

77. J. Canny. The Complexity of Robot Motion Planning. ACM – MIT PressDoctoral Dissertation Award Series. MIT Press, Cambridge, MA, 1987. [140]

78. H. Carr, J. Snoeyink, and U. Axen. Computing contour trees in all dimensions.Computational Geometry, 24:75–94, 2003. [309]

79. J. Carr, R. Beatson, J. Cherrie, T. Mitchell, T. Fright, B. McCallum, andT. Evans. Reconstruction and representation of 3d objects with radial basisfunctions. In Siggraph, pages 67–76. ACM, 2001. [232]

80. H. Cartan. Differential Calculus. Houghton Mifflin Co, 1971. [169]81. F. Cazals, J. Giesen, M. Pauly, and A. Zomorodian. Conformal alpha shapes.

In Symposium on Point Based Graphics, 2005. [269]82. R. Chaine. A convection geometric-based approach to surface reconstruction.

In Symp. Geometry Processing, pages 218–229, 2003. [266, 276]83. F. Chazal and A. Lieutier. The lambda medial axis. Graphical Models, 67:

304–331, 2005. [113]84. B. Chazelle. An optimal convex hull algorithm in any fixed dimension. Discrete

Comput. Geom., 10:377–409, 1993. [77]85. B. Chazelle, H. Edelsbrunner, L. J. Guibas, and M. Sharir. A singly-exponential

stratification scheme for real semi-algebraic varieties and its applications. The-oret. Comput. Sci., 84:77–105, 1991. [42, 47]

86. B. Chazelle et al. Application challenges to computational geometry: CG im-pact task force report. Technical Report TR-521-96, Princeton Univ., Apr.1996. [313]

87. B. Chazelle et al. Application challenges to computational geometry: CG im-pact task force report. In B. Chazelle, J. E. Goodman, and R. Pollack, editors,

Page 334: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

326 References

Advances in Discrete and Computational Geometry, volume 223 of Contempo-rary Mathematics, pages 407–463. American Mathematical Society, Providence,1999. [313]

88. H.-L. Cheng, T. K. Dey, H. Edelsbrunner, and J. Sullivan. Dynamic skintriangulation. Discrete Comput. Geom., 25:525–568, 2001. [248]

89. S.-W. Cheng, T. K. Dey, H. Edelsbrunner, M. A. Facello, and S.-H. Teng.Sliver exudation. In Proc. 15th Ann. Sympos. Comput. Geom., pages 1–13,1999. [235]

90. S.-W. Cheng, T. K. Dey, E. A. Ramos, and T. Ray. Sampling and meshing asurface with guaranteed topology and geometry. In Proc. 20th Ann. Sympos.Comput. Geom., pages 280–289, 2004. [187, 209, 211, 222]

91. L. P. Chew. Guaranteed-quality mesh generation for curved surfaces. In Proc.9th Ann. Sympos. Comput. Geom., pages 274–280, 1993. [201]

92. Y.-J. Chiang, T. Lenz, X. Lu, and G. Rote. Simple and optimal output-sensitiveconstruction of contour trees using monotone paths. Computational Geometry,Theory and Applications, 30:165–195, 2005. [309]

93. D. Cohen-Steiner. Topics in Surface Discretization. PhD thesis, Ecole Poly-technique, 2004. [178]

94. D. Cohen-Steiner and F. Da. A greedy Delaunay based surface reconstructionalgorithm. The Visual Computer, 20:4–16, 2004. [255, 256, 272, 274]

95. D. Cohen-Steiner and J.-M. Morvan. Approximation of normal cycles. ResearchReport 4723, INRIA, 2003. [169, 173]

96. D. Cohen-Steiner and J.-M. Morvan. Approximation of the curvature measuresof a smooth surface endowed with a mesh. Research Report 4867, INRIA, 2003.[169, 173]

97. D. Cohen-Steiner and J.-M. Morvan. Approximation of the second fundamen-tal form of a hypersurface of a riemannian manifold. Research Report 4868,INRIA, 2003. [169, 173]

98. D. Cohen-Steiner and J.-M. Morvan. Restricted Delaunay triangulations andnormal cycles. In Proc. 19th Ann. Symposium on Computational Geometry,pages 237–246, San Diego, CA, June 2003. [175]

99. K. Cole-McLaughlin, H. Edelsbrunner, J. Harer, V. Natarajan, and V. Pas-cucci. Loops in Reeb graphs of 2-manifolds. Discrete Comput. Geom.,32(2):231–244, 2004. [310]

100. E. Collins. Quantifier elimination by cylindrical algebraic decomposition—twenty years of progress. In B. Caviness and J. Johnson, editors, Quanti-fier Elimination and Cylindrical Algebraic Decomposition, pages 8–23. SpringerVerlag, 1998. [5]

101. G. E. Collins. Quantifier elimination for real closed fields by cylindrical alge-braic decomposition. In Proc. 2nd GI Conference on Automata Theory andFormal Languages, volume 33 of Lecture Notes Comput. Sci., pages 134–183.Springer-Verlag, 1975. [5, 47]

102. G. E. Collins and J. R. Johnson. Quantifier elimination and the sign variationmethod for real root isolation. In ISSAC ’89: Proceedings of the ACM-SIGSAM1989 international symposium on Symbolic and algebraic computation, pages264–271, New York, NY, USA, 1989. ACM Press. [135]

103. M. L. Connolly. Analytical molecular surface calculation. J. Appl. Cryst.,16:548–558, 1983. [63]

104. M. L. Connolly. Molecular surfaces: A review, 1996. http://www.netsci.org/Science/Compchem/feature14.html. [64]

Page 335: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

References 327

105. R. Corless, P. Gianni, and B. Trager. A reordered Schur factorization methodfor zero-dimensional polynomial systems with multiple roots. In Proc. Inter-national Conference on Symbolic and Algebraic Computation, pages 133–140.ACM Press, 1997. [141]

106. M. Coste. An introduction to semi-algebraic geometry. RAAG network school,2002. [145]

107. D. Cox, J. Little, and D. O’Shea. Ideals, Varieties, and Algorithms: An In-troduction to Computational Algebraic Geometry and Commutative Algebra.Undergraduate Texts in Mathematics. Springer Verlag, New York, 1992. [141,146]

108. H. S. M. Coxeter. Introduction to Geometry. John Wiley & Sons, New York,2nd edition, 1969. [85]

109. M. de Berg, L. J. Guibas, and D. Halperin. Vertical decompositions for trianglesin 3-space. Discrete Comput. Geom., 15:35–61, 1996. [42, 43]

110. M. de Berg, M. van Kreveld, M. Overmars, and O. Schwarzkopf. ComputationalGeometry: Algorithms and Applications. Springer-Verlag, Berlin, 1997. [69]

111. M. de Berg, M. van Kreveld, M. Overmars, and O. Schwarzkopf. ComputationalGeometry: Algorithms and Applications. Springer-Verlag, Berlin, Germany, 2ndedition, 2000. [6, 9, 21, 23]

112. M. de Carmo. Differential Geometry of Curves and Surfaces. Prentice Hall,Englewood Cliffs, NJ, 1976. [158]

113. C. J. A. Delfinado and H. Edelsbrunner. An incremental algorithm for Bettinumbers of simplicial complexes on the 3-sphere. Comput. Aided Geom. Des.,12(7):771–784, 1995. [291]

114. R. Descartes. Geometrie, volume 90-31 of A source book in Mathematics.Havard University press, 1636. [131]

115. O. Devillers. The Delaunay hierarchy. Internat. J. Found. Comput. Sci.,13:163–180, 2002. [107, 109]

116. O. Devillers, A. Fronville, B. Mourrain, and M. Teillaud. Algebraic methodsand arithmetic filtering for exact predicates on circle arcs. Comput. Geom.Theory Appl., 22:119–142, 2002. [4, 40, 136]

117. O. Devillers and S. Pion. Efficient exact geometric predicates for Delaunaytriangulations. In Proc. 5th Workshop Algorithm Eng. Exper., pages 37–44,2003. [122, 123]

118. T. Dey, H. Woo, and W. Zhao. Approximate medial axis for CAD models. InProc. 8th ACM symposium on Solid modeling and applications, pages 280–285,2003. [116]

119. T. K. Dey, H. Edelsbrunner, and S. Guha. Computational topology. InB. Chazelle, J. E. Goodman, and R. Pollack, editors, Advances in Discreteand Computational Geometry - Proc. 1996 AMS-IMS-SIAM Joint Summer Re-search Conf. Discrete and Computational Geometry: Ten Years Later, number223 in Contemporary Mathematics, pages 109–143. American MathematicalSociety, 1999. [277]

120. T. K. Dey and J. Giesen. Detecting undersampling in surface reconstruction.In Proc. 16th Ann. Symposium on Computational Geometry, pages 257–263.ACM Press, 2001. [253]

121. T. K. Dey, J. Giesen, and J. Hudson. Delaunay based shape reconstructionfrom large data. In IEEE Symposium in Parallel and Large Data Visualizationand Graphics, pages 19–27, 2001. [260]

Page 336: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

328 References

122. T. K. Dey, J. Giesen, E. A. Ramos, and B. Sadri. Critical points of the dis-tance to an epsilon-sampling on a surface and flow-complex-based surface re-construction. In Proc. 21st Ann. Symposium on Computational Geometry,pages 218–227. ACM Press, 2005. [253, 266]

123. T. K. Dey and S. Goswami. Tight cocone: A water-tight surface reconstruc-tor. Journal of Computing and Information Science in Engineering, 3:302–307,2003. [260, 272]

124. T. K. Dey and S. Goswami. Provable surface reconstruction from noisy sam-ples. In Proc. 20th Ann. Symposium on Computational Geometry, pages 330–339. ACM Press, 2004. [261, 272]

125. T. K. Dey and P. Kumar. A simple provable algorithm for curve reconstruction.In SODA ’99: Proceedings of the Tenth Annual ACM-SIAM Symposium onDiscrete Algorithms, pages 893–894, Philadelphia, PA, USA, 1999. Society forIndustrial and Applied Mathematics. [253]

126. T. K. Dey, G. Li, and T. Ray. Polygonal surface remeshing with Delaunayrefinement. In Proc. 14th Internat. Meshing Roundtable, pages 343–361, 2005.[213]

127. T. K. Dey, K. Mehlhorn, and E. A. Ramos. Curve reconstruction: Connectingdots with good reason. Comput. Geom. Theory Appl., 15:229–244, 2000. [228,253]

128. L. Dupont, D. Lazard, S. Lazard, and S. Petitjean. Near-optimal parameter-ization of the intersection of quadrics. In Proc. 19th Ann. Sympos. Comput.Geom., pages 246–255, 2003. [49]

129. R. A. Dwyer. Higher-dimensional Voronoi diagrams in linear expected time.Discrete Comput. Geom., 6:343–367, 1991. [77]

130. H. Edelsbrunner. Algorithms in Combinatorial Geometry, volume 10 of EATCSMonographs on Theoretical Computer Science. Springer-Verlag, Heidelberg,West Germany, 1987. [2, 66]

131. H. Edelsbrunner. Weighted alpha shapes. Technical Report UIUCDCS-R-92-1760, Dept. Comput. Sci., Univ. Illinois, Urbana, IL, 1992. [238]

132. H. Edelsbrunner. Surface reconstruction by wrapping finite point sets in space.In B. Aronov, S. Basu, J. Pach, and M. Sharir, editors, Ricky Pollack and EliGoodman Festschrift, pages 379–404. Springer-Verlag, 2003. [243, 264, 272]

133. H. Edelsbrunner. Biological applications of computational topology. InJ. Goodman and J. O’Rourke, editors, CRC Handbook of Discrete and Compu-tational Geometry, chapter 63, pages 1395–1412. Chapman & Hall/CRC, 2004.[277]

134. H. Edelsbrunner, J. Harer, V. Natarajan, and V. Pascucci. Morse-Smale com-plexes for piecewise linear 3-manifolds. In Proc. 19th Ann. Sympos. Comput.Geom., pages 361–370, 2003. [306]

135. H. Edelsbrunner, J. Harer, and A. Zomorodian. Hierarchical Morse-Smalecomplexes for piecewise linear 2-manifolds. Discrete Comput. Geom., 30(1):87–107, 2003. [306]

136. H. Edelsbrunner and E. P. Mucke. Simulation of simplicity: A technique tocope with degenerate cases in geometric algorithms. ACM Trans. Graph.,9(1):66–104, 1990. [210, 235]

137. H. Edelsbrunner and E. P. Mucke. Three-dimensional alpha shapes. ACMTrans. Graph., 13(1):43–72, Jan. 1994. [238]

138. H. Edelsbrunner and N. R. Shah. Triangulating topological spaces. Int. J. onComp. Geom., 7:365–378, 1997. [84, 209, 228, 241]

Page 337: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

References 329

139. A. Eigenwillig. Exact arrangement computation for cubic curves. M.Sc. thesis,Universitat des Saarlandes, Saarbrucken, Germany, 2003. [20]

140. A. Eigenwillig, L. Kettner, E. Schomer, and N. Wolpert. Complete, exact, andefficient computations with cubic curves. In Proc. 20th Annual Symposium onComputational Geometry, pages 409–418, 2004. accepted for ComputationalGeometry: Theory and Applications. [4, 11, 18, 36, 38]

141. D. Eisenbud. Commutative Algebra with a view toward Algebraic Geometry,volume 150 of Graduate Texts in Math. Berlin, Springer-Verlag, 1994. [146]

142. M. Elkadi and B. Mourrain. Introduction a la resolution des systemesd’equations algebriques, 2003. Notes de cours, Univ. de Nice (310 p.). [142,148, 149]

143. M. Elkadi and B. Mourrain. Symbolic-numeric tools for solving polynomialequations and applications. In A. Dickenstein and I. Emiris, editors, SolvingPolynomial Equations: Foundations, Algorithms, and Applications., volume 14of Algorithms and Computation in Mathematics, pages 125–168. Springer, 2005.[141]

144. I. Emiris and E. P. Tsigaridas. Computing with real algebraic numbers of smalldegree. In Proc. 12th European Symposium on Algorithms, LNCS 3221, pages652–663. Springer-Verlag, 2004. [4, 40]

145. I. Z. Emiris, A. Kakargias, S. Pion, M. Teillaud, and E. P. Tsigaridas. Towardsan open curved kernel. In Proc. 20th Ann. Sympos. Comput. Geom., pages438–446, 2004. [4, 11, 39]

146. I. Z. Emiris and M. I. Karavelas. The predicates of the apollonius diagram:algorithmic analysis and implementation. Computational Geometry: Theoryand Applications, 33:18–57, 2006. [109]

147. I. Z. Emiris, B. Mourrain, and E. P. Tsigaridas. Real algebraic numbers:Complexity analysis and experimentations. Research Report 5897, INRIA,Avril 2006. [135, 136, 138]

148. I. Z. Emiris and E. P. Tsigaridas. Comparison of fourth-degree algebraic num-bers and applications to geometric predicates. Technical Report ECG-TR-302206-03, INRIA Sophia-Antipolis, 2003. [136, 137, 138, 139]

149. I. Z. Emiris and E. P. Tsigaridas. Methods to compare real roots of polyno-mials of small degree. Technical Report ECG-TR-242200-01, INRIA Sophia-Antipolis, 2003. [136]

150. J. Erickson. Nice point sets can have nasty Delaunay triangulations. DiscreteComput. Geom., 30(1):109–132, 2003. [206]

151. J. Erickson. Dense point sets have sparse delaunay triangulations. DiscreteComput. Geom., 33:85–115, 2005. [77]

152. E. Eyal and D. Halperin. Improved implementation of controlled perturbationfor arrangements of spheres. Technical Report ECG-TR-363208-01, Tel-AvivUniversity, 2004. [64]

153. E. Eyal and D. Halperin. Dynamic maintenance of molecular surfaces underconformational changes. In Proc. 21st Ann. Symposium on ComputationalGeometry, pages 45–54, 2005. [50, 64]

154. E. Eyal and D. Halperin. Improved maintenance of molecular surfaces usingdynamic graph connectivity. In Proc. 5th Workshop on Algorithms in Bioinfor-matics - WABI 2005, volume 3692 of LNCS, pages 401–413. Springer-Verlag,2005. [50, 53, 64]

Page 338: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

330 References

155. A. Fabri, G.-J. Giezeman, L. Kettner, S. Schirra, and S. Schonherr. The CGALkernel: A basis for geometric computation. In M. C. Lin and D. Manocha,editors, Proc. 1st ACM Workshop on Appl. Comput. Geom., volume 1148 ofLecture Notes Comput. Sci., pages 191–202. Springer-Verlag, 1996. [318]

156. A. Fabri, G.-J. Giezeman, L. Kettner, S. Schirra, and S. Schonherr. On thedesign of CGAL a computational geometry algorithms library. Softw. – Pract.Exp., 30(11):1167–1202, 2000. [3, 36, 316]

157. G. Farin. Curves and surfaces for computer aided geometric design: a practicalguide. Comp. science and sci. computing. Acad. Press, 1990. [132, 136]

158. G. Farin. An SSI bibliography. In Geometry Processing for Design and Man-ufacturing, pages 205–207. SIAM, Philadelphia, 1992. [117]

159. R. Farouki and R. Ramamurthy. Voronoi diagram and medial axis algorithmfor planar domains with curved boundaries i. theoretical foundations. Journalof Computational and Applied Mathematics, 102(1):119–141, 1999. [110]

160. O. Faugeras. Three-Dimensional Computer Vision: A Geometric Viewpoint.MIT Press, Cambridge, MA, 1993. [116]

161. H. Federer. Curvature measures. Trans. Amer. Math. Soc., 93:418–491, 1959.[162, 169]

162. H. Federer. Geometric Measure Theory. Springer-Verlag, 1970. [162, 174]163. E. Flato, D. Halperin, I. Hanniel, and O. Nechushtan. The design and imple-

mentation of planar maps in CGAL. In Abstracts 15th European WorkshopComput. Geom., pages 169–172. INRIA Sophia-Antipolis, 1999. [26]

164. E. Flato, D. Halperin, I. Hanniel, O. Nechushtan, and E. Ezra. The design andimplementation of planar maps in CGAL. The ACM Journal of ExperimentalAlgorithmics, 5:1–23, 2000. [23]

165. E. Fogel, D. Halperin, R. Wein, S. Pion, M. Teillaud, I. Emiris, A. Kakar-gias, E. Tsigaridas, E. Berberich, A. Eigenwillig, M. Hemmer, L. Kettner,K. Mehlhorn, E. Schomer, and N. Wolpert. An empirical comparison ofsoftware for constructing arrangements of curved arcs (preliminary version).Technical Report ECG-TR-361200-01, Tel-Aviv University, INRIA Sophia-Antipolis, MPI Saarbrucken, 2004. [4]

166. E. Fogel, D. Halperin, R. Wein, M. Teillaud, E. Berberich, A. Eigenwillig,S. Hert, and L. Kettner. Specification of the traits classes for CGALarrangements of curves. Technical Report ECG-TR-241200-01, INRIA Sophia-Antipolis, 2003. [4]

167. E. Fogel, R. Wein, and D. Halperin. Code flexibility and program efficiency bygenericity: Improving CGAL’s arrangements. In Proc. 12th Annual EuropeanSymposium on Algorithms, pages 664–676. Springer-Verlag, 2004. [4, 25, 26]

168. S. Fortune and C. J. Van Wyk. Static analysis yields efficient exact integerarithmetic for computational geometry. ACM Trans. Graph., 15(3):223–248,July 1996. [121, 122]

169. S. Fortune and C. V. Wyk. LN User Manual. AT&T Bell Laboratories, 1993.[123]

170. J. Fu. Convergence of curvatures in secant approximations. Journal of Differ-ential Geometry, 37:177–190, 1993. [163, 169, 171]

171. J. Fu. Curvature of singular spaces via the normal cycle. Amer. Math. Soc.,116:819–880, 1994. [171]

172. S. Funke, C. Klein, K. Mehlhorn, and S. Schmitt. Controlled perturbationsfor Delaunay triangulations. In Proc. 16th ACM-SIAM Sympos. Discrete Al-gorithms (SODA), pages 1047–1056, 2005. [50, 53]

Page 339: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

References 331

173. S. Funke, K. Mehlhorn, and S. Schmitt. The LEDA class real number – ex-tended version. Technical Report ECG-TR-363110-01, MPI Saarbrucken, 2004.[155]

174. S. Funke and E. A. Ramos. Smooth-surface reconstruction in near-linear time.In ACM SODA’02, pages 781 – 790, 2002. [260, 273]

175. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns. Addison-Wesley, Reading, MA, 1995. [27, 32]

176. T. Garrity and J. Warren. Geometric continuity. Computer Aided GeometricDesign, 8:51–65, 1991. [117]

177. G. Gatellier, A. Labrouzy, B. Mourrain, and J.-P. Tecourt. Computing thetopology of three-dimensional algebraic curves. In T. Dokken and B. Juttler,editors, Computational Methods for Algebraic Spline Surfaces (COMPASS),pages 27–44. Springer-Verlag, 2005. [222]

178. N. Geismann, M. Hemmer, and E. Schomer. Computing a 3-dimensional cell inan arrangement of quadrics: Exactly and actually! In Proc. 17th Ann. Sympos.Comput. Geom., pages 264–273, 2001. [48]

179. B. Gerkey. Pursuit-evasion with teams of robots.http://robotics.stanford.edu/∼gerkey/research/pe/index.html. [65]

180. B. Gerkey, S. Thrun, and G. J. Gordon. Visibility-based pursuit-evasion withlimited field of view. In Proc. National Conference on Artificial Intelligence(AAAI), pages 20–27, 2004. [64]

181. P. Giblin and B. Kimia. A formal classification of 3d medial axis points andtheir local geometry. IEEE Transations on Pattern Analysis and MachineIntelligence, 26(2):238–251, 2004. [245, 253]

182. C. Gibson. Elementary Geometry of Algebraic Curves. Cambridge UniversityPress, 1998. [19]

183. J. Giesen and M. John. Surface reconstruction based on a dynamical system.In Proceedings of the 23rd Annual Conference of the European Associationfor Computer Graphics (Eurographics), Computer Graphics Forum 21, pages363–371, 2002. [266]

184. J. Giesen and M. John. The flow complex: A data structure for geometricmodeling. In ACM SODA, pages 285 – 294, 2003. [243, 266]

185. L. Gonzalez-Vega and I. Necula. Efficient topology determination of implicitlydefined algebraic plane curves. Comput. Aided Geom. Design, 19(9):719–743,2002. [145, 152, 214]

186. L. Gonzalez-Vega, F. Rouillier, and M.-F. Roy. Symbolic recipes for poly-nomial system solving. In A. M. Cohen, H. Cuypers, and H. Sterk, editors,Some Tapas of Computer Algebra, volume 4 of Algorithms and Computationin Mathematics, chapter 2, pages 34–65. Springer, 1999. [142]

187. M. T. Goodrich and R. Tamassia. Dynamic trees and dynamic point location.SIAM J. Comput., 28:612–636, 1998. [44]

188. M. Gopi, S. Krishnan, and C. Silva. Surface reconstruction based on lowerdimensional localized Delaunay triangulation. In Eurographics, 2000. [253]

189. M. Granados, P. Hachenberger, S. Hert, L. Kettner, K. Mehlhorn, and M. Seel.Boolean operations on 3d selective nef complexes: Data structure, algorithms,and implementation. In Proc. 11th European Symposium on Algorithms, pages174–186, 2003. [55]

190. T. A. Grandine. Applications of contouring. SIAM Review, 42:297–316, 2000.[117]

Page 340: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

332 References

191. T. A. Grandine and F. W. Klein. A new approach to the surface intersectionproblem. Computer Aided Geometric Design, 14:111–134, 1997. [117, 152]

192. G.-M. Greuel and G. Pfister. A Singular introduction to commutative alge-bra. Springer-Verlag, Berlin, 2002. With contributions by Olaf Bachmann,Christoph Lossen and Hans Schonemann. [147]

193. A. Griewank. Evaluating derivatives: principles and techniques of algorithmicdifferentiation. Society for Industrial and Applied Mathematics, Philadelphia,PA, USA, 2000. [191]

194. V. Guillemin and A. Pollack. Differential Topology. Prentice Hall, EnglewoodCliffs, NJ, 1974. [304]

195. P. Hachenberger and L. Kettner. Boolean operations on 3D selective Nefcomplexes: Optimized implementation and experiments. In Proc. of 2005ACM Symposium on Solid and Physical Modeling (SPM’05), pages 163–174,Cambridge, MA, June 2005. [55]

196. D. Halperin. Arrangements. In J. E. Goodman and J. O’Rourke, edi-tors, Handbook of Discrete and Computational Geometry, chapter 24, pages529–562. Chapman & Hall/CRC, 2nd edition, 2004. [2, 30, 42, 66]

197. D. Halperin, L. E. Kavraki, and J.-C. Latombe. Robotics. In J. E. Goodmanand J. O’Rourke, editors, Handbook of Discrete and Computational Geometry,chapter 41, pages 755–778. CRC Press LLC, Boca Raton, FL, 1997. [116]

198. D. Halperin and E. Leiserowitz. Controlled perturbation for arrangements ofcircles. International Journal of Computational Geometry and Applications,14(4 & 5):277–310, 2004. [50, 52, 53]

199. D. Halperin and M. H. Overmars. Spheres, molecules, and hidden surfaceremoval. Computational Geometry: Theory and Applications, 11(2):83–102,1998. [63, 64]

200. D. Halperin and C. R. Shelton. A perturbation scheme for spherical arrange-ments with application to molecular modeling. Comput. Geom. Theory Appl.,10:273–287, 1998. [50, 64]

201. I. Haran and D. Halperin. An experimental study of point location in generalplanar arrangements. In Proc. ALENEX 2006, 2006. To appear. [23, 31]

202. J. Harris. Algebraic Geometry, a First Course, volume 133 of Graduate Textsin Math. New-York, Springer-Verlag, 1992. [146]

203. A. Hatcher. Algebraic Topology. Cambridge University Press, 2002. [283]204. S. Hert, M. Hoffmann, L. Kettner, S. Pion, and M. Seel. An adaptable and

extensible geometry kernel. In Proc. Workshop on Algorithm Engineering,volume 2141 of Lecture Notes Comput. Sci., pages 79–90. Springer-Verlag, 2001.[26, 39]

205. D. Hilbert. Foundations of Geometry (Grundlagen der Geometrie). OpenCourt, 1971. [118]

206. D. Hilbert and S. Cohn-Vossen. Geometry and the Imagination. Reprint fromthe American Mathematical Society, 1999. [177]

207. K. Hildebrandt, K. Polthier, and M. Wardetzky. On the convergence of metricand geometric properties of polyhedral surfaces. To appear in Geom. Dedicata.[158]

208. M. W. Hirsch. Differential Topology. Springer-Verlag, New York, NY, 1976.[184, 249]

209. S. Hirsch and D. Halperin. Hybrid motion planning: Coordinating two discsmoving among polygonal obstacles in the plane. In Proc. 5th Workshop onAlgorithmic Foundations of Robotics, pages 225–241, 2002. [58]

Page 341: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

References 333

210. H. Hiyoshi and K. Sugihara. Improving continuity of Voronoi-based interpola-tion over Delaunay spheres. Comput. Geom., 22(1-3), 2002. [242]

211. S. Ho, S. Sarma, and Y. Adachi. Real-time interference analysis between a tooland an environment. Computer-Aided Design, 33(13):935–947, 2001. [59]

212. IEEE Standard for binary floating point arithmetic, ANSI/IEEE Std 754 −1985. New York, NY, 1985. Reprinted in SIGPLAN Notices, 22(2):9–25, 1987.[119]

213. O. Ilushin, G. Elber, D. Halperin, R. Wein, and M.-S. Kim. Precise globalcollision detection in multi-axis machining. Computer-Aided Design, 37(9):909–920, Aug 2005. [59]

214. J. Jost. Riemannian Geometry and Geometric Analysis. Universitext. Springer-Verlag, 2002. [305]

215. M. Karavelas. A robust and efficient implementation for the segment voronoidiagram. In Proc. International Symposium on Voronoi Diagrams in Scienceand Engineering, pages 51–62, 2004. [115]

216. M. Karavelas and M. Yvinec. Dynamic additively weighted voronoi diagramsin 2d. In Proc. 10th European Symposium on Algorithms, pages 586–598, 2002.[115]

217. M. Karavelas and M. Yvinec. The Voronoi diagram of convex objects in theplane. In Proc. 11th European Symposium on Algorithms, pages 337–348, 2003.[106, 107, 108, 109]

218. M. I. Karavelas and I. Z. Emiris. Predicates for the planar additively weightedVoronoi diagram. Technical Report ECG-TR-122201-01, INRIA Sophia-Antipolis, 2002. [109]

219. M. I. Karavelas and I. Z. Emiris. Root comparison techniques applied tocomputing the additively weighted Voronoi diagram. In Proc. 14th ACM-SIAM Sympos. Discrete Algorithms (SODA), pages 320–329, 2003. [109, 136]

220. L. E. Kavraki, P. Svestka, J.-C. Latombe, and M. H. Overmars. Probabilisticroadmaps for path planning in high dimensional configuration spaces. IEEETrans. Robot. Autom., 12:566–580, 1996. [58]

221. L. Kettner, K. Mehlhorn, S. Pion, S. Schirra, and C. Yap. Classroom examplesof robustness problems in geometric computations. In Proc. 12th EuropeanSymposium on Algorithms, volume 3221 of Lecture Notes Comput. Sci., pages702–713. Springer-Verlag, 2004. [317]

222. L. Kettner and S. Naher. Two computational geometry libraries: LEDA andCGAL. In J. E. Goodman and J. O’Rourke, editors, Handbook of Discrete andComputational Geometry, chapter 65, pages 1435–1463. CRC Press LLC, BocaRaton, FL, second edition, 2004. [3, 66, 316]

223. L. Kettner, J. Rossignac, and J. Snoeyink. The Safari interface for visualizingtime-dependent volume data using iso-surfaces and contour spectra. Compu-tational Geometry: Theory and Applications, 25:97–116, 2003. [308]

224. L. Kettner and J. Snoeyink. A prototype system for visualizing time-dependentvolume data. In Proc. 17th Ann. Symp. Computational Geometry, pages327–328. ACM Press, 2001. [308]

225. J. Keyser, T. Culver, M. Foskey, S. Krishnan, and D. Manocha. ESOLID: Asystem for exact boundary evaluation. Computer-Aided Design, 36(2):175–193,2004. [4]

226. J. Keyser, T. Culver, D. Manocha, and S. Krishnan. Efficient and exact ma-nipulation of algebraic points and curves. Computer-Aided Design, 32(11):649–662, 2000. [4]

Page 342: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

334 References

227. D.-S. Kim, C.-H. Cho, Y. Cho, C. I. Won, and D. Kim. Pocket recognition on aprotein using Euclidean Voronoi diagrams of atoms. In Proc. 3rd InternationalConference on Computational Science and its Applications, volume 1, pages707–715, 2005. [116]

228. D.-S. Kim, D. Kim, Y. Cho, J. Ryu, C.-H. Cho, J. Y. Park, and H.-C. Lee.Visualization and analysis of protein structures using Euclidean Voronoi di-agrams of atoms. In Proc. 3rd International Conference on ComputationalScience and its Applications, volume 1, pages 993–1002, 2005. [116]

229. D. A. Klain and G.-C. Rota. Introduction to Geometric Probability. CambridgeUniversity Press, 1997. [158]

230. R. Klein. Concrete and Abstract Voronoi Diagrams, volume 400 of LectureNotes Comput. Sci. Springer-Verlag, 1989. [92, 93]

231. R. Klein, K. Mehlhorn, and S. Meiser. Randomized incremental constructionof abstract Voronoi diagrams. Comput. Geom. Theory Appl., 3(3):157–184,1993. [102, 109]

232. W. Krandick and K. Mehlhorn. New bounds for the descartes method. J. ofSymb. Comp., 41(1), Jan 2006. [135]

233. S. Krishnan and D. Manocha. An efficient intersection algorithm based onlower dimensional formulation. ACM Transactions on Computer Graphics,16:74–106, 1997. [117]

234. F. Labelle and J. Shewchuk. Anisotropic voronoi diagrams and guaranteed-quality anisotropic mesh generation. In Proc. 19th Ann. Symposium on Com-putational Geometry, pages 191–200. ACM Press, 2003. [86]

235. J. M. Lane and R. F. Riesenfeld. Bounds on a polynomial. BIT, 21(1):112–117,1981. [135]

236. S. Lang. Algebra. Addison-Wesley, 1980. [125, 148]237. J.-C. Latombe. Robot Motion Planning. Kluwer Academic Publishers, Boston,

1991. [57, 116]238. S. Lazard, L. M. Penaranda, and S. Petitjean. Intersecting quadrics: An effi-

cient and exact implementation. In Proc. 20th Ann. Sympos. Comput. Geom.,pages 419–428, 2004. [50]

239. G. Leibon and D. Letscher. Delaunay triangulations and Voronoi diagrams forRiemannian manifolds. In Proc. 16th Ann. Sympos. Comput. Geom., pages341–349, 2000. [69]

240. E. Leiserowitz and S. Hirsch. Exact construction of Minkowski sums of poly-gons and a disc with application to motion planning. Technical Report ECG-TR-181205-01, Tel-Aviv University, 2002. [57, 58]

241. J. Levin. Algorithm for drawing pictures of solid objects composed of quadraticsurfaces. Commun. ACM, 19(10):555–563, Oct. 1976. [50]

242. C. Li and C. Yap. A new constructive root bound for algebraic expressions.In Proc. 12th ACM-SIAM Symposium on Discrete Algorithms, pages 496–505,2001. [35, 140]

243. A. Lieutier. Any open bounded subset of ∇n has the same homotopy typethan its medial axis. Computer-Aided Design, 11(36):1029–1046, 2004. [114]

244. W. E. Lorensen and H. E. Cline. Marching cubes: A high resolution 3d surfaceconstruction algorithm. SIGGRAPH Comput. Graph., 21(4):163–169, 1987.[188, 189]

245. V. Luchnikov, M. Gavrilova, and N. Medvedev. A new development of theVoronoi-Delaunay technique for analysis of pores in packings of non-spherical

Page 343: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

References 335

objects and in packings confined in containers. In Proc. of the 21st Int. Con-ference on Applied Physics, volume 1, pages 273–275, 2001. [116]

246. V. Luchnikov, N. Medvedev, and M. Gavrilova. The Voronoi-Delaunay ap-proach for modeling the packing of balls in a cylindrical container. In Proc.Int. Conf. Computational Science, volume 1 of Lecture Notes in ComputerScience, pages 748–752. Springer, 2001. [116]

247. F. S. Macaulay. On the resolution of a given modular system into primarysystems including some properties of Hilbert numbers. Math. Ann., 74(1):66–121, 1913. [142]

248. A. Mantler and J. Snoeyink. Intersecting red and blue line segments in op-timal time and precision. In J. Akiyama, M. Kano, and M. Urabe, editors,Discrete and Computational Geometry, Japanese Conference, JCDCG 2000,Tokyo, Japan, November, 22-25, 2000, Revised Papers, volume 2098 of LectureNotes in Computer Science, pages 244–251. Springer, 2001. [54]

249. J. Matousek. Lectures on Discrete Geometry, volume 212 of Graduate Texts inMathematics. Springer-Verlag, 2002. [2, 66]

250. Y. Matsumoto. An Introduction to Morse Theory, volume 208 of Translationsof Mathematical Monographs. American Mathematical Society, 2002. [295]

251. K. Mehlhorn and S. Naher. LEDA: A Platform for Combinatorial and Geo-metric Computing. Cambridge University Press, Cambridge, UK, 2000. [4, 9,11, 38, 50, 55, 316]

252. G. Melquiond and S. Pion. Formally certified floating-point filters for homoge-nous geometric predicates. Special issue on REAL NUMBERS of TheoreticalInformatics and Applications, 2006. to appear. [123, 154]

253. P. G. Mezey. Molecular surfaces. In K. B. Lipkowitz and D. B. Boyd, editors,Reviews in Computational Chemistry, volume 1. VCH Publishers, 1990. [64]

254. M. Mignotte. Mathematics for Computer Algebra. Springer-Verlag, 1992. [140]255. J. W. Milnor. Morse Theory. Princeton University Press, Princeton, NJ, 1963.

[295]256. J. S. B. Mitchell. Shortest paths and networks. In J. E. Goodman and

J. O’Rourke, editors, Handbook of Discrete and Computational Geometry,chapter 24, pages 445–466. CRC Press LLC, Boca Raton, FL, 1997. [116]

257. R. E. Moore. Interval Analysis. Prentice Hall, Englewood Cliffs, NJ, 1966.[120]

258. F. Morgan. Minimal surfaces, crystals, and norms on Rn. In Proc. 7th Ann.Sympos. Comput. Geom., pages 204–213, 1991. [161, 171]

259. J.-M. Morvan and B. Thibert. Smooth surface and triangular mesh: Compar-ison of the area, the normals and the unfolding. In ACM Symposium on SolidModeling and Applications, pages 147–158, 2002. [252]

260. J.-M. Morvan and B. Thibert. Approximation of the normal vector field andthe area of a smooth surface. Discrete & Computational Geometry, 32(3):383–400, 2004. [162, 163, 164]

261. B. Mourrain. Computing isolated polynomial roots by matrix methods. J. ofSymbolic Computation, Special Issue on Symbolic-Numeric Algebra for Poly-nomials, 26(6):715–738, Dec. 1998. [141]

262. B. Mourrain, F. Rouillier, and M.-F. Roy. Bernstein’s basis and real root iso-lation. In J. E. Goodman, J. Pach, and E. Welzl, editors, Combinatorial andComputational Geometry, Mathematical Sciences Research Institute Publica-tions, pages 459–478. Cambridge University Press, 2005. [135, 136]

Page 344: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

336 References

263. B. Mourrain and J.-P. Tecourt. Isotopic meshing of a real algebraic surface.Technical Report RR-5508, INRIA-Sophia Antipolis, France, Feb. 2005. 21 pp.[187, 213, 217, 220, 222]

264. B. Mourrain, J.-P. Tecourt, and M. Teillaud. Sweeping an arrangement ofquadrics in 3d. In Proc. 19th European Workshop on Computational Geometry,pages 31–34, 2003. [46]

265. B. Mourrain, J.-P. Tecourt, and M. Teillaud. On the computation of anarrangement of quadrics in 3d. Computational Geometry: Theory and Ap-plications, 30:145–164, 2005. [46, 47]

266. B. Mourrain and P. Trebuchet. Algebraic methods for numerical solving. InProc. of the 3rd International Workshop on Symbolic and Numeric Algorithmsfor Scientific Computing’01 (Timisoara, Romania), pages 42–57, 2002. [141]

267. B. Mourrain and P. Trebuchet. Generalised normal forms and polynomialsystem solving. In M. Kauers, editor, Proc. Intern. Symp. on Symbolic andAlgebraic Computation, pages 253–260. New-York, ACM Press., 2005. [141]

268. B. Mourrain, M. Vrahatis, and J. Yakoubsohn. On the complexity of isolatingreal roots and computing with certainty the topological degree. J. of Complex-ity, 18(2):612–640, 2002. [135]

269. K. Mulmuley. A fast planar partition algorithm, I. J. Symbolic Comput.,10(3-4):253–280, 1990. [23]

270. K. Mulmuley. A fast planar partition algorithm, II. J. ACM, 38:74–103, 1991.[32]

271. D. A. Musser and A. A. Stepanov. Generic programming. In Proc. In-tern. Symp. on Symbolic and Algebraic Computation, LNCS 358, pages 13–25.Springer-Verlag, 1988. [314]

272. N. Myers. Traits: A new and useful template technique. C++ Report, 7(5):32–35, 1995. [314]

273. A. Nanevski, G. Blelloch, and R. Harper. Automatic generation of stagedgeometric predicates. Higher-Order and Symbolic Computation, 16(4):379–400,Dec. 2003. [123]

274. W. Nef. Beitrage zur Theorie der Polyeder. Herbert Lang, Bern, 1978. [55]275. C. O’Dunlaing and C. K. Yap. A “retraction” method for planning the motion

of a disk. J. Algorithms, 6:104–111, 1985. [57]276. A. Okabe, B. Boots, and K. Sugihara. Spatial Tessellations: Concepts and

Applications of Voronoi Diagrams. John Wiley & Sons, Chichester, UK, 1992.[69]

277. G. J. Olling, B. K. Choi, and R. B. Jerard. Machining Impossible Shapes.Kluwer Academic Publishers, 1998. [59]

278. J. Owen and A. Rockwood. Intersection of general implicit surfaces. In Geomet-ric Modeling: Algorithms and New Trends, pages 335–345. SIAM, Philadelphia,1987. [117]

279. E. Packer. Finite-precision approximation techniques for planar arrangementsof line segments. M.Sc. thesis, Tel Aviv University, Tel Aviv, Israel, 2002. [50]

280. M. P. Patrikalakis and T. Maekawa. Shape Interrogation for Computer AidedDesign and Manufacturing. Springer Verlag, 2002. [117]

281. S. Petitjean and E. Boyer. Regular and non-regular point sets: Properties andreconstruction. Comput. Geom. Theory Appl., 19:101–126, 2001. [269]

282. S. Pion. De la geometrie algorithmique au calcul geometrique. These de doc-torat en sciences, Universite de Nice-Sophia Antipolis, France, 1999. TU-0619http://www.inria.fr/rrrt/tu-0619.html. [154]

Page 345: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

References 337

283. S. Pion. Interval arithmetic: An efficient implementation and an applicationto computational geometry. In Workshop on Applications of Interval Analysisto systems and Control, pages 99–110, 1999. [154]

284. S. Pion and M. Teillaud. Towards a CGAL-like kernel for curves. TechnicalReport ECG-TR-302206-01, MPI Saarbrucken, INRIA Sophia-Antipolis, 2003.[39]

285. S. Pion and C. K. Yap. Constructive root bound for k-ary rational inputnumbers. In Proc. 19th Ann. Sympos. Comput. Geom., pages 256–263, 2003.[35, 140, 155]

286. S. Plantinga and G. Vegter. Isotopic approximation of implicit curves andsurfaces. In SGP ’04: Proceedings of the 2004 Eurographics/ACM SIGGRAPHsymposium on Geometry processing, pages 245–254, New York, NY, USA, 2004.ACM Press. [187, 190, 196, 198, 200, 227]

287. H. Pottmann and J. Wallner. Computational Line Geometry. Springer-Verlag,Berlin, Heidelberg, 2001. [2]

288. F. P. Preparata and M. I. Shamos. Computational Geometry: An Introduction.Springer-Verlag, New York, NY, 1985. [317]

289. M. A. Price and C. G. Armstrong. Hexahedral mesh generation by medialsurface subdivision: Part II, solids with flat and concave edges. InternationalJournal for Numerical Methods in Engineering, 40:111–136, 1997. [116]

290. M. A. Price, C. G. Armstrong, and M. A. Sabin. Hexahedral mesh generationby medial surface subdivision: Part I, solids with convex edges. InternationalJournal for Numerical Methods in Engineering, 38(19):3335–3359, 1995. [116]

291. W. Pugh. Skip lists: a probabilistic alternative to balanced trees. Commun.ACM, 33(6):668–676, 1990. [107]

292. S. Raab. Controlled perturbation for arrangements of polyhedral surfaces withapplication to swept volumes. In Proc. 15th Ann. Symposium on ComputationalGeometry, pages 163–172, 1999. [50]

293. G. Reeb. Sur les points singuliers d’une forme de Pfaff completement integrableou d’une fonction numerique. Comptes Rendus Acad. Sciences Paris, 222:847–849, 1946. [307]

294. F. M. Richards. Areas, volumes, packing, and protein structure. Annu. Rev.Biophys. Bioeng., 6:151–176, 1977. [63]

295. J. Risler. Methodes mathematiques pour la CAO. Masson, 1991. [132]296. V. Rogol. Maximizing the area of an axially-symmetric polygon inscribed by

a simple polygon. Master’s thesis, The Technion, Haifa, Israel, 2003.ftp://ftp.cs.technion.ac.il/pub/barequet/theses/rogol-msc-thesis.

pdf.gz. [63]297. J. Rossignac and M. O’Connor. Sgc: A dimension-independent model for

pointsets with internal structures and incomplete boundaries. In M. Wozny,J. Turner, and K. Preiss, editors, Geometric Modeling for Product Engineering.North-Holland, 1989. [55]

298. F. Rouillier. Solving zero-dimensional polynomial systems throuhg RationalUnivariate Representation. App. Alg. in Eng. Com. Comp., 9(5):433–461, 1999.[142]

299. F. Rouillier and P. Zimmermann. Efficient isolation of a polynomial real roots.Journal of Computational and Applied Mathematics, 162(1):33–50, 2003. [135,136]

Page 346: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

338 References

300. M. Roy. Basic algorithms in real algebraic geometry: from Sturm theorem tothe existential theory of reals. In Lectures on Real Geometry in memoriam ofMario Raimondo, volume 23 of Exposition in Mathematics, pages 1–67, 1996.[138]

301. J. Ruppert. A Delaunay refinement algorithm for quality 2-dimensional meshgeneration. J. Algorithms, 18:548–585, 1995. [182]

302. T. Sakkalis and T. J. Peters. Ambient isotopic approximations for surfacereconstruction and interval solids. In SM ’03: Proceedings of the eighth ACMsymposium on Solid modeling and applications, pages 176–184, New York, NY,USA, 2003. ACM Press. [185]

303. M. F. Sanner, A. J. Olson, and J.-C. Spehner. Fast and robust computation ofmolecular surfaces. In Proc. 11th Ann. Sympos. Comput. Geom., pages C6–C7,1995. [63]

304. E. Scheinerman. When close enough is close enough. American MathematicalMonthly, 107:489–499, 2000. [140]

305. S. Schirra. Robustness and precision issues in geometric computation. In J.-R.Sack and J. Urrutia, editors, Handbook of Computational Geometry, chapter 14,pages 597–632. Elsevier Science Publishers B.V. North-Holland, Amsterdam,2000. [317]

306. S. Schmitt. Improved separation bounds for the diamond operator. TechnicalReport ECG-TR-363108-01, MPI Saarbrucken, 2004. [140, 155]

307. S. Schmitt. The diamond operator – implementation of exact real algebraicnumbers. In Proc. 8th Internat. Workshop on Computer Algebra in Sci-ent. Comput. (CASC 2005), volume 3718 of Lecture Notes in Computer Sci-ence, pages 355–366. Springer, 2005. http://www.mpi-sb.mpg.de/projects/

EXACUS/leda extension/. [38]308. M. Seel. Implementation of planar Nef polyhedra. Research Report MPI-I-

2001-1-003, Max-Planck-Institut fur Informatik, Stuhlsatzenhausweg 85, 66123Saarbrucken, Germany, August 2001. [55]

309. M. Seel. Planar Nef Polyhedra and Generic High-dimensional Geometry. PhDthesis, Universitat des Saarlandes, September 2001. [55]

310. R. Seidel and N. Wolpert. On the exact computation of the topology of real al-gebraic curves. In Proc. 21th Annual Symposium on Computational Geometry,pages 107–115, 2005. [4]

311. M. Sharir. Almost tight upper bounds for lower envelopes in higher dimensions.Discrete Comput. Geom., 12:327–345, 1994. [70]

312. M. Sharir and P. K. Agarwal. Davenport-Schinzel Sequences and Their Geo-metric Applications. Cambridge University Press, New York, 1995. [2, 23, 42,66, 70]

313. V. Sharma and C. Yap. Sharp amortized bounds for descartes and de casteljau’smethods for real root isolation. www.cs.nyu.edu/yap/papers, Oct. 2005. [135]

314. H. Shaul. Improved output-sensitive construction of vertical decompositions oftriangles in three-dimensional space. M.Sc. thesis, School of Computer Science,Tel Aviv University, Tel Aviv, Israel, 2001. [43, 44]

315. H. Shaul and D. Halperin. Improved construction of vertical decompositions ofthree-dimensional arrangements. In Proc. 18th Ann. Sympos. Comput. Geom.,pages 283–292, 2002. [41, 43, 44, 47]

316. A. Sheffer and M. Bercovier. Hexahedral meshing of non-linear volumes usingVoronoi faces and edges. Numerical Methods in Engineering, 49(1):329–351,2000. [116]

Page 347: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

References 339

317. J. R. Shewchuk. Delaunay refinement algorithms for triangular mesh genera-tion. Computational Geometry: Theory and Applications, 22:21–74, 2002. [182]

318. R. Sibson. A brief description of natural neighbour interpolation. In V. Barnet,editor, Interpreting Multivariate Data, pages 21–36. John Wiley & Sons, Chich-ester, 1981. [242]

319. R. B. Simpson. Anisotropic mesh transformations and optimal error control.In Proceedings of the third ARO workshop on Adaptive methods for partial dif-ferential equations, pages 183–198, New York, NY, USA, 1994. Elsevier North-Holland, Inc. [179]

320. S. Smale. On gradient dynamical systems. Ann. of Math., 74:199–206, 1961.[306]

321. J. M. Snyder. Generative modeling for computer graphics and CAD: symbolicshape design using interval analysis. Academic Press, 1992. [187, 190, 194]

322. J. M. Snyder. Interval analysis for computer graphics. SIGGRAPH Comput.Graph., 26(2):121–130, 1992. [187, 190, 194]

323. M. Spivak. Analysis on Manifolds. Perseus Book Publishing, 1965. [299]324. B. T. Stander and J. C. Hart. Guaranteeing the topology of an implicit sur-

face polygonization for interactive modeling. Computer Graphics, 31(AnnualConference Series):279–286, 1997. [187, 223]

325. J. Stillwell. Classical Topology and Combinatorial Group Theory. Springer-Verlag, New York, 1993. [281]

326. B. Tagansky. A new technique for analyzing substructures in arrangements ofpiecewise linear surfaces. Discrete Comput. Geom., 16:455–479, 1996. [42]

327. J.-P. Tecourt. Sur le calcul effectif de la topologie de courbes et surfaces im-plicites. These de doctorat en sciences, Universite de Nice–Sophia Antipolis,France, Dec. 2005. [187, 213, 217, 220, 222]

328. P. Trebuchet. Vers une resolution stable et rapide des equations algebriques.PhD thesis, Universite Pierre et Marie Curie, 2002. [141]

329. G. Vegter. Computational topology. In J. Goodman and J. O’Rourke, editors,CRC Handbook of Discrete and Computational Geometry, chapter 32, pages719–742. Chapman & Hall/CRC, 2004. [277, 295]

330. J. von zur Gathen and J. Gerhard. Modern computer algebra. CambridgeUniversity Press, New York, 1999. [130, 149]

331. R. Wein. High-level filtering for arrangements of conic arcs. In Proc. 10thEuropean Symposium on Algorithms, volume 2461 of Lecture Notes Comput.Sci., pages 884–895, 2002. [3, 11, 35]

332. R. Wein. High-level filtering for arrangements of conic arcs. M.Sc. thesis,School of Computer Science, Tel Aviv University, Tel Aviv, Israel, 2002. [35]

333. R. Wein, E. Fogel, B. Zukerman, and D. Halperin. Advanced programmingtechniques applied to Cgal’s arrangements. In Proc. Workshop on Library-Centric Software Design (LCSD 2005), at the Object-Oriented Programming,Systems, Languages and Applications (OOPSLA) Conference., October 2005.[4, 26]

334. R. Wein and D. Halperin. Generic implementation of the construction of lowerenvelopes of planar curves. Technical Report ECG-TR-361100-01, Tel-AvivUniversity, 2004. [61]

335. R. Wein, O. Ilushin, G. Elber, and D. Halperin. Continuous path verification inmulti-axis nc-machining. In Proc. 20th Annual Symposium on ComputationalGeometry, pages 86–95, 2004. [60, 61]

Page 348: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

340 References

336. R. Wein, J. P. van den Berg, and D. Halperin. The visibility–Voronoi com-plex and its applications. In Proc. 21th Annual Symposium on ComputationalGeometry, pages 63–72, 2005. [65]

337. R. Wein and B. Zukerman. Exact and efficient construction of planar arrange-ments of circular arcs and line segments with applications. Technical report,Tel-Aviv University, 2006. [56]

338. H. Whitney. Complex analytic varieties. Addison-Wesley Publishing Co., Read-ing, Mass.-London-Don Mills, Ont., 1972. [149]

339. H.-M. Will. Fast and efficient computation of additively weighted Voronoi cellsfor applications in molecular biology. In Proc. 6th Scand. Workshop AlgorithmTheory, volume 1432 of Lecture Notes Comput. Sci., pages 310–321. Springer-Verlag, 1998. [116]

340. N. Wolpert. An Exact and Efficient Approach for Computing a Cellin an Arrangement of Quadrics. Ph.D. thesis, Universitat des Saarlandes,Saarbrucken, Germany, 2002. [20, 48]

341. N. Wolpert. Jacobi curves: Computing the exact topology of non-singularalgebraic curves. In G. D. Battista and U. Zwick, editors, Proc. 11th EuropeanSymposium on Algorithms, Lecture Notes Comput. Sci., pages 532–543, 2003.[4, 20]

342. G. Wyvill, C. McPheeters, and B. Wyvill. Data structure for soft objects. TheVisual Computer, 2(4):227–234, February 1986. [188]

343. C. Yap. Towards exact geometric computation. Comput. Geom. Theory Appl.,7(1):3–23, 1997. [140]

344. C. K. Yap. Symbolic treatment of geometric degeneracies. J. Symbolic Com-put., 10:349–370, 1990. [210]

345. C. K. Yap. Fundamental Problems in Algorithmic Algebra. Princeton Univer-sity Press, 1993. [140]

346. C. K. Yap. Robust geomtric computation. In J. E. Goodman and J. O’Rourke,editors, Handbook of Discrete and Computational Geometry, chapter 41, pages927–952. Chapman & Hall/CRC, 2nd edition, 2004. [50, 318]

347. Y. Yomdin. On the general structure of a generic central set. CompositioMath., 43:225–238, 1981. [245]

348. L. Yuan-Shin and C. Tien-Chien. 2-phase approach to global tool interferenceavoidance in 5-axis machining. Computer-Aided Design, 27(10):715–729, 1995.[59]

349. M. Zahle. Integral and current representations of federer’s curvature measures.Arch. Math. (Basel), 46:557–567, 1986. [171]

350. H. K. Zhao, S. Osher, and R. Fedkiw. Fast surface reconstruction using the levelset method. In Proc. IEEE Workshop on Variational and Level Set Methodsin Computer Vision, page 194, 2001. [232, 266]

351. A. Zomorodian. Topology for Computing, volume 16 of Cambridge Mono-graphs on Applied and Computational Mathematics. Cambridge UniversityPress, 2005. [277]

Page 349: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

Index

abstract Voronoi diagram, 92, 109additively weighted Voronoi diagram,

88affine diagrams, 80algebraic numbers, 119α-complex, 238α-shape, 238ambient isotopy, 184anisotropic Voronoi diagram, 86Apollonius diagram, 38, 88arithmetic, 118

Bentley-Ottmann sweep, 4, 7Betti numbers, 285

dependence on coefficient field, 294incremental computation, 290of a tree, 286of the 2-sphere, 286of the projective plane, 293of the torus, 287topological invariance, 289

Boolean set-operation, 55boundary operator, 284Boundary Representation, 49BRep, see Boundary RepresentationBezout resultant, 38

CAD, see cylindrical algebraicdecomposition

chain homotopy, 292chain map, 291Chew’s algorithm for Delaunay mesh

refinement, 202

closed ball property, see topological ballproperty

codimension, 297collapse, 292

elementary, 292simplicial, 292

complexsimplicial, 280

Constructive Solid Geometry, 49contour, 307contour tree, 307contractible, 282convergence

of interval arithmetic, 191Core library, 35correctness

of meshing algorithms, 183critical point, 223, 243, 298

in a direction, 211index, 244maximum, 300minimum, 300non-degenerate, 300saddle, 300

critical value, 223, 298cylindrical algebraic decomposition, 5,

38, 47, 48

Davenport-Schinzel sequence, 23Delaunay refinement

by Chew’s algorithm, 202Delaunay triangulation, 74, 235

restricted, 201, 238

Page 350: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

342 Index

Descartes method, 38design pattern, 25

observer, 27visitor, 32

differential, 295distance function

to sample points, 243duality, 74

Euler characteristic, 280excursion set, see lower level setε-sample, 202, 248

weak ε-sample, 203

fiber, 185filters, 121

dynamic, 122static, 122

floating point, 119flow, 244functor, 34

Gabriel simplex, 237general position, 195, 234generalized polygons, 55generic programming, 25, 31, 314global parameterizability, 191gradient vector field, 303grazing intersections, 195

Hausdorff distance, 251height function, 298Hessian, 299homeomorphism, 249, 279homologous, 285homology, 282homology vector space, 285homotopy, 250, 281homotopy equivalence, 282hybrid motion-planning, 58

IEEE 754 norm, 119Implicit Function Theorem, 299implicit surface, 182inclusion property, 120index

Morse index, 300integers, 118interpolation

scattered data interpolation, 182interval arithmetic, 120, 190isolating interval, 19isosurface, 182isotopy, 184, 250, 282

Jacobi curve, 4, 20, 49Johnson-Mehl diagrams, 88join tree, 308

level set, 223, 301lower level set, 301

Lipschitz function, 205local feature size, 202, 247lower envelope, 70lower level set, 301

Mobius diagram, 81map (continuous function), 279marching cubes, 188maximum, 300medial axis, 110, 244

medial axis transform, 246minimum, 300Morse function, 300

genericity, 302turning a function into a Morse

function, 223Morse inequalities, 302Morse Lemma, 301Morse number, 300Morse theory, 223, 295Morse-Smale complex, 306Morse-Smale function, 305multiplicatively weighted Voronoi

diagram, 82

natural neighbor interpolation, 182natural neighbors, 241Nef polyhedra, 55numerical difficulty, 208

observer design pattern, 27one-root number, 12, 14–16, 20oriented simplex, 280

point location algorithmlandmarks, 23, 31, 33walk, 23, 31, 40

polarity, 75

Page 351: Mathematics and Visualization · Susanne Schmitt Max-Planck-Institut f¨ur Informatik Stuhlsatzenhausweg 85 66123 Saarbr¨ucken sschmitt@mpi-inf.mpg.de Jean-Pierre T´ecourt INRIA

Index 343

pole (Voronoi center), 207, 236power, 79power diagram, 79, 241

quadratic Voronoi diagram, 87

Randomized Incremental Construction,53

randomized incremental construction,99

rational numbers, 119rational univariate representation, 47real numbers, 118Reeb graph, 307regular triangulation, 80, 241regular value, 298remeshing, 213restricted Delaunay triangulation, 201rounding mode, 120

saddle point, 223, 300sample

ε-sample, 202, 248ψ-sample, 202weak ε-sample, 203weak ψ-sample, 203

scattered data interpolation, 182seed triangle, 206silhouette, 210simplex, 279

d-dimensional, 279oriented, 280

simplicial k-chain, 283simplicial k-cycle, 284simplicial collapse, 292simplicial complex, 280simplicial homology, 282

simply connected, 282sliver tetrahedron, 235smooth surface, 295Snyder’s meshing algorithm, 191–196space of spheres, 75spherical diagrams, 84split tree, 309stable manifold, 244, 304Sturm sequences, 4, 19, 47subcomplex, 280submanifold, 297surface

implicit, 182smooth, 295

surface Delaunay ball, 201surface extraction, 182surface network, 306Sylvester matrix formulation, 38systems of equations

zero-dimensional, 213

tangent space, 297tangent vector, 297topological ball property, 209, 228, 241topological space, 278traits, 25–28, 30, 32–34, 40, 314, 315triangulation, 280tubular neighborhood, 185, 202, 247

unstable manifold, 304

vertical decomposition, 42visitor design pattern, 32Voronoi diagram

restricted, 238Voronoi diagram, 72, 235Voronoi hierarchy, 106