Shortest Paths in Three Dimensions

Preview:

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

Citation preview

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.

Recommended