Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Introduction to Computational Geometry Joseph S. B. Mitchell Stony Brook University.

Similar presentations


Presentation on theme: "An Introduction to Computational Geometry Joseph S. B. Mitchell Stony Brook University."— Presentation transcript:

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)


Download ppt "An Introduction to Computational Geometry Joseph S. B. Mitchell Stony Brook University."

Similar presentations


Ads by Google