Download - An Introduction to Computational Geometry
![Page 1: An Introduction to Computational Geometry](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/1.jpg)
An Introduction to An Introduction to Computational GeometryComputational Geometry
Joseph S. B. MitchellStony Brook University
![Page 2: An Introduction to Computational Geometry](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/13.jpg)
Application: Weather Application: Weather AvoidanceAvoidance
1313
![Page 14: An Introduction to Computational Geometry](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/15.jpg)
Visibility GraphsVisibility Graphs
Visibility Graph applet
Shows also the topological sweep of an arrangement, animated.
![Page 16: An Introduction to Computational Geometry](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/18.jpg)
2020
Optimal Path Map: Control Optimal Path Map: Control LawLaw
Fix s
Vary t
![Page 19: An Introduction to Computational Geometry](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/19.jpg)
2121
Hazardous Weather AvoidanceHazardous Weather Avoidance
![Page 20: An Introduction to Computational Geometry](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/20.jpg)
2222
Hazardous Weather AvoidanceHazardous Weather Avoidance
![Page 21: An Introduction to Computational Geometry](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/22.jpg)
2424
Grid-Based SearchesGrid-Based Searches
![Page 23: An Introduction to Computational Geometry](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/25.jpg)
Weather Avoidance Algorithms for En Route Weather Avoidance Algorithms for En Route Aircraft Aircraft
3 Flows
Sector
![Page 26: An Introduction to Computational Geometry](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/26.jpg)
Find maximum number of air lanes through the mincut
Routing MaxFlowRouting MaxFlow
![Page 27: An Introduction to Computational Geometry](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/28.jpg)
Example: Robot Motion Example: Robot Motion PlanningPlanning
applet
Voronoi method of robot motion planning
![Page 29: An Introduction to Computational Geometry](https://reader036.vdocuments.site/reader036/viewer/2022062309/56814025550346895dab84bb/html5/thumbnails/29.jpg)
Probabilistic Road MapsProbabilistic Road Maps
Movie (Stanford)