1 Shortest Paths in Three Dimensions Speaker: Atlas F. Cook IV Advisor: Carola Wenk.
-
Upload
leslie-tyler -
Category
Documents
-
view
216 -
download
0
Transcript of 1 Shortest Paths in Three Dimensions Speaker: Atlas F. Cook IV Advisor: Carola Wenk.
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 Construction1) 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
MotivationOur 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 Surface Non-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.
E1
E2
F1
F3F2
13
Describing a Shortest Path Face Sequence = the ordered set of faces
crossed by a shortest path.
F1
F3F2
14
Describing a Shortest Path Edge Sequence = the ordered set of edges
crossed by a shortest path.
E1
E2
15
Describing a Shortest Path Edge Sequence + Face Sequence = Shortest Path Edge sequence ≈ Face sequence Motif
I. ♫Edge Sequence describes a 3D shortest path.
E1
E2
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 Surface Unfolded 2D Surface
http://plus.maths.org/issue27/features/mathart/index.html
18
Unfolding Unfolding Examples:
http://plus.maths.org/issue27/features/mathart/index.html
19
Unfolding Unfolding Examples:
http://plus.maths.org/issue27/features/mathart/index.html
20
Unfolding Unfolding Examples:
http://plus.maths.org/issue27/features/mathart/index.html
21
Unfolding Unfolding Examples:
http://plus.maths.org/issue27/features/mathart/index.html
22
Unfolding Unfolding Examples:
http://plus.maths.org/issue27/features/mathart/index.html
23
Unfolding Unfolding Examples:
http://plus.maths.org/issue27/features/mathart/index.html
TrojanHorse
24
Uses of Unfoldings [Joseph O’Rourke]
25
Unfold(Edge Sequence) d(s,t)
E1
E2
F1
F3F2
F1
F2
F3
E1
E2
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.
F1
F2
F3
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) = { E1, E2 }
F(s,t) = { F1, F2 , F3 }
Step 1 of 2: Unfold F(s,t) Rotate F1 about E1 into F2’s plane
Rotate {F1,F2} about E2 into F3’s plane.
s
tE1
E2
F1
F2
F3
F1
F2
F3
E1
E2
29
Unfold(Edge Sequence) d(s,t) Step 2: [Convex case]
d(s,t) = ||s2D –t2D||
(s,t) = fold s2Dt2D 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.
F1
F2
F3t2D
s2D
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
tj
tk
||s-tj|| = Shortest Path||s-tk|| ≠ 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(n2 log n) time & O(n2) 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
v1v2
v3
v4
Polyhedral Surface
(1) Compute shortest paths to vertices
(2) Unfold along shortest paths
v3
v1
s
v2
v4
38
v3
v1
v4
v1 v2
v3
Chen & Han
s
v2
v4
s4
s1
s2
s3
Star Unfolding Unfold along shortest paths to vertices s maps to n points s1,…,sn in the 2D unfolding
Star Unfolding
39
Chen & Han[Convex case]:
Star Unfolding is a non-overlapping 2D polygon. d(s,t)= mini=1,…,n ||si – t|| [Chandru04]
Star Unfolding
v3
v1
s
v2
v4
v4
v1 v2
v3
s4
s1
s2
s3
t
d(s,t)
40
v4
v1 v2
v3
Chen & Han
s4
s1
s2
s3
3) Compute a shortest path map on the 2D unfolding Quickly reveal the closest si to t
New Concept: Voronoi diagram of s1,…,sn
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
v4
v1 v2
v3
Chen & Han
s4
s1
s2
s3
3) Compute a shortest path map on the unfolding Traditional Voronoi diagram s1,s2,s3,s4 are “post offices”
d(s,t)=||s4-t|| (Nearest post office is s4)
d(s,t’)=||s2-t’||
t’t
45
Chen & Han Non-Convex Complications
The star unfolding can overlap itself.
v4
v1 v3
v2
Star Unfolding v5
v1 v3
v4
s5
s4
s3v5
Dent
v2
s2
s
s1Overlap
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:
s1,…,sn (as before)
v1,…,vn (new). v5
v1 v3
v4
s5
s4
s3
v2
s2s1
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(n2) time, O(n) space
Queries: Lookup edge sequence return d(s,t), (s,t)
v4
v1 v2
v3s4
s1
s2
s3
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’ 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(n4) cells. Inside a cell, no shortest path changes
2) Compute one star unfolding for each cell.
Preprocessing: Roughly O(n6) time & space
53
Arbitrary Source Approach
Summary: Arbitrary Source Approach Precompute O(n4) 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(n4) 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 ApplicationsSIAM Journal on Computing, Society for Industrial and Applied Mathematics, 1997, 26, 1689-1713
[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 polyhedronInternational Journal of Computational Geometry and Applications, 1996, 6, 127-144
[MMP87] Mitchell, J. S. B.; Mount, D. M. & Papadimitriou, C. H.
The discrete geodesic problemSIAM Journal on Computing, Society for Industrial and Applied Mathematics, 1987, 16, 647-668
61
References: [Schreiber06]
Schreiber, Y. & Sharir, M.
An optimal-time algorithm for shortest paths on a convex polytope in three dimensionsSoCG: 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.