001Download PDF (284.5 KB)front-matter
CGAL Arrangements and Their Applications
Contents
Preface
What This Book Contains
What You Should Know before Reading This Book
How to Obtain and Install Cgal
License
Style Conventions
Exercises
The Cover
Errata
Acknowledgments
002Download PDF (274.2 KB)fulltext
Bibliography
Index
003Download PDF (468.4 KB)fulltext
Chapter 2 Basic Arrangements
2.1 Representation of Arrangements: The Dcel
2.2 The Main Arrangement Class
2.2.1 Traversing the Arrangement
Traversal Methods for an Arrangement Vertex
Traversal Methods for an Arrangement Halfedge
Traversal Methods for an Arrangement Face
2.2.2 Modifying the Arrangement
Inserting Non-Intersecting x-Monotone Curves
Manipulating Isolated Vertices
Manipulating Halfedges
Advanced Insertion Functions
2.2.3 Input/Output Functions
Input/Output Stream
Output Qt-Widget Stream
2.3 Application: Obtaining Silhouettes of Polytopes
2.4 Bibliographic Notes and Remarks
2.5 Exercises
004Download PDF (371.8 KB)fulltext
Chapter 3 Queries and Free Functions
3.1 Issuing Queries on an Arrangement
3.1.1 Point-Location Queries
Choosing a Point-Location Strategy
3.1.2 Vertical Ray Shooting
3.2 Two Algorithmic Frameworks: Plane Sweep and Zone Construction
The Plane-Sweep Algorithm
The Zone-Construction Algorithm
3.3 Batched Point-Location
3.4 Free Insertion Functions
3.4.1 Incremental Insertion Functions
Inserting Non-Intersecting Curves
Inserting (Possibly) Intersecting x-Monotone Curves
Inserting General Curves
Inserting Points
3.4.2 Aggregate Insertion Functions
3.5 Removing Vertices and Edges
3.6 Vertical Decomposition
3.6.1 Application: Decomposing an Arrangement of Line Segments
3.7 Bibliographic Notes and Remarks
3.8 Exercises
005Download PDF (305.5 KB)fulltext
Chapter 4 Arrangements of Unbounded Curves
4.1 Representing Arrangements of Unbounded Curves
4.1.1 Basic Manipulation and Traversal Methods
4.1.2 Free Functions
4.2 Point-Line Duality
4.2.1 Application: Minimum-Area Triangle
4.2.2 A Note on the Input Precision
4.3 Bibliographic Notes and Remarks
4.4 Exercises
006Download PDF (924.6 KB)fulltext
Chapter 5 Arrangement-Traits Classes
5.1 The Hierarchy of Traits-Class Concepts
5.1.1 The Basic Concept
5.1.2 Supporting Intersections
5.1.3 Supporting Arbitrary Curves
5.1.4 The Landmark Concept
5.1.5 Supporting Unbounded Curves
5.1.6 The Traits Adaptor
5.2 Traits Classes for Line Segments and Linear Objects
5.2.1 The Caching Segment-Traits Class
5.2.2 The Non-Caching Segment-Traits Class
5.2.3 The Linear-Traits Class
5.3 The Polyline-Traits Class
5.4 Traits Classes for Algebraic Curves
5.4.1 A Traits Class for Circular Arcs and Line Segments
5.4.2 A Traits Class for Conic Arcs
5.4.3 A Traits Class for Arcs of Rational Functions
5.4.4 A Traits Class for Planar Bézier Curves
5.4.5 A Traits Class for Planar Algebraic Curves of Arbitrary Degree
5.5 Traits-Class Decorators
5.6 Application: Polygon Orientation
5.7 Bibliographic Notes and Remarks
5.8 Exercises
007Download PDF (455.8 KB)fulltext
Chapter 6 Extending the Arrangement
6.1 The Notification Mechanism
6.2 Extending the Dcel
6.2.1 Extending the Dcel Faces
6.2.2 Extending All the Dcel Records
6.2.3 Input/Output for Arrangements with Auxiliary Data
6.3 Overlaying Arrangements
6.4 Storing the Curve History
6.4.1 Traversing an Arrangement with History
6.4.2 Modifying an Arrangement with History
6.4.3 Input/Output for Arrangements with Curve History
6.5 Application: Polygon Repairing and Winding Numbers
6.6 Bibliographic Notes and Remarks
6.7 Exercises
008Download PDF (265.9 KB)fulltext
Chapter 7 Adapting to Boost Graphs
7.1 The Primal Arrangement Representation
7.2 The Dual Arrangement Representation
7.3 Application: Largest Common Point Sets under -Congruence
7.4 Bibliographic Notes and Remarks
7.5 Exercises
009Download PDF (710.0 KB)fulltext
Chapter 8 Operations on (Curved) Polygons
8.1 Operations on Linear Polygons
8.1.1 Polygons with Holes
8.1.2 Operations on Polygons with Holes
8.1.3 Point Containment and Non-Regularized Operations
8.1.4 Connecting Holes
8.1.5 Operations on Polygon Sets
8.1.6 A Sequence of Set Operations
8.1.7 Inserting Non-Intersecting Polygons
8.1.8 Performing Multiway Operations
8.2 Operations on Curved Polygons
8.2.1 The Traits-Class Concepts
8.2.2 Operations on Polygons with Circular Arcs
8.2.3 General-Polygon Set Traits-Adaptor
8.3 Application: Multiway Operations on General Polygons
8.4 Application: Obtaining Silhouettes of Polyhedra
8.5 Bibliographic Notes and Remarks
8.6 Exercises
010Download PDF (577.9 KB)fulltext
Chapter 9 Minkowksi Sums and Offset Polygons
9.1 Computing the Minkowski Sum of Two Polygons
9.1.1 Computing Minkowski Sum Using Convolutions
9.1.2 Decomposition Strategies
9.2 Offsetting a Polygon
9.2.1 Approximating the Offset with a Guaranteed Error Bound
9.2.2 Computing the Exact Offset
9.3 Motion-Planning Applications
9.3.1 Application: A Translating Polygonal Robot
9.3.2 Application: Coordinating Two Disc Robots
9.4 Bibliographic Notes and Remarks
9.5 Exercises
011Download PDF (492.3 KB)fulltext
Chapter 10 Envelopes
10.1 Envelopes of Curves in the Plane
10.1.1 Representing the Envelope
10.1.2 Constructing the Envelope Diagram
10.1.3 The Envelope-Software Components
10.1.4 Using the Traits Classes
10.2 Application: Nearest Jeep over Time
10.3 Envelopes of Surfaces in 3-Space
10.3.1 The Envelope-Traits Concept
10.3.2 Using the Envelope-Traits Classes
10.4 Application: Locating the Farthest Point
10.5 Bibliographic Notes and Remarks
10.6 Exercises
012Download PDF (246.3 KB)fulltext
Chapter 11 Prospects
11.1 Arrangements on Curved Surfaces
11.2 Higher-Dimensional Arrangements
11.3 Fixed-Precision Geometric Computing
11.4 More Applications
11.5 Exercises
013Download PDF (274.2 KB)back-matter
Bibliography
Index