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

An Introduction to Computational Geometry

  • Upload
    luce

  • View
    44

  • Download
    7

Embed Size (px)

DESCRIPTION

An Introduction to Computational Geometry. Joseph S. B. Mitchell Stony Brook University. Mini-Course Info. Joe Mitchell (Math 1-109) [email protected] (631-632-8366) http://www.ams.sunysb.edu/~jsbm/nasa/tutorial.html Recommended Texts: - PowerPoint PPT Presentation

Citation preview

Page 1: An Introduction to  Computational Geometry

An Introduction to An Introduction to Computational GeometryComputational Geometry

Joseph S. B. MitchellStony Brook University

Page 2: An Introduction to  Computational Geometry

Mini-Course InfoMini-Course Info Joe Mitchell (Math 1-109)Joe Mitchell (Math 1-109) [email protected] (631-632-8366) (631-632-8366) http://www.ams.sunysb.edu/~jsbm/nasa/tutorial.html

Recommended Texts: Recommended Texts: • Computational GeometryComputational Geometry, by Mark de Berg, Marc van , by Mark de Berg, Marc van

Kreveld, Mark Overmars and Otfried Schwartzkopf (2Kreveld, Mark Overmars and Otfried Schwartzkopf (2ndnd edition)edition)

• Computational Geometry in CComputational Geometry in C, by Joe O’Rourke (2, by Joe O’Rourke (2ndnd Edition)Edition)

Surveys/Reference books:Surveys/Reference books:• CRC Handbook of Discrete and Computational Geometry, CRC Handbook of Discrete and Computational Geometry,

editted by Goodman and O’Rourke (2editted by Goodman and O’Rourke (2ndnd edition) edition)• Handbook of Computational Geometry, editted by Sack and Handbook of Computational Geometry, editted by Sack and

UrrutiaUrrutia

Page 3: An Introduction to  Computational Geometry

Sessions and TopicsSessions 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 Halfspace intersections, low-dimensional

linear programming (LP)linear programming (LP)• Range SearchRange Search

33

Page 4: An Introduction to  Computational Geometry

Sessions and TopicsSessions 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

44

Page 5: An Introduction to  Computational Geometry

Sessions and TopicsSessions and Topics

Session 5:Session 5:• Spatial partitioning, optimization, load Spatial partitioning, optimization, load

balancingbalancing• 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

55

Page 6: An Introduction to  Computational Geometry

ArrangementsArrangements

Given a set Given a set SS of of nn lines in the plane lines in the plane Arrangement, Arrangement, A(S)A(S), is the , is the SS-induced -induced

decomposition of the plane into decomposition of the plane into cellscells (2- (2-faces), faces), edgesedges (1-faces), and (1-faces), and verticesvertices (0- (0-faces)faces)

66

L

Zone(L)

Page 7: An Introduction to  Computational Geometry

Constructing Constructing A(S)A(S)

GoalGoal: Build a DCEL of the planar graph of : Build a DCEL of the planar graph of vertices/edges of vertices/edges of A(S)A(S)

ComplexityComplexity: O(: O(nn2 2 ) faces, edges, vertices) faces, edges, vertices Incremental construction:Incremental construction:

• Zone TheoremZone Theorem: The zone, : The zone, Z(L)Z(L), of line , of line LL has has total complexity O(total complexity O(nn))

• Proof: InductionProof: Induction Add lines one by one; cost of adding line Add lines one by one; cost of adding line

LLii is O(is O(i i ), so total time is O(), so total time is O(nn2 2 ))77

Page 8: An Introduction to  Computational Geometry

More ArrangementsMore Arrangements

Huge subfield: Combinatorics/algorithmsHuge subfield: Combinatorics/algorithms Arrangements ofArrangements of

• Segments (Bentley-Ottmann sweep)Segments (Bentley-Ottmann sweep)• CirclesCircles• CurvesCurves• Higher dimensions: SurfacesHigher dimensions: Surfaces

Applications: Motion planning, optimization, Applications: Motion planning, optimization, Voronoi diagrams, pattern matching, Voronoi diagrams, pattern matching, fundamental to many algorithmsfundamental to many algorithms

Further motivation: Point-line dualityFurther motivation: Point-line duality88

Page 9: An Introduction to  Computational Geometry

DualityDuality

Point Point p=(pp=(pxx,p,pyy)) and line and line L: y=mx+b L: y=mx+b in the in the “primal” “primal” Line Line p*: y=pp*: y=px x x-px-py y and point and point L*=(m,-b)L*=(m,-b)

99

pq

L

r

L*

Key Property: p is above/on/below L iff L* is above/on/below p*

q*

P*r*

Page 10: An Introduction to  Computational Geometry

DualityDuality

A really nice demo (MIT)A really nice demo (MIT) AppletApplet

Another nice (simple) demo (Andrea)Another nice (simple) demo (Andrea) AppletApplet

1010

Page 11: An Introduction to  Computational Geometry

Applications of DualityApplications of Duality

Degeneracy testing: Any 3 collinear Degeneracy testing: Any 3 collinear points?points?

Stabbing line segmentsStabbing line segments Min-area triangleMin-area triangle Halfplane range searchHalfplane range search Ham sandwich cutsHam sandwich cuts Computing discrepancyComputing discrepancy Sorting points around each other point: Sorting points around each other point:

visibility graphsvisibility graphs1111

Page 12: An Introduction to  Computational Geometry

1212

Geometric Geometric Shortest PathsShortest Paths

GivenGiven::• (Outer) Polygon P(Outer) Polygon P• Polygonal oPolygonal obstaclesbstacles • Points s and tPoints s and t

Find:Find: • shortest shortest s-t s-t path path • avoiavoiding obstaclesding obstacles

Robotics motion Robotics motion planningplanning

Page 13: An Introduction to  Computational Geometry

Application: Weather Application: Weather AvoidanceAvoidance

1313

Page 14: An Introduction to  Computational Geometry

1414

Basic Optimal PathsBasic Optimal Paths

Visibility Graph

BEST: Output-sensitive alg: O(|E|+n log n)

Local optimality: taut string

Naïve algorithm:

O(n3)Better algorithms:

O(n2 log n) sweep

O(n2 ) duality

Page 15: An Introduction to  Computational Geometry

Visibility GraphsVisibility Graphs

Visibility Graph applet

Shows also the topological sweep of an arrangement, animated.

Page 16: An Introduction to  Computational Geometry

Example: Shortest Path in Example: Shortest Path in Simple PolygonSimple Polygon

Triangulate Triangulate PP Determine the “sleeve” defined by Determine the “sleeve” defined by

the triangles in a path in the dual the triangles in a path in the dual tree, from start to goaltree, from start to goal

WUSTL appletWUSTL applet

Page 17: An Introduction to  Computational Geometry

1818

Shortest Path MapShortest Path Map

Decomposition of the free spaceDecomposition of the free space

Shortest Paths Shortest Paths

go throughgo through

same verticessame vertices

Construct in time: O(n log n); size O(n)

Page 18: An Introduction to  Computational Geometry

2020

Optimal Path Map: Control Optimal Path Map: Control LawLaw

Fix s

Vary t

Page 19: An Introduction to  Computational Geometry

2121

Hazardous Weather AvoidanceHazardous Weather Avoidance

Page 20: An Introduction to  Computational Geometry

2222

Hazardous Weather AvoidanceHazardous Weather Avoidance

Page 21: An Introduction to  Computational Geometry

2323

Optimal Paths: Weighted Optimal Paths: Weighted RegionsRegions

Different costs/nmi in different regions (e.g. weather intensity)

Local optimality: Snell’s Law of Refraction

Can also apply grid-based searching

Page 22: An Introduction to  Computational Geometry

2424

Grid-Based SearchesGrid-Based Searches

Page 23: An Introduction to  Computational Geometry

2525

Other Optimal Path Other Optimal Path ProblemsProblems

3D shortest paths: NP-hard3D 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 Bounds on turn angles (radius of

curvature)curvature) ““Thick” paths (for air lanes)Thick” paths (for air lanes)

Page 24: An Introduction to  Computational Geometry

2626

Turn-Constrained Weighted Costs: Turn-Constrained Weighted Costs: Weather Route Generator (WRG)Weather Route Generator (WRG)

DFW

fix

Departure

space

Page 25: An Introduction to  Computational Geometry

Weather Avoidance Algorithms for En Route Weather Avoidance Algorithms for En Route Aircraft Aircraft

3 Flows

Sector

Page 26: An Introduction to  Computational Geometry

Find maximum number of air lanes through the mincut

Routing MaxFlowRouting MaxFlow

Page 27: An Introduction to  Computational Geometry

Example: Robot Motion Example: Robot Motion PlanningPlanning

applet

Shows Minkowski sum, visibility graph, shortest path for a disk, triangle, etc.

Page 28: An Introduction to  Computational Geometry

Example: Robot Motion Example: Robot Motion PlanningPlanning

applet

Voronoi method of robot motion planning

Page 29: An Introduction to  Computational Geometry

Probabilistic Road MapsProbabilistic Road Maps

Movie (Stanford)