1 Shortest Paths in Three Dimensions Speaker: Atlas F. Cook IV Advisor: Carola Wenk.

Slides:



Advertisements
Similar presentations
Computational Geometry
Advertisements

Comments We consider in this topic a large class of related problems that deal with proximity of points in the plane. We will: 1.Define some proximity.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
Tao JuA general construction of coordinatesSlide 1 A general, geometric construction of coordinates in a convex simplicial polytope Tao Ju Washington University.
Brute-Force Triangulation
Computational Geometry II Brian Chen Rice University Computer Science.
Motion Planning CS 6160, Spring 2010 By Gene Peterson 5/4/2010.
1 Voronoi Diagrams. 2 Voronoi Diagram Input: A set of points locations (sites) in the plane.Input: A set of points locations (sites) in the plane. Output:
The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.
Unfolding Convex Polyhedra via Quasigeodesics Jin-ichi Ito (Kumamoto Univ.) Joseph O’Rourke (Smith College) Costin Vîlcu (S.-S. Romanian Acad.)
The Maths of Pylons, Art Galleries and Prisons Under the Spotlight John D. Barrow.
Computing the Fréchet Distance Between Folded Polygons
9/5/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Plane Sweep Algorithms and Segment Intersection Carola Wenk.
Intersections. Intersection Problem 3 Intersection Detection: Given two geometric objects, do they intersect? Intersection detection (test) is frequently.
Visibility Computations: Finding the Shortest Route for Motion Planning COMP Presentation Eric D. Baker Tuesday 1 December 1998.
Robert Pless, CS 546: Computational Geometry Lecture #3 Last Time: Convex Hulls Today: Plane Sweep Algorithms, Segment Intersection, + (Element Uniqueness,
Computational Geometry -- Voronoi Diagram
17. Computational Geometry Chapter 7 Voronoi Diagrams.
Computational Geometry and Spatial Data Mining
Delaunay Triangulation on the GPU Dan Maljovec. CPU Delaunay Triangulation Randomized Incremental Algorithm 1.Construct Bounding triangle 2.Choose point.
Lecture 12 : Special Case of Hidden-Line-Elimination Computational Geometry Prof. Dr. Th. Ottmann 1 Special Cases of the Hidden Line Elimination Problem.
GSM MOBILE PHONE NETWORKS AND GRAPH COLORING
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 O’Rourke Chapter 7 Search & Intersection.
Bounding Volume Hierarchy “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presented by Mathieu Brédif.
Hidden-Line Elimination Computational Geometry, WS 2006/07 Lecture 14 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Closest Pair of Points Computational Geometry, WS 2006/07 Lecture 9, Part II Prof. Dr. Thomas Ottmann Khaireel A. Mohamed Algorithmen & Datenstrukturen,
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Voronoi Diagrams.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Lecture 2 Chapter 2: Polygon Partitioning.
1 University of Denver Department of Mathematics Department of Computer Science.
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.
Computing the shortest path on a polyhedral surface Presented by: Liu Gang
ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm.
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
© Manfred Huber Autonomous Robots Robot Path Planning.
PRE-TRIANGULATIONS Generalized Delaunay Triangulations and Flips Franz Aurenhammer Institute for Theoretical Computer Science Graz University of Technology,
Part 6: Graphics Output Primitives (4) 1.  Another useful construct,besides points, straight line segments, and curves for describing components of a.
CSIE in National Chi-Nan University1 Approximate Matching of Polygonal Shapes Speaker: Chuang-Chieh Lin Advisor: Professor R. C. T. Lee National Chi-Nan.
UNC Chapel Hill M. C. Lin Line Segment Intersection Chapter 2 of the Textbook Driving Applications –Map overlap problems –3D Polyhedral Morphing.
Path Planning for a Point Robot
4/28/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Shape Matching Carola Wenk A B   (B,A)
Nonoverlap of the Star Unfolding Boris Aronov and Joseph O’Rourke, 1991 A Summary by Brendan Lucier, 2004.
2/19/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Voronoi Diagrams Carola Wenk Based on: Computational Geometry:
Computer Graphics Rendering 2D Geometry CO2409 Computer Graphics Week 2.
Basic Perspective Projection Watt Section 5.2, some typos Define a focal distance, d, and shift the origin to be at that distance (note d is negative)
Robert Pless, CS 546: Computational Geometry Lecture #3 Last Time: Plane Sweep Algorithms, Segment Intersection, + (Element Uniqueness)
Geodesic Fréchet Distance Inside a Simple Polygon Atlas F. Cook IV & Carola Wenk Proceedings of the 25th International Symposium on Theoretical Aspects.
12.1 Exploring Solids.
Delaunay Triangulation on the GPU
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
Two Finger Caging of Concave Polygon Peam Pipattanasomporn Advisor: Attawith Sudsang.
February 17, 2005Lecture 6: Point Location Point Location (most slides by Sergi Elizalde and David Pritchard)
1 Point Location Strategies Idit Haran
Unfolding and Reconstructing Polyhedra Brendan Lucier University of Waterloo Master’s Thesis Presentation University of Waterloo, Waterloo, Ontario January.
1/20/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Plane Sweep Algorithms I Carola Wenk.
Polygon Triangulation
Minkowski Sums and Distance Computation Eric Larsen COMP
An Introduction to Computational Geometry
VORONOI DIAGRAMS FOR PARALLEL HALFLINES IN 3D
Haim Kaplan and Uri Zwick
Constructing Objects in Computer Graphics By Andries van Dam©
CMPS 3130/6130 Computational Geometry Spring 2017
Voronoi diagrams in planar graphs & computing the diameter in
Computing Shortest Path amid Pseudodisks
Aggregate-Max Nearest Neighbor Searching in the Plane
L1 Shortest Path Queries among Polygonal Obstacles in the Plane
Algorithms and Data Structures Lecture XIV
Presentation transcript:

1 Shortest Paths in Three Dimensions Speaker: Atlas F. Cook IV Advisor: Carola Wenk

2 Overview Motivation for 3D Shortest Paths ♫ Motif ♫ I.Edge Sequence describes a 3D shortest path. II.Shortest Path Map is a set of edge sequences. III.Query Process: Lookup edge sequence; return d(s,t) Shortest Path Map Construction 1)Continuous Dijkstra(fixed source) 2)Chen & Han (fixed source) 3)Arbitrary Source In-Progress & Future Work Conclusion

3 Motivation 2D Shortest Paths Goal Start

4 Motivation 2D Shortest Paths Start Goal

5 Motivation General 3D Shortest Paths  NP-Hard [Canny & Reif]

6 Motivation Our Focus: 3D Shortest Paths on a polyhedral surface Start End

7 Motivation Polyhedral Surface:  Set of faces, edges, & vertices  Face = 2D triangle  Examples: Terrain Polyhedron

8 Convexity A surface is convex when  The line segment joining any two points on the surface boundary is “inside” the surface. Convex SurfaceNon-Convex Surface s s t t

9 Motivation Are shortest paths on a polyhedral surface important?  Yes! Don’t freeze / starve Efficiently drive in the mountains on Mars

10 Shortest Path Concepts

11 Motif ♫ I.Edge Sequence describes a 3D shortest path. II.Shortest Path Map is a set of edge sequences. III.Query Process: Lookup edge sequence; return d(s,t) Hammer of Fate

12 Describing a Shortest Path A shortest path traverses a set of edges & faces. E1E1 E2E2 F1F1 F3F3 F2F2

13 Describing a Shortest Path Face Sequence = the ordered set of faces crossed by a shortest path. F1F1 F3F3 F2F2

14 Describing a Shortest Path Edge Sequence = the ordered set of edges crossed by a shortest path. E1E1 E2E2

15 Describing a Shortest Path Edge Sequence + Face Sequence = Shortest Path Edge sequence ≈ Face sequence Motif I. ♫Edge Sequence describes a 3D shortest path. E1E1 E2E2

16 II.♫Shortest Path Map is a set of edge sequences.  Choose a fixed source point s.  Partition the 3D surface into cells.  Cell = edge sequence III.♫Query Process: Lookup edge sequence; return d(s,t)  Locate target cell  edge sequence  Use edge sequence to return: d(s,t) ∈ O(log n) time  (s,t) ∈ O(log n + PathSize) time “Unfolding” converts an edge sequence  d(s,t) SPM(s)

17 Unfolding Unfolding:  Technique to reduce 3D problem into 2D problem. 3D SurfaceUnfolded 2D Surface

18 Unfolding Unfolding Examples:

19 Unfolding Unfolding Examples:

20 Unfolding Unfolding Examples:

21 Unfolding Unfolding Examples:

22 Unfolding Unfolding Examples:

23 Unfolding Unfolding Examples: Trojan Horse

24 Uses of Unfoldings [Joseph O’Rourke]

25 Unfold(Edge Sequence)  d(s,t) E1E1 E2E2 F1F1 F3F3 F2F2 F1F1 F2F2 F3F3 E1E1 E2E2 3D Shortest Path 2D Unfolding Unfold

26 Facts: [Mitchell87] 1)A shortest path on a convex 3D polyhedral surface unfolds to a 2D straight line segment. 2)A shortest path on a non-convex 3D polyhedral surface unfolds to a 2D polygonal path. F1F1 F2F2 F3F3 Unfold(Edge Sequence)  d(s,t)

27 Unfold(Edge Sequence)  d(s,t) Input:  E(s,t) – 3D edge sequence Outputs:  d(s,t) – Shortest Path Distance   (s,t) – Shortest Path on 3D Surface s t

28 Unfold(Edge Sequence)  d(s,t) E(s,t) = { E 1, E 2 } F(s,t) = { F 1, F 2, F 3 } Step 1 of 2: Unfold F(s,t)  Rotate F 1 about E 1 into F 2 ’s plane  Rotate {F 1,F 2 } about E 2 into F 3 ’s plane. s t E1E1 E2E2 F1F1 F2F2 F3F3 F1F1 F2F2 F3F3 E1E1 E2E2

29 Unfold(Edge Sequence)  d(s,t) Step 2: [Convex case]  d(s,t) = ||s 2D –t 2D ||   (s,t) = fold s 2D t 2D back onto the surface. Step 2: [Non-convex case]  d(s,t) = length of 2D polygonal path   (s,t) = fold polygonal path back onto the surface. F1F1 F2F2 F3F3 t 2D s 2D

30 Unfold(Edge Sequence)  d(s,t) Summary: I.♫Edge Sequence describes a 3D shortest path. 1) Unfold edge sequence (rotate faces about edges) 2) 2D unfolded shortest path  3D shortest path. How do we compute the edge sequences? II.♫Shortest Path Map is a set of edge sequences.

31 Shortest Path Map Construction Continuous Dijkstra Chen & Han Arbitrary Source  Source specified at query time Fixed Source (source specified at preprocessing time)

32 Continuous Dijkstra [MMP87] Pick a source point on surface Simulate a wavefront that…  Propagates out from the source  At time , the wavefront touches all points at distance  from the source. Source

33 Continuous Dijkstra Wavefront moves continuously! But events are discrete  Event = new arc appears/ disappears on wavefront Builds a shortest path map  Partition of surface into cells  Each cell stores an edge sequence Source

34 Continuous Dijkstra [Convex case]: All unfolded shortest paths are line segments. Unfold faces iteratively (priority queue)  This builds all edge sequences from s. Maintain line-of-sight from s s tjtj tktk ||s-t j || = Shortest Path ||s-t k || ≠ Shortest Path An unfolded set of faces from s

35 Continuous Dijkstra Summary: Continuous Dijkstra  Fixed 3D source point s  Maintains 3D wavefront  SPM(s)  Convex Preprocessing: [Schreiber06] O(n log n) time & space  Non-Convex Preprocessing: [MMP87] O(n 2 log n) time & O(n 2 ) space Source

36 Chen & Han [Chen96] Chen & Han’s Shortest Path Map  Alternative to Continuous Dijkstra  Fixed 3D source point s  Uses “Star Unfolding” 1)Compute shortest paths to all 3D surface vertices Similar to continuous Dijkstra 2)Unfold the surface into the plane (Star Unfolding) 3)Compute a shortest path map on the 2D unfolding Each cell represents an edge sequence

37 Chen & Han s v1v1 v2v2 v3v3 v4v4 Polyhedral Surface (1) Compute shortest paths to vertices (2) Unfold along shortest paths v3v3 v1v1 s v2v2 v4v4

38 v3v3 v1v1 v4v4 v1v1 v2v2 v3v3 Chen & Han s v2v2 v4v4 s4s4 s1s1 s2s2 s3s3 Star Unfolding  Unfold along shortest paths to vertices  s maps to n points s 1,…,s n in the 2D unfolding Star Unfolding

39 Chen & Han [Convex case]:  Star Unfolding is a non-overlapping 2D polygon.  d(s,t)= min i=1,…,n ||s i – t|| [Chandru04] Star Unfolding v3v3 v1v1 s v2v2 v4v4 v4v4 v1v1 v2v2 v3v3 s4s4 s1s1 s2s2 s3s3 t d(s,t)

40 v4v4 v1v1 v2v2 v3v3 Chen & Han s4s4 s1s1 s2s2 s3s3 3)Compute a shortest path map on the 2D unfolding Quickly reveal the closest s i to t New Concept: Voronoi diagram of s 1,…,s n Voronoi Diagram of Star Unfolding

41 Chen & Han Intuition for Voronoi Diagrams  Mail a box at the nearest post office.

42 Nearby post offices Region for each post office Chen & Han

43 You are here Two closest post offices You are here One closest post office Chen & Han

44 v4v4 v1v1 v2v2 v3v3 Chen & Han s4s4 s1s1 s2s2 s3s3 3)Compute a shortest path map on the unfolding  Traditional Voronoi diagram  s 1,s 2,s 3,s 4 are “post offices” d(s,t)=||s 4 -t|| (Nearest post office is s 4 ) d(s,t’)=||s 2 -t’|| t’ t

45 Chen & Han Non-Convex Complications  The star unfolding can overlap itself. v4v4 v1v1 v3v3 v2v2 Star Unfolding v5v5 v1v1 v3v3 v4v4 s5s5 s4s4 s3s3 v5v5 Dent v2v2 s2s2 s s1s1 Overlap

46 Chen & Han Non-Convex Complications  Shortest paths can turn at corner vertices [MMP87]  (3) A Voronoi diagram of the star unfolding still yields the shortest path map [Chen96]. “Post offices” are:  s 1,…,s n (as before)  v 1,…,v n (new). v5v5 v1v1 v3v3 v4v4 s5s5 s4s4 s3s3 v2v2 s2s2 s1s1

47 Chen & Han Summary of Chen & Han [Chen96]  Fixed 3D source point s 1)Compute shortest paths to all 3D surface vertices 2)Compute Star Unfolding 3)Compute a shortest path map on the 2D unfolding (Voronoi diagram)  Preprocessing:  O(n 2 ) time, O(n) space  Queries:  Lookup edge sequence  return d(s,t),  (s,t) v4v4 v1v1 v2v2 v3v3 s4s4 s1s1 s2s2 s3s3

48 Arbitrary Source Approach [Agarwal97] Previous Techniques:  Continuous Dijkstra & Chen and Han  Limited queries to a fixed 3D source point s New Goal: Arbitrary Source Approach  Support queries from any 3D source point s

49 Arbitrary Source Approach Idea of Arbitrary Source:  Choose a fixed 3D source point s  Compute star unfolding (Unfold on a shortest path to every vertex)  What if s is shifted infinitesimally to s’? No shortest path changes Same “combinatorial” star unfolding  i.e., same set of vertices, edges, & faces

50 Arbitrary Source Approach Shifting s to s’ produces minor changes in the star unfolding. The same set of vertices, edges, & faces exists. s s s’

51 Arbitrary Source Approach Given all “necessary” star unfoldings:  (s,t)-query: s identifies a precomputed star unfolding U t identifies an edge sequence in U Unfold edge sequence  d(s,t) = length of 2D unfolded path   (s, t) = fold 2D path back onto the surface. Summary: (s,t)  Star Unfolding  Edge Sequence  d(s,t)

52 Arbitrary Source Approach How to precompute “necessary” star unfoldings? 1)Compute 3D shortest paths for all pairs of vertices Set of fixed-source problems [Chen96] These shortest paths partition the 3D surface into O(n 4 ) cells. Inside a cell, no shortest path changes 2)Compute one star unfolding for each cell.  Preprocessing: Roughly O(n 6 ) time & space

53 Arbitrary Source Approach Summary: Arbitrary Source Approach  Precompute O(n 4 ) star unfoldings  Queries supported for arbitrary surface points s,t  (s,t)  Star Unfolding  Edge Sequence  d(s,t)

54 In-Progress & Future Work Fréchet Distance: 3D Polyhedral Surface  Measure similarity of curves on 3D surface

55 In-Progress & Future Work Fréchet Distance: 3D Polyhedral Surface  Motivation: Safety

56 In-Progress & Future Work Fréchet Distance: 3D Polyhedral Surface  Avalanche! Help! I’ll save you! Thank you!

57 In-Progress & Future Work Fréchet Distance: 3D Polyhedral Surface  Keep two people/robots/entities close together during a mission for safety reasons.

58 Conclusion ♫ Motif ♫ I.Edge Sequence describes a 3D shortest path. II.Shortest Path Map is a set of edge sequences. III.Query Process: Lookup edge sequence; return d(s,t) Shortest Path Maps: polyhedral surface  Fixed-Source: Continuous Dijkstra (wavefront) [MMP87] Chen & Han (one star unfolding) [Chen96]  Arbitrary source: O(n 4 ) Star Unfoldings [Agarwal97] (s,t)  Star Unfolding  Edge Sequence  d(s,t)

59 References: [Agarwal97]  P. K. Agarwal, B. Aronov, J. O. & Schevon., C. A. Star Unfolding of a Polytope with Applications SIAM Journal on Computing, Society for Industrial and Applied Mathematics, 1997, 26, [Chandru04]  V. Chandru, R. Hariharan, and N. M. Krishnakumar. Short-cuts on star, source and planar unfoldings. Foundations of Software Technology and Theoretical Computer Science (FSTTCS), 2004, 174–185.

60 References: [Chen96]  Chen, J. & Han, Y. Shortest paths on a polyhedron International Journal of Computational Geometry and Applications, 1996, 6, [MMP87]  Mitchell, J. S. B.; Mount, D. M. & Papadimitriou, C. H. The discrete geodesic problem SIAM Journal on Computing, Society for Industrial and Applied Mathematics, 1987, 16,

61 References: [Schreiber06]  Schreiber, Y. & Sharir, M. An optimal-time algorithm for shortest paths on a convex polytope in three dimensions SoCG: 22nd Symposium on Computational Geometry, 2006, 30-39

62 Thank you for your attention. Questions

63 Extra Slides

64 Point Location on a Voronoi Diagram Point location allows a nearest post office to our location to be found in O(log n) time:  Each region stores its closest post office.  Edges store adjacent regions. Point Location Idea: 1. Divide the regions into slabs. 2. A binary search identifies the desired horizontal range. 3.A second binary search identifies our vertical region in this slab. 4. The region stores its closest post office. Special thanks to Subhash Suri for this diagram.