Computational Geometry in C (2nd Ed.)
Table of Contents
(Page numbers in braces only approximate.)
Preface {v}
1 Polygon Triangulation {1}
1.1 Art Gallery Theorems {1}
1.2 Triangulation: Theory {13}
1.3 Area of Polygon {19}
1.4 Implementation Issues {27}
1.5 Segment Intersection {32}
1.6 Triangulation: Implementation {37}
2 Polygon Partitioning {51}
2.1 Monotone Partitioning {51}
2.2 Trapezoidalization {54}
2.3 Partition into Monotone Mountains {59}
2.4 Linear-Time Triangulation {65}
2.5 Convex Partitioning {67}
3 Convex Hulls in Two Dimensions {73}
3.1 Definitions of Convexity and Convex Hulls {74}
3.2 Naive Algorithms for Extreme Points {77}
3.3 Gift Wrapping {79}
3.4 QuickHull {81}
3.5 Graham's Algorithm {84}
3.6 Lower Bound {101}
3.7 Incremental Algorithm {103}
3.8 Divide and Conquer {105}
3.9 Additional Exercises {111}
4 Convex Hulls in Three Dimensions {119}
4.1 Polyhedra {119}
4.2 Hull Algorithms {129}
4.3 Implementation of Incremental Algorithm {137}
4.4 Polyhedral Boundary Representations {170}
4.5 Randomized Incremental Algorithm {174}
4.6 Higher Dimensions {175}
4.7 Additional Exercises {178}
5 Voronoi Diagrams {181}
5.1 Applications: Preview {181}
5.2 Definitions and Basic Properties {183}
5.3 Delaunay Triangulations {188}
5.4 Algorithms {193}
5.5 Applications in Detail {198}
5.6 Medial Axis {210}
5.7 Connection to Convex Hulls {214}
5.8 Connection to Arrangements {224}
6 Arrangements {227}
6.1 Introduction {227}
6.2 Combinatorics of Arrangements {229}
6.3 Incremental Algorithm {234}
6.4 Three and Higher Dimensions {235}
6.5 Duality {236}
6.6 Higher-Order Voronoi Diagrams {241}
6.7 Applications {245}
6.8 Additional Exercises {255}
7 Search and Intersection 257
7.1 Introduction {257}
7.2 Segment-Segment Intersection {257}
7.3 Segment-Triangle Intersection {261}
7.4 Point in Polygon {279}
7.5 Point in Polyhedron {286}
7.6 Intersection of Convex Polygons {294}
7.7 Intersection of Segments {308}
7.8 Intersection of Nonconvex Polygons {311}
7.9 Extreme Point of Convex Polygon {314}
7.10 Extremal Polytope Queries {317}
7.11 Planar Point Location {332}
8 Motion Planning {343}
8.1 Introduction {343}
8.2 Shortest Paths {344}
8.3 Moving a Disk {350}
8.4 Translating a Convex Polygon {352}
8.5 Moving a Ladder {365}
8.6 Robot Arm Motion {376}
8.7 Separability {395}
9 Sources {405}
9.1 Bibliographies and FAQ's {405}
9.2 Textbooks {406}
9.3 Book Collections {407}
9.4 Monographs {408}
9.5 Journals {408}
9.6 Conference Proceedings {409}
9.7 Software {409}
Bibliography {410}