Abstract
Given a polyhedral terrain and two points p, q 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.
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
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
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
Ahmed M, Lubiw A (2011) Shortest descending paths: towards an exact algorithm. Int J Comput Geom Appl 21(4):431–466
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
An PT, Hai NN, Hoai TV (2013) Direct multiple shooting method for solving approximate shortest path problems. J Comput Appl Math 244:67–76
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
de Berg M, van Kreveld M (1997) Trekking in the alps without freezing or getting tired. Algorithmica 18:306–323
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
Li F, Klette R (2011) Euclidean shortest paths: exact or approximate algorithms. Springer, London
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
Mitchell JSB, Mount DM, Papadimitriou CH (1987) The discrete geodesic problem. SIAM J Comput 16(4):647–668
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
Polthier K, Schmies M (1998) Straightest geodesics on polyhedral surfaces. In: Polthier K, Hege HC (eds) Mathematical visualization. Springer, Berlin, pp 391–409
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
Roy S, Das S, Nandy S (2007) Shortest monotone descent path problem in polyhedral terrain. Comput Geom 37:115–133
Sharir M, Schorr A (1986) On shortest paths in polyhedral spaces. SIAM J Comput 15(1):193–215
Stoer J, Bulirsch R (2002) Introduction to numerical analysis, 3rd edn. Springer, Berlin
Wei X, Joneja A (2013) An improved algorithm for the shortest descending path on a convex terrain. J Discret Algorithms 19:52–56
Xin SQ, Wang GJ (2007) Efficiently determining a locally exact shortest path on polyhedral surfaces. Comput Aid Des 39:1081–1090
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
Corresponding author
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
we get
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
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(p, q) 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
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
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.
-
(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.
-
(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:
-
(i)
\(SDP_{{\mathcal {F}}_i}(u_i,u_{i+1})\) is a shortest path on \({\mathcal {T}}\),
-
(ii)
\(\alpha _i = \pi \),
for \(i=1,\ldots ,k\).
Proof
We have that \(\tau (p,q)\) is a shortest descending path on \({\mathcal {T}}\).
-
(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\).
-
(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,
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
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.
-
(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 )\)
-
(b)
\(\tau _h(p,p^\prime ) \supset \tau _h(p,p^{\prime \prime })\) (see Fig. 16b). We have the following facts
-
(b.1)
By assumption, \(\tau (p^\prime ,q^\prime )\) is straightest geodesic.
-
(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, [a, b], [a, c] 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
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
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
where \({\mathcal {F}}_1^\prime , {\mathcal {F}}_2^\prime \) are constructed in Sect. 3.4.2, and \(v_3 = u_3\).
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
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
for \(i=1,\ldots ,k\), where \({\mathcal {F}}_{s_i}\) is constructed in Sect. 3.4.1. Then,
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
where \(s_0^\prime = p\), \(s_{k+1} = s_{k+1}^\prime = q\). By (13),
for \(i=1,\ldots ,k\). Hence,
By the way, we have
for \(i =1,\ldots ,k-1,\). It follows that
Combining (16) and (17) gives (14).
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:
-
(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\).
-
(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
for \(i=1,\ldots ,k\). Hence,
Furthermore,
where \(l \big (\tau _h(u_i,u_i^\prime )\big ) \ne 0\) and \(v_i^\prime = u_i^1\). It follows that
\(\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.
-
(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}}\).
-
(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
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s40314-018-0686-3