1 Introduction

This paper is concerned with a problem of designing a shortest path network connecting three given points in a plane, subject to a constraint on the curvature of the paths. The problem was motivated by a situation which arises in the design of underground mines. Access in many underground mines is provided by a network of tunnels known as declines which provide access from the surface to the ore bodies for personnel and equipment. In order to minimise construction and haulage costs, it is often desirable to make these networks as short as possible, subject to a lower bound on the radius of curvature at each point on the paths in order to ensure that the declines can be safely navigated by haulage vehicles. For non-horizontal parts of the decline network, an upper bound on the gradient is also required. Methods for optimising the design of such networks in underground mines are described in Brazil et al. [2] and Brazil et al. [3] and have been implemented in commercial software. More generally, similar problems could arise in other situations in which a network is to be navigated by vehicles.

The problem to be considered here is as follows: Given three distinct undirected points, \(p_1\), \(p_2\), \(p_3\), in the plane, and a radius of curvature, r, find the shortest network connecting the points, comprising a smooth (\({\mathcal {C}}^1\) and piecewise \({\mathcal {C}}^2\)) path from \(p_1\) to \(p_2\) via a point s and a smooth path from \(p_3\) to s, such that the curvature of each path is bounded above by 1/r at every point on the path where the curvature is defined. Note that any of the paths \(p_1s\), \(sp_2\) and \(p_3s\) may be degenerate, i.e., they may have length zero.

In the context of the application to underground mine design, the problem concerns the case where three points on the same horizontal (or near-horizontal) level in the mine are to be connected. Such situations typically arise where the mine comprises multiple levels, each with its own access network, and where access between the levels and to the surface is provided by a separate decline or shaft. Restricting the three points to a single level ensures that any constraint on the gradient required for navigability need not be taken into account.

Kirszenblat et al. [6] considered a similar problem which involved connecting three points with a curvature-constrained network of minimum total length. However, that problem differed from the present problem in the following respects: the path from \(p_1\) to \(p_2\) was not constrained to be smooth at s, and the direction of the path at each of the three given points was specified. For the application to underground mine design, it is more realistic to constrain the path from \(p_1\) to \(p_2\), representing the main flow of traffic through this part of the decline network, to be smooth everywhere. This condition provides a closer representation of the actual configurations of the junctions in decline networks.

When \(r=0\), the problem reduces to the well-known Fermat–Torricelli problem (equivalently, the minimum Steiner tree problem on three points) described in Sect. 1.1.1 of Brazil and Zachariasen [4]. The solution to the problem presented here draws on features of both the Fermat–Torricelli problem and the problem of determining shortest curvature-constrained paths between two directed points investigated by Dubins [5] and others, e.g., Boissonat et al. [1].

The results that follow are largely theoretical in nature. While we present a procedure in Sect. 5 for generating a shortest network for three given points subject to the constraints given here, the procedure is not fully algorithmic, and we have not implemented it in code.

2 General results on the shortest network

The main result in this section establishes that the shortest network must take one of a limited set of specific forms. The sequence of steps leading to this result can be summarised as follows:

  1. 1.

    We prove that the paths in the shortest network are restricted to taking certain specific forms comprising line segments and circular arcs (Theorem 2.2).

  2. 2.

    We establish further restrictions on the forms that the paths may take. In particular, we show that the path from \(p_1\) to \(p_2\) contains at most one arc (Theorem 2.3).

  3. 3.

    We prove that the arc turns through an angle less than \(\pi \) (Theorem 2.5 and Corollary 2.6).

  4. 4.

    We prove that the path from \(p_3\) joins the arc in the path from \(p_1\) to \(p_2\) on the convex side of the arc (Theorem 2.7).

  5. 5.

    We prove the main result which establishes the forms that the shortest network can take (Theorem 2.8).

As was stated above, the paths that arise in the solution to the problem are concatenations of straight line segments and circular arcs. The type of such a path is a sequence of the letters S (for straight line segment) and C (for circular arc) indicating the forms of the components of the path in the order they occur. It will always be made clear whether or not any of the components may be degenerate.

The following result is given in Sect. II Subsection B of Ma and Castañón [7]. It will be useful in what follows.

Lemma 2.1

Let p be a directed point and let q be an undirected point in the plane, and let \(r>0\) be given. Then a shortest path from p to q with curvature bounded above by 1/r is either of type CS (including degeneracies) where the arc has radius r or of type CC where both arcs have radius r. Further, if the path is of type CC then the turn angle of the second arc is greater than \(\pi \), and q is inside a circle of radius r passing through p and tangent to the path at p. \(\square \)

For the remainder of the paper, we assume, by re-scaling if necessary, that the minimum radius of curvature \(r=1\) (with no resultant loss of generality). Also, if p and q are two points in the plane, then, unless otherwise indicated, pq denotes the straight line segment with endpoints p and q, and hence \(|pq|\) is the distance between the two points.

We first establish some constraints on the form that the shortest network can take.

The following result follows directly from Lemma 2.1.

Theorem 2.2

Let \(p_1\), \(p_2\) and \(p_3\) be points in the plane. Let N be a shortest network comprising a path from \(p_1\) to \(p_2\) with curvature bounded above by 1 and a path from a point s on that path to \(p_3\), where any of the paths may have length zero. Then:

  1. 1.

    the path from s to \(p_3\) in N is a line segment or degenerate;

  2. 2.

    the subpath from \(p_1\) to s in N is either of type SC (including the degenerate forms S, C and a zero length path) where the arc has radius 1, or of non-degenerate type CC where the arcs have radius 1 and the turn angle of the first arc is greater than \(\pi \);

  3. 3.

    the subpath from s to \(p_2\) in N is either of type CS (including the degenerate forms C, S and a zero length path) where the arc has radius 1, or of non-degenerate type CC where the arcs have radius 1 and the turn angle of the second arc is greater than \(\pi \).

Note: We show in Theorem 2.3 that type CC subpaths cannot occur in a shortest network.

Theorem 2.3

Let \(p_1\), \(p_2\) and \(p_3\) be points in the plane. Let N be a shortest network comprising a path from \(p_1\) to \(p_2\) with curvature bounded above by 1 and a path from a point s on that path to \(p_3\), where any of the paths may have length zero. Then the subpaths from \(p_1\) to s and from s to \(p_2\) in N are of types SC and CS (possibly degenerate) respectively, where the arcs have radius 1 and have the same orientation (left-turning or right-turning).

Proof

By Theorem 2.2, the subpath from \(p_1\) to s is of type SC or CC and the subpath from s to \(p_2\) is of type CS or CC, or degenerate forms of these types, where the arcs have radius 1. We now show that neither path can be of non-degenerate type CC. Without loss of generality, consider a network N in which the path from \(p_1\) to s has type CC. It is sufficient to show that there is a network comprising a line segment \(p_1p_2\) and a line segment from s to a point a on \(p_1p_2\) which is shorter than the path in N from \(p_1\) to \(p_2\). For, if such a network \(N'\) exists, then appending the line segment \(p_3s\) to \(N'\) yields a shorter network than N, and then replacing the line segments \(p_3s\) and sa with the line segment \(p_3a\) yields a network which satisfies the constraints and is either the same total length or shorter still.

By Lemma 2.1, \(p_1\) is inside a circle C of radius 1 passing through s and tangent to the path at s, so that \(|p_1s|<2\), and the arc incident to \(p_1\) has turn angle greater than \(\pi \). Let \(P_1\) and \(P_2\) denote the paths from s to \(p_1\) and \(p_2\) respectively. Then the length l of the path from \(p_1\) to \(p_2\) is given by \(l=|P_1|+|P_2|\), where \(|P_1|>\pi \) and \(|P_2|\ge |p_2s|\). Three cases arise.

Case 1: The angles \(\angle p_2p_1s\) and \(\angle p_1p_2s\) are both acute. Let \(N'\) be the network comprising the line segments \(p_1p_2\) and sa, where a is the point on \(p_1p_2\) such that the two line segments are perpendicular. Let \(l'\) denote the length of \(N'\). Since \(|p_1s|<2\) and \(p_1a\) and sa are perpendicular, \(|p_1a|+|sa|<2\sqrt{2}<\pi <|P_1|\). Also, \(|p_2a|\le |p_2s|\le |P_2|\). Therefore, \(l'=|p_1a|+|p_2a|+|sa|<|P_1|+|P_2|=l\). Hence, \(N'\) is a network that satisfies the constraints and is shorter than the path from \(p_1\) to \(p_2\) in N.

Case 2: The angle \(\angle p_2p_1s\) is an obtuse or right angle. Let \(N'\) be the network comprising the line segments \(p_1p_2\) and \(p_1s\). Let \(l'\) denote the length of \(N'\). Since \(\angle p_2p_1s\) is an obtuse or right angle, \(|p_1p_2|<|p_2s|\). Since \(|p_1s|<2\), \(l'=|p_1p_2|+|p_1s|<|p_2s|+2<|P_2|+\pi <|P_2|+|P_1|=l\). Hence, \(N'\) is a network that satisfies the constraints and is shorter than the path from \(p_1\) to \(p_2\) in N.

Case 3: The angle \(\angle p_1p_2s\) is an obtuse or right angle. Again the path from \(p_1\) to \(p_2\) is not minimum by a similar symmetric argument to Case 2.

It follows from these three cases that neither path can be of non-degenerate type CC and so the subpath from \(p_1\) to s is of type SC and the subpath from s to \(p_2\) is of type CS, or degenerate forms of these types.

It remains to show that if the two arcs are not degenerate then they have the same orientation. Suppose they have opposite orientations (Fig. 1). Perturb the path P from \(p_1\) to \(p_2\) by rotating it around s in the direction of the concave side of the arcs, replace the line segments with line segments from \(p_1\) and \(p_2\) tangent to their respective arcs, and shorten the arcs to create a new path \(P'\) from \(p_1\) to \(p_2\). Consider the subpath of P from \(p_1\) to s, which lies on the convex side of the subpath of \(P'\) from \(p_1\) to s. The projection of the subpath of P onto the subpath of \(P'\) is length-decreasing, and so the subpath of \(P'\) is shorter than the subpath of P. A similar argument applies to the subpaths of P and \(P'\) from s to \(p_2\). Hence, \(P'\) is shorter than P, contrary to the fact that N is the shortest network. Therefore, the two arcs have the same orientation. \(\square \)

Fig. 1
figure 1

Original (solid lines) and perturbed (dashed lines) SC and CS subpaths where the arcs have opposite orientations

It follows from Theorem 2.3 that the path from \(p_1\) to \(p_2\) is of type SCS or a degenerate form of this type.

The following lemma is used in the proof of Theorem 2.5.

Lemma 2.4

If \(0\le y\le x/2\) and \(0\le y\le a/2\) then \(\sqrt{x^2+a^2}+y\le x+a\).

Proof

Since \(0\le y\le x/2\) and \(0\le y\le a/2\), \(xy+ay\le xa/2+ax/2=ax\) and so \(2xy+2ay\le 2ax\le 2ax+y^2\). Therefore, \(x^2+a^2\le x^2+a^2+y^2+2ax-2xy-2ay=(x+a-y)^2\). Since \(y\le x/2\) and \(y\le a/2\), \(x+a-y\ge 0\) and so \(\sqrt{x^2+a^2}\le x+a-y\). Hence, \(\sqrt{x^2+a^2}+y\le x+a\). \(\square \)

Theorem 2.5

Let \(p_1\), \(p_2\) and \(p_3\) be points in the plane. Let N be a network comprising an SCS path (possibly degenerate) from \(p_1\) to \(p_2\) with the radius of the arc equal to 1 and a line segment (possibly degenerate) from \(p_3\) to a point on the arc, where the arc turns through an angle greater than or equal to \(\pi \). Then there is a network comprising a line segment from \(p_1\) to \(p_2\) and a line segment from \(p_3\) to a point on \(p_1p_2\) that is shorter than N.

Proof

Assume without loss of generality that if the two line segments in the SCS path are of unequal length then the line segment \(l_1\) from \(p_1\) is the longer one. Let \(l_2\) be the line segment from \(p_2\) to a point q on \(l_1\) and parallel to the chord joining the ends of the arc. Let \(N'\) be the network comprising the line segment \(p_1p_2\) and a path P comprising the line segment in N from \(p_3\) to the arc, a line segment to the centre of the arc, a line segment to \(l_2\) and at right angles to \(l_2\), and the shortest line segment to \(p_1p_2\) (Fig. 2). (Note that the argument to follow is valid if \(p_3\) is on or inside the arc, as well as when \(p_3\) is outside the arc as shown in the figure.) We claim that \(N'\) is shorter than N. The result then follows by replacing P with a single line segment between the same endpoints to yield an even shorter network.

Fig. 2
figure 2

The geometric construction for Theorem 2.5

Let S be the semicircular part of the arc in the SCS path defined by the diameter parallel to \(l_2\). The length of S is \(\pi \) which is greater than 3. Let c be the centre of S, let r be the point where the line segment from c in \(N'\) meets \(l_2\), and let s be the point where the line segment from \(p_3\) in both N and \(N'\) meets the arc. Since \(p_3s\) is common to N and \(N'\) and \(|sc|=1\), it is sufficient to prove that the total length of \(N'\) excluding \(p_3c\) is less than or equal to 2 plus the total length of N excluding S and \(p_3s\). Further, cr is no longer than either of the line segments in N between S and \(l_2\). Hence, the problem reduces to the following: prove that \(|p_1p_2|\) plus the length, y, of cr is less than or equal to \(x+2\) where \(x=|p_1q|\).

Let a be the length of \(l_2\). Note that \(a\le 2\) and \(|p_1p_2|\le \sqrt{x^2+a^2}\) because the angle \(\angle p_1qp_2\) is an acute or right angle. Since the last line segment in P is the shortest line segment to \(p_1p_2\), its length cannot exceed the length of either the line segment to \(p_2\) or the line segment to \(p_1p_2\) parallel to \(l_1\). Therefore, \(y\le a/2\) and \(y\le x/2\). By Lemma 2.4, \(\sqrt{x^2+a^2}+y\le x+a\). Since \(|p_1p_2|\le \sqrt{x^2+a^2}\) and \(a\le 2\), \(|p_1p_2|+y\le x+2\) as required. \(\square \)

Corollary 2.6

Let \(p_1\), \(p_2\) and \(p_3\) be points in the plane. Consider all the networks comprising an SCS path (possibly degenerate) from \(p_1\) to \(p_2\) with the radius of the arc equal to 1 and a line segment (possibly degenerate) from \(p_3\) to a point on the arc. Then the arc in a shortest such network turns through an angle less than \(\pi \).

Proof

The result follows from Theorem 2.5 on observing that the shorter network obtained in that theorem is of the required form (where the SCS path has the degenerate form of a line segment). \(\square \)

Theorem 2.7

Let \(p_1\), \(p_2\) and \(p_3\) be points in the plane. Consider all the networks comprising an SCS path (possibly degenerate) from \(p_1\) to \(p_2\) with the radius of the arc equal to 1 and a line segment from \(p_3\) to a point on the arc. Then the line segment from \(p_3\) joins the arc on the convex side of the arc in a shortest such network.

Proof

Suppose \(p_3\) is on the concave side of the arc. Perturb the arc so that its midpoint moves toward the centre of the arc, create the tangents to the perturbed arc from \(p_1\) and \(p_2\), create a new path from \(p_1\) to \(p_2\) comprising the tangents and the part of the arc between the two points of tangency, and shorten the line segment from \(p_3\) so that it ends on the perturbed arc. Since the turn angle of the arc is less than \(\pi \) by Corollary 2.6, the construction is always possible and yields a network that is shorter than the original network (since the projection of the original path onto this new one is length-decreasing). Therefore, the line segment from \(p_3\) joins the arc on the convex side of the arc. \(\square \)

The main result of this section now follows.

Theorem 2.8

Let \(p_1\), \(p_2\) and \(p_3\) be points in the plane. Let N be a shortest network comprising a path from \(p_1\) to \(p_2\) with curvature bounded above by 1 and a path from a point s on that path to \(p_3\), where any of the paths may have length zero. Then the path from \(p_1\) to \(p_2\) in N is of type SCS or a degenerate form of this type. Further, one of the following cases occurs:

  1. 1.

    The path from \(p_1\) to \(p_2\) contains a non-degenerate arc with turn angle less than \(\pi \), and \(p_3\) is connected to the arc by a line segment which is on the convex side of the arc and perpendicular to the tangent to the arc at s.

  2. 2.

    The path from \(p_1\) to \(p_2\) contains a non-degenerate arc with turn angle less than \(\pi \) and \(p_3\) is on the arc.

  3. 3.

    The path from \(p_1\) to \(p_2\) is a line segment and \(p_3\) is connected to \(p_1\) or \(p_2\) by a line segment.

  4. 4.

    The path from \(p_1\) to \(p_2\) is a line segment and \(p_3\) is on it.

Proof

Most of the result follows readily from Theorems 2.3 and 2.7 and Corollary 2.6. It remains only to show that a shortest network cannot consist of a line segment l from \(p_1\) to \(p_2\) and a line segment perpendicular to l connecting \(p_3\) to an interior point s of l. Given such a network, N, let \(s'\) be a point on \(sp_3\) arbitrarily close to s, and let \(N'\) be a network comprising an SCS path where the arc passes through \(s'\) with its tangent at right angles to \(sp_3\), and a line segment from \(p_3\) to \(s'\) (Fig. 3). We claim that \(N'\) is shorter than N. Let \(q_1\) and \(q_2\) be the points where the line segments from \(p_1\) and \(p_2\) respectively in \(N'\) meet the arc. Let c be the centre of the arc, and let \(a_1\) and \(a_2\) be the points where \(p_1p_2\) meets \(cq_1\) and \(cq_2\) respectively. Then \(|p_1q_1|<|p_1a_1|\) and \(|p_2q_2|<|p_2a_2|\), and so it remains to show that the length of the arc is less than \(|a_1a_2|+\epsilon \) where \(\epsilon \) is the length of \(ss'\). Let \(\theta _1\) and \(\theta _2\) be the turn angles of the sub-arcs \(q_1s'\) and \(q_2s'\) respectively. The length of the arc is \(\theta _1+\theta _2\) and \(|a_1a_2|=(1-\epsilon )(\tan \theta _1+\tan \theta _2)\). Hence, \(\theta _1+\theta _2<\tan \theta _1+\tan \theta _2=|a_1a_2|+\epsilon (\tan \theta _1+\tan \theta _2)<|a_1a_2|+\epsilon \) because \(\theta _1\) and \(\theta _2\) are arbitrarily small. Therefore, \(N'\) is shorter than N. \(\square \)

Fig. 3
figure 3

The geometric construction for Theorem 2.8

If \(p_3\) lies between \(p_1\) and \(p_2\) then the shortest network is the line segment from \(p_1\) to \(p_2\) (Case 4 of Theorem 2.8). We disregard this trivial case in what follows.

From Theorem 2.8, either the shortest network contains an arc in the path from \(p_1\) to \(p_2\) or it comprises the line segment \(p_1p_2\) and one of the line segments \(p_1p_3\) and \(p_2p_3\). In some situations one of these possibilities can be readily excluded.

Theorem 2.9

Let \(p_1\), \(p_2\) and \(p_3\) be points in the plane. Let N be a shortest network comprising a path from \(p_1\) to \(p_2\) with curvature bounded above by 1 and a path from a point s on that path to \(p_3\), where any of the paths may have length zero. Then:

  1. 1.

    If both angles \(\angle p_2p_1p_3\) and \(\angle p_1p_2p_3\) are acute then N contains an arc in the path from \(p_1\) to \(p_2\).

  2. 2.

    If the angle \(\angle p_2p_1p_3\) (resp. \(\angle p_1p_2p_3\)) is greater than or equal to \(2\pi /3\) then N comprises the line segment \(p_1p_2\) and the line segment \(p_1p_3\) (resp. \(p_2p_3)\).

Proof

We prove the first assertion by showing that a network comprising the line segment \(p_1p_2\) and one of the line segments \(p_1p_3\) and \(p_2p_3\) cannot be the shortest network. This follows immediately from the observation that a shorter network can be obtained by replacing the line segment from \(p_3\) to \(p_1\) or \(p_2\) with a line segment from \(p_3\) perpendicular to \(p_1p_2\).

The second assertion follows immediately from the fact that such a network is optimal even in the absence of a curvature constraint (Theorem 1.1 of Brazil and Zachariasen [4]). \(\square \)

For values of the angles \(\angle p_2p_1p_3\) and \(\angle p_1p_2p_3\) not handled by Theorem 2.9, the lengths of the shortest network containing an arc in the path from \(p_1\) to \(p_2\) and the shortest network comprising two line segments can be compared in order to determine the shortest network overall.

Sections 3 and 4 focus on the problem of determining the shortest network containing an arc in the path from \(p_1\) to \(p_2\).

3 Non-degenerate networks

The main result in this section (Theorem 3.4) is a characterisation of the shortest network for which the path from \(p_1\) to \(p_2\) is of non-degenerate type SCS and \(p_3\) is connected to the point s on the arc by a line segment which is on the convex side of the arc and perpendicular to the tangent to the arc at s, if such a network exists. We call such networks non-degenerate. It should be noted that, even if there is a shortest non-degenerate network, it need not be the network that solves the original problem.

The problem can be interpreted using a mechanical model. The path from \(p_1\) to \(p_2\) is represented by a string which passes around a pulley with radius 1, creating the arc on that path, and the path from \(p_3\) to the point s on the arc is represented by a string from \(p_3\) which extends beyond s to the centre of the pulley. The pulley is not fixed in any position but is free to move in the plane. The strings are pulled taut by a unit tension applied at each of the three given points. Under tension, the string and pulley system settles into an equilibrium configuration which minimises the potential energy of the system and, by implication, the length of the network, which is the total length of the two paths minus 1.

The following three lemmas will be used to establish Theorem 3.4 and later Theorem 4.2.

Lemma 3.1

Referring to Fig. 4, consider the path represented by the straight segment \(p_3 s\) of the network which meets the arc at right angles. Let \({\hat{F}}\) denote the normalization of the vector \(F:=p_3 - s\). If the circle containing the arc is translated with velocity \(v'\), then the first variation of the path length L is given by

$$\begin{aligned} L' = -v' \cdot {\hat{F}}. \end{aligned}$$
Fig. 4
figure 4

The circle containing the arc is perturbed in the direction of a vector \(v'\)

Proof

Let c denote the centre of the circle, and define the vector \(w:= s - c\). The first variation of the path length L is given by

$$\begin{aligned} L'&= \Vert F\Vert '\\&= \Vert w + F\Vert '\\&= \left( (w + F) \cdot \frac{w + F}{\Vert w + F\Vert }\right) '\\&= ((w + F) \cdot {\hat{F}})'\\&= (w + F) \cdot {\hat{F}}' + (w + F)' \cdot {\hat{F}}\\&= (w + F)' \cdot {\hat{F}}\\&= (p_3 - c)'\cdot {\hat{F}}\\&= -v'\cdot {\hat{F}}, \end{aligned}$$

where the first equality follows from the definition of the path length, the second from the fact that the vector w is of constant magnitude and parallel to the vector F, and the third from the definition of the scalar product. The fourth equality follows from the fact that the vectors \(w + F\) and \({\hat{F}}\) are parallel, the fifth from the product rule, and the sixth from the fact that the vectors \(w + F\) and \({\hat{F}}'\) are orthogonal. Lastly, the seventh equality follows from the definitions of the vectors F and w, and the eighth from the fact that the terminal \(p_3\) is fixed. \(\square \)

Lemma 3.2

Referring to Fig. 5, consider a SC path, denoted \(x_1 x_2 x_3\), where \(x_1x_2\) is the straight segment and \(x_2x_3\) is the arc. Let \({\hat{F}}\) denote the normalization of the vector \(F:= x_1 - x_2\). If the circle containing the arc is translated with velocity \(v'\), then the first variation of the path length L is given by

$$\begin{aligned} L' = -v' \cdot {\hat{F}}. \end{aligned}$$
Fig. 5
figure 5

The point \(x_1\) is perturbed in the direction of a vector \(-v'\)

Proof

Let \(\theta \) denote the arc length. The first variation of the path length is the same whether we fix the point \(x_1\) while translating the circle with velocity \(v'\) or fix the circle while translating the point \(x_1\) with velocity \(-v'\). In the latter case, the first variation of the path length is given by

$$\begin{aligned} L'&= \Vert F\Vert ' + \theta '\\&= (F \cdot {\hat{F}})' + x_2' \cdot {\hat{F}}\\&= F \cdot {\hat{F}}' + F' \cdot {\hat{F}} + x_2' \cdot {\hat{F}}\\&= F' \cdot {\hat{F}} + x_2' \cdot {\hat{F}}\\&= (x_1 - x_2)' \cdot {\hat{F}} + x_2' \cdot {\hat{F}}\\&= x_1' \cdot {\hat{F}}\\&= -v' \cdot {\hat{F}}, \end{aligned}$$

where the first equality follows from the definition of the path length, the second from the definition of the scalar product, and the third from the product rule. The fourth equality follows from the fact that the vectors F and \({\hat{F}}'\) are orthogonal, the fifth from the definition of the vector F, and the sixth from the properties of the scalar product. Lastly, the seventh equality follows from the initial assumption about perturbing the point \(x_1\). \(\square \)

Lemma 3.3

Referring to Fig. 6, consider a SC path, denoted \(x_1 x_2 x_3\), where \(x_1x_2\) is the straight segment and \(x_2x_3\) is the arc. Let \({\hat{F}}\) denote the normalization of the vector \(F:= x_1 - x_2\) and let r be the vector \(x_2 - x_3\). If the circle containing the arc is rotated with angular velocity \(\omega \) about \(x_3\), then the first variation of the path length L is given by

$$\begin{aligned} L' = -\omega \cdot (r \times {\hat{F}}). \end{aligned}$$
Fig. 6
figure 6

The point \(x_1\) is perturbed in the direction of a vector \(-v'\)

Proof

Let c denote the centre of the circle and \(\theta \) the arc length. Define the vectors \(v:= c - x_3\) and \(w:= x_2 - c\). Note that a rotation in an infinitesimal time dt with angular velocity \(\omega \) corresponds to a rotation through an angle \(\pm \Vert \omega \Vert dt\), the sign depending on the direction (normal to the plane) of the pseudovector \(\omega \). We may resolve \(L'\) into two components \(L_R'\) and \(L_T'\) due to rotation of the circle about its centre and translation, respectively. In particular, a rotation of the circle about the point \(x_3\) by an infinitesimal angle \(\pm \Vert \omega \Vert d t\) is equivalent to the composition of a rotation of the circle about its centre c by an infinitesimal angle \(\pm \Vert \omega \Vert d t\) and a translation by an infinitesimal distance \(v' d t\) (perpendicular to v since v has constant magnitude and point \(x_3\) is fixed).

When the circle is rotated about its centre, the straight segment remains unchanged, and the first variation of the path length is given by

$$\begin{aligned} L_R'&= \theta '\\&= -(\omega \times w) \cdot {\hat{F}}. \end{aligned}$$

Note that the scalar triple product \((\omega \times w) \cdot {\hat{F}}\) has absolute value equal to the angular speed \(\Vert \omega \Vert \). Moreover, the sign of the scalar triple product \((\omega \times w) \cdot {\hat{F}}\) accounts for both the direction of the angular velocity and whether the arc is left-turning or right-turning.

When the circle is translated, the first variation of the path length is given by

$$\begin{aligned} L_T'&= -v' \cdot {\hat{F}}\\&= -(\omega \times v) \cdot {\hat{F}}, \end{aligned}$$

where the first equality follows from Lemma 3.2, and the second from the fact that the unit vector v rotates with angular velocity \(\omega \). Summing the contributions \(L_R'\) and \(L_T'\) due to the rotation of the circle about its centre and translation, we obtain for the first variation of the path length the expression

$$\begin{aligned} L'&= L_R' + L_T'\\&= -(\omega \times w) \cdot {\hat{F}} - (\omega \times v) \cdot {\hat{F}}\\&= -(\omega \times (v + w)) \cdot {\hat{F}}\\&= -(\omega \times r) \cdot {\hat{F}}\\&= -\omega \cdot (r \times {\hat{F}}), \end{aligned}$$

where we have used the fact that \(r = v + w\) and the properties of the scalar triple product. \(\square \)

Theorem 3.4

Let \(p_1\), \(p_2\) and \(p_3\) be points in the plane. Consider all the networks comprising a non-degenerate SCS path from \(p_1\) to \(p_2\) with the radius of the arc equal to 1 and a line segment from \(p_3\) that meets the arc on the convex side at a point s and is orthogonal to the tangent to the arc at s. If there is a shortest such network, then the extensions of the line segments from \(p_1\) and \(p_2\) are concurrent with the line segment from \(p_3\) (extended beyond \(p_3\) if necessary), and the three line segments are at angles of \(2\pi /3\) to each other. Further, the arc turns through an angle of \(\pi /3\) and s is the midpoint of the arc.

Proof

The network comprises a straight segment \(p_3 s\) and two SC paths, one from \(p_1\) to s and the other from \(p_2\) to s. See Fig. 7 for illustration. For \(i = 1, 2, 3\), denote the length of the path incident to the ith terminal by \(L_i\), and construct the vector \({\hat{F}}_i\) which is directed outward along the straight segment. For \(i = 1, 2\), construct the vector \(r_i\) which is directed from s to the tail of the vector \(F_i\). A curvature-constrained Steiner network of minimum total length must satisfy a “force equilibrium” condition. That is, for arbitrary perturbation vector \(v'\) corresponding to a translation of the circle, we have

$$\begin{aligned} L_1' + L_2' + L_3'&= -v' \cdot ({\hat{F}}_1 + {\hat{F}}_2 + {\hat{F}}_3)\\&= 0, \end{aligned}$$

where the first equality follows from Lemmas 3.1 and 3.2, and the second from the fact that the gradient of the length function is zero at a minimum point. A curvature-constrained Steiner network of minimum total length must also satisfy a “torque equilibrium” condition. That is, for arbitrary perturbation \(\omega \) corresponding to a rotation of the circle about the point s, we have

$$\begin{aligned} L_1' + L_2'&= -\omega \cdot (r_1 \times {\hat{F}}_1 + r_2 \times {\hat{F}}_2)\\&= 0, \end{aligned}$$

where the first equality follows from Lemma 3.3 and the properties of the scalar triple product, and the second from the fact that the gradient of the length function is zero at a minimum point. Therefore, the three vectors \({\hat{F}}_1, {\hat{F}}_2\) and \({\hat{F}}_3\) act through a common point and can be arranged into an equilateral triangle. Hence, the extended line segments are concurrent and are at angles of \(2\pi /3\) to each other. Accounting for Corollary 2.6, which states that the arc in a shortest network turns through an angle less than \(\pi \), it easily follows that the arc length is \(\pi /3\) with s at the midpoint and \(p_3s\) perpendicular to the tangent at s. \(\square \)

Fig. 7
figure 7

A shortest curvature-constrained Steiner network

The following process can be used to find the shortest non-degenerate network if it exists.

  1. 1.

    Find the point, \(s'\), on the same side of \(p_1p_2\) as \(p_3\), for which the lines \(p_1s'\), \(p_2s'\) and \(p_3s'\) are at angles of \(2\pi /3\) to each other. Note that \(s'\) is the Steiner point for \(p_1\), \(p_2\) and \(p_3\) if \(\angle p_1p_3p_2<2\pi /3\), otherwise there is no Steiner point. The latter case is depicted in Fig. 8.

  2. 2.

    Find the circle, C, of radius 1 tangent to \(p_1s'\) and \(p_2s'\). The centre of C is on the extension of \(p_3s'\) at a distance of \(2/\sqrt{3}\) from \(s'\). If either point of tangency does not lie on the interior of the line segment \(p_1s'\) or \(p_2s'\), or if \(p_3\) is not on the convex side of C, then a shortest non-degenerate network does not exist.

  3. 3.

    If a shortest non-degenerate network exists, let \(q_1\) and \(q_2\) be the points where \(p_1s'\) and \(p_2s'\) respectively are tangent to C, and let s be the point where \(p_3s'\) extended meets C. Then the shortest non-degenerate network comprises the line segments \(p_1q_1\), \(p_2q_2\) and \(p_3s\) and the minor arc of C from \(q_1\) to \(q_2\).

Fig. 8
figure 8

The case where there is no Steiner point

The length of the shortest non-degenerate network can be calculated as follows. Following Sect. 1.1.1 of Brazil and Zachariasen [4], we define the Simpson line for \(p_1\), \(p_2\) and \(p_3\) to be the line segment from \(p_3\) to the point at a distance of \(|p_1p_2|\) from \(p_1\) and \(p_2\) on the side of \(p_1p_2\) opposite \(p_3\). Then \(|p_1s'|+|p_2s'|+|p_3s'|\) equals the length, l, of the Simpson line. The length of the shortest non-degenerate network can be obtained from this value by subtracting \(|q_1s'|+|q_2s'|\) and adding \(|ss'|\) and the length of the arc. Therefore, the required length is \(l-2/\sqrt{3}+(2/\sqrt{3}-1)+\pi /3=l+\pi /3-1\).

4 Networks comprising an arc and two line segments

4.1 Classification of network types

We now investigate networks for which the path from \(p_1\) to \(p_2\) contains an arc and one of the three line segments is degenerate. For this investigation we will add the condition that the distance between any pair of the three given points is greater than 2. This condition ensures that the arc cannot contain two of the given points. Any network in which two or more of the line segments are degenerate takes one of the following forms: it consists of an SC or CS path from \(p_1\) to \(p_2\) with \(p_3\) on the arc; or it consists of an arc from \(p_1\) to \(p_2\) with a line segment from \(p_3\) to the arc on the convex side and perpendicular to the tangent to the arc at the point of contact; or else it consists of an arc from \(p_1\) to \(p_2\) through \(p_3\). It follows that such multi-degenerate networks cannot arise under the additional condition. The condition makes little practical difference to the application of the theory to underground mine design, since the distance between given points in a decline network would almost always be greater than twice the turning radius.

Let s denote the point where the (possibly degenerate) line segment from \(p_3\) meets the arc. The network types that contain an arc and a degenerate line segment are listed below.

  1. 1.

    The path \(p_1sp_2\) is of type SC (or the equivalent case with \(p_1\) and \(p_2\) interchanged), and \(p_3\) and s do not coincide.

  2. 2.

    The path \(p_1sp_2\) is of type SCS, and \(p_3\) and s coincide.

We refer to these network types as Network type 1 and Network type 2 respectively. Examples of the two network types are depicted in Fig. 9.

Fig. 9
figure 9

Left: network type 1. Right: network type 2

We seek not only to optimise networks of each type, but also to find necessary and sufficient conditions for each network type to be feasible. For configurations where more than one network type is feasible, we seek to determine which network type is optimal among all networks containing an arc.

As was the case for non-degenerate networks, there is a mechanical model which solves the problem of finding a shortest degenerate network of type 1 or 2. We may represent each path in the network by a string pulled taut by a unit tension. A pulley which serves to enforce the curvature constraint is free to rotate in the plane about a point representing the degenerate straight segment of the network. Under tension, the string and pulley system settles into an equilibrium configuration, which minimises the potential energy of the system and, by implication, the length of the network.

The following lemma will be used in conjunction with Lemma 3.3 to establish Theorem 4.2.

Lemma 4.1

Referring to Fig. 10, consider the path consisting of the straight segment \(p_3 s\) of the network which meets the arc at right angles. Let \({\hat{F}}\) denote the normalization of the vector \(F:=p_3 - s\) and let r be the vector \(s-p_2\). If the circle containing the arc is rotated with angular velocity \(\omega \) about \(p_2\), then the first variation of the path length L is given by

$$\begin{aligned} L' = -\omega \cdot (r \times {\hat{F}}). \end{aligned}$$
Fig. 10
figure 10

The circle containing the arc is perturbed in the direction of a vector \(v'\)

Proof

Let c denote the centre of the circle. Define the vectors \(v:= c - p_2\) and \(w:= s - c\). The first variation of the path length L is given by

$$\begin{aligned} L'&= \Vert F\Vert '\\&= -v'\cdot {\hat{F}}\\&= -(\omega \times v) \cdot {\hat{F}}\\&= -\omega \cdot (v \times {\hat{F}})\\&= -\omega \cdot (v \times {\hat{F}} + w \times {\hat{F}})\\&= -\omega \cdot ((v + w) \times {\hat{F}})\\&= -\omega \cdot (r \times {\hat{F}}), \end{aligned}$$

where the first equality follows from the definition of the path length, the second from Lemma 3.1, and the third from the fact that the vector v rotates with angular velocity \(\omega \). The fourth equality follows from the properties of the scalar triple product, the fifth from the fact that the vectors w and \({\hat{F}}\) are parallel, and the sixth from the properties of the scalar triple product. Lastly, the seventh equality follows from the definition of the vector r. \(\square \)

Theorem 4.2

Referring to Fig. 11 for illustration, consider a degenerate network of type 1 or 2. The vectors \(F_1\) and \(F_2\) correspond to the straight segments of the network and are directed toward the terminals \(p_1\) and \(p_3\), respectively, in the case of a type 1 network (or toward \(p_1\) and \(p_2\), respectively, in the case of a type 2 network). The vectors \(r_1\) and \(r_2\) are directed from the terminal \(p_2\) in the case of a type 1 network (or \(p_3\) in the case of a type 2 network) to the tails of the vectors \(F_1\) and \(F_2\), respectively. If the network is of minimum total length, then it must satisfy a “torque equilibrium” condition. That is, for arbitrary perturbation \(\omega \) corresponding to a rotation of the circle about the point \(p_2\) in the case of a network of type 1 (or \(p_3\) in the case of a network of type 2), we have

$$\begin{aligned} -\omega \cdot (r_1 \times {\hat{F}}_1 + r_2 \times {\hat{F}}_2) = 0. \end{aligned}$$
Fig. 11
figure 11

Left: A network of type 1. Right: A network of type 2

Proof

In the case of a type 1 network, there is a straight segment from \(p_3\) to s as described in Lemma 4.1 and a SC path from \(p_1\) to \(p_2\) as described in Lemma 3.3. An application of Lemmas 4.1 and 3.3 gives the desired result. In the case of a type 2 network, there are two SC paths, one from \(p_1\) to \(p_3\) and the other from \(p_2\) to \(p_3\) as described in Lemma 3.3. Applying Lemma 3.3 gives the desired result. \(\square \)

4.2 Network type 1

Theorem 4.3

Let \(p_1\), \(p_2\) and \(p_3\) be points in the plane. Consider all the networks comprising a non-degenerate SC path from \(p_1\) to \(p_2\) with the radius of the arc equal to 1 and a line segment from \(p_3\) to a point on the arc. If the network is of minimum length, then the distance from \(p_2\) to the extension of the line segment from \(p_1\) equals the distance from \(p_2\) to the extension of the line segment from \(p_3\).

Proof

If a network is of minimum total length, then the variation of its length equals zero. The torques \( {r}_1\times \hat{ {F}}_1\) and \( {r}_2\times \hat{ {F}}_2\) are vectors orthogonal to the plane and so, by Theorem 4.2, the sum of the torques is zero. Hence, \(-|{r}_1|\sin \theta _1+|{r}_2|\sin \theta _2=0\), where \(\theta _1\) and \(\theta _2\) are, respectively, the angle between \( {r}_1\) and \(\hat{ {F}}_1\) and the angle between \( {r}_2\) and \(\hat{ {F}}_2\), and the signs have been correctly accounted for. Therefore, \(|{r}_1|\sin \theta _1=|{r}_2|\sin \theta _2\). The left hand side of this equation is the distance from \(p_2\) to the extension of the line segment from \(p_1\), and the right hand side is the distance from \(p_2\) to the extension of the line segment from \(p_3\). Thus, the two lines are the same distance from \(p_2\). \(\square \)

We refer to this result as the equidistant line condition. It can be used to find an optimal type 1 network by applying an iterative numerical procedure. There need not be a unique configuration satisfying the condition.

We now establish a formula for the length of the network as a function of \(\theta \), the turn angle of the arc. The length of the network might be needed to handle situations where both a type 1 network and a network comprising two line segments are potential candidates for the shortest network. We first calculate the length of an SC path as a function of \(\theta \).

Theorem 4.4

Let \(p_1\) and \(p_2\) be points in the plane. Let P be an SC path (possibly degenerate) from \(p_1\) to \(p_2\) with the radius of the arc equal to 1, and let \(\theta \) be the turn angle of the arc. Then the length of P is \(\sqrt{|p_1p_2|^2-(1-\cos \theta )^2}-\sin \theta +\theta \).

Fig. 12
figure 12

Calculation of the length of an SC path from \(p_1\) to \(p_2\)

Proof

Figure 12 shows the path P from \(p_1\) to \(p_2\), the line segment \(p_1p_2\), and the radii at the ends of the arc. Let x denote the length of the straight part of P. A right triangle with hypotenuse \(p_1p_2\) can be formed with one side parallel to the straight part of P with length \(x+\sin \theta \) and another side perpendicular to it with length \(1-\cos \theta \), as indicated by the dashed lines in the figure. (The figure shows the case where \(\theta \) is acute, but it can be verified that the reasoning also holds if \(\theta \) is obtuse or a right angle.) Hence, \((x+\sin \theta )^2+(1-\cos \theta )^2=|p_1p_2|^2\). Solving for x yields:

$$\begin{aligned} x=\sqrt{|p_1p_2|^2-(1-\cos \theta )^2}-\sin \theta \end{aligned}$$

The length of the arc in P is \(\theta \) and so the length of P is \(x+\theta \). The result follows. \(\square \)

Next, we calculate the length of the line segment in the network from \(p_3\) to the arc. It is convenient to work instead with \(|cp_3|\) where c denotes the centre of the arc. Clearly, the length of the line segment is \(|cp_3|-1\).

Theorem 4.5

Let \(p_1\), \(p_2\) and \(p_3\) be points in the plane. Consider a network comprising an SC path from \(p_1\) to \(p_2\) with the radius of the arc equal to 1 and a line segment from \(p_3\) to c, the centre of the arc, that intersects the interior of the arc. Let \(\theta \) be the turn angle of the arc. Then the length of the line segment \(cp_3\) satisfies:

$$\begin{aligned} |cp_3|^2=1+|p_2p_3|^2-2|p_2p_3|\sin (\theta -\angle p_1p_2p_3-\varphi ) \end{aligned}$$

where \(\varphi =\arcsin ((1-\cos \theta )/|p_1p_2|)\).

Proof

Figure 13 depicts the situation where \(\theta \le \pi /2\), but \(\theta >\pi /2\) may also occur. In the figure, \(ap_2\) is parallel to the line segment in the SC path from \(p_1\) to \(p_2\), \(ap_1\) is perpendicular to \(ap_2\), and \(\varphi =\angle ap_2p_1=\arcsin ((1-\cos \theta )/|p_1p_2|)\). If \(\theta \le \pi /2\) then, from the figure, \(\angle cp_2p_1=\angle cp_2a+\varphi \) where \(\angle cp_2a=\pi /2-\theta \). If \(\theta >\pi /2\) so that c is on the other side of the line segment \(ap_2\), then \(\angle cp_2p_1=-\angle cp_2a+\varphi \) where \(\angle cp_2a=\theta -\pi /2\). In both cases \(\angle cp_2p_1=\pi /2-\theta +\varphi \).

Fig. 13
figure 13

Calculation of the length of \(cp_3\)

Applying the cosine rule to triangle \(cp_2p_3\):

$$\begin{aligned} |cp_3|^2=&1+|p_2p_3|^2-2|p_2p_3|\cos (\angle cp_2p_3)\nonumber \\ =&1+|p_2p_3|^2-2|p_2p_3|\cos (\angle cp_2p_1+\angle p_1p_2p_3)\nonumber \\ =&1+|p_2p_3|^2-2|p_2p_3|\cos (\pi /2-\theta +\varphi +\angle p_1p_2p_3)\nonumber \\ =&1+|p_2p_3|^2-2|p_2p_3|\sin (\theta -\angle p_1p_2p_3-\varphi ) \end{aligned}$$

\(\square \)

Using Theorem 4.4, the total length of the network is \(x+\theta +|cp_3|-1\), where \(x=\sqrt{|p_1p_2|^2-(1-\cos \theta )^2}-\sin \theta \) and \(|cp_3|\) is given by Theorem 4.5. However, the equation for \(|cp_3|\) has no obvious analytic solution, so in practice numerical methods would be required to compute the network length. This is discussed further in Sect. 5.

4.3 Network type 2

Network type 2 is always feasible when the three given points are more than 2 apart from each other. To see this, consider the circle, C, with radius 1 passing through \(p_3\) and with its centre on the ray from \(p_3\) passing between \(p_1\) and \(p_2\) and bisecting angle \(\angle p_1p_3p_2\). Then an SCS path can be formed from \(p_1\) to \(p_2\) via \(p_3\) comprising an arc of C and tangents to C from \(p_1\) and \(p_2\).

Note that by perturbing C along the ray away from \(p_3\), adjusting the tangents accordingly and inserting a short line segment joining \(p_3\) to C, we obtain a non-degenerate network. Therefore, a non-degenerate network is also always feasible when the three given points are more than 2 apart from each other.

The following result determines the shortest network with Network type 2.

Theorem 4.6

Let \(p_1\), \(p_2\) and \(p_3\) be points in the plane. Consider all the networks comprising a non-degenerate SCS path from \(p_1\) to \(p_2\) through \(p_3\) with the radius of the arc equal to 1. Then, for the shortest network of this type, \(p_3\) is at the midpoint of the arc.

Proof

As in the proof of Theorem 4.3, let \(\theta _1\) and \(\theta _2\) be the angle between \( {r}_1\) and \(\hat{ {F}}_1\) and the angle between \( {r}_2\) and \(\hat{ {F}}_2\) respectively. Then \(|{r}_1|\sin \theta _1=|{r}_2|\sin \theta _2\) for the shortest network. Let c be the centre of the arc and let q be the head of the vector \( {r}_1\) as shown in Fig. 14. Then the angle \(\angle cqp_3\) equals \(\pi /2-\theta _1\) and so \(|{r}_1|=2\cos (\pi /2-\theta _1)=2\sin \theta _1\). Similarly, \(|{r}_2|=2\sin \theta _2\). Therefore, \(2\sin ^2\theta _1=2\sin ^2\theta _2\) and so \(\theta _1=\theta _2\). It follows that \(p_3\) is at the midpoint of the arc. \(\square \)

Fig. 14
figure 14

The geometric construction for Theorem 4.6

Theorem 4.6 can also be deduced from a result of Ma and Castañón. By regarding \(p_1\) as a directed point whose direction is the initial direction of the path, and regarding the type of the path as CSCS in which the first arc is degenerate, the conditions of Lemma 3.2 of Ma and Castañón [7] are satisfied. By that lemma, \(p_3\) is at the midpoint of the non-degenerate arc.

In contrast with the situation for type 1 networks, the situations where a type 2 network is optimal and where a network comprising two line segments is optimal are readily distinguishable. We have already observed that the solution with two line segments cannot be optimal if the angles \(\angle p_2p_1p_3\) and \(\angle p_1p_2p_3\) are acute. The following theorem shows that the converse is also true.

Theorem 4.7

Let \(p_1\), \(p_2\) and \(p_3\) be points in the plane such that at least one of the angles \(\angle p_2p_1p_3\) and \(\angle p_1p_2p_3\) is either obtuse or a right angle. Then there is a network comprising two line segments that is shorter than any type 2 network.

Proof

Assume without loss of generality that \(\angle p_2p_1p_3\) is either obtuse or a right angle. Then \(p_2p_3\) is the longest side of triangle \(p_1p_2p_3\), and so the network comprising \(p_1p_2\) and \(p_1p_3\) is shorter than the network comprising \(p_1p_3\) and \(p_2p_3\). That network, in turn, is clearly shorter than any type 2 network for the three points. \(\square \)

5 Procedure for constructing an optimal network

Let the points \(p_1\), \(p_2\) and \(p_3\) be given, where the distance between any pair of the three given points is greater than 2. Then the following procedure can be used to construct the optimal network connecting the points.

  1. 1.

    If \(\angle p_2p_1p_3\ge 2\pi /3\) then construct the network comprising the line segments \(p_1p_2\) and \(p_1p_3\), and exit.

  2. 2.

    If \(\angle p_1p_2p_3\ge 2\pi /3\) then construct the network comprising the line segments \(p_1p_2\) and \(p_2p_3\), and exit.

  3. 3.

    Recall the procedure described at the end of Sect. 3. Let \(s'\) be the point on the same side of \(p_1p_2\) as \(p_3\), for which the rays \(s'p_1\) and \(s'p_2\) and the line \(s'p_3\) are at angles of \(2\pi /3\) to each other. If \(|s'p_2|<1/\sqrt{3}\), then record the type of the network as Network type 1. If \(|s'p_1|<1/\sqrt{3}\), then record the type of the network as Network type 1 with \(p_1\) and \(p_2\) interchanged. If \(p_3\) is inside triangle \(p_1p_2s'\) and \(|s'p_3|>2/\sqrt{3}-1\), then record the type of the network as Network type 2. Otherwise, record the type of the network as non-degenerate.

  4. 4.

    If \(\angle p_2p_1p_3<\pi /2\) and \(\angle p_1p_2p_3<\pi /2\) then construct the network determined in Step 3 and exit.

  5. 5.

    If \(\angle p_2p_1p_3\ge \pi /2\) then either the network determined in Step 3 (which cannot be of type 2) or the network comprising the line segments \(p_1p_2\) and \(p_1p_3\) is optimal. Calculate the lengths of the network determined in Step 3 and the network comprising the two line segments, construct the shorter network and exit.

  6. 6.

    If \(\angle p_1p_2p_3\ge \pi /2\) then either the network determined in Step 3 (which cannot be of type 2) or the network comprising the line segments \(p_1p_2\) and \(p_2p_3\) is optimal. Calculate the lengths of the network determined in Step 3 and the network comprising the two line segments, construct the shorter network and exit.

Some additional explanation of Step 3 is in order. If \(|s'p_2|<1/\sqrt{3}\), then \(p_2\) lies between \(s'\) and the point where the line through \(p_2\) and \(s'\) is tangent to the circle C defined in the procedure in Sect. 3. There is no shortest non-degenerate network, and the optimal network has type 1. A similar argument applies if \(|s'p_1|<1/\sqrt{3}\), to show that the optimal network has type 1 in that case also. If \(p_3\) is inside triangle \(p_1p_2s'\) and \(|s'p_3|>2/\sqrt{3}-1\), then \(p_3\) is not on the convex side of C. There is no shortest non-degenerate network, and the optimal network has type 2.

Steps 5 and 6 of the procedure are not fully algorithmic, since a constructive method for determining the length of a Network of type 1 has not been specified. The solution requires the use of a numerical minimisation procedure such as golden section search.

6 Conclusion

A procedure has been presented for finding the shortest network connecting three given undirected points, subject to a curvature constraint on the path joining two of the points and the path that connects to the third point. The problem is a generalisation of the Fermat–Torricelli problem and is related to the shortest curvature-constrained path problem that was solved by Dubins. The shortest network comprises an SCS path joining two of the points and a line segment that joins the third point to a point on the arc in the SCS path and is perpendicular to the arc, or a degenerate form of such a network. The procedure involves the consideration of several cases which correspond to a non-degenerate network and the various types of degenerate networks that can arise. The procedure has the potential to be applied to the optimal design of decline networks in underground mines.

Future research could focus on generalising the results to curvature-constrained networks with more than three given points, and on applying the procedure to realistic problems in underground mine design. For that purpose, the problem would need to be generalised to three dimensions and additional constraints on the network would need to be taken into account. As was noted earlier, in underground decline networks an upper bound is imposed on the gradient of the declines in order to ensure the safety of the haulage vehicles. Further constraints may arise from geotechnical factors such as faults and unstable regions in the rock, as well as the ore body itself, which the decline network must avoid. The objective of minimising the length of the network may need to be replaced with minimising the construction and operating costs of the network or maximising the net present value of the operation. The DOT (Decline Optimisation Tool) software developed by Brazil et al. [2, 3], which optimises a decline network for minimum construction and haulage costs, already takes these constraints into account. DOT uses simulated annealing to optimally locate the junctions in the decline network. If an approach based on the method presented here were to be developed, then it could be used in place of the simulated annealing process to yield a more efficient algorithm.