computing the shortest path on a polyhedral surface
DESCRIPTION
Computing the shortest path on a polyhedral surface. Presented by: Liu Gang 2008.9.25. Overview of Presentation. Introduction Related works Dijkstra’s Algorithm Fast Marching Method Results. Introduction. Motivation. - PowerPoint PPT PresentationTRANSCRIPT
Overview of Presentation
Introduction Related works Dijkstra’s Algorithm Fast Marching Method Results
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
Related worksExact globally shortest path algorithms Shair and Schorr (1986) On shortest paths in polyhedral spaces.
O(n3logn) Mount (1984) On finding shortest paths on convex polyhedral. O(n2logn) Mitchell, Mount and Papadimitriou (MMP)(1987) The discrete
geodesic problem. O(n2logn) Chen and Han(1990) shortest paths on a polyhedron. O(n2)
Approximate shortest path algorithms Sethian J.A (1996) A Fast Marching Level Set Method for Monotonically
Advancing Fronts. O(nlogn) 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)
Exact globally shortest path algorithms Shair and Schorr (1986) On shortest paths in polyhedral spaces.
O(n3logn) Mount (1984) On finding shortest paths on convex polyhedral. O(n2logn) Mitchell, Mount and Papadimitriou (MMP)(1987) The discrete geodesic
problem. O(n2logn) Chen and Han(1990) shortest paths on a polyhedron. O(n2)
Approximate shortest path algorithms Sethian J.A (1996) A Fast Marching Level Set Method for Monotonically
Advancing Fronts. O(nlogn) 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)
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
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
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
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
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
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
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
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
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
44X
X
32
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
44X
delmin
X 33X
32
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
44X
35X
59 X
24
X 33X
32
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
44X
35X
59 X
delmin
X 33X
(6,32)
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
44X
35X
59 XX 51
X
(3,34)
X 33X
(6,32
)
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
44X
35X
59 XX 51
X
(3,34)
delmin
X 33X
(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
44X
35X
59 XX 51
X
(3,34)
24
X 50
X 45
X 33X
(6,32)
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
44X
35X
59 XX 51
X
(3,34)
24
X 50
X(5, 45)
delmin
X 33X
(6,32)
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
44X
35X
59 XX 51
X
(6,34)
24
X 50
X (5,45
)
X 33X
(6,32
)
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
44X
35X
59 XX 51
X (3,34)
X 50
X (5,45)
delmin
X 33X
(6,32)
24
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
44X
35X
59 XX 51
X
(3,34)
X
(5,50)
X(5, 45)
X 33X
(6,32
)
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
44X
35X
59 XX 51
X
(3,34)
X
(5,50)
X(5, 45)
X 33X
(6,32
)
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
44X
35X
59 XX 51
X
(3,34)
X
(5,50)
X(5, 45)
X 33X
(6,32
)
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
44X
35X
59 XX 51
X
(3,34)
X
(5,50)
X(5, 45)
X 33X
(6,32
)
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 once 2. When reach the destination, trace backward to find the shortest path.
PreliminariesLet S be a triangulated
polyhedral surface in R3, defined by a set
of faces, edges and vertices.
Assume that the Surface S has n faces
and x0, x are two points on the
surface.
Face sequence: F is defined by a list of adjacent faces f1, f2,…, fm+1 such that fi and fi+1 share a common edge ei . Then we call the list of edges E=(e1,e2,…,em) an edge sequence.
Fast Marching Method(FMM) R. Kimmel
ProfessorDepartment of Computer
ScienceTechnion-Israel Institute of
TechnologyIEEE Transactions on Image Processing
J. A. Sethian
ProfessorDepartment of Mathematics
University of California, Berkeley
Norbert Wiener Prize in Applied Mathematics
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 .
Eikonal equation
Eikonal equation (from Greek εικων)
Hyperbolic PDE with boundary
condition
Minimal geodesics are
characteristics.
Describes propagation of waves
in medium.
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 .
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
propagationUsing the intrinsic variable of the triangulation
Acute triangulation
The update procedure is given as follows
Fast Marching Method cont.
Acute triangulation guarantee that the consistent solution approximating the Viscosity solution of the Eikonal equation has the monotone property
Obtuse triangulation
Inconsistent solution if the mesh contains obtuse
triangles
Remeshing is costly
Obtuse triangulation cont.
Solution: split obtuse triangles by adding virtual connections to non-adjacent vertices
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 v1v2; p is the access point.
More Flags for Keeping Track of an Advancing Wavefront
(a) From Left Part: edge v1v3 receives wavefront coming from theleft part of edge v1v2.
(b) From Right Part: Edge v3v2
receives wavefront coming fromthe right part of edge v1v2.