We study self-approaching paths that are contained in a simple polygon. A self-approaching path is a directed curve connecting two points such that the Euclidean distance between a point moving along the path and any future position does not increase, that is, for all points a, b, and c that appear in that order along the curve, |ac| ≥ |bc|. We analyze the properties, and present a characterization of shortest self-approaching paths. In particular, we show that a shortest self-approaching path connecting two points inside a polygon can be forced to use a general class of non-algebraic curves. While this makes it difficult to design an exact algorithm, we show how to find a self-approaching path inside a polygon connecting two points under a model of computation which assumes that we can calculate involute curves of high order.Lastly, we provide an algorithm to test if a given simple polygon is self-approaching, that is, if there exists a self-approaching path for any two points inside the polygon.• Given a polygon P , test if it is self-approaching, i.e., if there exists a self-approaching path between any two points in P .Related work. Self-approaching curves were first introduced in the context of online searching for a kernel of a polygon [13]. They were further studied in [14], where among other results, the authors prove that the length of any self-approaching path connecting two points is not greater than 5.3331 times the Euclidean distance between the points. An equivalent definition of a self-approaching path is that for every point on the path there has to be a 90 • angle containing the rest of the path. Aichholzer et al.[1] developed a generalization of self-approaching paths for an arbitrarily fixed angle α instead of 90 • . A relevant type of paths is the increasing chords paths [19], which are self-approaching in both directions. The nice properties of self-approaching and increasing chords paths and their potential to be applied in network routing were recognized by the graph drawing community. As a result, a number of papers appeared in the recent years on self-approaching and increasing chords graphs [2,9,18].This paper is organized in the following way. We introduce a few definitions and concepts in Section 2. In Section 3, we characterize a shortest self-approaching path between two points in a simple polygon. In Section 4 we present an algorithm to construct the shortest self-approaching path between two points if it exists, or to report that it does not exist, by assuming a model of computation in which we can solve certain transcendental equations. Finally, in Section 5 we present a linear-time algorithm to decide if a polygon is self-approaching, that is, if there is a self-approaching path between any two point of the polygon. In Section 6, we discuss some properties of reachable and reverse-reachable regions.
PreliminariesFor two points p 1 and p 2 on a directed path π that starts in point s, we shall say that p 1 < π p 2 if p 1 lies between s and p 2 along π. For a directed path π and two...