64
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

Embed Size (px)

Citation preview

Page 1: 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

Page 2: 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

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

3

Motivation 2D Shortest Paths

Goal

Start

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

4

Motivation 2D Shortest Paths

Start

Goal

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

5

Motivation General 3D Shortest Paths

NP-Hard [Canny & Reif]

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

6

MotivationOur Focus: 3D Shortest Paths on a polyhedral surface

Start

End

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

7

Motivation Polyhedral Surface:

Set of faces, edges, & vertices Face = 2D triangle Examples:

Terrain Polyhedron

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

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

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

9

Motivation Are shortest paths on a polyhedral surface

important? Yes!

Don’t freeze / starve Efficiently drive

in the mountains on Mars

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

10

Shortest Path Concepts

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

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

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

12

Describing a Shortest Path

A shortest path traverses a set of edges & faces.

E1

E2

F1

F3F2

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

13

Describing a Shortest Path Face Sequence = the ordered set of faces

crossed by a shortest path.

F1

F3F2

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

14

Describing a Shortest Path Edge Sequence = the ordered set of edges

crossed by a shortest path.

E1

E2

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

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

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

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)

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

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

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

18

Unfolding Unfolding Examples:

http://plus.maths.org/issue27/features/mathart/index.html

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

19

Unfolding Unfolding Examples:

http://plus.maths.org/issue27/features/mathart/index.html

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

20

Unfolding Unfolding Examples:

http://plus.maths.org/issue27/features/mathart/index.html

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

21

Unfolding Unfolding Examples:

http://plus.maths.org/issue27/features/mathart/index.html

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

22

Unfolding Unfolding Examples:

http://plus.maths.org/issue27/features/mathart/index.html

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

23

Unfolding Unfolding Examples:

http://plus.maths.org/issue27/features/mathart/index.html

TrojanHorse

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

24

Uses of Unfoldings [Joseph O’Rourke]

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

25

Unfold(Edge Sequence) d(s,t)

E1

E2

F1

F3F2

F1

F2

F3

E1

E2

3D Shortest Path 2D Unfolding

Unfold

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

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)

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

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

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

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

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

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

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

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.

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

31

Shortest Path Map Construction Continuous Dijkstra

Chen & Han

Arbitrary Source Source specified at query time

Fixed Source(source specified at

preprocessing time)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

41

Chen & Han Intuition for Voronoi Diagrams

Mail a box at the nearest post office.

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

42

Nearby post offices Region for each post office

Chen & Han

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

43

You are here

Two closest post offices

You are here

One closest post office

Chen & Han

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

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

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

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

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

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

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

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

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

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

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

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

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

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’

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

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)

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

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

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

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)

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

54

In-Progress & Future Work Fréchet Distance: 3D Polyhedral Surface

Measure similarity of curves on 3D surface

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

55

In-Progress & Future Work Fréchet Distance: 3D Polyhedral Surface

Motivation: Safety

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

56

In-Progress & Future Work Fréchet Distance: 3D Polyhedral Surface

Avalanche!

Help!I’ll save you! Thank you!

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

57

In-Progress & Future Work Fréchet Distance: 3D Polyhedral Surface

Keep two people/robots/entities close together during a mission for safety reasons.

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

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)

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

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.

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

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

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

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

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

62

Thank you for your

attention.Questions

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

63

Extra Slides

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

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.