Geodesic Fréchet Distance Inside a Simple Polygon
Abstract.
We unveil an alluring alternative to parametric search that applies to both the nongeodesic and geodesic Fréchet optimization problems. This randomized approach is based on a variant of redblue intersections and is appealing due to its elegance and practical efficiency when compared to parametric search.
We present the first algorithm for the geodesic Fréchet distance between two polygonal curves and inside a simple bounding polygon . The geodesic Fréchet decision problem is solved almost as fast as its nongeodesic sibling and requires time and space after preprocessing, where is the larger of the complexities of and and is the complexity of . The geodesic Fréchet optimization problem is solved by a randomized approach in expected time and space. This runtime is only a logarithmic factor larger than the standard nongeodesic Fréchet algorithm [4]. Results are also presented for the geodesic Fréchet distance in a polygonal domain with obstacles and the geodesic Hausdorff distance for sets of points or sets of line segments inside a simple polygon .
Key words and phrases:
Fréchet Distance, Geodesic, Parametric Search, Simple PolygonAtlas F. Cook IVCarola Wenk \@ifempty \@ifnotempty
section1[Introduction]Introduction
The comparison of geometric shapes is essential in various applications including computer vision, computer aided design, robotics, medical imaging, and drug design. The Fréchet distance is a similarity metric for continuous shapes such as curves or surfaces which is defined using reparametrizations of the shapes. Since it takes the continuity of the shapes into account, it is generally a more appropriate distance measure than the often used Hausdorff distance. The Fréchet distance for curves is commonly illustrated by a person walking a dog on a leash [4]. The person walks forward on one curve, and the dog walks forward on the other curve. As the person and dog move along their respective curves, a leash is maintained to keep track of the separation between them. The Fréchet distance is the length of the shortest leash that makes it possible for the person and dog to walk from beginning to end on their respective curves without breaking the leash. See section Geodesic Fréchet Distance Inside a Simple Polygon for a formal definition of the Fréchet distance.
Most previous work assumes an obstaclefree environment where the leash connecting the person to the dog has its length defined by an metric. In [4] the Fréchet distance between polygonal curves and is computed in arbitrary dimensions for obstaclefree environments in time, where is the larger of the complexities of and . Rote [23] computes the Fréchet distance between piecewise smooth curves. Buchin et al. [7] show how to compute the Fréchet distance between two simple polygons. Fréchet distance has also been used successfully in the practical realm of map matching [26]. All these works assume a leash length that is defined by an metric.
This paper’s contribution is to measure the leash length by its geodesic distance inside a simple polygon (instead of by its distance). To our knowledge, there are only two other works that employ such a leash. One is a workshop article [18] that computes the Fréchet distance for polygonal curves and on the surface of a convex polyhedron in time. The other paper [12] applies the Fréchet distance to morphing by considering the polygonal curves and to be obstacles that the leash must go around. Their method works in time but only applies when and both lie on the boundary of a simple polygon. Our work can handle both this case and more general cases. We consider a simple polygon to be the only obstacle and the curves, which may intersect each other or selfintersect, both lie inside .
A core insight of this paper is that the free space in a geodesic cell (see section Geodesic Fréchet Distance Inside a Simple Polygon) is monotone, monotone, and connected. We show how to quickly compute a cell boundary and how to propagate reachability through a cell in constant time. This is sufficient to solve the geodesic Fréchet decision problem. To solve the geodesic Fréchet optimization problem, we replace the standard parametric search approach by a novel and asymptotically faster (in the expected case) randomized algorithm that is based on redblue intersection counting. We show that the geodesic Fréchet distance between two polygonal curves inside a simple bounding polygon can be computed in expected time and worstcase time, where is the larger of the complexities of and and is the complexity of the simple polygon. The expected runtime is almost a quadratic factor in faster than the straightforward approach, similar to [12], of partitioning each cell into subcells. Briefly, these subcells are simple combinatorial regions based on pairs of hourglass intervals. It is notable that the randomized algorithm also applies to the nongeodesic Fréchet distance in arbitrary dimensions. We also present algorithms to compute the geodesic Fréchet distance in a polygonal domain with obstacles and the geodesic Hausdorff distance for sets of points or sets of line segments inside a simple polygon.
section1[Preliminaries]Preliminaries
Let be the complexity of a simple polygon that contains polygonal curves and in its interior. In general, a geodesic is a path that avoids all obstacles and cannot be shortened by slight perturbations [20]. However, a geodesic inside a simple polygon is simply a unique shortest path between two points. Let denote the geodesic inside between points and . The geodesic distance is the length of a shortest path between and that avoids all obstacles, where length is measured by distance.
Let , , and denote decreasing, increasing, and decreasing then increasing functions, respectively. For example, “ is bitonic” means that is a function that decreases monotonically then increases monotonically. A bitonic function has at most one change in monotonicity.
The Fréchet distance for two curves is defined as
where and range over continuous nondecreasing reparametrizations and is a distance metric for points, usually the distance, and in our setting the geodesic distance. For a given the free space is defined as . A free space cell is the parameter space defined by two line segments and , and the free space inside the cell is .
The decision problem to check whether the Fréchet distance is at most a given is solved by Alt and Godau [4] using a free space diagram which consists of all free space cells for all pairs of line segments of and . Their dynamic programming algorithm checks for the existence of a monotone path in the free space from to by propagating reachability information cell by cell through the free space.
subsection2[Funnels and Hourglasses]Funnels and Hourglasses
Geodesics in a free space cell can be described by either the funnel or hourglass structure of [14]. A funnel describes all shortest paths between a point and a line segment, so it represents a horizontal (or vertical) line segment in . An hourglass describes all shortest paths between two line segments and represents all distances in .
The funnel describes all shortest paths between an apex point and a line segment . The boundary of is the union of the line segment and the shortest path chains and . The hourglass describes all shortest paths between two line segments and . The boundary of is composed of the two line segments , and at most four shortest path chains involving , , , and . See Figure 1. Funnel and hourglass boundaries have complexity because shortest paths inside a simple polygon are acyclic, polygonal, and only have corners at vertices of [15].
Any horizontal or vertical line segment in a geodesic free space cell is associated with a funnel’s distance function with . The below three results are generalizations of Euclidean properties and are omitted. See [10] for details.
Lemma 0.1.
is bitonic.
Corollary 0.2.
Any horizontal (or vertical) line segment in a free space cell has at most one connected set of free space values.
Consider the hourglass in Figure 1. Let the shortest distance from to any point on occur at . Define similarly. As varies from to , the minimum distance from to traces out a function with .
Lemma 0.3.
is bitonic.
section1[Geodesic Cell Properties]Geodesic Cell Properties
Consider a geodesic free space cell C for polygonal curves and inside a simple polygon. Let and be the two line segments defining .
Lemma 0.4.
For any , cell contains at most one free space region , and is monotone, monotone, and connected.
Proof.
The monotonicity of follows from Corollary 0.2. For connectedness, choose any two free space points , and construct a path connecting them in the free space as follows: move vertically from to the minimum point on its vertical. Do the same for . By Lemma 0.1, this movement causes the distance to decrease monotonically. By Lemma 0.3, any two minimum points are connected by a bitonic distance function (cf. section Geodesic Fréchet Distance Inside a Simple Polygon), but as the starting points are in the free space – and therefore have distance at most – all points on this constructed path lie in the free space.
Given ’s boundaries, it is possible to propagate reachability information (see section Geodesic Fréchet Distance Inside a Simple Polygon) through in constant time. This follows from the monotonicity and connectedness of the free space in and is useful for solving the geodesic decision problem.
section1[RedBlue Intersections]RedBlue Intersections
This section shows how to efficiently count and report a certain type of redblue intersections in the plane. This problem is interesting both from theoretical and applied stances and will prove useful in section Geodesic Fréchet Distance Inside a Simple Polygon for the Fréchet optimization problem.
Let be a set of “red” curves in the plane such that every red curve is continuous, monotone, and monotone decreasing. Let be a set of “blue” curves in the plane where each blue curve is continuous, monotone, and monotone increasing. Assume that the curves are defined in the slab , and let be the time to find the at most one intersection of any red and blue curve.^{1}^{1}1There is at most one intersection due to the monotonicities of the red and blue curves.
Theorem 0.5.
The number of redblue intersections between and in the slab can be counted in total time, where . These intersections can be reported in total time, where is the total number of intersections reported. After preprocessing time, a random redblue intersection in can be returned in time, and the red curve involved in the most redblue intersections can be returned in time. All operations require space.^{2}^{2}2Palazzi and Snoeyink [21] also count and report redblue intersections using a slabbased approach. However, their work is for line segments instead of curves, and they require that all red segments are disjoint and all blue segments are disjoint. We have no such disjointness requirement.
Proof Sketch. Figure 2 illustrates the key idea. Suppose a red curve lies above a blue curve at . If it is also true that lies below at , then these monotone curves must intersect in . Two sorted lists , of curve values store how many blue curves lie below each red curve at and . Subtracting the values in and yields the number of actual intersections for each red curve in (and also reveals the red curve that is involved in the most intersections). Intersection counting simply sums up these values. Intersection reporting builds a balanced tree from and .
To find a random redblue intersection in , precompute the number of redblue intersections in . Pick a random integer between 1 and and use the number of intersections stored for each red curve to locate the particular red curve that is involved in the randomly selected intersection. By searching a persistent version of the reporting structure [24], ’s th redblue intersection can be returned in query time after preprocessing time.
section1[Geodesic Fréchet Algorithm]Geodesic Fréchet Algorithm
subsection2[Computing One Cell’s Boundaries in Time]Computing One Cell’s Boundaries in Time
A boundary of a free space cell is a horizontal (or vertical) line segment. This boundary can be associated with a funnel that has a bitonic distance function (cf. Lemma 0.1). Given , computing the free space on a cell boundary requires finding the (at most two) values , such that (see Figure 3).
Lemma 0.6.
Both the minimum value of and the (at most two) values , such that can be found for any in time (after preprocessing).
Proof Sketch. After shortest path preprocessing [13, 16], a binary search is performed on the arcs of in time. See our full paper [10] for details.
Corollary 0.7.
The free space on all four boundaries of a free space cell can be found in time by computing and for each boundary.
subsection2[Geodesic Fréchet Decision Problem]Geodesic Fréchet Decision Problem
Theorem 0.8.
After preprocessing a simple polygon for shortest path queries in time [13], the geodesic Fréchet decision problem for polygonal curves and inside can be solved for any in time and space.
Proof.
Following the standard dynamic programming approach of [4], compute all cell boundaries in time (cf. Corollary 0.7), and propagate reachability information through all cells in time. space is needed for the preprocessing structures of [13], and only space is needed for dynamic programming if two rows of the free space diagram are stored at a time.
subsection2[Geodesic Fréchet Optimization Problem]Geodesic Fréchet Optimization Problem
Let be the minimum value of such that the Fréchet decision problem returns true. That is, equals the Fréchet distance . Parametric search is a technique commonly used to find (see [3, 4, 9, 25]).^{3}^{3}3An easier to implement alternative to parametric search is to run the decision problem once for every bit of accuracy that is desired. This approach runs in time and space, where is the desired number of bits of accuracy [25]. The typical approach to find is to sort all the cell boundary functions based on the unknown parameter . The comparisons performed during the sort guarantee that the result of the decision problem is known for all “critical values” [4] that could potentially define . Traditionally, such a sort operates on cell boundaries of constant complexity. The geodesic case is different because each cell boundary has complexity. As a result, a straightforward parametric search based on sorting these values would require time even when using Cole’s [9] optimization.^{4}^{4}4A variation of the general sorting problem called the “nuts and bolts” problem (see [17]) is tantalizingly close to an acceptable sort but does not apply to our setting.
We present a randomized algorithm with expected runtime and worstcase runtime . This algorithm is an order of magnitude faster than parametric search in the expected case.
Each cell boundary has at most one free space interval (cf. Lemma 0.1). The upper boundary of this interval is a function , and the lower boundary of this interval is a function . See Figure 4a. The seminal work of Alt and Godau [4] defines three types of critical values that are useful for computing the exact geodesic Fréchet distance. There are exactly two type (a) critical values associated with distances between the starting points of and and the ending points of and . Type (b) critical values occur times when . See Figure 4b. Type (a) and (b) critical values occur times and are easily handled in time. This process involves computing values in time, sorting in time, and running the decision problem in binary search fashion times. Resolving the type (a) and (b) critical values as a first step will simplify the randomized algorithm for the type (c) critical values.
Alt and Godau [4] show that type (c) critical values occur when the position of in cell equals the position of in cell in the free space diagram. See Figure 4a. As increases, by Lemma 0.1, is monotone on the cell boundary and is monotone (see Figure 4b). As illustrated in Figure 4c, and intersect at most once. This follows from the monotonicities of and . Hence, there are intersections of and in row and a total of type (c) critical values over all rows. There are also intersections of and in column and a total of additional type (c) critical values over all columns.
Lemma 0.9.
The intersection of and can be found for any in time after preprocessing.
Proof Sketch. Build binary search trees for and and perform a binary search. See our full paper [10] for details.
Theorem 0.5 requires that all and are defined in the slab that contains . Precomputing the type (a) and type (b) critical values of [4] shrinks the slab such that no left endpoint of any relevant , appears in when processing the type (c) critical values. In addition, , can be extended horizontally so that no right endpoint appears in . These changes do not affect the asymptotic number of intersections and allow Theorem 0.5 to count and report type (c) critical values in .
The below randomized algorithm solves the geodesic Fréchet optimization
problem in expected time. This is faster
than the standard parametric search approach which requires
time.
Randomized Optimization Algorithm

Precompute and sort all type (a) and type (b) critical values in time (cf. Lemma 0.6). Run the decision problem times to resolve these values and shrink the potential slab for down to in time.

Count the number of type (c) critical values for each row in the slab using Theorem 0.5. Let be the resulting counting data structure for row .

To achieve a fast expected runtime, pick a random intersection for each row using .^{5}^{5}5Picking a critical value at random is related to the distance selection problem [6] and is mentioned in [2], but to our knowledge, this alternative to parametric search has never been applied to the Fréchet distance. See Theorem 0.5.

To achieve a fast worstcase runtime, use to find the curve in each row that has the most intersections (see Theorem 0.5). Add all intersections in that involve to a global pool of unresolved critical values^{6}^{6}6The idea of a global pool is similar to Cole’s optimization for parametric search [9]. and delete from any future consideration.

Find the median of the values in in time using the standard median algorithm mentioned in [17]. Also find the median of the randomly selected in time using a weighted median algorithm based on the number of critical values for each row .
Theorem 0.10.
The exact geodesic Fréchet distance between two polygonal curves and inside a simple bounding polygon can be computed in expected time and worstcase time, where is the larger of the complexities of and and is the complexity of . space is required.
Proof.
Preprocess once for shortest path queries in time [13]. In the expected case, each execution of the decision problem will eliminate a constant fraction of the remaining type (c) critical values due to the proof of Quicksort’s expected runtime and the median of medians approach for . Consequently, the expected number of iterations of the algorithm is .
In the worstcase, each of the in a row will be picked as . Therefore, each row can require at most iterations. Since all rows are processed each iteration, the entire algorithm requires at most iterations for rowbased critical values. By a similar argument, columnbased critical values also require at most iterations.
The size of the pool is expressed by the inequality , where is the current step number, and . Intuitively, each step adds values to and then at least half of the values in are always resolved using the median . It is not difficult to show that for any step number .
Each iteration of the algorithm requires intersection counting and intersection calculations for rows (or columns) at a cost of time. In addition, the global pool has its median calculated in time, and the decision problem is executed in time. Consequently, the expected runtime is and the worstcase runtime is including preprocessing time [13] for geodesics. The preprocessing structures use space that must remain allocated throughout the algorithm, and the pool uses additional space.
Although the exact nongeodesic Fréchet distance is normally found in time using parametric search (see [4]), parametric search is often regarded as impractical because it is difficult to implement^{7}^{7}7Quicksortbased parametric search has been implemented by van Oostrum and Veltkamp [25] using a complex framework. and involves enormous constant factors [9]. To the best of our knowledge, the randomized algorithm in section Geodesic Fréchet Distance Inside a Simple Polygon provides the first practical alternative to parametric search for solving the exact nongeodesic Fréchet optimization problem in .
Theorem 0.11.
The exact nongeodesic Fréchet distance between two polygonal curves and in can be computed in expected time, where is the larger of the complexities of and . space is required.
Proof.
The argument is very similar to the proof of Theorem 0.10. The main difference is that nongeodesic distances can be computed in time (instead of time).
section1[Geodesic Fréchet Distance in a Polygonal Domain with Obstacles]Geodesic Fréchet Distance in a Polygonal Domain with Obstacles
Consider the reallife situation of a person walking a dog in a park. If the person and dog walk on opposite sides of a group of trees, then the leash must go around the trees. More formally, suppose the two polygonal curves and lie in a planar polygonal domain [19] of complexity . The leash is required to change continuously, i.e., it must stay inside and may not pass through or jump over an obstacle. It may, however, cross itself. Let be the geodesic Fréchet distance for this scenario when the leash length is measured geodesically.^{8}^{8}8We recently learned that this topic has been independently explored in [8].
Due to the continuity of the leash’s motion, the free space inside a geodesic cell is represented by an hourglass – just as it was for the geodesic Fréchet distance inside a simple polygon. Hence, free space in a cell is monotone, monotone, and connected (cf. Lemma 0.4), and reachability information can be propagated through a cell in constant time.
The main task in computing is to construct all cell boundaries. Once the cell boundaries are known, the decision and optimization problems can be solved by the algorithms for the geodesic Fréchet distance inside a simple polygon (cf. Theorems 0.8 and 0.10). We use Hershberger and Snoeyink’s homotopic shortest paths algorithm [16] to incrementally construct all cell boundary funnels needed to compute . To use the homotopic algorithm, the polygonal domain should be triangulated in time [19], and all obstacles should be replaced by their vertices. A shortest path map [19] can find an initial geodesic leash between the start points of the polygonal curves and in time.
Lemma 0.12.
Given the initial leash for the bottomleft corner of a cell , all four funnel boundaries of and the initial leashes for cells adjacent to can be computed in time.
Proof.
The funnels representing cell boundaries are constructed incrementally. The idea is to extend the initial leash into a homotopic “sketch” that describes how the shortest path should wind through the obstacles and then to “snap” this sketch into a shortest path (see Figures 5a and 5b).
Homotopic shortest paths have increased complexity over normal shortest paths because they can loop around obstacles. For example, if the person walks in a triangular path around all the obstacles, then the leash follows a homotopic shortest path that can have complexity in a single cycle around the obstacles. By repeatedly winding around the obstacles times, a path achieves complexity.
To avoid spending time per cell, we extend a previous homotopic shortest path into a sketch by appending a single line segment to the previous path (see Figure 5a). Adding this single segment can unwind at most one loop over a subset of obstacles, so only the most recent vertices of the sketch will need to be updated when the sketch is snapped into the true homotopic shortest path. A turning angle is used to identify these vertices by backtracking on the sketch until the angle is at least different from the final angle.
Putting all this together, a boundary for a free space cell can be computed in time by starting with an initial leash of complexity, constructing a homotopic sketch by appending a single segment to , backtracking with a turning angle to find vertices that are eligible to be changed, and finally “snapping” these vertices to the true homotopic shortest path using Hershberger and Snoeyink’s algorithm [16]. The result is a funnel that describes one cell boundary.
By extending in four combinatorially distinct ways, all four cell boundaries can be defined. Specifically, we can extend along the current segment to form the first funnel or along the segment to form the second funnel. The third funnel is created by extending along and then . The fourth funnel is created by extending along and then . These cell boundaries conveniently define the initial leash for cells that are adjacent to .
Theorem 0.13.
The decision problem can be solved in time and space.
Proof.
Each cell boundary is a funnel with complexity [11]. However, this high complexity is a result of looping over obstacles, and most of these points do not affect the funnel’s distance function . As illustrated in Figure 5c, has only complexity because only vertices contribute arcs to .
Construct all cell boundary funnels in time (cf. Lemma 0.12), intersect each funnel’s distance function with in time, and propagate reachability information in time. Only space is needed for dynamic programming when storing only two rows at a time.
Theorem 0.14.
The optimization problem can be solved in expected time and space.^{9}^{9}9If space is at a premium, the algorithm can also run with space and expected time by recomputing the funnels each time the decision problem is computed. Note that storage is required for the redblue intersections algorithm (cf. Theorem 0.10).
Proof.
The optimization problem can be solved using redblue intersections. steps are performed in the expected case by Theorem 0.10. Each step has to perform intersection counting in time and solve the decision problem. If the funnels are precomputed in time and space, then the decision problem can be solved in time. Hence, after time and space preprocessing, can be found in expected steps where each step takes time.
section1[Geodesic Hausdorff Distance]Geodesic Hausdorff Distance
Hausdorff distance is a similarity metric commonly used to compare sets of points or sets of line segments. The directed geodesic Hausdorff distance can be formally defined as , where and are sets and is the geodesic distance between and (see [4, 5]). The undirected geodesic Hausdorff distance is the larger of the two directed distances: .
Theorem 0.15.
for point sets inside a simple polygon can be computed in time and space, where is the larger of the complexities of and and is the complexity of . If and are sets of line segments, can be computed in time and space.
Proof Sketch. A geodesic Voronoi diagram [22] finds nearest neighbors when and are point sets. When and are sets of line segments, all nearest neighbors for a line segment can be found by computing a lower envelope [1] of hourglass distance functions. The largest nearest neighbor distance over all line segments is .
section1[Conclusion]Conclusion
To compute the geodesic Fréchet distance between two polygonal curves inside a simple polygon, we have proven that the free space inside a geodesic cell is monotone, monotone, and connected. By extending the shortest path algorithms of [13, 16], the boundaries of a single free space cell can be computed in logarithmic time, and this leads to an efficient algorithm for the geodesic Fréchet decision problem.
A randomized algorithm based on redblue intersections solves the geodesic Fréchet optimization problem in lieu of the standard parametric search approach. The randomized algorithm is also a practical alternative to parametric search for the nongeodesic Fréchet distance in arbitrary dimensions.
We can compute the geodesic Fréchet distance between two polygonal curves and inside a simple bounding polygon in expected time, where is the larger of the complexities of and and is the complexity of . In the expected case, the randomized optimization algorithm is an order of magnitude faster than a straightforward parametric search that uses Cole’s [9] optimization to sort values.
The geodesic Fréchet distance in a polygonal domain with obstacles enforces a homotopy on the leash. It can be computed in the same manner as the geodesic Fréchet distance inside a simple polygon after computing cell boundary funnels using Hershberger and Snoeyink’s homotopic shortest paths algorithm [16]. Future work could attempt to compute these funnels in time instead of time. The geodesic Hausdorff distance for point sets inside a simple polygon can be computed using geodesic Voronoi diagrams. The geodesic Hausdorff distance for line segments can be computed using lower envelopes; future work could speed up this algorithm by developing a geodesic Voronoi diagram for line segments.
References
 [1] P. K. Agarwal and M. Sharir. Davenport–Schinzel sequences and their geometric applications. Technical Report Technical report DUKE–TR–1995–21, 1995.
 [2] P. K. Agarwal and M. Sharir. Efficient algorithms for geometric optimization. ACM Comput. Surv., 30(4):412–458, 1998.
 [3] P. K. Agarwal, M. Sharir, and S. Toledo. Applications of parametric searching in geometric optimization. volume 17, pages 292–318, Duluth, MN, USA, 1994. Academic Press, Inc.
 [4] H. Alt and M. Godau. Computing the Fréchet distance between two polygonal curves. International Journal of Computational Geometry and Applications, 5:75–91, 1995.
 [5] H. Alt, C. Knauer, and C. Wenk. Comparison of distance measures for planar curves. Algorithmica, 38(1):45–58, 2003.
 [6] S. Bespamyatnikh and M. Segal. Selecting distances in arrangements of hyperplanes spanned by points. volume 2, pages 333–345, September 2004.
 [7] K. Buchin, M. Buchin, and C. Wenk. Computing the Fréchet distance between simple polygons in polynomial time. SoCG: 22nd Symposium on Computational Geometry, pages 80–87, 2006.
 [8] E. W. Chambers, É. C. de Verdière, J. Erickson, S. Lazard, F. Lazarus, and S. Thite. Walking your dog in the woods in polynomial time. 17th Fall Workshop on Computational Geometry, 2007.
 [9] R. Cole. Slowing down sorting networks to obtain faster sorting algorithms. J. ACM, 34(1):200–208, 1987.
 [10] A. F. Cook IV and C. Wenk. Geodesic Fréchet and Hausdorff distance inside a simple polygon. Technical Report CSTR2007004, University of Texas at San Antonio, August 2007.
 [11] C. A. Duncan, A. Efrat, S. G. Kobourov, and C. Wenk. Drawing with fat edges. Int. J. Found. Comput. Sci., 17(5):1143–1164, 2006.
 [12] A. Efrat, L. J. Guibas, S. HarPeled, J. S. B. Mitchell, and T. M. Murali. New similarity measures between polylines with applications to morphing and polygon sweeping. Discrete & Computational Geometry, 28(4):535–569, 2002.
 [13] L. J. Guibas and J. Hershberger. Optimal shortest path queries in a simple polygon. J. Comput. Syst. Sci., 39(2):126–152, 1989.
 [14] L. J. Guibas, J. Hershberger, D. Leven, M. Sharir, and R. E. Tarjan. Linear time algorithms for visibility and shortest path problems inside simple polygons. pages 1–13, 1986.
 [15] L. J. Guibas, J. Hershberger, D. Leven, M. Sharir, and R. E. Tarjan. Lineartime algorithms for visibility and shortest path problems inside triangulated simple polygons. Algorithmica, 2:209–233, 1987.
 [16] J. Hershberger. A new data structure for shortest path queries in a simple polygon. Inf. Process. Lett., 38(5):231–235, 1991.
 [17] J. Komlós, Y. Ma, and E. Szemerédi. Matching nuts and bolts in O(n log n) time. SODA: 7th ACMSIAM Symposium on Discrete Algorithms, pages 232–241, 1996.
 [18] A. Maheshwari and J. Yi. On computing Fréchet distance of two paths on a convex polyhedron. EWCG 2005, pages 41–4, 2005.
 [19] J. S. B. Mitchell. Geometric shortest paths and network optimization. Handbook of Computational Geometry, 1998.
 [20] J. S. B. Mitchell, D. M. Mount, and C. H. Papadimitriou. The discrete geodesic problem. SIAM J. Comput., 16(4):647–668, 1987.
 [21] L. Palazzi and J. Snoeyink. Counting and reporting red/blue segment intersections. CVGIP: Graph. Models Image Process., 56(4):304–310, 1994.
 [22] E. Papadopoulou and D. T. Lee. A new approach for the geodesic Voronoi diagram of points in a simple polygon and other restricted polygonal domains. Algorithmica, 20(4):319–352, 1998.
 [23] G. Rote. Computing the Fréchet distance between piecewise smooth curves. Technical Report ECGTR24110801, May 2005.
 [24] N. Sarnak and R. E. Tarjan. Planar point location using persistent search trees. Commun. ACM, 29(7):669–679, 1986.
 [25] R. van Oostrum and R. C. Veltkamp. Parametric search made practical. SoCG: 18th Symposium on Computational Geometry, pages 1–9, 2002.
 [26] C. Wenk, R. Salas, and D. Pfoser. Addressing the need for mapmatching speed: Localizing global curvematching algorithms. 18th Int’l Conf. on Sci. and Statistical Database Mgmt (SSDBM), pages 379–388, 2006.