330 likes | 580 Views
An Introduction to Computational Geometry. Joseph S. B. Mitchell Stony Brook University. Mini-Course Info. Joe Mitchell (Math 1-109) jsbm@ams.sunysb.edu (631-632-8366) http://www.ams.sunysb.edu/~jsbm/nasa/tutorial.html Recommended Texts:
E N D
An Introduction to Computational Geometry Joseph S. B. Mitchell Stony Brook University
Mini-Course Info • Joe Mitchell (Math 1-109) jsbm@ams.sunysb.edu (631-632-8366) • http://www.ams.sunysb.edu/~jsbm/nasa/tutorial.html • Recommended Texts: • Computational Geometry, by Mark de Berg, Marc van Kreveld, Mark Overmars and OtfriedSchwartzkopf (2nd edition) • Computational Geometry in C, by Joe O’Rourke (2nd Edition) • Surveys/Reference books: • CRC Handbook of Discrete and Computational Geometry, editted by Goodman and O’Rourke (2nd edition) • Handbook of Computational Geometry, editted by Sack and Urrutia
Sessions and Topics • Session 1: • Introduction • Convex Hulls in 2D, 3D • A variety of algorithms • Session 2: • Searching for intersections: Plane sweep • Halfspace intersections, low-dimensional linear programming (LP) • Range Search
Sessions and Topics • Session 3: • Triangulation • Proximity: Voronoi/Delaunay diagrams • Point location search • Session 4: • Arrangements • Duality and applications • Visibility graphs, shortest paths
Sessions and Topics • Session 5: • Spatial partitioning, optimization, load balancing • Binary Space Partitions • Clustering trajectories • Session 6: • GeoSect: Overview and algorithms • 3D partitioning • Flow-respecting partitioning
Arrangements Zone(L) L Given a set S of n lines in the plane Arrangement, A(S), is the S-induced decomposition of the plane into cells (2-faces), edges (1-faces), and vertices (0-faces)
Constructing A(S) • Goal: Build a DCEL of the planar graph of vertices/edges of A(S) • Complexity: O(n2 ) faces, edges, vertices • Incremental construction: • Zone Theorem: The zone, Z(L), of line L has total complexity O(n) • Proof: Induction • Add lines one by one; cost of adding line Liis O(i), so total time is O(n2 )
More Arrangements • Huge subfield: Combinatorics/algorithms • Arrangements of • Segments (Bentley-Ottmann sweep) • Circles • Curves • Higher dimensions: Surfaces • Applications: Motion planning, optimization, Voronoi diagrams, pattern matching, fundamental to many algorithms • Further motivation: Point-line duality
Duality Key Property: p is above/on/below L iff L* is above/on/below p* r* P* r q p L* L q* Point p=(px,py) and line L: y=mx+bin the “primal” Line p*: y=pxx-pyand point L*=(m,-b)
Duality A really nice demo (MIT) Applet Another nice (simple) demo (Andrea) Applet
Applications of Duality Degeneracy testing: Any 3 collinear points? Stabbing line segments Min-area triangle Halfplane range search Ham sandwich cuts Computing discrepancy Sorting points around each other point: visibility graphs
Geometric Shortest Paths • Given: • (Outer) Polygon P • Polygonal obstacles • Points s and t • Find: • shortest s-t path • avoiding obstacles • Robotics motion planning
Basic Optimal Paths Visibility Graph Local optimality: taut string Naïve algorithm: O(n3) Better algorithms: O(n2 log n) sweep O(n2 ) duality BEST: Output-sensitive alg: O(|E|+n log n)
Visibility Graphs Visibility Graph applet Shows also the topological sweep of an arrangement, animated.
Example: Shortest Path in Simple Polygon Triangulate P Determine the “sleeve” defined by the triangles in a path in the dual tree, from start to goal WUSTL applet
Shortest Path Map Decomposition of the free space Shortest Paths go through same vertices Construct in time: O(n log n); size O(n)
Optimal Path Map: Control Law Fix s Vary t
Optimal Paths: Weighted Regions Different costs/nmi in different regions (e.g. weather intensity) Local optimality: Snell’s Law of Refraction Can also apply grid-based searching
Other Optimal Path Problems • 3D shortest paths: NP-hard • But good approximations • Turn constraints: • Min-# turns: Link distance • Bounds on turn angles (radius of curvature) • “Thick” paths (for air lanes)
Turn-Constrained Weighted Costs: Weather Route Generator (WRG) fix Departure space DFW
Weather Avoidance Algorithms for En Route Aircraft Sector 3 Flows
Routing MaxFlow Find maximum number of air lanes through the mincut
Example: Robot Motion Planning Shows Minkowski sum, visibility graph, shortest path for a disk, triangle, etc. applet
Example: Robot Motion Planning Voronoi method of robot motion planning applet
Probabilistic Road Maps Movie (Stanford)