Professional Documents
Culture Documents
Three Dimensions
PANKAJ K. AGARWAL
Duke University, Durham, North Carolina
SARIEL HAR-PELED
Tel-Aviv University, Tel-Aviv, Israel
MICHA SHARIR
Tel-Aviv University, Tel-Aviv, Israel, and New York University, New York, New York
AND
KASTURI R. VARADARAJAN
Duke University, Durham, North Carolina
Abstract. Given a convex polytope P with n faces in R3, points s, t [ P, and a parameter 0 , e #
1, we present an algorithm that constructs a path on P from s to t whose length is at most (1 1
e )d P (s, t), where d P (s, t) is the length of the shortest path between s and t on P. The algorithm
runs in O(n log 1/e 1 1/e3) time, and is relatively simple. The running time is O(n 1 1/ e 3 ) if we only
want the approximate shortest path distance and not the path itself. We also present an extension of
the algorithm that computes approximate shortest path distances from a given source point on P to
all vertices of P.
Work by P. K. Agarwal and K. R. Varadarajan has been supported by National Science Foundation
grant CCR 93-01259, by an Army Research Office MURI grant DAAH04-96-1-0013, by a Sloan
fellowship, by an NYI award, and by matching funds from Xerox Corporation.
Work by P. K. Agarwal, S. Har-Peled, and M. Sharir has been supported by a grant from the
U.S.Israeli Binational Science Foundation.
Work by M. Sharir has also been supported by National Science Foundation grants CCR 94-24398
and CCR 93-11127, by a Max Planck Research Award, and by a grant from the G.I.F. (the
GermanIsraeli Foundation for Scientific Research and Development).
Authors addresses: P. K. Agarwal and K. R. Varadarajan, Department of Computer Science, Duke
University, Durham, NC 27708, e-mail: {pankaj, krv}@cs.duke.edu; S. Har-Peled and M. Sharir,
School of Mathematical Sciences, Tel-Aviv University, Tel-Aviv, Israel, e-mail: {sariel,
sharir}@math.tau.ac.il.
Permission to make digital / hard copy of part or all of this work for personal or classroom use is
granted without fee provided that the copies are not made or distributed for profit or commercial
advantage, the copyright notice, the title of the publication, and its date appear, and notice is given
that copying is by permission of the Association for Computing Machinery (ACM), Inc. To copy
otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission
and / or a fee.
q 1997 ACM 0004-5411/97/0700-0567 $03.50
Journal of the ACM, Vol. 44, No. 4, July 1997, pp. 567584.
568
P. K. AGARWAL ET AL.
Categories and Subject Descriptors: F.2.2 [Analysis of Algorithms and Problem Complexity]:
Nonnumerical Algorithms and Problemsgeometrical problems and computations
General Terms: Algorithms, Theory
Additional Key Words and Phrases: Approximation algorithms, convex polytopes, Euclidean shortest
paths
1. Introduction
The three-dimensional Euclidean shortest-path problem is defined as follows:
Given a set of pairwise-disjoint polyhedral objects in R3 and two points s and t,
compute the shortest path between s and t that avoids the interiors of the given
polyhedral obstacles. This problem has received considerable attention in
computational geometry. It was shown to be NP-hard by Canny and Reif [1987],
and the fastest available algorithms for this problem run in time that is
exponential in the total number of obstacle vertices (which we denote by n) [Reif
and Storer 1994; Sharir 1987]. The apparent intractability of the problem has
motivated researchers to develop polynomial-time algorithms for computing
approximate shortest paths and for computing shortest paths in special cases.
In the approximate three-dimensional Euclidean shortest-path problem, we are
given an additional parameter e . 0, and the goal is to compute a path between
s and t that avoids the interiors of the obstacles and whose length is at most (1 1
e) times the length of the shortest path (we call such a path an e-approximate
path). Approximation algorithms for the three-dimensional shortest path problem were first studied by Papadimitriou [1985], who gave an O(n 4 (L 1
log(n/ e )) 2 / e 2 ) time algorithm for computing an e-approximate shortest path,
where L is the number of bits of precision in the model of computation. A
rigorous analysis of Papadimitrious algorithm was recently given by Choi et al.
[1994]. A different approach was taken by Clarkson [1987] whose algorithm
computes an e-approximate shortest path in roughly O(n 2 logO(1) n/ e 4 ) time (the
complexity of Clarksons algorithm depends also on an additional parameter).
The problem of computing a shortest path between two points along the
surface of a single convex polytope is an interesting special case of the threedimensional Euclidean shortest-path problem. Sharir and Schorr [1986] gave an
O(n 3 log n) algorithm for this problem, exploiting the property that a shortest
path on a polyhedron unfolds into a straight line. Mitchell et al. [1987] improved
the running time to O(n 2 log n); their algorithm works for nonconvex polyhedra
as well. Chen and Han [1990] gave another algorithm with an improved running
time of O(n 2 ). It is a rather long-standing and intriguing open problem whether
the shortest path on a convex polytope can be computed in subquadratic time.
This has motivated the problem of finding near-linear algorithms that produce
only an approximation of the shortest path. That is, we are given a convex
polytope P with n vertices, two points s and t on its surface, and a positive real
number e. Let p P (s, t) denote any shortest path between s and t along the
surface of P, and d P (s, t) denote its length ( p P (s, t) is usually, but not always,
unique). We want to compute a path on the surface of P between s and t whose
length is at most (1 1 e )d P (s, t). A recent result in this direction is by
Hershberger and Suri [1995]. They present a simple algorithm that runs in O(n)
time, and computes a path whose length is at most 2d P (s, t). Their method does
not seem to extend to yield better approximation factors. As mentioned above,
569
A r 5 $ x u inf u x 2 y u # r % .
y[A
570
P. K. AGARWAL ET AL.
FIG. 1.
571
LEMMA 2.2. Let P be a convex polytope in R3, let s and t be points on P, and
let c 5 (s, *) be a supported path connecting s and t. Then, for each r $ 0, there
exists an outer path g of Pr connecting a point of Fr(s) to a point of Fr(t), whose
length is ucu 1 a(c)r. The curve g consists of an alternating sequence of straight
segments and circular arcs of radius r.
PROOF: Suppose that s 5 (s 5 p 1 , . . . , p m11 5 t), and * 5 (H 1 , . . . ,
H m ). We replace each segment p i p i11 of s by its projection onto the boundary of
(H 1
i ) r , namely, we translate p i p i11 by distance r in the direction of the outward
normal of H i . We denote the translated segment by q i q9 i (where q i is the image
of p i ). Clearly, the total length of the new segments is usu. We also have q 1 [
F r (s) and q9 m [ F r (t).
We still need to connect the endpoints q9 i and q i11 , for i 5 1, . . . , m 2 1.
Let W i 5 (W(H i , H i11 )) r . Clearly, q i q9 i , q i11 q9 i11 , W i . Moreover, both q9 i
and q i11 are images of p i11 under the two projections onto (H 1
i ) r and onto
(H 1
)
,
respectively,
and
thus
can
be
connected
by
a
circular
arc
of radius r
i11 r
about p i11 . The length of this arc is clearly r z a (H i , H i11 ). The alternating
concatenation of the segments q i q9 i and of these circular arcs yields the desired
outer path g. See Figure 1 for an illustration. The total length of the new path is
clearly u c u 1 a ( c )r. Finally, since P r , W i , for i 5 1, . . . , m 2 1, and each
point of g lies on the boundary of one of these inflated wedges, g is an outer path
of P r . e
Let c 5 (s, *) be a supported path of P, for s 5 ( p 1 , . . . , p m11 ) and * 5
(H 1 , . . . , H m ). Let U 5 (u 1 , . . . , u m ) be the sequence of outward unit normals
of the planes H 1 , . . . , H m . We create a curve corresponding to c on the sphere
6 of directions in the following manner. Let g i be the shorter great circular arc
connecting u i to u i11 on 6, for i 5 1, . . . , m 2 1, and let g 5 m21
i51 g i . Since
u g i u 5 a (H i , H i11 ), it follows that
m21
ugu 5
i51
O a~H , H
m21
u g iu 5
i11
! 5 a~c!.
i51
572
P. K. AGARWAL ET AL.
placing the caps so that each is centered at a grid point. The number of grid
points is
2p
e/ 2
e/ 2
100
S D
us
v,v9 u # 1 1
u s 0 ~ v, v9 ! u.
c2 $ ~a 1 b!2 1 2
ab e
~a 1 b!2
Since (a 1 b) 2 $ 4ab, we have c $ (a 1 b) =1 2 e /4, and this is easily seen to imply that a 1 b #
(1 1 e / 2)c, for 0 , e # 1.
573
plane H arising in the first cap). It is easily seen that the curve of directions of
the modified path intersects c at a single connected great circular arc. By
repeating this step as necessary, we end up with a supported path c 5 (s, *), so
that the intersection of the curve of directions of c with any cap is either empty
or consists of a single connected great circular arc. Note that our rule for picking
the cap to shortcut ensures that no portion of the path resulting from a
shortcut will participate in a later shortcut. (In particular, the modified
portion of the curve of directions after a shortcut remains within the current cap,
and thus does not penetrate into any cap that has already been processed.) This
implies that each pair of points v, v9 between which the shortcuts are made lie
on P, so the length of the new path is at most (1 1 e / 2)u s 0 u 5 (1 1 e / 2)d P (s,
t). We apply a final trimming step to s, by noting that in general s may contain
two consecutive segments on each plane H [ *. We therefore replace each such
pair of segments by a single segment (the sequence * does not change by this
trimming).
The final path c 5 (s, *) satisfies the following properties:
(i)
(ii)
(iii)
(iv)
Remark 2.4. The previous lemma raises the problem whether the folding
angle of any shortest path on a convex polytope is bounded by some absolute
constant. An extension of this problem to shortest paths on arbitrary convex
surfaces is mentioned in Pogorelov [1973]. Unfortunately, as shown recently by J.
Pach (personal communication), this problem has a negative answer. For the
sake of completeness, we provide in an Appendix an improved variant of Pachs
analysis, constructing a family of polytopes with arbitrarily large folding angles of
shortest paths along their boundaries. Another, somewhat weaker and still open
problem is whether the sum of the exterior angles (as defined above) between
consecutive segments of a shortest path on a convex polytope is bounded by an
absolute constant. This is a weaker problem because, as already observed, the
exterior angle between two consecutive segments of a shortest path is at most the
folding angle between the faces containing them.
LEMMA 2.5. Let P, s, t, and e be as above, and let r . 0. For any sr [ Fr(s), tr
[ Fr(t), there exists an outer path of Pr connecting sr with tr, whose length is at most
(1 1 e/ 2)dP(s, t) 1 2pr 1 100r/=e.
PROOF. By Lemma 2.3, there exists a supported path c of P connecting s to t
of length at most (1 1 e / 2)d P (s, t), such that a(c) # 100/=e. By applying
Lemma 2.2 to c, we obtain an outer path g of P r whose length is at most (1 1
e / 2)d P (s, t) 1 100r/ =e , which connects some point x [ F r (s) with some point
y [ F r (t). Extending g to connect s r to t r lengthens g by at most 2 p r, so the
resulting curve satisfies the properties asserted in the lemma. e
574
P. K. AGARWAL ET AL.
3. Approximating a Polytope
Let Q be a convex polytope in R3, with n vertices, that is contained in a unit ball,
and let 0 , m # 1 be a real parameter. In this section, we present an algorithm to
compute a convex polytope Q( m ), with O(1/ m ) vertices, such that Q # Q( m ) #
Q m . The algorithm is a straightforward implementation of the constructive proof
of Dudley [1974], which asserts the existence of a Q( m ) with O(1/ m ) vertices.
We first outline Dudleys proof, and then describe an efficient implementation of
his scheme.
Let C # R 3 be a convex set. A point-normal pair on C is an ordered pair ( p,
h p ) such that (1) p [ C, (2) the plane H( p, h p ) that passes through p and
whose normal is h p is a supporting plane of C, and (3) h p is an outward normal
to C at p. We denote by H 1 ( p, h p ) the halfspace containing C that is bounded
by H( p, h p ). For any d . 0, we call a collection S of point-normal pairs on C a
d-dense set if for any point-normal pair (q, h q ) on C, there exists a ( p, h p ) [ S
such that d( p, q) # d , and the angle between h p and h q is at most d. We let
P(S) denote the intersection of all the halfspaces corresponding to elements of
S, that is, P(S) 5 ( p, h p )[S H 1 ( p, h p ).
LEMMA 3.1 (DUDLEY [1974]). Let C be a convex bod y in R3, and let A be a
d-dense set on C. Then P( A) # C2d2.
Hence, C can be approximated by computing a small dense set on C. The
existence of such a set is guaranteed by the following lemma:
LEMMA 3.2 (DUDLEY [1974]). Let C be a convex set in R3 that is contained in a
unit ball. Then there exists a d-dense set A on C of size O(1/d2).
PROOF. We only give a sketch of the proof, and refer to Dudley [1974] for full
details. Let B be a ball of radius at most 2, so that for all x [ C and for any uyu
# 1, one has x 1 y [ B. Clearly, C , B.
Let A9 # B be a collection of points such that for any q [ B, there is a p [
A9 such that d( p, q) # d . Such a set can be easily constructed by covering B
by a grid of latitudes and longitudes (as in the proof of Lemma 2.3). Moreover,
uA9u 5 O(1/ d 2 ).
Given a point p [ B, let n( p) denote the point-normal pair on C that is formed
by taking the unique point pC [ C that is closest to p, and the unit normal in the
3 . Let A 5 {n( p)up [ A9}.
direction pp
C
Dudley [1974] shows that A is a 2d-dense set on C, and this implies the
theorem. e
THEOREM 3.3. Let Q be a convex polytope in R3 contained in a unit ball, let n
denote the number of its vertices, and let m . 0 be a real parameter. The one can
compute, in O(n 1 (1/m)log(1/m)) time, a polytope Q(m) with O(1/m) vertices such
that Q # Q(m) # Qm.
PROOF. Let B be a ball of radius 2 concentric with a unit ball that contains Q.
We first compute a set A9 # B such that for any q [ B, there is a p [ A9 so
that d( p, q) # =m /4. Such a set can easily be calculated in O(1/ m ) time, by
covering B with a regular grid of resolution O( =m ), as in the proof of
Lemma 3.2.
FIG. 2.
575
Next, we construct, in O(n) time, the Dobkin-Kirkpatrick hierarchical decomposition [Dobkin and Kirkpatrick 1985; 1990] of Q, which allows us to compute
the closest point in Q to any query point in O(log n) time. Using this hierarchy,
we compute, for each point p [ A9, the point-normal pair n( p) on Q
corresponding to p, thereby obtaining the set A 5 {n( p) u p [ A9} in a total of
O((1/ m )log n) time.
We next compute the polytope Q( m ) 5 P( A), which is the intersection of
O(1/ m ) halfspaces, O((1/ m )log(1/m)) time [Preparata and Shamos 1985]. By
Lemma 3.1, the polytope Q( m ) satisfies the properties asserted in the theorem.
The overall time needed to compute Q( m ) is
O n1
log n 1
log
D S
5O n1
log
Remark 3.4. See Figure 2 for an example how the approximation polytope of
Theorem 3.3 is being constructed.
4.
Approximating dP(s, t)
B ~ s, l ! 5 $ p u? p x 2 s x u # l, u p y 2 s y u # l, u p z 2 s z u # l % .
ALGORITHM APPROXIMATE-PATH
(1) Compute a value D such that d P (s, t) # D # 2d P (s, t), using the algorithm of
Hershberger and Suri [1995]. Compute Q 5 P B(s, 2D).
(2) Set r 5 e 3/ 2 D/440. Using the scheme described in Section 3, compute a
polytope Q(r) such that Q # Q(r) # Q r .
1
(3) Let H 1
s (respectively, H t ) be any halfspace that has s (respectively, t) on its
1
boundary and that contains Q. Compute Q(r) H 1
s H t . Abusing notation,
let Q(r) now denote this new polytope. Note that s, t [ Q(r).
576
P. K. AGARWAL ET AL.
(4) Compute a shortest path s between s and t on Q(r), using the algorithm of
Chen and Han [1990].
S D
usu # 1 1
d P ~ s, t ! 1 ~ 2 p 1 2 ! r 1
100r
# ~ 1 1 e ! d P ~ s, t ! .
Observe that any outer path of Q lying inside B(s, 2D) is also an outer path of
P. Since 0 , e , 1, the above inequality implies that s lies in the interior of the
cube B(s, 2D). The path s is clearly an outer path of Q; therefore, s is an outer
path of P too.
The polytope Q(r) has O(1/ e 1.5 ) faces, and any shortest path intersects a face
of the polytope along (at most) a single segment; therefore, s consists of at most
O(1/ e 1.5 ) segments. e
LEMMA 4.2. The running time of the algorithm APPROXIMATE-PATH is O(n 1
1/e3), where n is the number of faces of P.
PROOF. Hershberger and Suris algorithm [Hershberger and Suri 1995] runs
in O(n) time. The polytope Q can be calculated in linear time. By Theorem 3.3,
Q(r) can be computed in O(n 1 (1/ e 1.5 )log 1/e) time. The number of faces in
Q(r) is O(1/ e 1.5 ), and the algorithm by Chen and Han used in step (4) runs in
quadratic time. Hence, computing s takes O(1/ e 3 ) time. Summing up all these
bounds, the overall running time of the algorithm is O(n 1 1/ e 3 ), as asserted.
e
Putting these lemmas together, we obtain the following result:
FIG. 3.
577
THEOREM 4.3. Given a convex polytope P with n faces, two points s and t on
P, and a parameter e . 0, a polygonal outer path of P between s and t whose length
is at most (1 1 e)dP(s, t), and which consists of O(1/e1.5) segments, can be
computed in time O(n 1 1/e3).
5. Projecting an Outer Path to a Polytope
In this section, we present an algorithm for projecting a polygonal outer path s
of a polytope P onto the surface of P. The output of the algorithm is a polygonal
path s (P) such that:
(i)
(ii)
(iii)
(iv)
u s (P)u # u s u.
s (P) , P.
s and s (P) have the same pair of endpoints.
The number of segments of s (P) is at most n, the number of faces of P.
578
P. K. AGARWAL ET AL.
q p, for otherwise scurr ( p, t) has to move from p away from at least one
halfspace H 1
f has been
f , for some f [ F, which is impossible, since, after
processed, scurr is always contained in H 1
.
Note
also
that
q
t,
for
otherwise
f
the algorithm would have terminated when processing any face f [ F such that
t [ H f . It is also easily checked that q lies on the original path s. Let f be a face
3
such that q [ H f , and let j be the last intersection point of the segment pq with
f. Since t [ P # K, and t q, the subpath s (q, t)\{q} lies in the interior of
K # H1
f , and therefore q is also the last intersection point of s with H f . Since
scurr is an outer path of P, t [ P, and K is the same as P in a sufficiently small
neighborhood of p, it is easy to see that pq lies on f in a sufficiently small
neighborhood of p, which implies that j p.
Suppose f has already been visited. Then let s9 be scurr immediately before f
was visited, and let s9q9 be the segment that was added to s (P) while processing
f. Notice that q is also the last intersection point of s9 with H f , because q [ s ,
and thus scurr(q, t) 5 s 9(q, t). Therefore, s 9(s9, q), the initial portion of s9 up
to q, would have been replaced, at the step where f is processed, by the segment
q9q. Moreover, the algorithm runs in a manner that guarantees that the portion
of scurr on H f can only be shortened (or eliminated) in subsequent steps of the
algorithm. It follows that scurr( p, q) 5 pq # q9q and thus j q9 [ q9q. By
construction, q9 is the last intersection point of the segment s9q with f.
Therefore, the segment q9q does not intersect f except at q9, which is false, since
j [ f. This contradiction implies that f has not yet been visited, and thus
completes the proof of the lemma. e
LEMMA 5.2. The output path s(P) produced by algorithm PROJECT-PATH (P, s)
satisfies the properties (i)(iv).
PROOF. The algorithm PROJECT-Path performs at most n iterations (Lemma
5.1 implies that the algorithm terminates properly). Each iteration of the while
loop adds one segment to the polygonal output path s (P), thus s (P) consists of
at most n segments. Each such segment is contained in P; thus, s (P) , P.
Since s (P) is generated from s by performing a sequence of calls to PROJECTON-FACE, it follows that u s (P)u # u s u. Finally, s (P) and s clearly have the same
pair of endpoints. e
579
We next present a reasonably efficient technique for implementing the procedure PROJECT-ON-FACE. Note that scurr , with the possible exception of the first
edge, is a subpath of s, ending at t, and that each iteration in PROJECT-PATH
replaces an initial subpath of scurr by a line segment, possibly also truncating the
first surviving segment of the preceding path. Set b 5 log m 1 1. We divide
scurr into two subpaths s1 and s2; s1 is an initial subpath of scurr , consisting of at
most b edges, and s2 is the rest of scurr . We compute the Gaussian diagram of
Conv(s2), where Conv(s2) is the convex hull of s2. (See Chazelle et al. [1993] for
a discussion of the Gaussian diagram of a convex polytope.) We preprocess the
Gaussian diagram into a data structure for answering point-location queries in
the diagram. The preprocessing takes O(m log m) time, and each point-location
query takes O(log m) time [Preparata and Shamos 1985]. The subpaths s1, s2
change as the algorithm progresses, as will be described below. Initially, s1
consists of the first b edges of s (and s2 consists of all the remaining segments).
Let f [ P be a query face, and let n denote the outward normal of f. We
locate n in the Gaussian diagram of Conv (s2), and thus obtain the vertex j [
Conv(s2) that the supporting plane of Conv(sv ) with outward normal n touches.
If j [ int (H 1
f ), that is, H f does not intersect s2, we traverse s1 and compute the
last intersection point of s1 with H f in O(b) 5 O(log m) time. scurr is updated
as described in the algorithm PROJECT-PATH. s2 and its starting point j remain
the same, and we set s1 5 scurr(s, j ).
If H f intersects s2, we traverse s2, compute the last intersection point of s2
with H f , in O(m) time, and update scurr as described in the algorithm PROJECTPATH. If scurr has at most b edges, then we set s1 5 scurr and s2 5 ; otherwise,
s1 consists of the first b edges of scurr , and s2 consists of the remaining edges.
We compute the Gaussian diagram of Conv(s2), in O(m log m) time, and
preprocess it in additional O(m log m) time for point-location queries, as
described above.
This PROJECT-ON-FACE procedure is clearly correct. We call a query short if the
last intersection point of s with H f lies in s1, and long otherwise. A short query
takes O(log m) time, and a long query takes O(m log m) time. Suppose the last
intersection point of scurr with H f lies on the (k 1 1)-st edge of scurr. Then the
first k edges of scurr are deleted, the (k 1 1)-st edge of scurr is truncated, and
possibly a new edge is added in front of the trimmed (k 1 1)-st edge; see Figure
4. Therefore, the number of edges in scurr is reduced by k 2 1. Since k $ b for
a long query, each long query reduces the number of edges in scurr by at least
b 2 1, thereby implying that the number of long queries is at most m/(b 2 1) 5
m/log m. The while loop in PROJECT-PATH is executed at most n times;
therefore, the overall running time of the algorithm is O(n log m 1 m 2 ). We
have thus shown:
THEOREM 5.3. Let P be a convex polytope with n faces, and let s be a polygonal
outer path of P consisting of m segments. One can construct, in O(n log m 1 m2)
time, a polygonal path s9 , P with the same endpoints as s, such that us9u # usu,
and the number of edges of s9 is at most n.
The algorithm described in the previous section returns an outer path with at
most O(1/ e 1.5 ) edges. We can thus project it onto P in additional O(n log 1/e 1
1/e3) time. Combining this with the bound in Theorem 4.3, we obtain the main
result of the paper:
580
P. K. AGARWAL ET AL.
COROLLARY 5.4. Let P be a convex polytope with n faces, s and t two points on
P, and e . 0 a real parameter. Then a polygonal path between s and t on P,
consisting of at most n segments, whose length is at most (1 1 e)dP(s, t), can be
computed in time O(n log 1/e 1 1/e3).
6.
581
7. Conclusions
In this paper, we have presented a simple and efficient algorithm for computing
approximate shortest paths on the surface of a convex polytope in 3-space. We
believe that our algorithm can be extended to convex piecewise-algebraic surfaces. More specifically, let P be a convex surface consisting of n faces, each of
which has constant description complexity, in the sense that each face is a
semialgebraic set defined by a constant number of polynomial equalities and
inequalities of constant maximum degree. Then we conjecture that a (1 1
e)-approximate shortest path between two points on P can be computed in time
that is close to linear in n for any fixed e . 0, perhaps even in time O(n/ e 1.5 1
1/ e 3 ), under an appropriate model of computation. We leave this as an open
problem for further research.
Since the original submission of this paper, several interesting developments
concerning approximate shortest paths on polyhedral surfaces have taken place.
Har-Peled [1997] showed that a variant of the algorithm presented in this paper
can be used to preprocess a convex polytope P with n faces in time O(n), so that
a (1 1 e)-approximation of the length of the shortest path between any two query
points on P can be computed in time O((log n)/ e 1.5 1 1/ e 3 ) (where e is also
part of the query input). In a companion paper, Har-Peled [1997] presented an
algorithm for preprocessing a convex polytope or a polyhedral surface P, with n
faces and a fixed source point s in P, into a near-linear-size map that
approximates the shortest-path map on P from s (which might have quadratic
complexity) [Mitchell et al. 1987], in the sense that approximate shortest-path
queries from s can be answered by performing point-location queries in this map.
This algorithm also extends to the case of approximate shortest-path maps in a
3-dimensional polyhedral environment. Varadarajan and Agarwal [1996] gave the
first subquadratic algorithm that approximates the shortest path on a polyhedral
terrain within a constant factor.
We conclude by mentioning a couple of open problems.
(1) Can an e-approximate shortest path between two points on a polyhedral
terrain, or on the surface of a nonconvex polyhedron, be computed in time
that is near-linear in the number of faces?
(2) Finally, can the exact shortest path between two points on a convex
polyhedron be computed in near-linear time? in subquadratic time?
Appendix A. Folding Angles of Shortest Paths Can Be Large
In this appendix, we show that the folding angle of a shortest path on the
boundary of a convex polytope in 3-space can be arbitrarily large. In fact, we
establish a lower bound on the maximum possible folding angle, which is linear in
the number of facets of the polytope. As already mentioned, the construction
given here is a variant of a construction of Janos Pach (which has a somewhat
weaker lower bound), and we are grateful to him for allowing us to include this
construction in this paper.
For each integer n, define a polytope P n as follows. P n is the intersection of n
tetrahedra, T 1 , . . . , T n , each of which has one horizontal facet lying on the
xy-plane, and its opposite vertex lies on the positive z-axis. The horizontal facet f i
of T i is an equilateral triangle, centered at the origin, whose sides have
orientations 0, 2p/3 and 4p/3, for even i, or p/3, p and 5p/3, for odd i.
582
P. K. AGARWAL ET AL.
FIG. A.1.
Let a (T i ) denote the dihedral angle between f i and any of its other facets, and
let b (T i ) denote the angle between f i and any of the nonhorizontal edges of T i .
Note that tan a (T i ) 5 2 tan b (T i ).
We construct the tetrahedra T i one after the other. Suppose we have already
constructed T 1 , . . . , T n , for n $ 1 (the construction of T 1 will be detailed
below). We assume inductively that the highest vertex of P n is the top vertex of
T n (this clearly holds for n 5 1).
Let h be a horizontal plane, such that the halfspace h 1 lying above h cuts P n in
a tetrahedron (which is a top portion of T n ). Let g 5 T n h, and let g9 be the
equilateral triangle that lies in h and has the vertices of g as the midpoints of its
edges ( g9 is twice as large as g and is rotated by p/3). Construct T n11 so that
a (T n11 ) , b (T n ) and its non-horizontal facets pass through the edges of g9.
The construction implies that the top vertex of T n11 lies below the top vertex of
T n , so the inductive invariant concerning the top vertices of the P j s continues to
hold for n 1 1 too.
It is easy to verify, using induction on n, that the following properties are
satisfied:
(i) Each nonhorizontal facet of each T i contributes a facet to P n .
(ii) For each 1 , i , n, the three nonhorizontal facets of T i form a band
around P n , which disconnects the nonhorizontal facets of the T j s with j ,
i from the nonhorizontal facets of the T j s with j . i.
An illustration of P 3 is shown in Figure A.1.
Now let P9 n be the reflected copy of P n through the xy-plane, and let Q n 5 P n
P9 n . Let s be the top vertex of P n and t be the bottom vertex of P9 n .
Properties (i) and (ii) imply that any path from s to t along Q n must visit at least
one facet of each T i . Moreover, the path must make a transition from a facet of
T i to a facet of T i21 , for each i 5 2, . . . , n.
We next define the angles of the tetrahedra T i as follows: Let d . 0 be an
arbitrarily small number. Set b n 5 ( p / 2) 2 d , and let a n be the angle that
satisfies tan a n 5 2 tan b n . Suppose a j has already been defined. Then set b j21
5 (( p / 2) 1 a j )/ 2, and define a j21 by tan a j21 5 2 tan b j21 . Having defined
this sequence of angles, we construct the T i s so that a (T i ) 5 a i .
By construction, the unit normals of the facets of T i are
sin a i cos
2j p
3
, sin a i sin
2j p
3
583
, cos a i ,
j 5 0, 1, 2, if i is even
for
or
sin a i cos
~ 2j 1 1 ! p
3
, sin a i sin
~ 2j 1 1 ! p
3
, cos a i ,
for
j 5 0, 1, 2, if i is odd.
Hence, the smallest possible folding angle u i between a facet of T i21 and a facet
of T i (which is equal to the angle between the normals to these facets) satisfies
cos u i 5
1
2
D S D
1
p
p
2 a i 2 1 sin
2 ai
5 sina i 2 1 sina i 1 sin
2
2
2
#
1
2
p
2
2 ai 2 1
DS D
p
2
2 ai #
1
2
1 d 2,
REFERENCES
BALTSAN, A., AND SHARIR, M. 1988. On shortest paths between two convex polyhedra. J. ACM 35,
2 (Apr.), 267287.
CANNY, J., AND REIF, J. H. 1987. New lower bound techniques for robot motion planning
problems. In Proceedings of the 28th Annual IEEE Symposium on Foundations of Computer Science.
IEEE, New York, pp. 49 60.
CHAZELLE, B., EDELSBRUNNER, H., GUIBAS, L., AND SHARIR, M. 1993. Diameter, width, closest line
pair, and parametric searching, Disc. Comput. Geom. 10, 183196.
584
P. K. AGARWAL ET AL.
CHEN, J., AND HAN, Y. 1990. Shortest paths on a polyhedron. In Proceedings of the 6th Annual
ACM Symposium on Computational Geometry (Berkeley, Calif., June 6 8). ACM, New York, pp.
360 369.
CHOI, J., SELLEN, J. AND YAP, C. K. 1994. Approximate Euclidean shortest paths in 3-space. In
Proceedings of the 10th Annual ACM Symposium on Computational Geometry (Stony Brook, N.Y.,
June 6 8). ACM, New York, pp. 41 48.
CLARKSON, K. 1987. Approximation algorithms for shortest path motion planning. In Proceedings
of the 19th Annual ACM Symposium on the Theory of Computing (New York City, N.Y., May
2527). ACM, New York, pp. 56 65.
DOBKIN, D., AND KIRKPATRICK, D. 1985. A linear algorithm for determining the separtaion of
convex polyhedra, J. Algorithms 6, 381392.
DOBKIN, D. AND KIRKPATRICK, D. 1990. Determining the separation of preprocessed polyhedraA
unified approach. In Proceedings of the 17th International Colloquium on Automata Language
Programming. pp. 400 413.
DUDLEY, R. M. 1974. Metric entropy of some classes of sets with differentiable boundaries,
J. Approx. Theory 10, 227236.
EDELSBRUNNER, H. 1987. Algorithms in Combinatorial Geometry. Springer-Verlag, New York.
HAR-PELED, S. 1997. Approximate shortest paths and Geodesic diameters on convex polytopes in
three dimensions, In Proceedings of the 13th Annual ACM Symposium on Computational Geometry
(Nice, France, June 4 6). ACM, New York, pp. 359 365.
HAR-PELED, S. 1997. Constructing approximate shortest path maps in three dimensions. Manuscript.
HERSHBERGER, J., AND SURI, S. 1995. Practical methods for approximating shortest paths on a
convex polytope in R3. In Proceedings of the 6th Annual ACMSIAM Symposium on Discrete
Algorithms. ACM, New York, pp. 447 456.
MITCHELL, J. S. B., MOUNT, D. M., AND PAPADIMITRIOU, C. H. 1987. The discrete geodesic
problem. SIAM J. Comput. 16, 647 668.
PAPADIMITRIOU, C. H. 1985. An algorithm for shortest-path motion in three dimensions, Inf.
Process. Lett. 20 259 263.
POGORELOV, A. V. 1973. Extrinsic Geometry of Convex Surfaces. Volume 35 of Translations of
Mathematical Monographs. American Mathematical Society, Providence, R.I.
PREPARATA, F. P., AND SHAMOS, M. I. 1985. Computational Geometry: An Introduction. SpringerVerlag, New York.
REIF, J., AND STORER, J. 1994. A single-exponential upper bound for finding shortest paths in
three dimensions, J. ACM 41, 5 (Sept.), 10131019.
SHARIR, M. 1987. On shortest paths amidst convex polyhedra. SIAM J. Comput. 16, 561572.
SHARIR, M., AND SCHORR, A. 1986. On shortest paths in polyhedral spaces. SIAM J. Comput. 15,
193215.
VARADARAJAN, K. R. AND AGARWAL, P. K. 1997. Approximating shortest paths on a polyhedron.
In Proceedings of the 38th Annual IEEE Symposium on Foundations of Computer Science. IEEE,
New York, to appear.