Download presentation
Presentation is loading. Please wait.
Published byJoanna James Modified over 9 years ago
1
An Introduction to Computational Geometry Joseph S. B. Mitchell Stony Brook University
2
Mini-Course Info Joe Mitchell (Math 1-109) Joe Mitchell (Math 1-109) jsbm@ams.sunysb.edu (631-632-8366) jsbm@ams.sunysb.edu (631-632-8366)jsbm@ams.sunysb.edu http://www.ams.sunysb.edu/~jsbm/nasa/tutorial.html http://www.ams.sunysb.edu/~jsbm/nasa/tutorial.html http://www.ams.sunysb.edu/~jsbm/nasa/tutorial.html Recommended Texts: Recommended Texts: Computational Geometry, by Mark de Berg, Marc van Kreveld, Mark Overmars and Otfried Schwartzkopf (2 nd edition)Computational Geometry, by Mark de Berg, Marc van Kreveld, Mark Overmars and Otfried Schwartzkopf (2 nd edition) Computational Geometry in C, by Joe O’Rourke (2 nd Edition)Computational Geometry in C, by Joe O’Rourke (2 nd Edition) Surveys/Reference books: Surveys/Reference books: CRC Handbook of Discrete and Computational Geometry, editted by Goodman and O’Rourke (2 nd edition)CRC Handbook of Discrete and Computational Geometry, editted by Goodman and O’Rourke (2 nd edition) Handbook of Computational Geometry, editted by Sack and UrrutiaHandbook of Computational Geometry, editted by Sack and Urrutia
3
Sessions and Topics Session 1: Session 1: IntroductionIntroduction Convex Hulls in 2D, 3DConvex Hulls in 2D, 3D A variety of algorithmsA variety of algorithms Session 2: Session 2: Searching for intersections: Plane sweepSearching for intersections: Plane sweep Halfspace intersections, low-dimensional linear programming (LP)Halfspace intersections, low-dimensional linear programming (LP) Range SearchRange Search 3
4
Sessions and Topics Session 3: Session 3: TriangulationTriangulation Proximity: Voronoi/Delaunay diagramsProximity: Voronoi/Delaunay diagrams Point location searchPoint location search Session 4: Session 4: ArrangementsArrangements Duality and applicationsDuality and applications Visibility graphs, shortest pathsVisibility graphs, shortest paths 4
5
Sessions and Topics Session 5: Session 5: Spatial partitioning, optimization, load balancingSpatial partitioning, optimization, load balancing Binary Space PartitionsBinary Space Partitions Clustering trajectoriesClustering trajectories Session 6: Session 6: GeoSect: Overview and algorithmsGeoSect: Overview and algorithms 3D partitioning3D partitioning Flow-respecting partitioningFlow-respecting partitioning 5
6
Arrangements Given a set S of n lines in the plane 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) Arrangement, A(S), is the S-induced decomposition of the plane into cells (2- faces), edges (1-faces), and vertices (0-faces) 6 L Zone(L)
7
Constructing A(S) Goal: Build a DCEL of the planar graph of vertices/edges of A(S) Goal: Build a DCEL of the planar graph of vertices/edges of A(S) Complexity: O(n 2 ) faces, edges, vertices Complexity: O(n 2 ) faces, edges, vertices Incremental construction: Incremental construction: Zone Theorem: The zone, Z(L), of line L has total complexity O(n)Zone Theorem: The zone, Z(L), of line L has total complexity O(n) Proof: InductionProof: Induction Add lines one by one; cost of adding line L i is O(i ), so total time is O(n 2 ) Add lines one by one; cost of adding line L i is O(i ), so total time is O(n 2 ) 7
8
More Arrangements Huge subfield: Combinatorics/algorithms Huge subfield: Combinatorics/algorithms Arrangements of Arrangements of Segments (Bentley-Ottmann sweep)Segments (Bentley-Ottmann sweep) CirclesCircles CurvesCurves Higher dimensions: SurfacesHigher dimensions: Surfaces Applications: Motion planning, optimization, Voronoi diagrams, pattern matching, fundamental to many algorithms Applications: Motion planning, optimization, Voronoi diagrams, pattern matching, fundamental to many algorithms Further motivation: Point-line duality Further motivation: Point-line duality 8
9
Duality Point p=(p x,p y ) and line L: y=mx+b in the “primal” Line p*: y=p x x-p y and point L*=(m,-b) Point p=(p x,p y ) and line L: y=mx+b in the “primal” Line p*: y=p x x-p y and point L*=(m,-b) 9 p q L r L* Key Property: p is above/on/below L iff L* is above/on/below p* q* P* r*
10
Duality A really nice demo (MIT) A really nice demo (MIT) Applet Applet Applet Another nice (simple) demo (Andrea) Another nice (simple) demo (Andrea) Applet Applet Applet 10
11
Applications of Duality Degeneracy testing: Any 3 collinear points? Degeneracy testing: Any 3 collinear points? Stabbing line segments Stabbing line segments Min-area triangle Min-area triangle Halfplane range search Halfplane range search Ham sandwich cuts Ham sandwich cuts Computing discrepancy Computing discrepancy Sorting points around each other point: visibility graphs Sorting points around each other point: visibility graphs 11
12
12 Geometric Shortest Paths Given: Given: (Outer) Polygon P(Outer) Polygon P Polygonal obstaclesPolygonal obstacles Points s and tPoints s and t Find: Find: shortest s-t pathshortest s-t path avoiding obstaclesavoiding obstacles Robotics motion planning Robotics motion planning
13
Application: Weather Avoidance 13
14
14 Basic Optimal Paths Visibility Graph BEST: Output-sensitive alg: O(|E|+n log n) Local optimality: taut string Naïve algorithm: O(n 3 ) Better algorithms: O(n 2 log n) sweep O(n 2 ) duality
15
Visibility Graphs Visibility Graph appletapplet Shows also the topological sweep of an arrangement, animated.
16
Example: Shortest Path in Simple Polygon Triangulate P Triangulate P Determine the “sleeve” defined by the triangles in a path in the dual tree, from start to goal Determine the “sleeve” defined by the triangles in a path in the dual tree, from start to goal WUSTL applet WUSTL appletapplet
17
Other Applets Rectilinear watchman, online appletapplet STIP online applet : search for a target in polygonapplet
18
18 Shortest Path Map Decomposition of the free space Shortest Paths go through same vertices same vertices Construct in time: O(n log n); size O(n)
19
19 Avoiding Hazardous Weather
20
20 Optimal Path Map: Control Law Fix s Vary t
21
21 Hazardous Weather Avoidance
22
22 Hazardous Weather Avoidance
23
23 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
24
24 Grid-Based Searches
25
25 Other Optimal Path Problems 3D shortest paths: NP-hard 3D shortest paths: NP-hard But good approximationsBut good approximations Turn constraints: Turn constraints: Min-# turns: Link distanceMin-# turns: Link distance Bounds on turn angles (radius of curvature)Bounds on turn angles (radius of curvature) “Thick” paths (for air lanes) “Thick” paths (for air lanes)
26
26 Turn-Constrained Weighted Costs: Weather Route Generator (WRG) DFW fix Departure space
27
Weather Avoidance Algorithms for En Route Aircraft 3 Flows Sector
28
Find maximum number of air lanes through the mincut Routing MaxFlow
29
Example: Robot Motion Planning applet Shows Minkowski sum, visibility graph, shortest path for a disk, triangle, etc.
30
Example: Robot Motion Planning applet Voronoi method of robot motion planning
31
Probabilistic Road Maps MovieMovie (Stanford)
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.