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