Computer-Aided Design 48 (2014) 39–41
Contents lists available at ScienceDirect
Computer-Aided Design
journal homepage: www.elsevier.com/locate/cad
Technical note
On computing the shortest path in a multiply-connected domain
having curved boundaries
Xiangzhi Wei, Ajay Joneja
∗
Department of IELM, HKUST, Clear Water Bay, Kowloon, Hong Kong
article info
Article history:
Received 11 August 2013
Accepted 16 November 2013
Keywords:
Shortest path
Curve obstacles
Multiply-connected curves
Visibility graph
Freeform curves
abstract
This submission is a communication related to a recently published article in Computer-Aided Design
journal, titled ‘‘Shortest path in a multiply-connected domain having curved boundaries’’. We point out an
error in estimating the time complexity of the algorithm proposed in that paper, using a simple example.
We also illustrate, with a different example, that an ostensibly time-saving scheme used by that algorithm,
called exterior region elimination, cannot be applied in general to derive the correct shortest interior path.
Finally, we propose an alternate algorithm that solves the same problem with an improved worst-case
running time.
© 2013 Elsevier Ltd. All rights reserved.
1. Background
Computing a shortest interior path (SIP) in a multiply connected
domain (MCD) having curved boundaries is a fundamental and
interesting problem in geometry and engineering. Recently,
Bharath Ram and Ramanathan [1] proposed an algorithm for
computing an SIP from a starting point S to a destination point
E in an MCD. They use the observation that the SIP is composed
of a sequence of segments that are either bitangents (BTs) in the
interior of the MCD, or concave portions of curves on the boundary
of the MCD. Their algorithm is an extension of their earlier work
for the analogous problem in a simply-connected domain (SCD)
having curved boundaries and no holes [2]. An advantage of the
algorithm presented in [1] is that it can be practically implemented.
In this communication, we discuss some issues related to the
algorithm and the runtime analysis presented in [1]. Furthermore,
we present a simple method to improve the worst-case runtime.
In the following, we will use the same terminology as in [1] when
possible.
Chen and Wang [3] showed that an SIP can be computed in
O(K
2
) time using the visibility graph of an MCD in which each loop
is a pseudodisk of O(1) complexity, and K is the total description
complexity of the MCD. Later, they provided an O(K + h log
1+ε
h +
k) time algorithm for a more general version of the problem in
which each of the h loops is a splinegon, K is the total number
∗
Corresponding author.
E-mail addresses: xiangzhi.science@gmail.com (X. Wei), joneja@ust.hk
(A. Joneja).
of edges (each of constant complexity) in all the splinegons, and
the parameter k is bounded by O(h
2
) [4]. Their approach reduces
the initial problem to that of an instance of an MCD with h convex
loops, and then applies Dijkstra’s algorithm to the visibility graph
of the reduced MCD. The algorithm is difficult to implement since
it uses some advanced data structures. For example, it utilizes
the triangulation scheme on Jordan curves from [5], which in
turn requires Chazelle’s linear time triangulation [6] of a simple
polygon. This seminal paper has proven to be impractical to
implement so far [7].
Without using visibility graphs, Hershberger et al. [8] recently
proposed an approach using the continuous Dijkstra paradigm on
a conforming subdivision to solve the problem in near-optimal
O(K log K ) time. They require that the arcs possess the property
that their pairwise bisector intersection can be computed in
at most O(log K ) time. The paper adapted the approach first
developed by the same group for polygonal domains [9]. However,
it has been pointed out that implementing the approach in [9] is
impractical (see for instance [10]).
The algorithm of [1] starts by computing tangent lines incident
to each curve from S and E (these are called point-curve tangents,
or PCTs). The search for the SIP then iteratively computes all BTs
from each curve hit by a processed tangent line to all other relevant
curves in the free space until the search path reaches the concave
portion containing an endpoint of a PCT incident to E (Algorithm 3
in [1]). To potentially improve the efficiency, their algorithm tries
to avoid computing branches of paths that will not appear in the SIP
by introducing four schemes: (a) path elimination, (b) merging path,
(c) exterior region elimination and (d) interior region elimination.
Fig. 1 illustrates the schemes.
0010-4485/$ – see front matter © 2013 Elsevier Ltd. All rights reserved.
http://dx.doi.org/10.1016/j.cad.2013.11.001