Elsevier

Computer-Aided Design

Volume 45, Issue 3, March 2013, Pages 723-732
Computer-Aided Design

Shortest path in a multiply-connected domain having curved boundaries

https://doi.org/10.1016/j.cad.2012.12.003Get rights and content

Abstract

Computing the shortest path, overcoming obstacles in a plane, is a well-known geometric problem. However, widely assumed obstacles are polygonal in nature. Very few papers have focused on curved obstacles, and in particular, for curved multiply-connected domains (domains having holes). Given a set of parametric curves forming a multiply-connected domain (MCD), with one closed curve acting as an outer boundary and several non-intersecting inner curves (loops) as representing holes and two distinct points S and E lying on the outer boundary, this paper provides an algorithm to find the shortest interior path (SIP) between the two points in the domain. SIP consists of portions of curves along with straight line segments that are tangential to the curve. The algorithm initially computes point–curve tangents (PCTs) and bitangents (BTs) using their respective constraints. A generalized region lemma is proposed, which is then employed to remove PCTs/BTs that will not contribute to the potential path and subsequently aiding in removing a few inner loops. The algorithm is designed to explore all potential paths. Merging of paths is also proposed to avoid redundant computations. A final SIP is chosen from potential paths using the length of each path. The algorithm also has the potential to give all paths of equal lengths contributing to shortest paths (within a tolerance level). As the algorithm computes all the potential paths on the fly, there is no need to employ a visibility graph to compute the shortest path. Curves are represented using non-uniform rational B-splines (NURBS). The algorithm uses the curves as such and does not discretize into point-sets or polygons. Extensions to handle curves with C1 discontinuities and S and E not on the outer boundary have also been described. Results of the implementation are provided and complexity of the algorithm is also discussed. This paper follows up the one presented for simply-connected domains (SCDs) in Bharath Ram and Ramanathan (2011) [4].

Highlights

► This paper computes the shortest path for multiply-connected curved boundaries. ► The algorithm does not discretize the boundaries into points or polylines. ► No need to employ visibility graph to compute the shortest path. ► The algorithm can handle C1 discontinuities. ► Start and end points need not be on the outer boundary.

Introduction

Computing the Euclidean shortest path between two points avoiding obstacles in a domain is one of the fundamental problems in geometry. A well-researched problem is the one that involves non-intersecting polygonal obstacles (e.g. [1], [2]). A prominent approach to compute the shortest path for polygonal obstacles is via visibility graph construction [3] as the shortest path is a subset of the visibility graph.

The shortest interior path (SIP) in a curved boundary can be thought of as a combination of Euclidean and geodesic, where the SIP will consist of straight lines and arcs of curved boundaries [4]. Approximating curved boundaries with polygons generates inaccuracies in SIP and is not satisfactory in general [5]. Another approach to compute SIP in a curved boundary is to sample points on the curved boundary [6] and then employ a typical shortest path algorithm (such as Dijkstra’s algorithm [7]). The accuracy will depend on the sampling technique used and is an approximate computation of the SIP. Algorithms for piecewise-linear boundaries such as [8] have also been extended to curved boundaries using “funnels” in [9] assuming the input (curved boundary) is already triangulated. The numerical approximation of the shortest path in curved obstacles using fast-sweeping of Eikonal equations [10] and a grid-based approach has been presented in [11].

Very few algorithms have handled the computation of SIP of curved boundaries without approximating with polygons or sample points, albeit theoretically. Computing visibility graphs based on a greedy approach pseudo-triangulation for a set of non-intersecting convex curved objects has been presented [12]. A similar approach for convex curves that intersect transversely has been given in [13].

For an arbitrarily shaped curved boundary (not just convex), Bourgin and Howe [14] presented an algorithm using string formulation on the intersection of the line connecting the start and end points with the curved boundary. Based on the maximal distance of the curve from the line, different cases are delineated to find the points on the curve that belong to the SIP. Fabel [15] has presented an algorithm for computing the shortest arcs in a closed planar disk. Both [14], [15] are theoretical descriptions and no implementation results are provided. An algorithm with implementation results for a simply-connected arbitrarily shaped curved boundary has been presented in [4] using tangent computation and region checks. The major idea in computing the SIP of curved boundaries [14], [15], [4] is to avoid computing a visibility graph through identifying potential straight lines/arcs of the curves using strategies such as maximal distance [14], region checks [4] etc.

To the best of our knowledge, no known algorithm with implementation results is available for an arbitrarily shaped curved boundary of a multiply-connected domain (MCD). In this paper, the aim is to find the shortest interior path (SIP) of a MCD having curved boundaries, extending the algorithm presented in [4], using the basic idea of tangent computation. All the possible paths are directly identified during the computation effectively eliminating the use of algorithms such as Dijkstra’s algorithm. SIP is then identified from the set of paths. The following are the key differences from [4].

  • In case of a simply-connected domain (SCD) [4], the focus was on computing the SIP itself, since SIP was unique. As there will be a number of paths that could contribute towards SIP in the MCD, in this paper, the focus is on eliminating a path that will not play a role in the set of potential paths. Lemma 3 in the paper indicates the interaction that a path can have and the cases for which the path will cease to exist.

  • In [4], line connecting S and E was used to divide the boundary curve into two portions. As such a division is not possible in a multiply-connected domain (MCD), Lemma 4 in the paper, termed as generalized region lemma (GRL) (a generalized version of the region check lemma in [4]) has been proposed.

  • Exterior and interior regions are formulated based on Lemma 4 to eliminate PCTs/BTs/inner curves that do not further play a role in path computation.

  • Merging of paths (which was not required in SIP of SCD) to avoid redundant computation has also been proposed.

  • A tree data structure has been proposed and implemented for storing and manipulation of identified paths.

  • A methodology has been proposed and implemented for curves having C1 discontinuities (which was not handled in SCD).

In this paper, the curved boundary is assumed to be defined by a set of non-self-intersecting closed parametric curves without discontinuities (an extension to curves with discontinuities is also discussed with implementation results) and also they do not contain straight line portions. The domain is assumed to be multiply-connected, with one outer boundary (bounding box replacing the outer boundary has also been discussed) and at least one inner boundary. It is assumed that, when traveled along the increasing direction of parameterization of the curve, its interior lies to its left. The curves are typically defined by Non-Uniform Rational B-Spline (NURBS) [16]. The degree of the curves are assumed such that the inflection points on the curve can be captured (i.e. minimum degree of the curve used is 3).

Section snippets

Definitions

Let the set of parametric curves be Q={C0(r0),C1(r1),,Coc=Cn(rn)} for which SIP has to be determined. Let S and E lie on the outer boundary curve Coc. All definitions from Section 2 of [4] are directly applicable and hence not repeated here.

Definition 1

A path is a set of PCTs/BTs which are completely contained and curve portions forming a contiguous segment.

Definition 2

An extended PCT/BT is the extension (along the direction of PCT/BT) of a completely contained PCT/BT till its first intersection with one of the

Preliminaries/Observations

Lemma 1

SIP consists of only concave portions of outer/inner loops and straight lines that are completely contained in the MCD (adopted from [4]).

Lemma 2

The SIP preserve the direction of traversal (clockwise or counter-clockwise) in the input curves [4].

It is to be noted that when both S and E lie on the same concave portion, then the SIP is the portion of the curve C(t) between the two points [14, Theorem 2.7, p. 220]. Also, straight portions of SIP are tangential to the concave portions [4].

Definition 4

A BT is said to

Algorithm

Fig. 2(a) shows a set of curves for which SIP has to be determined between S and E (line SE is also shown). Let all curves except COC have clockwise orientation. Let S and E be the distinct points on COC for which SIP has to be determined (do note that this condition is for explanation purpose and can be relaxed, for example the outer boundary can be replaced with a bounding box). Without loss of generality, let S be the point with lower parametric value of the two. Let CTG be the curve at

Results and discussion

Fig. 7 show the implementation results for a few test examples, with all potential SIPs (in blue) and SIP (in black) and green indicating the boundaries (outer and inner curves) forming MCD with different start and end points. Implementations in this paper have been carried out using IRIT [18], a solid modeling kernel. The constraint equations for PCT and BT were solved using the geometric constraint solver [19] in IRIT. The algorithm does not limit the number of holes that can be present in

Conclusion

In this paper, an algorithm to compute SIP of curved boundaries, forming a multiply-connected domain, extending the algorithm in [4] has been presented. It is shown that all potential paths can be computed, eliminating many PCTs/BTs/inner loops using a generalized region lemma and then specifically finding exterior and interior regions using PCTs/BTs. Merging of paths that will avoid redundant computation is also done. It is also shown that the algorithm can be applied to any number of holes

S. Bharath Ram is currently a research scholar in the Department of Engineering Design, Indian Institute of Technology Madras, Chennai, India. He earned a B.E. degree in Mechanical Engineering from College of Engineering, Guindy, Anna University, India. His current research interests include geometric modeling, differential and computational geometry.

References (22)

  • Alfred V. Aho et al.

    Data structures and algorithms

    (1983)
  • Cited by (0)

    S. Bharath Ram is currently a research scholar in the Department of Engineering Design, Indian Institute of Technology Madras, Chennai, India. He earned a B.E. degree in Mechanical Engineering from College of Engineering, Guindy, Anna University, India. His current research interests include geometric modeling, differential and computational geometry.

    M. Ramanathan is currently an Assistant Professor in the Department of Engineering Design, Indian Institute of Technology, Madras. He earned a B.E. degree in Mechanical Engineering from Thiagarajar college of Engineering, Madurai, India. He received his M.Sc. (Engg.) and Ph.D. from the Department of Mechanical Engineering at the Indian Institute of Science, Bangalore, India. He did his post-doctoral research at Technion, Haifa, Israel and then at Purdue University, USA. His current research interests include geometric modeling, computational geometry, shape and image search, mesh model analysis, and BioCAD.

    View full text