Skip to main content
Log in

Computing approximately shortest descending paths on convex terrains via multiple shooting

  • Published:
Computational and Applied Mathematics Aims and scope Submit manuscript

Abstract

Given a polyhedral terrain and two points pq on the terrain, a path from p to q on the terrain is descending if z-coordinate of a point v never increases while we move v along the path from p to q. The problem of finding shortest descending paths on polyhedral terrains was posed by de Berg and van Kreveld (Algorithmica 18:306–323, 1997). In this paper, the multiple shooting approach proposed by Hoai et al. (J Comp Appl Math 317:235–246, 2017) is applied for approximately computing shortest descending paths on convex polyhedral terrains. Three factors of the approach consisting of surface partition, straightness condition, and update of shooting points are presented. We also show that if the straightness condition is satisfied then a local shortest descending path is obtained. Proposed algorithm is implemented in C++. Numerical results indicate that once a local solution is obtained it is close to a global one.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

References

  • Agarwal PK, Har-Peled S, Karia M (2002) Computing approximate shortest paths on convex polytopes. Algorithmica 33:227–242

    Article  MathSciNet  Google Scholar 

  • Ahmed M, Das S, Lodha S, Lubiw A, Maheshwari A, Roy S (2010) Approximation algorithms for shortest descending paths in terrains. J Discrete Algorithms 8:214–230

    Article  MathSciNet  Google Scholar 

  • Ahmed M, Lubiw A (2007) Properties of shortest descending paths. In: The 17th fall workshop on computational and combinatorial geometry. IBM T.J. Watson Research Center, Hawthorne, New York (extended abstract)

  • Ahmed M, Lubiw A (2009) Shortest descending paths through given faces. Comput Geom 42:464–470

    Article  MathSciNet  Google Scholar 

  • Ahmed M, Lubiw A (2011) Shortest descending paths: towards an exact algorithm. Int J Comput Geom Appl 21(4):431–466

    Article  MathSciNet  Google Scholar 

  • Ahmed M, Maheshwari A, Nandy S, Roy S (2011) On the number of shortest descending paths on the surface of a convex terrain. J Discrete Algorithms 9:182–189

    Article  MathSciNet  Google Scholar 

  • An PT, Hai NN, Hoai TV (2013) Direct multiple shooting method for solving approximate shortest path problems. J Comput Appl Math 244:67–76

    Article  MathSciNet  Google Scholar 

  • Book HG, Plitt KJ (1984) A multiple shooting method for direct solution optimal control problems. In: Proceedings of the 9th IFAC world progress, Pergamon Press, Budapest, pp 225–236

  • Cheng S, Jin J (2014) Approximate shortest descending paths. SIAM J Comput 43:410–428

    Article  MathSciNet  Google Scholar 

  • de Berg M, van Kreveld M (1997) Trekking in the alps without freezing or getting tired. Algorithmica 18:306–323

    Article  MathSciNet  Google Scholar 

  • Hai NN, An PT, Huyen PTT (2016) Shortest paths along a sequence of line segments in euclidean spaces. http://www.math.ac.vn/images/Epreprint/2016/IMH20161101.pdf

  • Hoai TV, An PT, Hai NN (2017) Multiple shooting approach for computing approximately shortest paths on convex polytopes. J Comput Appl Math 317:235–246

    Article  MathSciNet  Google Scholar 

  • Li F, Klette R (2011) Euclidean shortest paths: exact or approximate algorithms. Springer, London

    Book  Google Scholar 

  • Mitchell JSB (2000) Geometric shortest paths and network optimization. In: Sack J, Urrutia J (eds) Handbook of computational geometry. Elsevier Science Publishers B. V., North-Holland, pp 633–701

    Chapter  Google Scholar 

  • Mitchell JSB, Mount DM, Papadimitriou CH (1987) The discrete geodesic problem. SIAM J Comput 16(4):647–668

    Article  MathSciNet  Google Scholar 

  • Papadopoulos A (2005) Metric Spaces, Convexity and Nonpositive Curvature, Irma Lectures in Mathematics and Theoretical Physics, vol. 6. European Mathematical Society Publishing House

  • Pham-Trong V, Szafran N, Biard L (2001) Pseudo-geodesics on three-dimensional surfaces and pseudo-geodesic meshes. Numer Algorithms 26:305–315

    Article  MathSciNet  Google Scholar 

  • Polthier K, Schmies M (1998) Straightest geodesics on polyhedral surfaces. In: Polthier K, Hege HC (eds) Mathematical visualization. Springer, Berlin, pp 391–409

    Google Scholar 

  • Polthier K, Schmies M (1999) Geodesic flow on polyhedral surfaces. In: Gröller E, Löffelmann H, Ribarsky W (eds) Data visualization ’99. Eurographics. Springer, Vienna

  • Roy S (2012) Near optimal algorithm for the shortest descending path on the surface of a convex terrain. J Discrete Algorithms 15:63–70

    Article  MathSciNet  Google Scholar 

  • Roy S, Das S, Nandy S (2007) Shortest monotone descent path problem in polyhedral terrain. Comput Geom 37:115–133

    Article  MathSciNet  Google Scholar 

  • Sharir M, Schorr A (1986) On shortest paths in polyhedral spaces. SIAM J Comput 15(1):193–215

    Article  MathSciNet  Google Scholar 

  • Stoer J, Bulirsch R (2002) Introduction to numerical analysis, 3rd edn. Springer, Berlin

    Book  Google Scholar 

  • Wei X, Joneja A (2013) An improved algorithm for the shortest descending path on a convex terrain. J Discret Algorithms 19:52–56

    Article  MathSciNet  Google Scholar 

  • Xin SQ, Wang GJ (2007) Efficiently determining a locally exact shortest path on polyhedral surfaces. Comput Aid Des 39:1081–1090

    Article  Google Scholar 

Download references

Acknowledgements

This research is funded mainly by Vietnam National Foundation for Science and Technology Development (NAFOSTED) under Grant number 102.01-2017.09. In addition, the financial support offered by TWAS Research Grants Programme 16-544 \(RG/MATHS/AS_G\) in Basic Sciences and Vietnam National Foundation for Science and Technology Development (NAFOSTED) under Grant number 101.01-2017.321 is acknowledged. The authors also thank the Vietnam Institute for Advanced Study in Mathematics (VIASM) and the Simulation and Optimization Group, Interdisciplinary Center for Scientific Computing (IWR) University of Heidelberg, where a part of the paper was written. The authors would like to thank Dr. Johannes P. Schlöder, Prof. Nguyen Ngoc Hai for their invaluable comments and the anonymous reviewers and the editor for their helpful and constructive comments that greatly contributed to improving the final version of the paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Le Hong Trang.

Additional information

Communicated by Karl Kunisch.

Appendices

Appendix

1.1 Geometric properties

In this appendix, geometric properties for the correctness of Algorithm 1 are given.

Lemma 2

Given a polyhedral surface \({\mathcal {T}}\) and \(u,v \in {\mathcal {T}}\), let \(\{\gamma _j\}\) be an infinity sequence of descending paths joining u to v on \({\mathcal {T}}\). If \(\alpha =\lim _{j\rightarrow \infty }l(\gamma _j)\), there is a descending path \(\gamma _0\) joining u to v on \({\mathcal {T}}\) such that \(l(\gamma _0)=\alpha \).

Proof

Since there are finitely many faces of \({\mathcal {T}}\), there is a subsequence of \(\{\gamma _j\}\) that go through the same sequence of faces \(f_0, f_1, \ldots , f_k\) in the same order, \(f_0\ni u\), \(f_k\ni v\), \(f_{i-1}\not =f_i\), and \(e_i=f_{i-1}\cap f_i\not =\emptyset \) for all \(i=1,2,\ldots , k\). (i.e., there is a sequence of faces \(f_0, f_1, \ldots , f_k\) with \(f_0\ni u\), \(f_k\ni v\), \(f_{i-1}\not =f_i\), and \(e_i=f_{i-1}\cap f_i\not =\emptyset \) for all \(i=1,2,\ldots , k\) and a subsequence of \(\{\gamma _j\}\) consisting of ordered paths w.r.t. the sequence of faces \(f_0, f_1, \ldots , f_k\)).

Let \(\gamma _i = \cup _{j=0}^{k} [q_j^i,q_{j+1}^i]\), where \(q_j^i\in e_j, j=1, 2, \ldots , k\), \(q_0:=u, q_{k+1}:=v\). Clearly, \(\{(q_0^i,q_1^i,\ldots ,q_{k+1}^i)\} \subset E:=\{u\}\times e_1\times \ldots \times e_k\times \{v\}\). Since E is compact, \(\{(q_0^i,q_1^i,\ldots ,q_{k+1}^i)\}\) has a subsequence \(\{(q_0^{i_m},q_1^{i_m},\ldots ,q_{k+1}^{i_m})\}\) converging to \(\{(q_0,q_1,\ldots ,q_{k+1})\}\). Set \(\gamma _0= \cup _{i=0}^{k} [q_i,q_{i+1}]\), where \(q_0:= u, q_{k+1}:=v.\) As

$$\begin{aligned} l(\gamma _{i_m}) = \sum _{j=0}^{k} \Vert q_j^{i_m} - q_{j+1}^{i_m}\Vert , \end{aligned}$$

we get

$$\begin{aligned} \lim _{i \rightarrow \infty }l(\gamma _{i})=\lim _{m \rightarrow \infty }l(\gamma _{i_m}) = \sum _{j=0}^{k} \Vert q_j - q_{j+1}\Vert = l(\gamma _0). \end{aligned}$$

Because \(\gamma _i\) is descent, \((q_j^{i})_z \ge (q_{j+1}^{i})_z\) for all \(j=0,\dots ,k\). It follows that \((q_j)_z \ge (q_{j+1})_z\) for all \(j=0,\dots ,k\). Thus, \([q_i,q_{i+1}]\) is descent for all \(i=0,\dots ,k\) and, therefore, \(\gamma _0\) is descent. \(\square \)

Lemma 3

Given a terrain \({\mathcal {T}}\) and \(p,q \in {\mathcal {T}}\) such that \(z(p) > z(q)\), let \(u_i \in {\mathcal {T}}\) such that \(z(p)> z(u_i) \ge z(u_{i+1}) > z(q)\), for \(i=1,\ldots ,k-1\). Assume that \(\tau (u_i,u_{i+1})\) is a descending path from \(u_i\) to \(u_{i+1}\) on \({\mathcal {T}}\), for \(i=0,\ldots ,k\), where \(u_0 := p\) and \(u_{k+1} := q\). Set

$$\begin{aligned} \tau (p,q) := \cup _{i=0}^k \tau (u_i,u_{i+1}). \end{aligned}$$

Then \(\tau (p,q)\) is descent.

Proof

For all \(s_i \in \tau (u_i,u_{i+1})\), since \(\tau (u_i,u_{i+1})\) is a descending path and \(z(u_i) \ge z(u_{i+1})\), \( z(p) \ge z(s_i) \ge z(u_{i+1}) \ge z(s_{i+1}) \ge z(q), \) for \(i=0,\ldots ,k-1\). Hence, \(\tau (p,q)\) is descent. \(\square \)

Remark 3

We note that \({\mathcal {T}}\) can be a polyhedral surface. In the case that \({\mathcal {T}}\) is a convex terrain and \(u_i \in \xi _i\) such that there exists a descending path from \(u_i\) to \(u_{i+1}\) on \({\mathcal {T}}\), for \(i=0,\ldots ,k\), where \(u_0:= p, u_{k+1}:=q\), and \(\xi _1, \ldots ,\xi _k\) are cutting slices of \({\mathcal {T}}\) satisfying (1), then Lemma 3 still holds.

Lemma 4

Given a convex terrain \({\mathcal {T}}\), \(p,q \in {\mathcal {T}}\), let \(\xi \) be a cutting slice of \({\mathcal {T}}\) such that \(\xi \parallel Oxy\) and \(z(p)> z(\xi ) > z(q)\). Then SDP(pq) intersects \(\xi \) at only once.

Proof

According to Lemma 3.5 in Ahmed et al. (2011), two shortest descending paths do not intersect each other more than once. Clearly, an edge of \(\xi \) is a shortest descending path joining two endpoints of the edge. This completes the proof. \(\square \)

Let \(\xi _1,\xi _2, \xi _3\) be three consecutive cutting slices of a convex terrain \({\mathcal {T}}\), i.e., \(\xi _i\) and \(\xi _{i+1}\) are adjacent, for \(i=1,2\). Take \(u_i \in \xi _i\), for \(i =1,2,3\), in which \(u_2\) is a vertex of \(\xi _2\). Given \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) in a sequence of faces \({\mathcal {F}}_i\) of \({\mathcal {T}}_i\), \(i=1,2\), set

$$\begin{aligned} \tau (u_1,u_3) := SDP_{{\mathcal {F}}_1}(u_1,u_2) \cup SDP_{{\mathcal {F}}_2}(u_2,u_3), \end{aligned}$$

where \({\mathcal {T}}_i\) is obtained by (2). Let \(\alpha \) be the total angle of \(u_2\) and \(\alpha ^l, \alpha ^r\) be the left and right angles of \(\tau (u_1,u_3)\) at \(u_2\). We denote by \({\mathcal {F}}_{u_2}^l\) and \({\mathcal {F}}_{u_2}^r\) the sequence of faces of \({\mathcal {T}}_1\cup {\mathcal {T}}_2\) containing \(\alpha ^l\) and \(\alpha ^r\), respectively, in which, \(u_1\) and \(u_2\) belong to the first and the final faces, respectively. Let \([u_2,w_1]\) be the last segment of \(SDP_{{\mathcal {F}}_1}(u_1,u_2)\), \([u_2,w_2]\) be the first segment of \(SDP_{{\mathcal {F}}_2}(u_2,u_3)\), and \(s_1 \in [u_2,w_1], s_2 \in [u_2,w_2]\). We recall that \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) is a polyline, i.e., a union of line segments Hai et al. (2016). Hence, \([u_2,w_1]\) and \([u_2,w_2]\) exist, where \(w_i \ne u_2\), and we can choose such points \(s_i\), for \(i=1,2\).

As u is a vertex of the convex polytope, there is a shortcut at u for the path \([u_1,u_2]\cup [u_2,u_3]\) (see, e.g., Sharir and Schorr 1986), that is, \(\alpha ^r \le \alpha /2\) implies that there always exist \(s_1\) and \(s_2\), where \(s_1 \ne u_2\), \(s_2 \ne u_2\), such that

$$\begin{aligned} l \big ( SP_{{\mathcal {F}}_{u_2}^r}(s_1,s_2) \big ) \le \Vert s_1-u_2\Vert +\Vert s_2-u_2\Vert =l \big ( SP_{{\mathcal {F}}_{u_2}^l}(s_1,s_2) \big ). \end{aligned}$$

Therefore, we get the following proposition that helps us to determine the shooting edges for the update as mentioned in Sect. 3.3.

Proposition 3

If \(\alpha ^r \le \alpha /2\) (\(\alpha ^l \le \alpha /2\), respectively), then there always exist \(s_1\) and \(s_2\), where \(s_1 \ne u_2\), \(s_2 \ne u_2\), such that \(l \big ( SP_{{\mathcal {F}}_{u_2}^r}(s_1,s_2) \big ) \le l \big ( SP_{{\mathcal {F}}_{u_2}^l}(s_1,s_2) \big )\) (\(l \big ( SP_{{\mathcal {F}}_{u_2}^l}(s_1,s_2)\big ) \le l \big (SP_{{\mathcal {F}}_{u_2}^r}(s_1,s_2) \big )\), respectively).

By hypothesis that \(u_2\) is a vertex of \(\xi _2\), \(u_2\) is shared by two edges of \(\xi _2\). Let us denote these edges by \([u_2,u_2^l]\) and \([u_2,u_2^r]\). Then, \([u_2,u_2^l] \subset {\mathcal {F}}_{u_2}^l\) and \([u_2,u_2^r] \subset {\mathcal {F}}_{u_2}^r\). This means that by Proposition 3, we can choose either \([u_2,u_2^l]\) or \([u_2,u_2^r]\) to be the shooting edge of \(u_2\). We note that if \(u_2\) is in relative interior point of some edge of \({\mathcal {T}}\), then \(\alpha = 2\pi \). When \(\xi _1, \xi _2,\xi _3\) play the role of \(\xi _{i-1}, \xi _{i},\xi _{i+1}\), and \(\alpha _i^l, \alpha _i^r\) are computed on \(SDP_{{\mathcal {F}}_{i-1}}(u_{i-1},u_i)\) and \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\), then Proposition 3 leads us to construct (7) and (8) to determine the shooting edges in the update mentioned in Sect. 3.3, for \(i=1,\ldots ,k\).

Given a convex terrain \({\mathcal {T}}\) and \(p,q \in {\mathcal {T}}\), let \(SP_{{\mathcal {F}}}(p,q)\) be a shortest path joining p to q with respect to a sequence of faces \({\mathcal {F}} \subset {\mathcal {T}}\). Assume that \({\mathcal {F}} = \langle f_1, \ldots , f_m \rangle \), and \(e_i\) is shared by \(f_i\) and \(f_{i+1}\), for \(i=1, \ldots , m-1\). Let us unfold \({\mathcal {F}}\) into a planar image, denoted by \(\bar{{\mathcal {F}}}\), as follows: we unfold consecutively \(f_i\) around \(e_i\) to \(f_{i+1}\) until the unfolded image of all \(f_i\) (\(i\le m-1\)), is coplanar with \(f_m\). We recall that if the image of \(SP_{{\mathcal {F}}}(p,q)\) on \(\bar{{\mathcal {F}}}\) is a straight line segment, then \(SP_{{\mathcal {F}}}(p,q)\) is a local shortest path joining p to q on \({\mathcal {T}}\).

Lemma 5

Given a convex terrain \({\mathcal {T}}\), let \(\xi \) and \(\xi ^\prime \) be two cutting slices of \({\mathcal {T}}\) such that \(\xi \) and \(\xi ^\prime \) parallel to Oxy and there is no vertex of \({\mathcal {T}}\) between \(\xi \) and \(\xi ^\prime \) with respect to z-coordinate. Let \({\mathcal {T}}^\prime \) be the subterrain is composed by \(\xi \) and the part of \({\mathcal {T}}\) bounded by \(\xi , \xi ^\prime \). Let \({\mathcal {F}}\) be a sequence of faces on \({\mathcal {T}}^\prime \) without the relative interior of \(\xi \), and \(u,v \in {\mathcal {F}}\) such that \(z(u) \ge z(v)\), then \(SDP_{{\mathcal {F}}}(u,v)\) consists of a horizontal path, denoted by \(\tau _h(u,u^\prime )\), then followed by \(SP_{\mathcal {F}}(u^\prime ,v)\), where \( z(u) = z(u^\prime )\). Furthermore, \(SP_{\mathcal {F}}(u^\prime ,v)\) is a local shortest path on \({\mathcal {T}}\).

Proof

By the fact that \({\mathcal {T}}^\prime \) does not contain any vertex of \({\mathcal {T}}\) between \(\xi \) and \(\xi ^\prime \), then \({\mathcal {T}}^\prime \) consists of a sequence of consecutive faces of \({\mathcal {T}}\) bounded by \(\xi \) and \(\xi ^\prime \). For \(u,v \in {\mathcal {F}}\) such that \(z(u) \ge z(v)\), let f be a face of \({\mathcal {F}}\) that contains v. Because \(\xi \) and \(\xi ^\prime \) parallel to Oxy, there always exist \(u^{\prime \prime } \in f\) such that \(z(u^{\prime \prime }) = z(u)\). Furthermore, there exists a horizontal path \(\tau _h(u,u^{\prime \prime })\) joining u and \(u^{\prime \prime }\) on \({\mathcal {F}}\). Hence, \(\tau (u,v) := \tau _h(u,u^{\prime \prime }) \cup [u^{\prime \prime },v]\) is a descending path. By Proposition 1, \(SDP_{{\mathcal {F}}}(u,v)\) exists.

Because \({\mathcal {F}} \supset \tau (u,v)\) as mentioned above, \(SDP_{{\mathcal {F}}}(u,v)\) can be started by a horizontal path, denoted by \(\tau _h(u,u^\prime )\), where \(u^\prime \in {\mathcal {F}}\) and \(z(u^\prime ) = z(u)\). By repeating the argument for Lemma 1 in Ahmed et al. (2011), we show that \(SP_{\mathcal {F}}(u^\prime ,v)\) does not contain any horizontal segment on \({\mathcal {F}}\) as follows.

We assume on the contrary that \(SP_{\mathcal {F}}(u^\prime ,v)\) contains a path \(\tau (w_1,w_3):=\langle w_1, w_2, w_3 \rangle \) such that \([w_1,w_2]\) is strictly descent and \([w_2,w_3]\) is horizontal, i.e., \(z(w_1) > z(w_2)\) and \(z(w_2) = z(w_3)\). Let \(SP_{\mathcal {F}}(w_1,w_3):= \langle w_1, w_2^\prime ,w_3 \rangle \) be the shortest path joining \(w_1\) to \(w_3\) through the edges containing \(w_1,w_2,w_3\). Since the convexity of \({\mathcal {T}}\) and \(z(w_2) < z(w_1) \le z(\xi )\), \(z(w_2^\prime ) > z(w_2)\). Let e be the edge containing \(w_2\) and \(w_2^\prime \) and \(w \in e\) such that \(z(w) = z(w_1)\). We note that since \(\xi \) is parallel to Oxy, such w exists. Hence, \(z(w) > z(w_2)\). We consider two following cases.

  1. (a)

    \(z(w) > z(w_2^\prime )\): then \(SP_{\mathcal {F}}(w_1,w_3)\) is a descending path and its length is less than that of \(\tau (w_1,w_3)\). This is a contradiction.

  2. (b)

    \(z(w) \le z(w_2^\prime )\): the path \(\tau ^\prime (w_1,w_3):=\langle w_1, w, w_3 \rangle \) is a descending path. Since the convexity of \({\mathcal {T}}\), the right angle of \(\tau (w_1,w_3)\) at \(w_2\) is less than \(\pi \). On other hand, \(w \in ]w_2,w_2^\prime [\). It follows that the length of \(\tau ^\prime (w_1,w_3)\) is less than that of \(\tau (w_1,w_3)\). We have also a contradiction.

Since \(SP_{\mathcal {F}}(u^\prime ,v)\) does not contain any horizontal segment, every point on \(SP_{\mathcal {F}}(u^\prime ,v)\), excepting possibly \(u^\prime \) and v, is between \(\xi \) and \(\xi ^\prime \) with respect to z-coordinate. This means that \(SP_{\mathcal {F}}(u^\prime ,v)\) intersects the edges of \({\mathcal {T}}\) at their interior points. Hence, the image of \(SP_{\mathcal {F}}(u^\prime ,v)\) through the planar unfolding of \({\mathcal {F}}\) is a line segment. Thus, \(SP_{\mathcal {F}}(u^\prime ,v)\) is a local shortest path on \({\mathcal {T}}\). \(\square \)

Lemma 5 indicates that the structure of a descending shortest path on a convex terrain \({\mathcal {T}}\) also holds with that on a sequence of faces of subterrain \({\mathcal {T}}_i\) obtained by (2).

Proposition 4

Given a convex terrain \({\mathcal {T}}\), let \(p,q \in {\mathcal {T}}\) such that \(z(p) > z(q)\). We divide \({\mathcal {T}}\) into \({\mathcal {T}}_i\) by \(\xi _i\) satisfying (1), let \(u_i \in \xi _i\), for \(i=1,\ldots ,k\). Suppose \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) exists, for \(i=0,\ldots ,k\), where \({\mathcal {F}}_i \subset {\mathcal {T}}_i\), \(u_0 := p\) and \(u_{k+1} := q\). Set \(\tau (p,q) := \cup _{i=0}^k SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\). Let \(\alpha _i\) be the right angle of \(\tau (p,q)\) at \(u_i\), for \(i=1,\ldots ,k\). If \(\tau (p,q)\) is a shortest descending path from p to q on \({\mathcal {T}}\), then the followings hold simultaneously:

  1. (i)

    \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) is a shortest path on \({\mathcal {T}}\),

  2. (ii)

    \(\alpha _i = \pi \),

for \(i=1,\ldots ,k\).

Proof

We have that \(\tau (p,q)\) is a shortest descending path on \({\mathcal {T}}\).

  1. (i)

    By Lemma 1, \( \tau (p,q) = \tau _h(p,p^\prime ) \cup SP(p^\prime ,q), \) where \(\tau _h(p,p^\prime )\) is a horizontal path and \(SP(p^\prime ,q)\) is a shortest path on \({\mathcal {T}}\), \(p^\prime \in \xi _0\). By the hypothesis \(\tau (p,q) := \cup _{i=0}^k SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\), \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1}) \subset SP(p^\prime ,q)\). Hence, \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) is a shortest path joining \(u_i\) to \(u_{i+1}\) on \({\mathcal {T}}\), for \(i=1,\ldots ,k\), where \(u_{k+1} = q\).

  2. (ii)

    We have that \(u_i \in \tau (p,q) \cap \xi _i\), for \(i=1,\ldots ,k\). This means that \(u_i \in SP(p^\prime ,q) \cap \xi _i\). Since \(SP(p^\prime ,q)\) is a shortest path on \({\mathcal {T}}\), it is a local one. Hence, \(SP(p^\prime ,q)\) is a straightest geodesic Polthier and Schmies (1998), i.e., the left and right angles of every point on \(SP(p^\prime ,q)\) are equal. Furthermore, \(u_i \in SP(p^\prime ,q)\), then \(u_i \) is not a vertex of \({\mathcal {T}}\). Thus, \(\alpha _i = \pi \). \(\square \)

Corollary 1

Given a convex terrain \({\mathcal {T}}\), let \(p,q \in {\mathcal {T}}\) such that \(z(p) > z(q)\). We divide \({\mathcal {T}}\) into \({\mathcal {T}}_i\) by \(\xi _i\) satisfying (2), for \(i=1,\ldots ,k\). Let \(u_i \in \xi _i\) and \(u_i^\prime \in \xi _i\) such that the subpath of \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) from \(u_i\) to \(u_i^\prime \) is a horizontal path. Let \(\tau (p,q) := \cup _{i=0}^k SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\). If \(\tau (p,q)\) is a shortest descending path from p to q on \({\mathcal {T}}\), then \(u_i = u_i^\prime \), for all \(i=1,\ldots ,k\).

Proof

Since \(\xi _i\) satisfies (2), by Lemma 5, \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) always exist and can contain a horizontal path from \(u_i\) to \(u_i^\prime \), for all \(u_i \in \xi _i\), \(i = 0,\ldots ,k\). Since \(\tau (p,q)\) is a shortest descending path on \({\mathcal {T}}\), by Proposition 4, \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) is also a shortest path on \({\mathcal {T}}_i\). This means that \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) is not started by a horizontal path. Hence, \(u_i = u_i^\prime \), for \(i=1,\ldots ,k\). \(\square \)

Proposition 4 and Corollary 1 lead to the straightness condition (4) described in Sect. 3.2. In case that (4) is satisfied, however, it is not sufficient to conclude that \(\tau (p,q)\) is a shortest descending path but a local one. We indicate this by two following properties.

Lemma 6

Given a convex terrain \({\mathcal {T}}\), \(p,q \in {\mathcal {T}}\) such that \(z(p) > z(q)\) and q is not a vertex of \({\mathcal {T}}\), let \(SDP_{{\mathcal {F}}_1}(p,q)\) be a shortest descending path from p to q on \({\mathcal {T}}\), where \({\mathcal {F}}_1 \subset {\mathcal {T}}\) satisfying (A1)–(A2) and is bounded by the cutting slices through p and q. Suppose \( SDP_{{\mathcal {F}}_1}(p,q) = \tau _h(p,p^\prime ) \cup SP_{{\mathcal {F}}_1}(p^\prime ,q), \) where \(\tau _h(p,p^\prime )\) is a horizontal path and \(SP_{{\mathcal {F}}_1}(p^\prime ,q)\) is a local shortest path on \({\mathcal {T}}\). Let \(q^\prime \in {\mathcal {T}}\) such that \( \tau (p^\prime ,q^\prime ) := SP_{{\mathcal {F}}_1}(p^\prime ,q) \cup SP_{{\mathcal {F}}_2}(q,q^\prime ), \) is a straightest geodesic, where \({\mathcal {F}}_2 \subset {\mathcal {T}}\) that satisfies (A1)–(A2) and is bounded by the cutting slices through q and \(q^\prime \), and \(SP_{{\mathcal {F}}_2}(q,q^\prime )\) is a local shortest path on \({\mathcal {T}}\). Then,

$$\begin{aligned} \tau (p,q^\prime ) := \tau _h(p,p^\prime ) \cup \tau (p^\prime ,q^\prime ), \end{aligned}$$

is a local shortest descending path on \({\mathcal {T}}\).

Proof

Since \(SP_{{\mathcal {F}}_1}(p^\prime ,q)\) and \(SP_{{\mathcal {F}}_2}(q,q^\prime )\) are local shortest paths on \({\mathcal {T}}\) and q is not a vertex of \({\mathcal {T}}\), \(\tau (p^\prime ,q^\prime )\) has no vertex of \({\mathcal {T}}\). Furthermore, \(\tau (p^\prime ,q^\prime )\) is a straightest geodesic, then \(\tau (p^\prime ,q^\prime )\) is local shortest path on \({\mathcal {T}}\) (see Lemma 2 in Polthier and Schmies 1998).

To show that \(\tau (p,q^\prime )\) is a local shortest descending path on \({\mathcal {T}}\), we need to indicate that the path is descending and shortest in an open neighborhood on \({\mathcal {T}}\). Let \({\mathcal {F}}\) be a sequence of faces of \({\mathcal {T}}\) which is formed by \({\mathcal {F}}_1\), \({\mathcal {F}}_2\) and faces incident to q so that \({\mathcal {F}}\) satisfies (A1)–(A2) for p and \(q^\prime \). Since q is not a vertex of \({\mathcal {T}}\), such a sequence of faces \({\mathcal {F}}\) can be constructed.

As \(\tau (p,p^\prime )\) is a local shortest path on \({\mathcal {F}}\), it is shortest among all paths joining p and \(p^\prime \) in some relatively open region in \({\mathcal {F}}\), say \({\mathcal {U}}_1\). Let \({\mathcal {U}}_2\) be a some relatively open region in \({\mathcal {F}}\) that contains \(\tau _h(p,p^\prime )\). Set \({\mathcal {V}} := {\mathcal {U}}_1 \cup {\mathcal {U}}_2\) and take arbitrary descending path in \({\mathcal {V}}\) from p and \(q^\prime \), denoted by \(DP_{\mathcal {V}}(p,q^\prime )\).

It is sufficient to show that \(l\big ( \tau (p,q^\prime ) \big ) \le l\big ( DP_{\mathcal {V}}(p,q^\prime ) \big )\). Indeed, have

$$\begin{aligned} DP_{\mathcal {V}}(p,q^\prime ) := \tau _h(p,p^{\prime \prime }) \cup DP_{\mathcal {V}}(p^{\prime \prime },q^\prime ), \end{aligned}$$

where \(p^{\prime \prime } \in {\mathcal {V}}, z(p^{\prime \prime }) = z(p)\), \(\tau (p,p^{\prime \prime })\) is a horizontal path, and \(DP_{\mathcal {V}}(p^{\prime \prime },q^\prime )\) is a descending path from \(p^{\prime \prime }\) to \(q^\prime \). We now consider the two following cases.

Fig. 16
figure 16

An extension of a shortest descending path of SDP(pq) from p to \(q^\prime \) by a straightest geodesic on \({\mathcal {T}}\), is also an approximate shortest descending from p to \(q^\prime \). a: \(\tau _h(p,p^{\prime \prime }) \supset \tau _h(p,p^\prime )\), b: \(\tau _h(p,p^\prime ) \supset \tau _h(p,p^{\prime \prime })\)

  1. (a)

    \(\tau _h(p,p^{\prime \prime }) \supset \tau _h(p,p^\prime )\) (see Fig. 16a). Then,

    $$\begin{aligned} DP_{\mathcal {V}}(p,q^\prime ) := \tau _h(p,p^{\prime \prime }) \cup DP_{\mathcal {V}}(p^{\prime \prime },q^\prime ) = \tau _h(p,p^\prime ) \cup \tau _h(p^\prime ,p^{\prime \prime }) \cup DP_{\mathcal {V}}(p^{\prime \prime },q^\prime ). \end{aligned}$$

    Since \(\tau _h(p^\prime ,q^\prime )\) and \(\tau _h(p^\prime ,p^{\prime \prime }) \cup DP_{\mathcal {V}}(p^{\prime \prime },q^\prime )\) belong to \({\mathcal {V}}\),

    $$\begin{aligned} l\big ( \tau _h(p,p^\prime ) \big ) + l\big ( \tau _h(p^\prime ,q^\prime ) \big ) \le l\big ( \tau _h(p,p^\prime ) \big ) + l\big ( \tau _h(p^\prime ,p^{\prime \prime }) \big ) + l\big ( DP_{\mathcal {V}}(p^{\prime \prime },q^\prime ) \big ). \end{aligned}$$

    It implies that \(l\big ( \tau (p,q^\prime ) \big ) \le l\big ( DP_{\mathcal {V}}(p,q^\prime ) \big )\)

  2. (b)

    \(\tau _h(p,p^\prime ) \supset \tau _h(p,p^{\prime \prime })\) (see Fig. 16b). We have the following facts

  3. (b.1)

    By assumption, \(\tau (p^\prime ,q^\prime )\) is straightest geodesic.

  4. (b.2)

    The right angle at every vertex of the polyline \(\tau (p,q^\prime )\) (including \(p^\prime \)) is greater than or equal to \(\pi \).

Indeed, if the right angle at \(p^\prime \) is less than \(\pi \) then there is a shortcut at the vertex of the path \(\tau (p,q^\prime )\), a contradiction. Let a be a vertex, [ab], [ac] be line segments of the polyline \(\tau _h(p,p^\prime )\) (\(a\ne p, a\ne p^\prime \)) and \([a,a^\prime ]\) be some edge of \({\mathcal {T}}_1\), where \(a^\prime \) belongs the cutting slide through q. Since the cutting slice is convex, the angle \(\gamma \) of the cutting slice at a is non-reflex. It follows that \(\angle {ab,aa^\prime }+\angle {ac,aa^\prime }\ge \pi \). Clearly, the right angle at a of the polyline \(\tau _h(p,p^\prime )\) is greater than or equal \(\angle {ab,aa^\prime }+\angle {ac,aa^\prime }\). It implies that the right angle at a of the polyline \(\tau _h(p,p^\prime )\) is greater than or equal \(\pi \). Thus, the fact (b.2) has been proved.

It follows from the facts (b.1)–(b.2) that any path in \({\mathcal {V}}\) joining p to \(q^\prime \) is not shorter than \(\tau (p,q^\prime )\). Thus, \(\tau (p,q^\prime )\) is a local shortest descending path on \({\mathcal {T}}\). \(\square \)

We do not need to consider the case \(\tau _h(p,p^\prime ) \cap \tau _h(p,p^{\prime \prime }) = \{p\}\) for the proof of Lemma 6. The case does not occur, since \({\mathcal {F}}\) satisfies (A2). If \(\tau (p^\prime ,q^\prime )\) has a long length, then \(p^{\prime \prime }\) can be moved closer to p in counter-clockwise direction on the relative boundary of the cutting slice through p (viewed from \(z=+\infty \)). This case is (a) of the proof of Lemma 6.

Proposition 5

Given a convex terrain \({\mathcal {T}}\), let \(p,q \in {\mathcal {T}}\) such that \(z(p) > z(q)\). We divide \({\mathcal {T}}\) into \({\mathcal {T}}_i\) by \(\xi _i\) satisfying (2), for \(i=1,\ldots ,k\). Let \(u_i \in \xi _i\), where \(u_i\) is not a vertex of \({\mathcal {T}}\), and \(u_i^\prime \in \xi _i\) such that the subpath of \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) from \(u_i\) to \(u_i^\prime \) is a horizontal path, where \({\mathcal {F}}_i\) satisfies (A1)–(A2), for \(i=0,\ldots ,k\), \(u_0 := p\) and \(u_{k+1}:=q\). Let \(\tau (p,q) = \cup _{i=0}^k SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\), and \(\alpha _i\) be the right angle of \(\tau (p,q)\) at \(u_i\), for \(i=1,\ldots ,k\). If \(u_i = u_i^\prime \) and \(\alpha _i = \pi \), for all \(i=1,\ldots ,k\), then is a local shortest descending path on \({\mathcal {T}}\).

Proof

Since \(\xi _i\) satisfies (2), by Lemma 5, \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) always exist and can contain a horizontal path from \(u_i\) to \(u_i^\prime \), for all \(u_i \in \xi _i\), \(i = 0,\ldots ,k\). By Lemma 3, \(\tau (p,q)\) is a descending path. We have that

$$\begin{aligned} SDP_{{\mathcal {F}}_0}(p,u_1) = \tau _h(p,p^\prime ) \cup SP_{{\mathcal {F}}_0}(p^\prime ,u_1), \end{aligned}$$

where \(\tau _h(p,p^\prime )\) is the horizontal path of \(SDP_{{\mathcal {F}}_0}(p,u_1)\). Let \(\tau (p^\prime ,q) := SP_{{\mathcal {F}}_0}(p^\prime ,u_1) \cup \big ( \cup _{i=1}^k SDP_{{\mathcal {F}}_i}(u_i,u_{i+1}) \big )\), where \(u_{k+1} := q\). Then

$$\begin{aligned} \tau (p,q) = \tau _h(p,p^\prime ) \cup \tau (p^\prime ,q). \end{aligned}$$

Since \(u_i = u_i^\prime \), i.e. \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) does not contain a horizontal path, it is a shortest path on \({\mathcal {F}}_i\). By Lemma 5, \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) is a local shortest path on \({\mathcal {T}}\), for \(i=1,\ldots ,k\). On the other hand, \(u_i\) is not a vertex of \({\mathcal {T}}\) and \(\alpha _i = \pi \), for \(i=1,\ldots ,k\). Hence, \(\cup _{i=1}^k SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) is a local shortest path on \({\mathcal {T}}\). Then, \(\cup _{i=1}^k SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) is a straightest geodesic on \({\mathcal {T}}\). It follows that \(\tau (p^\prime ,q)\) is a straightest geodesic on \({\mathcal {T}}\). Since where \({\mathcal {F}}_i\) satisfies (A1)–(A2), by Lemma 6, \(\tau (p,q)\) is a local shortest descending path on \({\mathcal {T}}\). \(\square \)

As mentioned in Sect. 3.3, the update has to satisfy the decreasing of the length of \(\tau (p,q)\) after each iteration, i.e., the condition (5) is satisfied. This can be obtained by two following propositions.

Proposition 6

Given a convex terrain \({\mathcal {T}}\), let \(\xi _1,\xi _2\), and \(\xi _3\) be three consecutive cutting slices of \({\mathcal {T}}\) which satisfy (2). Let \(e_i\) be a some edge of \(\xi _i\) and \(u_i \in e_i\), \(i=1,2,3\). Assume that \(\tau _h(u_i,u_i^\prime )\) is the horizontal path of \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\), where \(\tau _h(u_i,u_i^\prime ) = \langle u_i^0, u_i^1, \ldots , u_i^m \rangle \), where \( u_i^0 = u_i\), \(u_i^m = u_i^\prime \), \((m \ge 1)\), for \(i=1,2\). Take \(v_1 = u_1^1\) and \(v_2 = u_2^1\). Then

$$\begin{aligned} l \big ( SDP_{{\mathcal {F}}_1^\prime }(v_1,v_2) \big ) + l \big ( SDP_{{\mathcal {F}}_2^\prime }(v_2,v_3) \big ) \le l \big ( SDP_{{\mathcal {F}}_1}(u_1, u_2) \big ) + l \big ( SDP_{{\mathcal {F}}_2}(u_2, u_3) \big ),\nonumber \\ \end{aligned}$$
(12)

where \({\mathcal {F}}_1^\prime , {\mathcal {F}}_2^\prime \) are constructed in Sect. 3.4.2, and \(v_3 = u_3\).

Fig. 17
figure 17

For \(i=1,2\), the update in the case that \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) contains a horizontal path. The shooting point on \(\xi _i\) should be moved from \(u_i\) to \(v_i\), \(i=1,2\). We have \(l \big ( SDP_{{\mathcal {F}}_1^\prime }(v_1,v_2) \big ) \le l \big ( SDP_{{\mathcal {F}}_1^\prime }(v_1, u_2) \big ) + l \big ( \tau _h(u_2,u_2^1) \big )\)

Proof

Since \({\mathcal {T}}\) is convex and \(\xi _i\) is parallel to Oxy, \(SDP_{{\mathcal {F}}_i^\prime }(v_i,v_{i+1})\) always exist, where \({\mathcal {F}}_i^\prime \) are constructed in Sect. 3.4.2, for \(i=1,2\). By Lemma 3, the path composed by \(SDP_{{\mathcal {F}}_1^\prime }(v_1, u_2)\) and \(\tau _h(u_2,u_2^1)\) is a descending path. The length of this path is no longer than that of \(SDP_{{\mathcal {F}}_1^\prime }(v_1,v_2)\) in \({{\mathcal {F}}_1^\prime }\) (see Fig. 17). By the way \(v_2 = u_2^1\). Hence, \( l \big ( SDP_{{\mathcal {F}}_1^\prime }(v_1,v_2) \big ) \le l \big ( SDP_{{\mathcal {F}}_1^\prime }(v_1, u_2) \big ) + l \big ( \tau _h(u_2,u_2^1) \big ). \) Then

$$\begin{aligned} l \big ( SDP_{{\mathcal {F}}_1^\prime }(v_1,v_2) \big ) + l \big ( SDP_{{\mathcal {F}}_2^\prime }(v_2,v_3) \big )&\le \Big ( l \big ( \tau _h(u_1, u_1^1)\big ) + l \big ( SDP_{{\mathcal {F}}_1^\prime }(v_1,u_2) \big ) \Big ) \\&\quad + \Big ( l \big ( \tau _h(u_2,u_2^1) \big ) + l \big ( SDP_{{\mathcal {F}}_2^\prime }(v_2,u_3) \big ) \Big ). \end{aligned}$$

By the hypothesis \(v_1 = u_1^1, v_2 = u_2^1\), and \(v_3 = u_3\), (12) follows. \(\square \)

If \(\xi _1, \xi _2, \xi _3\) plays the role of \(\xi _i, \xi _{i+1}, \xi _{i+2}\) in Algorithm 1, for \(i=1,\ldots ,k-2\), then Proposition 6 shows that by step 23 of procedure Update, the step of \(\tau ^j(p,q)\) is reduced in case of existing the horizontal path of \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\), for some i. Both the convexity of terrains and cutting slices parallel to Oxy are necessary for this proposition, because of the horizontal segments of the shortest descending paths as well as the relative boundaries of the horizontal cutting slices. In case that \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) does not contain horizontal segments, for \(i=1,\ldots ,k\), the following proposition indicates that the decreasing of the length of \(\tau ^j(p,q)\) is still satisfied by step 29 of procedure Update.

Proposition 7

Given a convex terrain \({\mathcal {T}}\), let \(p,q \in {\mathcal {T}}\), \(\xi _i\) be the cutting slices of \({\mathcal {T}}\) satisfying (2), \(e_i\) be a some edge of \(\xi _i\) and \(u_i \in e_i\), for \(i=1,\ldots ,k\). Assume that \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) does not contain horizontal path, for all \(i=1,\ldots ,k\). Let \(s_i\) be a point of the last segment of \(SDP_{{\mathcal {F}}_{i-1}}(u_{i-1},u_i)\) and \(s_i^\prime \) be a point of the first segment of \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) such that \(s_i \ne u_i\), \(s_i^\prime \ne u_i\), and \( s_{i+1} \in SDP_{{\mathcal {F}}_i}(s_i^\prime ,u_{i+1}), \) for \(i=1,\ldots ,k\). Take

$$\begin{aligned} v_i^\prime := \mathop {\mathrm{argmin}}\limits _{v_i \in e_i} \Big \{ l \big ( SDP_{{\mathcal {F}}_{s_i}}(s_i, v_i) \big ) + l \big ( SDP_{{\mathcal {F}}_{s_i}}(v_i, s_i^\prime ) \big ) \Big \}, \end{aligned}$$
(13)

for \(i=1,\ldots ,k\), where \({\mathcal {F}}_{s_i}\) is constructed in Sect. 3.4.1. Then,

$$\begin{aligned} l \big ( \cup _{i=0}^k SDP_{{\mathcal {F}}_i^\prime }(v_i^\prime ,v_{i+1}^\prime ) \big ) \le l \big ( \cup _{i=0}^k SDP_{{\mathcal {F}}_i}(u_i,u_{i+1}) \big ), \end{aligned}$$
(14)

where \(u_0 = v_0^\prime = p\), \(u_{k+1} = v_{k+1}^\prime = q\) and \({\mathcal {F}}_i^\prime \) is constructed in Sect. 3.4.2. Furthermore, if the right angle of \(\cup _{i=0}^k SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) at some \(u_i\) is not equal to \(\pi \) then the inequality (14) is strict.

Proof

Figure 18 shows an interpretation example in the case \(k = 3\). According to Proposition 1, \(v_i^\prime \) given in (13) exists, for \(i = 1,\ldots ,k\). Since \({\mathcal {T}}\) is convex and \(\xi _i\) is parallel to Oxy, \(SDP_{{\mathcal {F}}_i^\prime }(v_i,v_{i+1})\) always exists, where \({\mathcal {F}}_i^\prime \) is constructed in Sect. 3.4.2, for \( i= 0,\ldots ,k\). Let

$$\begin{aligned} \tau ^\prime (p,q):= \cup _{i=0}^k \Big ( SDP_{{\mathcal {F}}_i}(s_i^\prime ,s_{i+1}) \cup SDP_{{\mathcal {F}}_{s_i}}(s_i,v_i^\prime ) \cup SDP_{{\mathcal {F}}_{s_i}}(v_i^\prime ,s_i^\prime ) \Big ) \end{aligned}$$

where \(s_0^\prime = p\), \(s_{k+1} = s_{k+1}^\prime = q\). By (13),

$$\begin{aligned} l \big ( SDP_{{\mathcal {F}}_{s_i}}(s_i,v_i^\prime )\big ) + l \big ( SDP_{{\mathcal {F}}_{s_i}}(v_i^\prime ,s_i^\prime ) \big ) \le l \big ( SDP_{{\mathcal {F}}_{s_i}}(s_i,u_i)\big ) + l \big (SDP_{{\mathcal {F}}_{s_i}}(u_i,s_i^\prime ) \big ), \end{aligned}$$
(15)

for \(i=1,\ldots ,k\). Hence,

$$\begin{aligned} l \big ( \tau ^\prime (p,q) \big ) \le l \big ( \cup _{i=0}^k SDP_{{\mathcal {F}}_i}(u_i,u_{i+1}) \big ). \end{aligned}$$
(16)

By the way, we have

$$\begin{aligned}&l \big ( SDP_{{\mathcal {F}}_0^\prime }(p,v_1^\prime ) \big ) \le l \big ( SDP_{{\mathcal {F}}_0^\prime }(p,s_1) \big ) + l \big ( SDP_{{\mathcal {F}}_0^\prime }(s_1,v_1^\prime ) \big ), \\&l \big ( SDP_{{\mathcal {F}}_i^\prime }(v_i^\prime ,v_{i+1}^\prime ) \big ) \le l \big ( SDP_{{\mathcal {F}}_i^\prime }(v_i^\prime ,s_i^\prime ) \big ) + l \big ( SDP_{{\mathcal {F}}_i^\prime }(s_i^\prime ,s_{i+1}) \big ) + l \big ( SDP_{{\mathcal {F}}_i^\prime }(s_{i+1},v_{i+1}^\prime ) \big ),\\&l \big ( SDP_{{\mathcal {F}}_k^\prime }(v_k,q) \big ) \le l \big ( SDP_{{\mathcal {F}}_k^\prime }(v_k^\prime , s_k^\prime ) \big ) + l \big ( SDP_{{\mathcal {F}}_k^\prime }(s_k^\prime , q) \big ), \end{aligned}$$

for \(i =1,\ldots ,k-1,\). It follows that

$$\begin{aligned} l \big ( \cup _{i=0}^k SDP_{{\mathcal {F}}_i^\prime }(v_i^\prime ,v_{i+1}^\prime ) \big ) \le l \big ( \tau ^\prime (p,q) \big ). \end{aligned}$$
(17)

Combining (16) and (17) gives (14).

Fig. 18
figure 18

An example of Proposition 7 in case \(k=3\). Since \(l \big ( SDP_{{\mathcal {F}}_{s_i}}(s_i,s_i^\prime )\big ) \le l \big ( SDP_{{\mathcal {F}}_{s_i}}(s_i,u_i) \cup SDP_{{\mathcal {F}}_{s_i}}(u_i,s_i^\prime ) \big )\), \(i=1,2\), \(l \big ( \tau ^\prime (p,q) \le \cup _{i=0}^3 SDP_{{\mathcal {F}}_i}(u_i,u_{i+1}) \big )\). Since \(l \big ( SDP_{{\mathcal {F}}_i^\prime }(v_i^\prime ,v_{i+1}^\prime )\big ) \le l \big ( SDP_{{\mathcal {F}}_i^\prime }(v_i^\prime , s_i^\prime ) \cup SDP_{{\mathcal {F}}_i^\prime }(s_i^\prime , s_{i+1}) \cup SDP_{{\mathcal {F}}_i^\prime }(s_{i+1},v_{i+1}^\prime )\big )\), \(i = 0, \ldots , 3\), \(l \big ( \cup _{i=0}^3 SDP_{{\mathcal {F}}_i^\prime }(v_i^\prime ,v_{i+1}^\prime ) \big ) \le l \big ( \tau ^\prime (p,q) \big )\). Then \( l \big ( \cup _{i=0}^3 SDP_{{\mathcal {F}}_i^\prime }(v_i^\prime ,v_{i+1}^\prime ) \big ) \le l \big ( \cup _{i=0}^3 SDP_{{\mathcal {F}}_i}(u_i,u_{i+1}) \big )\)

Assume that at \(u_i\), the right angle of \(\cup _{i=0}^k SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) is not equal to \(\pi \), for some \(i \in \{1,\ldots ,k\}\). For \({\mathcal {F}}_{s_i}\) constructed in Sect. 3.4.1 (see Fig. 4) that also follows the determination of shooting edges (7)–(8), we can always choose \(s_i\) and \(s_i^\prime \) so that (15) is strict. It follows that (14) is strict too. \(\square \)

The cutting slices given by (2) in both propositions help to construct the sequences of faces described in Sects. 3.4.1 and 3.4.2 . If we use the cutting slices given by (1) for Proposition 6, then we cannot take the horizontal path of a shortest descending path from \(u_i\) to \(u_{i+1}\). The cutting slices given by (1) can be used for Proposition 7 if they are satisfied additionally by one of the following:

  1. (a)

    Excepting \(\xi _i\) and \(\xi _{i+1}\), \({\mathcal {T}}_i\) does not contain any vertex of the \({\mathcal {T}}\), for \(i=0,\ldots ,k\).

  2. (b)

    There exists a construction of sequences of faces \({\mathcal {F}}_{s_i}\) and \({\mathcal {F}}_i^\prime \) such that the existence of descending path from \(v_i^\prime \) to \(v_{i+1}^\prime \). Furthermore, there exists a descending path joining p to q through \(v_i^\prime \) whose length is no longer than that of \(\cup _{i=0}^k SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\).

The proof of Proposition 2

By constructing \({\mathcal {F}}_{s_i}\) described in Sect. 3.4.1, \(v_i^\prime \) obtained by (11) exists, for \(i = 1,\ldots ,k\). Since \({\mathcal {T}}\) is convex and \(\xi _i\), is parallel to Oxy, \(SDP_{{\mathcal {F}}_i^\prime }(v_i,v_{i+1})\) always exist, where \({\mathcal {F}}_i^\prime \) is constructed in Sect. 3.4.2, for \( i= 0,\ldots ,k\). Let us denote by \(\tau ^\prime (p,q)\) the path composed as follows: for each \(i = 1, \ldots ,k\), if \(l \big (\tau _h(u_i,u_i^\prime )\big ) \ne 0\), then \(\tau ^\prime (p,q) := \tau ^\prime (p,q) \cup SDP_{{\mathcal {F}}_{i-1}}(v_{i-1}^\prime ,u_i) \cup \tau _h(u_i,u_i^1)\). Otherwise, \(\tau ^\prime (p,q) := \tau ^\prime (p,q) \cup SDP_{{\mathcal {F}}_{i-1}}(v_{i-1}^\prime ,s_i) \cup SDP_{{\mathcal {F}}_{s_i}}(s_i,v_i^\prime )\). By (11), we have that

$$\begin{aligned} l \big ( SDP_{{\mathcal {F}}_{s_i}}(s_i,v_i^\prime )\big ) + l \big (SDP_{{\mathcal {F}}_{s_i}}(v_i^\prime ,s_i^\prime ) \big ) \le l \big ( SDP_{{\mathcal {F}}_{s_i}}(s_i,u_i)\big ) + l \big (SDP_{{\mathcal {F}}_{s_i}}(u_i,s_i^\prime ) \big ), \end{aligned}$$

for \(i=1,\ldots ,k\). Hence,

$$\begin{aligned} l \big ( \tau ^\prime (p,q) \big ) \le l \big ( \cup _{i=0}^k SDP_{{\mathcal {F}}_i}(u_i,u_{i+1}) \big ). \end{aligned}$$
(18)

Furthermore,

$$\begin{aligned} l \big (SDP_{{\mathcal {F}}_i^\prime }(v_{i-1}^\prime ,v_i^\prime )\big ) \le l \big ( SDP_{{\mathcal {F}}_i^\prime }(v_{i-1}^\prime ,u_i) \big ) + l \big ( \tau _h(u_i,v_i^\prime ) \big ), \end{aligned}$$

where \(l \big (\tau _h(u_i,u_i^\prime )\big ) \ne 0\) and \(v_i^\prime = u_i^1\). It follows that

$$\begin{aligned} l \big ( \cup _{i=0}^k SDP_{{\mathcal {F}}_i^\prime }(v_i^\prime ,v_{i+1}^\prime ) \big ) \le l \big ( \tau ^\prime (p,q) \big ). \end{aligned}$$
(19)

Combining (18) and (19) gives

$$\begin{aligned} l \big ( \cup _{i=0}^k SDP_{{\mathcal {F}}_i^\prime }(v_i^\prime ,v_{i+1}^\prime ) \big ) \le l \big ( \cup _{i=0}^k SDP_{{\mathcal {F}}_i}(u_i,u_{i+1}) \big ). \end{aligned}$$

\(\square \)

The proof of Theorem 1

Proof

By Lemma 3, \(\tau ^j\) given by Algorithm 1 is a descending path. For each iteration of the algorithm, we have that \({\mathcal {F}}^j := \cup _{i=0}^k {\mathcal {F}}_i^j\) satisfies (A1)–(A2) (see step 9), where \(j \ge 0\). We consider two following cases.

  1. (a)

    If the straightness condition (4) is satisfied at step 5, then the algorithm terminates. Let \(\tau \) be the obtained path and \({\mathcal {F}}\) be the sequence of faces corresponding to \(\tau \). By Proposition 5, \(\tau \) is a local shortest descending path from p to q on \({\mathcal {T}}\). Then, \(l(\tau )\) is minimum among those of all possible descending paths joining p to q on \({\mathcal {F}}\) (see proof of Lemma 6). On \({\mathcal {F}}\) there is a subsequence of descending paths joining p to q, denoted by \(\{ \tau ^i \}\), so that \(\{ l(\tau ^i) \}\) decreases, \(i \ge 0\). Such a subsequence can be obtained by a similar way of the update of Algorithm 1 that performs on \({\mathcal {F}}\) [we note that \({\mathcal {F}} \in \{ {\mathcal {F}}^j \}\) and \({\mathcal {F}}\) satisfies (A1)–(A2)]. We now consider the set of one sequence of faces \({\mathcal {F}}\) in which \(\{ \tau ^i \} \subset {\mathcal {F}}\). Since \(\{ l(\tau ^i) \}\) is decreasing and bounded below, \(\{ l(\tau ^i) \}\) converges to its infimum, i.e., \(l(\tau )\). By Definition 3, \(\tau \) can be seen as an approximate shortest descending path joining p to q on \({\mathcal {T}}\).

  2. (b)

    Otherwise, the algorithm generates a sequence of \(\tau ^j\) where \(\{ \tau ^j \}\) is contained in \(\{ {\mathcal {F}}^j \}\). By the way, by Propositions 6 & 7,

    $$\begin{aligned} l ( \tau ^0 ) \ge l ( \tau ^1 ) \ge \ldots \ge l ( \tau ^j ) \ge \ldots > 0, \end{aligned}$$
    (20)

    where \(j \ge 0\). Furthermore, for each iteration of the update since the straightness condition is not satisfied, there exists at least a shooting point, say \(u_i^j\), such that either the right angle of \(\tau ^j\) is not equal to \(\pi \) or there is a nonempty horizontal path of \(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\). In the later case, because of descending of \(\tau ^j\) on a convex terrain, its right angle at \(u_i^j\) is not equal to \(\pi \) too. By Proposition 7, \(\big \{ l ( \tau ^j ) \big \}\) is strictly decreasing. Consequently, \(\big \{ l ( \tau ^j ) \big \}\) is convergent. By (20), there exists \(\lim _{j \rightarrow \infty }\big \{ l ( \tau ^j ) \big \}\). Due to Lemma  2, there exists a descending path \(\gamma _0\) joining p to q whose the length of \(\lim _{j \rightarrow \infty }\big \{ l ( \tau ^j ) \big \}\). As \(\big \{ l ( \tau ^j ) \big \}\) is strictly decreasing, \(\gamma _0\ne \tau ^j\) for all \(j=0,1,\dots \) The path \(\gamma _0\) is thus an approximate shortest descending path joining p to q on \({\mathcal {T}}\).\(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

An, P.T., Trang, L.H. Computing approximately shortest descending paths on convex terrains via multiple shooting. Comp. Appl. Math. 37, 6499–6529 (2018). https://doi.org/10.1007/s40314-018-0686-3

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s40314-018-0686-3

Keywords

Mathematics Subject Classification

Navigation