shortest paths in three dimensions

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

Upload: sonora

Post on 07-Jan-2016

52 views

Category:

Documents


2 download

DESCRIPTION

Shortest Paths in Three Dimensions. Advisor: Carola Wenk. Speaker: Atlas F. Cook IV. Overview. Motivation for 3D Shortest Paths ♫ Motif ♫ Edge Sequence describes a 3D shortest path. Shortest Path Map is a set of edge sequences. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Shortest Paths in  Three Dimensions

1

Shortest Paths in Three Dimensions

Speaker: Atlas F. Cook IV

Advisor: Carola Wenk

Page 2: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

3

Motivation 2D Shortest Paths

Goal

Start

Page 4: Shortest Paths in  Three Dimensions

4

Motivation 2D Shortest Paths

Start

Goal

Page 5: Shortest Paths in  Three Dimensions

5

Motivation General 3D Shortest Paths

NP-Hard [Canny & Reif]

Page 6: Shortest Paths in  Three Dimensions

6

MotivationOur Focus: 3D Shortest Paths on a polyhedral surface

Start

End

Page 7: Shortest Paths in  Three Dimensions

7

Motivation Polyhedral Surface:

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

Terrain Polyhedron

Page 8: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

9

Motivation Are shortest paths on a polyhedral surface

important? Yes!

Don’t freeze / starve Efficiently drive

in the mountains on Mars

Page 10: Shortest Paths in  Three Dimensions

10

Shortest Path Concepts

Page 11: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

12

Describing a Shortest Path

A shortest path traverses a set of edges & faces.

E1

E2

F1

F3F2

Page 13: Shortest Paths in  Three Dimensions

13

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

crossed by a shortest path.

F1

F3F2

Page 14: Shortest Paths in  Three Dimensions

14

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

crossed by a shortest path.

E1

E2

Page 15: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

18

Unfolding Unfolding Examples:

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

Page 19: Shortest Paths in  Three Dimensions

19

Unfolding Unfolding Examples:

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

Page 20: Shortest Paths in  Three Dimensions

20

Unfolding Unfolding Examples:

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

Page 21: Shortest Paths in  Three Dimensions

21

Unfolding Unfolding Examples:

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

Page 22: Shortest Paths in  Three Dimensions

22

Unfolding Unfolding Examples:

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

Page 23: Shortest Paths in  Three Dimensions

23

Unfolding Unfolding Examples:

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

TrojanHorse

Page 24: Shortest Paths in  Three Dimensions

24

Uses of Unfoldings [Joseph O’Rourke]

Page 25: Shortest Paths in  Three Dimensions

25

Unfold(Edge Sequence) d(s,t)

E1

E2

F1

F3F2

F1

F2

F3

E1

E2

3D Shortest Path 2D Unfolding

Unfold

Page 26: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

41

Chen & Han Intuition for Voronoi Diagrams

Mail a box at the nearest post office.

Page 42: Shortest Paths in  Three Dimensions

42

Nearby post offices Region for each post office

Chen & Han

Page 43: Shortest Paths in  Three Dimensions

43

You are here

Two closest post offices

You are here

One closest post office

Chen & Han

Page 44: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

54

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

Measure similarity of curves on 3D surface

Page 55: Shortest Paths in  Three Dimensions

55

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

Motivation: Safety

Page 56: Shortest Paths in  Three Dimensions

56

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

Avalanche!

Help!I’ll save you! Thank you!

Page 57: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

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: Shortest Paths in  Three Dimensions

62

Thank you for your

attention.Questions

Page 63: Shortest Paths in  Three Dimensions

63

Extra Slides

Page 64: Shortest Paths in  Three Dimensions

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.