Download presentation
Presentation is loading. Please wait.
Published byJob Roberts Modified over 9 years ago
1
Computing the shortest path on a polyhedral surface Presented by: Liu Gang 2008.9.25
3
Overview of Presentation Introduction Related works Dijkstra’s Algorithm Fast Marching Method Results
4
Introduction
5
Motivation Computing the shortest path between two points s and t on a polyhedral surface S is a basic and natural problem From the viewpoint of application: Robotics, geographic information systems and navigation Establishing a surface distance metric
6
Related works Exact globally shortest path algorithms Shair and Schorr (1986) On shortest paths in polyhedral spaces. O(n 3 logn) Mount (1984) On finding shortest paths on convex polyhedral. O(n 2 logn) Mitchell, Mount and Papadimitriou (MMP)(1987) The discrete geodesic problem. O(n 2 logn) Chen and Han(1990) shortest paths on a polyhedron. O(n 2 ) Approximate shortest path algorithms Sethian J.A (1996) A Fast Marching Level Set Method for Monotonically Advancing Fronts. O(n logn ) Kimmel and Sethian(1998) Computing geodesic paths on manifolds. O(nlogn ) Xin Shi-Qing and Wang Guo-Jin(2007) Efficiently determining a locally exact shortest path on polyhedral surface. O(nlogn)
7
Exact globally shortest path algorithms Shair and Schorr (1986) On shortest paths in polyhedral spaces. O(n 3 logn) Mount (1984) On finding shortest paths on convex polyhedral. O(n 2 logn) Mitchell, Mount and Papadimitriou (MMP)(1987) The discrete geodesic problem. O(n 2 logn) Chen and Han(1990) shortest paths on a polyhedron. O(n 2 ) Approximate shortest path algorithms Sethian J.A (1996) A Fast Marching Level Set Method for Monotonically Advancing Fronts. O(n logn ) Kimmel and Sethian(1998) Computing geodesic paths on manifolds. O(nlogn ) Xin Shi-Qing and Wang Guo-Jin(2007) Efficiently determining a locally exact shortest path on polyhedral surface. O(nlogn) Related works Dijkstra's algorithm Fast Marching Methods(FMM)
8
Dijkstra's Algorithm
9
Dijkstra's Shortest Path Algorithm Find shortest path from s to t. s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6
10
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 0 distance label
11
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 0 distance label delmin
12
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 distance label decrease key X X X
13
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 (0,9) 14 0 distance label X X X delmin
14
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 (0,9) 14 0 X X X
15
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 (0,9) 14 0 X X X decrease key X 33
16
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 (0,9) (0,14) 0 X X X X 33 delmin
17
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 (0,9) (0,14) 0 X X X X 33 44 X X 32
18
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 (0,14) 0 X X X 44 X delmin X 33 X 32
19
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 18 2 9 14 15 5 30 20 44 16 11 6 19 6 (0,15) (0,9) (0,14) 0 X X X 44 X 35 X 59 X 24 X 33 X 32
20
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 X X X 44 X 35 X 59 X delmin X 33 X (6,32)
21
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 (0,15) (0,9) (0,14) 0 X X X 44 X 35 X 59 XX 51 X (3,34) X 33 X (6,32)
22
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 18 2 9 14 15 5 30 20 44 16 11 6 19 6 (0,15) (0,9) (0,14) 0 X X X 44 X 35 X 59 XX 51 X (3,34) delmin X 33 X (6,32) 24
23
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 18 2 9 14 15 5 30 20 44 16 11 6 19 6 (0,15) (0,9) (0,14) 0 X X X 44 X 35 X 59 XX 51 X (3,34) 24 X 50 X 45 X 33 X (6,32)
24
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 18 2 9 14 15 5 30 20 44 16 11 6 19 6 (0,15) (0,9) (0,14) 0 X X X 44 X 35 X 59 XX 51 X (3,34) 24 X 50 X (5, 45) delmin X 33 X (6,32)
25
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 18 2 9 14 15 5 30 20 44 16 11 6 19 6 (0,15) (0,9) (0,14) 0 X X X 44 X 35 X 59 XX 51 X (6,34) 24 X 50 X (5,45) X 33 X (6,32)
26
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 18 2 9 14 15 5 30 20 44 16 11 6 19 6 (0,15) (0,9) (0,14) 0 X X X 44 X 35 X 59 XX 51 X (3,34) X 50 X (5,45) delmin X 33 X (6,32) 24
27
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 (0,15) (0,9) (0,14) 0 X X X 44 X 35 X 59 XX 51 X (3,34) X (5,50) X (5, 45) X 33 X (6,32)
28
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 (0,15) (0,9) (0,14) 0 X X X 44 X 35 X 59 XX 51 X (3,34) X (5,50) X (5, 45) X 33 X (6,32)
29
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 (0,15) (0,9) (0,14) 0 X X X 44 X 35 X 59 XX 51 X (3,34) X (5,50) X (5, 45) X 33 X (6,32)
30
Dijkstra's Shortest Path Algorithm s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 (0,15) (0,9) (0,14) 0 X X X 44 X 35 X 59 XX 51 X (3,34) X (5,50) X (5, 45) X 33 X (6,32)
31
Summary Dijkstra’s algorithm is to construct a tree of shortest paths from a start vertex to all the other vertices on the graph. Characteristics: 1. Monotone property: Every vertex is processed exactly onceexactly once 2. When reach the destination, trace backward to find the shortest path.
32
Preliminaries Let S be a triangulated polyhedral surface in R 3, defined by a set of faces, edges and vertices. Assume that the Surface S has n faces and x 0, x are two points on the surface. Face sequence: F is defined by a list of adjacent faces f 1, f 2,…, f m+1 such that f i and f i+1 share a common edge e i. Then we call the list of edges E=(e 1,e 2,…,e m ) an edge sequence.
33
Fast Marching Method(FMM) R. Kimmel Professor Department of Computer Science Technion-Israel Institute of Technology IEEE Transactions on Image Processing J. A. Sethian Professor Department of Mathematics University of California, Berkeley Norbert Wiener Prize in Applied Mathematics
34
Forest fire
35
Eikonal equation Let be a minimal geodesic between and. The derivative is the fire front propagation direction. In arclength parametrization. Fermat’s principle: Propagation direction = direction of steepest increase of. Geodesic is perpendicular to the level sets of on.
36
Eikonal equation Eikonal equation (from Greek εικων) Hyperbolic PDE with boundary condition Minimal geodesics are characteristics. Describes propagation of waves in medium.
37
Fast marching algorithm Initialize and mark it as black. Initialize for other vertices and mark them as green. Initialize queue of red vertices. Repeat Mark green neighbors of black vertices as red (add to ) For each red vertex For each triangle sharing the vertex Update from the triangle. Mark with minimum value of as black (remove from ) Until there are no more green vertices. Return distance map.
38
Update step difference Dijkstra’s update Vertex updated from adjacent vertex Distance computed from Path restricted to graph edges Fast marching update Vertex updated from triangle Distance computed from and Path can pass on mesh faces
39
Fast Marching Method cont.
40
propagation Using the intrinsic variable of the triangulation Acute triangulation The update procedure is given as follows
41
Fast Marching Method cont. Acute triangulation guarantee that the consistent solution approximating the Viscosity solution of the Eikonal equation has the monotone property
42
Obtuse triangulation Inconsistent solution if the mesh contains obtuse triangles Remeshing is costly
43
Obtuse triangulation cont. Solution: split obtuse triangles by adding virtual connections to non-adjacent vertices
44
Obtuse triangulation cont. Done as a pre-processing step in
45
Results (Good)
46
Results (Bad)
47
Why?
48
More Flags for Keeping Track of an Advancing Wavefront From Vertex : the shortest path to the vertex v goes via its adjacent vertex v’. From Edge: the shortest path to the vertex v goes across the edge v 1 v 2 ; p is the access point.
49
More Flags for Keeping Track of an Advancing Wavefront (a) From Left Part: edge v 1 v 3 receives wavefront coming from the left part of edge v 1 v 2. (b) From Right Part: Edge v 3 v 2 receives wavefront coming from the right part of edge v 1 v 2.
54
Backtracing Paths
58
Result
59
Questions will be welcome !
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.