This article appeared in a journal published by Elsevier. The... copy is furnished to the author for internal non-commercial research

advertisement
This article appeared in a journal published by Elsevier. The attached
copy is furnished to the author for internal non-commercial research
and education use, including for instruction at the authors institution
and sharing with colleagues.
Other uses, including reproduction and distribution, or selling or
licensing copies, or posting to personal, institutional or third party
websites are prohibited.
In most cases authors are permitted to post their version of the
article (e.g. in Word or Tex form) to their personal website or
institutional repository. Authors requiring further information
regarding Elsevier’s archiving and manuscript policies are
encouraged to visit:
http://www.elsevier.com/copyright
Author's personal copy
Computer-Aided Design 42 (2010) 942–951
Contents lists available at ScienceDirect
Computer-Aided Design
journal homepage: www.elsevier.com/locate/cad
Applying the improved Chen and Han’s algorithm to different versions of
shortest path problems on a polyhedral surface
Shi-Qing Xin, Guo-Jin Wang ∗
Department of Mathematics and State Key Laboratory of CAD & CG, Zhejiang University, Hangzhou 310027, PR China
article
info
Article history:
Received 9 July 2009
Accepted 20 May 2010
Keywords:
Computational geometry
Discrete geodesic problem
Voronoi diagram
abstract
The computation of shortest paths on a polyhedral surface is a common operation in many computer
graphics applications. There are two best known exact algorithms for the ‘‘single source, any destination’’
shortest path problem. One is proposed by Mitchell et al. (1987) [1]. The other is by Chen and Han (1990)
[11]. Recently, Xin and Wang (2009) [9] improved the CH algorithm by exploiting a filtering theorem and
achieved a practical method that outperforms both the CH algorithm and the MMP algorithm whether in
time or in space.
In this paper, we apply the improved CH algorithm to different versions of shortest path problems.
The contributions of this paper include: (1) For a surface point p ∈ 4v1 v2 v3 , we present an unfolding
technique for estimating the distance value at p using the distances at v1 , v2 and v3 . (2) We show that the
improved CH algorithm can be naturally extended to the ‘‘multiple sources, any destination’’ version.
Also, introducing a well-chosen heuristic factor into the improved CH algorithm will induce an exact
solution to the ‘‘single source, single destination’’ version. (3) At the conclusion of multi-source shortest
path algorithms, we can use the distance values at vertices to approximately compute the geodesicdistance-based offsets, the Voronoi diagram and the Delaunay triangulation in O(n) time. (4) By importing
a precision parameter λ, we obtain a precision controlled approximant which varies from the improved
CH algorithm to Dijkstra’s algorithm as λ increases from 0 to 1. Thus, an interesting relationship between
them can be naturally established.
© 2010 Elsevier Ltd. All rights reserved.
1. Introduction
The discrete geodesic problem [1], i.e., finding shortest paths between points on a polyhedral surface S , arises in natural applications such as robotics, motion planning, geographic information
systems and navigation [2,3] and has been widely studied in computational geometry [4–6]. The discrete geodesic problem is also
central to computer graphics because the computation of shortest
paths is a common operation in many graphics problems [7].
According to different application requirements, the discrete
geodesic problem may have at least the following four versions:
‘‘single source, any destination’’, ‘‘multiple sources, any destination’’, ‘‘single source, single destination’’, and ‘‘any source, any
destination’’. The most important of these versions is the ‘‘single
source, any destination’’ shortest path problem since it can be theoretically viewed as a kernel of the other problems if the goal is
to find the exact solutions [8,9]. Several algorithms [1,8–11] have
been proposed for this problem. In 1987, Mitchell, Mount and Papadimitriou [1] (MMP) gave an O(n2 log n)-time and O(n2 )-space
∗
Corresponding author. Tel.: +86 571 87951609x8306.
E-mail addresses: xinshiqing@163.com (S.-Q. Xin), wanggj@zju.edu.cn
(G.-J. Wang).
0010-4485/$ – see front matter © 2010 Elsevier Ltd. All rights reserved.
doi:10.1016/j.cad.2010.05.009
algorithm that inherits the paradigm of Dijkstra’s algorithm [12],
where n is the number of faces. Later in 1990, Chen and Han [11]
(CH) provided an O(n2 )-time and O(n)-space algorithm based on a
key observation of ‘‘one angle one split’’. Interestingly, all the available experimental results [13,7,9] show that the MMP algorithm,
of a higher time complexity, runs more efficiently in practice but
requires higher space costs. Recently, Xin and Wang [9] (XW) improved the CH algorithm by filtering out those discrete events that
will never contribute to any shortest path, achieving a new algorithm that outperforms both the CH algorithm and the MMP algorithm whether in time or in space; see Section 3.
In fact, the MMP algorithm [1], the CH algorithm [11] and the
improved CH algorithm [9] all consist of two phases. In the first
phase, the shortest path from the source to each vertex is computed, along with a set of windows encoding the shortest paths
from the source to points on the edges. In the second phase, the
windows are used to compute a decomposition of the polyhedral
surface which permits a shortest path to any destination can be
reported in O(log n) time [8,1,11]. However, computing a decomposition of the surface is complicated and unnecessary. Surazhsky
et al. [7] suggested that for a surface point p ∈ 4v1 v2 v3 , one can
consider all windows on the three edges bounding the face, and
choose the window that provides the shortest distance to point p.
Author's personal copy
S.-Q. Xin, G.-J. Wang / Computer-Aided Design 42 (2010) 942–951
a
943
b
Fig. 2. A pseudo-source window encodes a shortest path from the source point to
a vertex, while an interval window encodes a set of shortest paths that share the
common edge sequence.
approximant which varies from the improved CH algorithm to Dijkstra’s algorithm as λ increases from 0 to 1. Thus, an interesting
relationship between them can be naturally established; see Section 7.
Note that all the experiments are made on a computer with the
following configuration:
Fig. 1. An example of the geodesic-distance-based offsets, the Voronoi diagram
and the Delaunay triangulation by the approximation algorithm in Section 6: the
Cat model has 55,095 faces and each source point is marked with a green ‘‘s’’.
This technique also applies to the original CH algorithm [11] and
the improved CH algorithm [9], but increases the space complexity from O(n) to O(n2 ). In this paper, we suggest using the distances
at v1 , v2 and v3 to estimate the distance value at p ∈ 4v1 v2 v3 .
The technique is taking the geodesic distance as the straight line
distance and thereby estimating the geodesic distance of p on the
unfolded plane. Numerous experimental results show that the estimation is very close to the exact value, and the relative error is
generally not more than 0.1%. Section 4 gives the details.
As in Dijkstra’s algorithm, finding the exact solution to ‘‘single
source, single destination’’ is not easier than ‘‘single source, any
destination’’. In order to make a tradeoff between precision and
performance when computing the geodesic distance between
two points s, t on the surface, researchers presented numerous
approximation algorithms [3,6,14–23]. In fact, we can define a
heuristic factor H (p) = DGeodesic (s, p) + DEuclidean (p, t ) for a point p,
where DGeodesic (·) is the geodesic distance measure and DEuclidean (·)
is the Euclidean distance measure. It optimizes the processing
order of the discrete events, greatly narrows the search space and
therefore speeds up the improved CH algorithm [9]. Since the H (p)
is always less than or equal to DGeodesic (s, t ), we can conclude that
the resulting solution is exact; see Section 5.
Leibon and Letscher [24] proved that the geodesic-distancebased Voronoi diagram (GVD), as well as the geodesic-distancebased Delaunay triangulation, are well defined on a manifold if
the sampling points are sufficiently dense. However, the computation of an exact GVD is difficult and known approximate algorithms for GVD computation are time consuming [25,26]. This
motivates us to seek for an approximation method. In this paper, we approximately compute the geodesic based offsets, the
geodesic based Voronoi diagram and the geodesic based Delaunay
triangulation by estimating the locus in a face f using the distance
values at the three vertices of f . This enables us to quickly report
these geometric structures in O(n) time after running the improved
CH algorithm [9]. Fig. 1 exhibits the results by our algorithm.
Section 6 describes this idea in detail.
Although Xin and Wang [9] improved Chen and Han’s algorithm [11], finding exact solutions still requires a high time cost for
very large models. Since the input mesh is just an approximant of
the real surface, approximation algorithms [16,19,20,3,22,7], especially the Fast Marching Method [2] and Dijkstra’s algorithm [12],
are preferred in many occasions. Observing that the key idea of the
improved CH algorithm [9] is filtering out useless discrete events,
we import a parameter λ ∈ [0, 1] into the filtering theorem [9] to
achieve an over-filtering rule. This induces a precision controlled
•
•
•
•
Windows XP Professional x64 Edition,
Intel(R) Xeon(R) CPU,
W3520 @ 2.67 GHz,
12.0 GB of RAM.
The experimental results are organized into different sections.
Section 8 gives the final conclusion.
2. Geometric preliminaries
Let S be a (triangulated) polyhedral surface in R3 , defined by
a set of faces, edges and vertices. Without loss of generality, we
assume that S has a complexity of n since Euler’s formula affirms
that the number of vertices, edges and faces of a polyhedral surface
are linearly related [27].
Suppose Π is a path restricted on the surface S and this path
goes through a sequence of vertices and edges. We call this sequence Γ . The following properties are known [8,1,11]:
P1: Π is a shortest path only if the sequence Γ is simple, i.e., no
edge or vertex appears more than once in Γ .
P2: If Π is a shortest path, then its intersection with each face in
Γ is a line segment.
P3: A shortest path Π cannot pass more than n faces, where n is
the total number of faces of the polyhedral surface S .
P4: Both of the angles of a shortest path Π passing through a
vertex v are greater than or equal to π . So v must be a saddle
vertex v , where ‘‘saddle’’ means that the sum of the incident
angles to v is greater than 2π .
P5: Let Π1 , Π2 be two shortest paths between the source point s
and the destination point t. Π1 , Π2 cannot intersect unless at
s or t or a saddle vertex.
P6: If Π is a shortest path, it can be unfolded into a polyline
when Γ is unfolded onto a plane, where a saddle vertex v on
Π contributes to a corner v 0 of the polyline. We call v 0 the
unfolded image of v .
In studying shortest path problem, we need to define a welldesigned data structure called a window. A window encodes a set of
shortest paths that goes through the same sequence Γ of vertices
and faces [11,7,9]. Since a typical edge–vertex sequence Γ ends
with a vertex or an edge, we classify windows into two types:
(1) pseudo-source windows and (2) interval windows; see Fig. 2.
Technically, we use a pair (d, v) to denote the key information
encoded in a pseudo-source window at vertex v , where d is the
shortest distance from the source to v restricted on the sequence
Γ . If Γ ends with an edge e, we call the last vertex r in Γ a root.
Sharir and Schorr [8] proved that the point set
{p|p ∈ e, the shortest path from r to p
can be unfolded into a straight line segment}
Author's personal copy
944
S.-Q. Xin, G.-J. Wang / Computer-Aided Design 42 (2010) 942–951
a
b
c
d
Fig. 3. Computing the children of a window: (a) A pseudo-source window at a saddle vertex v may have children on opposite edges and at adjacent vertices; (b–d) An
interval window w on edge v1 v2 may have one or two interval-window children, depending on how the line segment Iv intersects w ’s interval.
(a) Chen & Han’s ‘‘One angle one split’’.
(b) Xin & Wang’s filtering theorem.
Fig. 4. Lemmas 1 and 2: (a) Chen and Han observed that only three of the four possible edge sequences in this example can provide shortest paths. The three green windows
belong to edge sequences that will continue, and the red one corresponds to an edge sequence that must stop because the shortest paths that it contains cannot continue to
pass this triangle. (b) Xin and Wang [9] suggested filtering out useless windows using the current estimates of the distances to the vertices.
is an interval (see Fig. 2). So we use a four-tuple (d, Ir , e, [a, b]) to
denote an interval window, where r is the root, Ir is the unfolded
image of vertex r, and d is the shortest distance from the source to
r restricted on the edge–vertex sequence of interest.
3. The original CH algorithm and the improved version
The CH algorithm [11] builds a tree, level by level, to arrange
windows that possibly contribute to the determination of a shortest path. The basic rule of creating children of window w is summarized below.
If w is a pseudo-source window at vertex v , i.e., w := (d, v)
If v is saddle vertex (see Fig. 3(a))
For each vertex v 0 adjacent to v , compute a pseudo-source
window;
For each edge opposite to v , compute an interval window;
Else /*the sum of angles incident to vertex v is equal to or less
than 2π */
No children need to be computed;
Else /*let w := (d, Ir , v1 v2 , [a, b]) and vertex v be opposite to
edge v1 v2 */
If the line segment Ir v is right to the interval [a,b] (see
Fig. 3(b))
Compute the only interval-window child on edge v1 v ;
Elseif the line segment Ir v is left to the interval [a,b] (see
Fig. 3(c))
Compute the only interval-window child on edge vv2 ;
Else /*Ir v intersects the interval [a,b] at some point (see
Fig. 3(d)).*/
Compute two interval windows, one on edge v1 v and the
other on edge vv2 ;
Compute a pseudo-source window at vertex v .
Note that Property (P3) ensures that the tree cannot have more
than n levels and Property (P4) means that we do not need to
compute children for a convex vertex. Chen and Han [11] made a
clever observation of ‘‘one angle one split’’; see Lemma 1. Their algorithm thereby avoids the explosion of the tree, improving the
discrete geodesic problem to be O(n2 )-time and O(n)-space. However, Surazhsky et al. [7] provided experimental results to show
that the MMP algorithm [1], of an O(n2 log n) time complexity, runs
many times faster in practice. Recently, Xin and Wang [9] observed
Fig. 5. Estimating the geodesic distance to a surface point.
that the overwhelming majority of the windows created by the CH
algorithm [11] never contribute to a real shortest path. So they [9]
improved the CH algorithm by two separate techniques. One filters
out useless windows using the current estimates of the distances to
the vertices (see Lemma 2). The other maintains a priority queue
like that achieved in Dijkstra’s algorithm. The improved CH algorithm [9] outperforms the CH algorithm and the MMP algorithm.
In the next section, we will apply the improved CH algorithm to
other versions of shortest path problems.
Lemma 1 ([11]). Let w1 and w2 be two windows on the same directed
edge v1 v2 of 4v1 v2 v , shown in Fig. 4(a). If both of the windows cover
the vertex v , then at most one of them can have two children which
could be used to define a shortest sequence.
Lemma 2 ([9]). Let w be a window that enters 4v1 v2 v3 through edge
v1 v3 , shown in Fig. 4(b). Assume that d1 , d2 , d3 are respectively the
minimum-so-far distance at the three vertices v1 , v2 , v3 . w cannot
define a shortest sequence if
d + kIBk > d1 + kv1 Bk
or
d + kIAk > d2 + kv2 Ak
or
d + kIAk > d3 + kv3 Ak.
Author's personal copy
S.-Q. Xin, G.-J. Wang / Computer-Aided Design 42 (2010) 942–951
(a) Cat, 671 faces.
(b) Venus, 1,418 faces.
(d) Error statistics of (b).
(g) Error statistics of (e).
945
(c) Error statistics of (a).
(e) Cat, 55,095 faces.
(f) Venus, 40,822 faces.
(h) Error statistics of (f).
Fig. 6. Estimating the geodesic distance from the source to a surface point: the red curves show the exact shortest paths backtraced by the technique from Surazhsky
et al. [7]. We compare the following three estimation methods by randomly sampling 1000 times: (1) straight line distance approximation, (2) Dijkstra’s algorithm and (3)
our estimation method. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
4. Estimating the geodesic distance to a surface point
All the exact algorithms [8,4,11,9] for the ‘‘single source, any
destination’’ shortest path problem consist of two phases. In the
first phase, the shortest path from the source to each vertex is
computed, along with a set of windows encoding information
about the shortest paths from the source to points on the edges.
In the second phase, the windows are used to compute a decomposition of the polyhedral surface, with which a shortest path to
any destination can be reported in O(log n) time. However, computing the decomposition is complicated to implement and is
generally unnecessary. For a surface point p, Surazhsky et al. [7]
suggested considering all windows on the three edges bounding
the face f and choosing the window that provides the shortest
distance to p. The technique also applies to the improved CH algorithm [9]. However, the space complexity increases accordingly
from O(n) to O(n2 ). In this section, we propose a rather simple idea,
according to the distance values at the three vertices of f , for estimating the distance to a surface point p in the face f .
As Fig. 5 shows, the exact geodesic distances to the vertices
v1 , v2 , v3 are known and we herein approximate the geodesic
distance to the surface point p ∈ 4v1 v2 v3 . If the source point
s and the surface point p are located in the same face, we just
need to return the Euclidean distance between them. Otherwise,
we consider approximately ‘‘unfolding’’ the geodesic path Π (s, p)
respectively along the edges v1 v2 , v2 v3 , v3 v1 . Taking Fig. 5 for an
example, we first ‘‘unfold’’ Π (s, p), along v1 v2 , onto the plane of
Author's personal copy
946
S.-Q. Xin, G.-J. Wang / Computer-Aided Design 42 (2010) 942–951
5. The ‘‘single source, single destination’’ problem
Fig. 7. The heuristic factor H (W ) = d + minp∈[a,b] (kIpk + kpt k).
4v1 v2 v3 . Suppose s is the unfolded image of the source point s,
then we have kΠ (s, v1 )k = ks0 v1 k and kΠ (s, v2 )k = ks0 v2 k. Note
that s0 and v3 should be kept on different sides of the edge v1 v2 .
Considering the geodesic distances kΠ (s, v1 )k, kΠ (s, v2 )k and
kv1 v2 k also satisfy the triangle-inequality property, we conclude
that s0 is well defined. We define the first estimate of kΠ (s, p)k to
0
be
Ev1 v2

kpv1 k + kv1 s0 k,
= kpv2 k + kv2 s0 k,
 0
kps k,
ps0 is left to the edge v1 v2 ,
ps0 is right to the edge v1 v2 ,
else.
Similarly, Ev2 v3 and Ev3 v1 can also be determined by ‘‘unfolding’’
Π (s, p) along v2 v3 and v3 v1 . We take min{Ev1 v2 , Ev2 v3 , Ev3 v1 } as
the estimate of the geodesic distance between s and p. As to
backtracing the approximate shortest path, Euler’s method may be
a choice; see [23] for references.
Numerous experimental results show that our estimation method is much more accurate than straight line distance approximation and Dijkstra’s algorithm. For refined and well-triangulated
models, the relative error of the approximate distance to the exact value is generally not more than 0.1%; see Fig. 6 and Table 1.
So we believe that this is a potential technique for estimating the
geodesic distance to a surface point.
(a) The Gargoyle model of 20,000 faces.
In this section we discuss how to heuristically compute the
exact shortest path between two points s and t. Generally speaking,
heuristic algorithms are used to find an approximate solution close
to the best one among the search space. However, if the heuristic
factor satisfies the following two conditions, then the heuristic
algorithm results in an exact solution:
• H (a, b) ≤ D(a, b) for any a, b in the definition domain;
• H (a, a) = 0 for any a in the definition domain,
where H (·, ·) is the heuristic factor for estimating the exact
measure D(·, ·) of interest. Here, we construct a heuristic factor
Hp (s, t ) = DGeodesic (s, p) + DEuclidean (p, t ) regarding the point p for
estimating the shortest distance between the source point s and
the destination point t, where DGeodesic (·, ·) is the geodesic distance
measure and DEuclidean (·, ·) is the Euclidean distance measure.
Obviously, Hp (·, ·) satisfies the above two conditions and therefore
gives the exact shortest path between s and t. Fig. 7 shows a variant
of such a definition:
d + min (kIpk + kpt k),
w = (d, I, e, [a, b]),
d + kv t k,
w = (d, v).
(
H (w) =
p∈[a,b]
Like that achieved in the improved CH algorithm [9], we maintain
a priority queue throughout the algorithm such that the window
with the minimum H (·) is first handled. If the minimum H (·) is
larger than the current distance at the destination t, the algorithm
terminates and returns the shortest distance between s and t.
Experimental results in Fig. 8 and Table 2 show that if the source
and the destination are already known, the heuristic technique will
greatly narrow the search space and thus reduce the time cost.
(b) The Feline model of 99,732 faces.
Fig. 8. Heuristically computing the exact shortest path between two points.
(a) Geodesic based offsets.
(b) The approximate Voronoi
diagram.
(c) The approximate Delaunay
triangulation.
(d) Combining subfigure (b) and
subfigure (c).
Fig. 9. At the end of the improved CH algorithm, the trajectory of the geodesic based offsets, the Voronoi diagram and the Delaunay triangulation on the surface can be
approximately computed in O(n) time. The common technique is to use the distance values at the three vertices of each face.
Author's personal copy
S.-Q. Xin, G.-J. Wang / Computer-Aided Design 42 (2010) 942–951
947
Table 1
Estimating the lengths for the 6 exact geodesic paths in Fig. 6.
Path number
¬ (%)
­ (%)
® (%)
¯ (%)
° (%)
± (%)
Straight line distance
Dijkstra’s method
Our method
10.398
4.684
0.024
9.159
4.724
0.0
10.012
6.545
0.070
4.811
5.281
0.008
1.982
4.358
0.029
3.768
4.534
0.057
(a) Approximate offsets in a face.
(b) The face contains only one Voronoi edge.
(c) The face contains three Voronoi edges.
(d) The approximate Delaunay edge.
Fig. 10. (a) Suppose d1 < d2 < d3 and the given d is between d1 and d2 , then points p1 , p2 on the offset of geodesic distance d are approximately computed by
kv1 p1 k
1 p2 k
= dd−−d1d and kv
= dd−−d1d ; (b) If d1 , d2 , d3 are given by 2 different sources s1 , s2 , then the Voronoi edge p1 p2 is determined by d1 + kv1 p1 k = d2 + kp1 v2 k
kp v k
kp v k
1 2
2
2 3
3
and d1 + kv1 p2 k = d3 + kp2 v3 k; (c) If d1 , d2 , d3 are given by 3 sources, then 3 Voronoi edges are determined by d1 + kv1 p1 k = d2 + kp1 v2 k, d1 + kv1 p2 k = d3 + kp2 v3 k
and d2 + kv2 p3 k = d3 + kp3 v3 k; (d) The Delaunay edge is defined by minimizing Dgeodesic (vi ) + Dgeodesic (vj ) + DEuclidean (vi , vj ), where vi vj is an edge.
Table 2
Heuristically computing the exact shortest path shown in Fig. 8.
Model
Faces
The improved CH
algorithm
The heuristic
algorithm
Time (ms)
Space (Mb)
Time (ms)
Space (Mb)
Gargoyle
Feline
20,000
99,732
390
2,687
0.31
1.52
31
47
0.11
0.13
where D = maxj {dj |dj is the shortest distance to vj } and k is a
prescribed constant number. For 4v1 v2 v3 shown in Fig. 10(a),
without loss of generality, we assume d1 < d2 < d3 , where di is
the shortest distance to vi . 4v1 v2 v3 must contribute to the offsets
at distance
D
d=j ,
k
j∈N
and k
As is shown in Fig. 9(a), it is trivial to extend the improved CH
algorithm [9] to the problem of ‘‘multiple sources, any destination’’,
since both Lemmas 1 and 2 still make sense. Based on this, we give a
set of approximation algorithms for computing the geodesic based
offsets, the Voronoi diagram and the Delaunay triangulation. The
common technique is to estimate the trajectory of these geometric
elements using the distance values at the vertices.
6.1. The geodesic based offsets
Here we discuss how to approximately compute the offsets.
Suppose that d1 , d2 are respectively the shortest distances to the
endpoints of edge v1 v2 . For any d ∈ [min(d1 , d2 ), max(d1 , d2 )],
there is always one or more points p ∈ v1 v2 such that p has
the shortest distance d. For refined meshes that are evenly triangulated, it is reasonable to assume: (1) the distance to p linearly
changes between d1 and d2 when p varies from v1 to v2 , and (2) an
offset crosses a triangle f by a straight line segment. We can approximately compute the offsets by traversing all the triangles.
In most cases we hope to backtrace a family of the offsets at
distance
D
k
D
D
D
k
k
k
,2 ,...,i ,...,k ,
D
<j≤k
d3
D
.
For every k D1 < j ≤ k D3 we need to compute a straight line
d
6. The geodesic based offsets, the Voronoi diagram and the
Delaunay triangulation
d1
d
segment p1 p2 to represent the offset at distance d = j Dk lying
in 4v1 v2 v3 . If d1 < d ≤ d2 , we compute the two points p1 ∈
v1 v2 , p2 ∈ v1 v3 by solving

kp1 v2 k
kv1 p1 k


=
,

d − d1
d2 − d
kv p k
kp v k


 1 2 = 2 3 ,
d − d1
d3 − d
and if d2 < d ≤ d3 , we compute p1 , p2 by

kv2 p1 k
kp1 v3 k


=
,

d − d2
d3 − d
kp2 v3 k
 kv1 p2 k


=
.
d − d1
d3 − d
Fig. 9(a) shows an example of the approximate geodesic based
offsets. We can prove the following theorem:
Theorem 3. The approximate offsets at d1 and the approximate
offsets at d2 do not intersect each other if d1 6= d2 . The approximate
offsets at distance d on a closed polyhedral surface are closed.
6.2. The Voronoi diagram
Leibon and Letscher [24] discussed the existence of the
geodesic-distance-based Voronoi diagram (GVD) on a manifold. If
Author's personal copy
948
S.-Q. Xin, G.-J. Wang / Computer-Aided Design 42 (2010) 942–951
we take a source point as a site, then each site occupies an area,
called a cell. Different cells do not overlap and the union of all the
cells is just the whole surface. Exact algorithms for this problem
are not available yet. Here we give a very simple approximation
algorithm that runs in O(n) time. Without loss of generality, we
assume that every face contains at most one source point. Our idea
comes from the fact that if the shortest distances to the endpoints
of edge v1 v2 are provided by different sites s1 , s2 , then v1 v2 belongs
to at least two cells. With the assumption that the input model is
refined and evenly triangulated, we can divide the edge v1 v2 , at the
point p, into two parts, one in the cell of s1 and the other in the cell
of s2 . In other words, p is regarded to be located on the common
boundary of s1 ’s cell and s2 ’s cell. We can approximately compute
p by solving the equation
d1 + kv1 pk = d2 + kpv2 k,
where d1 , d2 are respectively the shortest distances to v1 , v2 . It
is easy to prove that the equation has one and only one solution
p∗ [8]. If the three distances at v1 , v2 , v2 of 4v1 v2 v3 are given
by the same site s, then we can assume that the face belongs to
the cell of s and no cell boundary crosses the face. If the three
distances are given by two different sites s1 and s2 as Fig. 10(b)
shows. Then we can compute p1 ∈ v1 v2 and p2 ∈ v1 v3 according
to the above equation and take p1 p2 as the common boundary
of s1 ’s cell and s2 ’s cell. Otherwise, the three distances are given
by three different sites s1 , s2 , s3 . As Fig. 10(c) shows, we compute
p1 ∈ v1 v2 , p2 ∈ v1 v3 , p3 ∈ v2 v3 , according to the above equation,
and the barycenter p of p1 , p2 , p3 . pp1 , pp2 , pp3 can be viewed
as an approximant of the Voronoi diagram in the face 4v1 v2 v3 .
The whole approximate Voronoi diagram on the surface can be
computed in O(n) time. Fig. 9(c) shows an example and we have
the following observations:
1. For each site s, the site itself belongs to its cell.
2. Each point on the surface is associated with a site; see Fig. 10(b)
and (c).
3. The boundaries of the approximate Voronoi cells intersect an
edge e at no more than one point, so it is impossible that an edge
intersects a Voronoi cell at an entry point and an exit point. If
both the endpoints of e belong to the approximate Voronoi cell
of s, then the whole edge belongs to the cell.
4. If a simple closed curve C lying on the surface does not enclose
a vertex inside, then the curve C must be restricted on an edge
sequence E and crosses each edge in E at least twice.
Sometimes when the input mesh is unevenly triangulated,
there may be some ‘‘long’’ edges. Here we give a definition to describe these long edges.
Definition 4. Suppose that one endpoint of the edge e achieves
the shortest distance from the site s1 and the other achieves the
shortest distance from the site s2 (possibly s1 = s2 ). The edge e is
called an XL edge if there is a point p ∈ e, whose shortest distance
is given by the site s, such that s 6= s1 and s 6= s2 .
Having Definition 4, we will prove the following theorem.
Theorem 5. Given a set of sites on a polyhedral surface that is a
manifold and contains no XL edges, our approximation algorithm
computes a simply connected cell for each site. The union of all the
cells covers the surface, and different cells do not overlap.
Proof. First, if the cell of the site s is not simply connected, then
its cell is composed of at least two simply connected areas A1 , A2 ;
see Fig. 11(a). Without loss of generality, we assume that the area
enclosing the site s is A1 and the other is A2 . Suppose that p2 ∈ A2
provides the shortest path Π (s, A2 ) from s to A2 . p2 must be
located on the boundary of A2 . Let p1 be the (farthest) intersection
point where Π (s, A2 ) intersects the boundary of A1 . The section
of Π (s, A2 ) between p1 and p2 , denoted by Π (p1 , p2 ), is outside
A1 and A2 . We assume that Π (p1 , p2 ) crosses the face sequence
f1 , f2 , . . . , fk , or alternatively the edge sequence e1 , e2 , . . . , ek+1 .
One of the three vertices of f1 must be outside A1 . Otherwise,
Observation (3) ensures that p1 is inside A1 rather than on the
boundary. Without loss of generality, we assume that the lower
endpoint v1 of the edge e1 is inside A1 while the upper endpoint
is outside. This means that the shortest distance to the upper
endpoint of e1 cannot be contributed by the site s. Considering
that no XL edges exist, we conclude that the lower endpoint v2 of
the edge e2 gets the shortest distance from the site s. Similarly we
know that s provides the shortest distances to the lower endpoints
v3 , v4 , . . . , vh of the edge sequence e3 , e4 , . . . , ek+1 . According to
Observation (3), we have that all the edges vi vi+1 (1 ≤ i ≤ h − 1)
lie inside approximate Voronoi cell of s and therefore A1 and A2
cannot be two separate approximate Voronoi cells.
Second, if two approximate Voronoi cells A1 and A2 overlap,
then the intersection points must be vertices, as Fig. 11(b) shows.
We assume that two of the
T intersection points are v1 , v2 . If there
is a vertex v3 inside A1
A2 , then it can be concluded that v3
must be located on the
Tcommon boundary of A1 and A2 . Therefore,
the boundary of A1
A2 lies on an edge sequence E and cross
each edge in E at least twice. According to Observation (4), this
contradicts our approximation algorithm for computing Voronoi
cells. 6.3. The Delaunay triangulation
In order to generate an approximate Delaunay triangulation on
a polyhedral surface, we introduce a definition here.
Definition 6. If there is an edge vi vj such that the site s1 provides
the shortest distance to vi and the site s2 (s1 6= s2 ) provides the
shortest distance to vj , there is a candidate Delaunay edge that
is composed of 3 sections — the shortest path from s1 to vi , the
edge vi vj and the shortest path from vj to s2 . The approximate
Voronoi edge is chosen by minimizing the candidates’ lengths
Dgeodesic (s1 , vi ) + DEuclidean (vi , vj ) + Dgeodesic (vj , s2 ).
Fig. 9(c) exhibits an example of the approximate Delaunay
triangulation according to the above definition. We further have
the following theorem.
Theorem 7. Given a set of sites on a polyhedral surface that is a
manifold and contains no XL edges, no two Delaunay edges cross each
other in the resulting approximate Delaunay triangulation. The site s1
and the site s2 are joined by a Delaunay edge if and only if they have
a section of common boundary.
Proof. As Fig. 12(a) shows, we assume that two approximate
Delaunay edges intersect at a point p ∈ v1 v2 . We have p 6∈ v3 v4 ,
s3 6= s1 and s3 6= s2 . Since the shortest distance to v3 is given
by the site s3 , the shortest distance to p must also be given by s3 .
This means that the edge v1 v2 is an XL edge, contradicting the given
conditions. Another case we need to consider is shown in Fig. 12(b).
According to the Property (P5) in Section 2, the intersection point
p is a saddle vertex and s2 , s3 provide the shortest distance to p at
the same time. Recall that in the improved CH algorithm we just
keep one of the vertices that provide the shortest distance to p
at the same time. Without loss of generality, we assume that s2
gives the shortest distance to p, as well as the shortest distance to
v3 . s3\
v3 v4 s4 cannot be an approximate Delaunay edge according to
Definition 6.
The latter half is obvious from our approximation algorithms.
Author's personal copy
S.-Q. Xin, G.-J. Wang / Computer-Aided Design 42 (2010) 942–951
(a) The approximate Voronoi cell of the site s must be simply connected.
949
(b) Different approximate Voronoi cells do not overlap.
Fig. 11. Proof of Theorem 5.
(a) Intersecting at a point p ∈ v1 v2 .
(b) Intersecting at a point p 6∈ v1 v2
S
v3 v4 .
Fig. 12. Proof of Theorem 7.
(b) Removing the Delaunay edge D\
v1 v2 F .
(a) v1 v2 is an XL edge.
Fig. 13. Removing Delaunay edges that pass through XL edges: (a) v1 v2 is an XL edge since it is crossed by the Delaunay edge C\
v3 v4 E. (b) The Delaunay edge D\
v1 v2 F is
removed. Thus, the surface is partitioned into Delaunay cells. For example, the red area is a Delaunay cell bounded by the Delaunay edges C\
v3 v6 F , C\
v3 v5 A and A\
v5 v6 F . (For
interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
6.4. Removing Delaunay edges that pass through XL edges
d + kIAk + ≥ d2 + kv2 Ak
From Theorems 5 and 7, we know that the approximation
algorithms for computing the Voronoi diagram and the Delaunay
triangulation do not work if there exist some XL edges. As Fig. 13(a)
shows, the edge v1 v2 is an XL edge since it is crossed by the
Delaunay edge C\
v3 v4 E. However, the Delaunay edge between D
and F passes through the XL edge v1 v2 . If we remove the Delaunay
edge D\
v1 v2 F , then the surface is partitioned into Delaunay cells.
Every cell is bounded by three Delaunay edges. For example, the
red area in Fig. 13(b) is bounded by the Delaunay edges C\
v3 v6 F ,
C\
v3 v5 A and A\
v5 v6 F . Generally, the approximation algorithm can be
patched by (a) determining XL edges and (b) removing Delaunay
edges that pass through XL edges. In practice, our experimental
results illustrate that there are very few XL edges on refined and
well-triangulated models.
or
7. A precision controlled approximant of the improved CH
algorithm
Recall that the improved CH algorithm [9] exploits Lemma 2
to filter out useless interval windows. So we can easily import
a parameter to get an over-filtering rule as follows. As Fig. 4(b)
shows, if w = (d, I, e, AB) satisfies
d + kIBk + ≥ d1 + kv1 Bk
or
d + kIAk + ≥ d3 + kv3 Ak,
we stop w from having children. We have the following theorem.
Theorem 8. When exceeds the maximum edge length E, the overfiltering rule will filter out all the interval windows, making the
improved CH algorithm to be precisely Dijkstra’s algorithm [12].
Proof. As Fig. 15 shows, every interval window encodes a composite sequence of vertices and edges. Suppose the first interval window w , rooted at the vertex I, is on the edge AB. In fact, it suffices
to prove that our over-filtering rule filters w .
According to our assumption, the process of the improved CH
algorithm is the same as Dijkstra’s algorithm before the window w
is created. Using mathematical induction, we can conclude that for
any edge vi vj , the distance estimates at vi , vj satisfy |dvi − dvj | ≤
kvi vj k. We have dI + kIAk ≥ dA . Therefore dI + kIAk + E ≥
dA + E ≥ dA + kABk and w is filtered, where E is the maximum
edge length.
From Fig. 14 and Table 3, we can see that the precision parameter λ between 0 and 1 enables us to make a tradeoff between precision and performance. In practice, we suggest using λe
E as in the
over-filtering rule, where 0 ≤ λ ≤ 1 and e
E is the average length of
the edges.
Author's personal copy
950
S.-Q. Xin, G.-J. Wang / Computer-Aided Design 42 (2010) 942–951
(a) λ = 0%.
(b) λ = 5%.
(c) λ = 10%.
(d) λ = 100%.
Fig. 14. The improved CH algorithm, with a precision parameter 0 ≤ λ ≤ 1, is precision controlled. When λ = 0, it is exactly the improved CH algorithm, and when λ = 1,
it degenerates into Dijkstra’s algorithm.
For sparse models with long and thin triangles, the Delaunay
edges by the approximation algorithm are not always ‘‘straight’’.
One possible solution is to evolve the approximate Delaunay edges
into exact shortest paths. However, the time cost will increase to
O(kn2 log n), where k is the total number of sites and n is the complexity of the input model. Unfortunately, the resulting Delaunay
edges may intersect with each other.
Acknowledgement
Fig. 15. Proof to Theorem 8.
Table 3
Testing the precision controlled improved CH algorithm: λ ∈ [0, 1] is the precision
parameter, ‘‘Windows’’ are used to take down the TOTAL number of interval
windows (also including filtered windows) and ‘‘Levels’’ represent the maximum
depth of the resulting sequence tree.
0≤λ≤1
λ = 0%
λ = 5%
λ = 10%
Improved CH
Time (s)
Windows
Levels
6.21
5536 127
361
λ = 100%
Dijkstra’s
0.32
127 496
237
0.21
10 713
183
0.17
0
173
8. Conclusions
In this paper, we have applied the improved CH algorithm to
several shortest path problems. We extend the improved CH algorithm to the ‘‘single source, single destination’’ version and the
‘‘multiple sources, any destination’’ version. We also give a practical approach to estimate the geodesic distance to a surface point.
Our main contribution in this paper is a set of approximation algorithms for computing geodesic based offsets, the geodesic based
Voronoi diagram and the geodesic based Delaunay triangulation.
Finally, we suggest importing a precision parameter λ, between 0
and 1, into the improved CH algorithm to make a tradeoff between
precision and performance.
This work was supported by the NNSF of China (No. 60873111,
No. 60933007).
References
[1] Mitchell JSB, Mount DM, Papadimitriou CH. The discrete geodesic problem.
SIAM J Comput 1987;16(4):647–68.
[2] Sethian J. Fast marching methods. SIAM Rev 1999;41(2):199–235.
[3] Agarwal PK, Har-Peled S, Karia M. Computing approximate shortest paths on
convex polytopes. In: Symposium on computational geometry. 2000. p. 270–9.
[4] Mitchell JS. Geometric shortest paths and network optimization. In: Handbook
of computational geometry. North-Holland: Elsevier Science Publishers B.V.;
1998. p. 633–701.
[5] Mitchell JSB, Sharir M. New results on shortest paths in three dimensions.
In: SCG’04: proceedings of the twentieth annual symposium on computational
geometry. New York (NY, USA): ACM Press; 2004. p. 124–33.
[6] Maheshwari A, Wuhrer S. Geodesic paths on 3d surfaces: survey and open
problems. 2009.
[7] Surazhsky V, Surazhsky T, Kirsanov D, Gortler SJ, Hoppe H. Fast exact and
approximate geodesics on meshes. ACM Trans Graph 2005;24(3):553–60.
[8] Sharir M, Schorr A. On shortest paths in polyhedral spaces. SIAM J Comput
1986;15(1):193–215.
[9] Xin SQ, Wang GJ. Improving Chen & Han’s algorithm on the discrete geodesic
problem. ACM Trans Graph 2009;28(4).
[10] Mount DM. On finding shortest paths on convex polyhedra. Tech. Rep. 1495.
Computer Science Dept. Univ. of Maryland, College Park, Md. 1984.
[11] Chen J, Han Y. Shortest paths on a polyhedron. In: SCG’90: proceedings of the
sixth annual symposium on computational geometry. New York (NY, USA):
ACM Press; 1990. p. 360–9.
[12] Dijkstra E. A note on two problems in connection with graphs. Numer Math
1959;1:269–71.
Author's personal copy
S.-Q. Xin, G.-J. Wang / Computer-Aided Design 42 (2010) 942–951
[13] Kaneva B, O’Rourke J. An implementation of Chen & Han’s shortest paths
algorithm. In: CCCG. 2000.
[14] Hershberger J, Suri S. Practical methods for approximating shortest paths on
a convex polytope in r3. In: SODA’95: proceedings of the sixth annual ACMSIAM symposium on discrete algorithms. Philadelphia (PA, USA): Society for
Industrial and Applied Mathematics; 1995. p. 447–56.
[15] Varadarajan KR, Agarwal PK. Approximating shortest paths on a nonconvex
polyhedron. In: IEEE symposium on Foundations of Computer Science. 1997.
p. 182–91.
[16] Agarwal PK, Har-Peled S, Sharir M, Varadarajan KR. Approximating shortest
paths on a convex polytope in three dimensions. J Assoc Comput Mach 1997;
44:567–84.
[17] Lanthier M, Maheshwari A, Rudiger Sack J. Approximating weighted shortest
paths on polyhedral surfaces. In: In 6th annual video review of computational
geometry, proc. 13th acm symp. computational geometry. ACM Press; 1997.
p. 274–83.
[18] Barbehenn M. A note on the complexity of dijkstra’s algorithm for graphs with
weighted vertices. IEEE Trans Comput 1998;47(2):263.
[19] Har-Peled S. Constructing approximate shortest path maps in three dimensions. SIAM J Comput 1999;28(4):1182–97.
951
[20] Har-Peled S. Approximate shortest paths and geodesic diameter on a convex
polytope in three dimensions. Discrete Comput Geom 1999;21(2):217–31.
[21] Kanai T, Suzuki H. Approximate shortest path on polyhedral surface based on
selective refinement of the discrete graph and its applications. In: GMP’00:
proceedings of the geometric modeling and processing 2000. Washington (DC,
USA): IEEE Computer Society; 2000. p. 241.
[22] Aleksandrov L, Maheshwari A, Sack JR. An improved approximation algorithm
for computing geometric shortest paths. In: FCT. 2003. p. 246–57.
[23] Xin SQ, Wang GJ. Efficiently determining a locally exact shortest path on
polyhedral surfaces. Comput Aided Des 2007;39(12):1081–90.
[24] Leibon G, Letscher D. Delaunay triangulations and voronoi diagrams for
riemannian manifolds. In: SCG’00: Proceedings of the sixteenth annual
symposium on computational geometry. New York (NY, USA): ACM; 2000.
p. 341–9.
[25] Peyré G, Cohen LD. Geodesic remeshing using front propagation. Int J Comput
Vis 2006;69(1):145–56.
[26] Yan DM, Levy B, Liu Y, Sun F, Wang W. Isotropic remeshing with fast and exact
computation of restricted voronoi diagram. Comput Graph Forum.
[27] O’Rourke J. Computational geometry in C. Cambridge University Press; 1998.
Hardback ISBN: 0521640105; Paperback: ISBN 0521649765.
Download