Faster Fréchet Distance Under Transformations
Abstract
We study the problem of computing the Fréchet distance between two polygonal curves under transformations. First, we consider translations in the Euclidean plane. Given two curves and of total complexity and a threshold , we present an time algorithm to determine whether there exists a translation such that the Fréchet distance between and is at most . This improves on the previous best result, which is an time algorithm.
We then generalize this result to any class of rationally parameterized transformations, which includes translation, rotation, scaling, and arbitrary affine transformations. For a class of rationally parametrized transformations with degrees of freedom, we show that one can determine whether there is a transformation such that the Fréchet distance between and is at most in time.
Keywords and phrases:
Fréchet distance, curve similarity, shape matchingCategory:
Track A: Algorithms, Complexity and GamesFunding:
André Nusser: This work was supported by the French government through the France 2030 investment plan managed by the National Research Agency (ANR), as part of the Initiative of Excellence of Université Côte d’Azur under reference number ANR-15-IDEX-01.Copyright and License:
![[Uncaptioned image]](x1.png)
2012 ACM Subject Classification:
Theory of computation Computational geometryEditors:
Keren Censor-Hillel, Fabrizio Grandoni, Joël Ouaknine, and Gabriele PuppisSeries and Publisher:

1 Introduction
Many applications require determining the similarity of two geometric shapes, disregarding their location or orientation. More specifically, shape matching asks for the distance between two shapes if we allow the shapes to be transformed to minimize their distance [1, 3, 55]. Transformations may include translations, rotations, scaling, or a combination thereof. In this paper, we focus on polygonal curves under the Fréchet distance. Curves occur in many applications and need to be matched whenever they describe a local pattern, for example to recognize handwritten characters [49], trademarks [5], or movement patterns [17, 41, 44]. The Fréchet distance is arguably the most popular distance measure for curves in computational geometry. There has been significant algorithmic progress on the Fréchet distance, for instance, most recently on approximation [31, 52, 53], data structures [6, 12, 18, 27, 37, 38, 43, 42], algorithm engineering [8, 19, 34, 15, 13], simplification [11, 28, 51, 54], clustering [16, 20, 26, 44, 48, 21], Fréchet variants [22, 23, 24, 33, 36, 39, 40], and its complexity in general [10, 25, 30, 29].
The Fréchet distance under translation is defined as the minimum Fréchet distance for any translation of the curves. Computing the Fréchet distance under translations was first studied by Efrat, Indyk and Venkatasubramanian [35] and by Alt, Knauer and Wenk [4, 47, 56]. For two curves of total complexity in , an time algorithm111By we hide (poly-)logarithmic factors in . for the Fréchet distance under translation was presented in [35], and an time algorithm was presented in [4]. Wenk [56] generalized the approach in [4] to higher dimensions and a wide range of other transformations, e.g., for rotations or scalings in 2D in time, or for affine transformations in dimensions in time.
Despite significant algorithmic progress on various aspects of the Fréchet distance, no faster algorithms for computing the (continuous) Fréchet distance under transformations have been developed until now. In contrast, for computing the discrete Fréchet distance under translation, first an -time algorithm [45] was developed, then an -time algorithm [7], and more recently, an -time algorithm [14].
Our Contribution
In this paper, we present the first progress on the Fréchet distance under transformations since its introduction [4, 35, 47, 56]. Similar to the algorithm in [4, 56], our algorithm can be used for a wide range of classes of transformations. Specifically, given two curves and of total complexity and a threshold , we want to determine whether there is a transformation from a given class of transformations, such that the Fréchet distance between and is at most . Our algorithm improves the running time for translations in two dimensions from to .
Theorem 1.
The Fréchet distance under translation in can be decided in time.
More generally, we improve the running time for the various classes of transformations (and dimensions) given by Wenk [56] by roughly a factor of . For example, for rotations or scalings in , our algorithm runs in time and for affine transformations in dimensions in time.
Theorem 2.
The Fréchet distance under transformations rationally represented with degrees of freedom can be decided in time.
We first present our approach for the special case of translations in two dimensions. Then we generalize our approach to other transformations and higher dimensions. Similarly to the approach in [4], we compute an arrangement in the space of transformations, which in the case of 2D translations has complexity . In [4], the Fréchet distance is computed for each face of this arrangement in time per face by using the free-space diagram, which results in an overall running time of . In our approach, we instead traverse the arrangement, making use of the fact that the free-space diagram for adjacent faces in the arrangement is similar. The challenge with using this approach is that it requires a dynamic data structure for maintaining reachability in the free-space diagram. However, already on directed graphs this is a difficult problem that to the best of our knowledge mostly saw progress on planar graphs [32, 46, 50] or more specifically grid graphs [7, 14]. In [14], a data structure with efficient updates and queries for reachability in a dynamic directed grid graph is presented, which is used to give a faster algorithm for the discrete Fréchet distance under translation. However, while the discrete Fréchet distance naturally reduces to a reachability problem on such a grid, this is not the case for the (continuous) Fréchet distance.
To that end, we present a detailed analysis of the changes in the free-space diagram when traversing the arrangement in the space of translations, which we call events (see Section 3). We then show how to construct a (directed) free space graph from the free-space diagram, and analyze how the free-space graph changes for the various types of events. Then, we show how each of these events can be modeled as changes in a suitable grid graph, which allows us to utilize the data structure in [14] to maintain reachability in this graph (see Section 4). The main challenge here is that an event may cause rows or columns in the free-space graph to swap, appear or disappear, which are not operations that can be handled by the previous data structure of [14]. Using our approach, we show how to handle these row or column events using a linear number of updates to the grid graph per event. Finally, we use an amortized analysis to show that each event only requires a constant number of updates to the grid graph per event, since expensive events do not happen too often.
2 Preliminaries
A -dimensional polygonal curve is a piecewise linear curve represented as a continuous mapping from to . For integer , is a vertex, and is a segment.
The Fréchet distance is a popular measure of the similarity between two polygonal curves. An orientation-preserving reparameterization is a continuous and bijective function such that , and . The between two curves and with respect to the reparameterizations and , is defined as follows.
Imagine the scenario where a person is walking their dog with a leash connecting them: the person needs to stay on while walking according to , and the dog needs to stay on while walking according to . The maximum leash length is the width between and with respect to the reparameterizations and . The Fréchet distance is the minimum leash length required over all possible walks (defined by reparameterizations and ).
Problems relating to the Fréchet distance are commonly solved in a configuration space called the free-space diagram. In our problem, we assume for simplicity that both input curves have exactly vertices. The free-space is a collection of points in in the range . A point is in the free-space if the Euclidean norm (distance) between and is at most . As opposed to the free-space, we will call the forbidden space.
The free-space diagram is the partition of the free-space into cells. A cell in contains the free-space in the range . Alt and Godau [2] made the critical observation that the free-space within a cell is an intersection between an ellipse and the square ; hence it is convex with constant description complexity. They also showed that if and only if there is a bi-monotone path in from to through the free-space.
An intersection between the boundaries and is called a critical point. A point is a corner point. We say the line is the free-space diagram boundary defined by (and analogous for ). We say the strip is the th column, and the strip is the th row. We say a critical point is a row (resp. column) critical point if lies on a vertical (resp. horizontal) boundary.
3 From free-space reachability to graph reachability
In this and the next section, we describe our ideas using an intuitive class of transformations: translation in . Specifically, we determine whether there exists a translation vector such that , where and is a unit vector. For this, we first describe how to transform the free-space reachability problem into a graph reachability problem.
Using the free-space diagram , we construct a refined free-space diagram (see Figure 1, left). Let (resp. ) be the vertical (resp. horizontal) boundary of defined by (resp. ). For every critical point on the boundaries, we draw a perpendicular grid line through . Note that by definition, a critical point does not coincide with a corner point of . If lies on the horizontal boundary, is a vertical line; otherwise, is a horizontal line. The refined free-space diagram includes all grid lines, the free-space diagram boundaries, and their intersections. For simplicity, we redefine to denote the refined free-space diagram. Let the intersection between a grid line and a free-space boundary be a propagated critical point.
Using the refined free-space diagram , we construct a refined free-space graph (refined FSG or FSG for short) as follows (see Figure 1, right). For every intersection between a grid line and a free-space boundary, add a boundary vertex. For every intersection between two grid lines, add an interior vertex. For every intersection between two free-space boundaries, add a corner vertex. Note that each vertex in is uniquely defined by an ordered pair , where is vertical and is horizontal; (resp. ) is either a vertex of (resp. ) or a critical point in – let denote such vertex in . Each vertex is assigned a weight that is either 1 or 0. For every vertex , if lies on a boundary of the free-space diagram, we set if lies in the free-space or otherwise. We set the weights of the rest of the vertices, the interior vertices, to . We say a vertex is activated if or deactivated if . We say a vertex (resp. ) lies on the free-space graph boundary defined by (resp. ).
To construct edges, we use the geometric positions of the grid lines and the FSG boundaries. For vertices in defined by every grid line or FSG boundary , add a directed edge to if is immediately below . If and overlap, break ties arbitrarily. Analogously, add a directed edge if is immediately to the left of . A path is an ordered subset of edges where , . We say is a feasible path if , , and for all values of . When and are specified, is a feasible path if uses exclusively activated vertices. We say a FSG is -reachable if there exists a feasible path in from to . The following lemma naturally is derived from the properties of the free-space diagram (see the full version for the proof).
Lemma 3.
The FSG is -reachable if and only if .
Now consider translating along . As translates continuously, the FSG also changes, and we would like to know how these changes affect the -reachability of . To do this, we track the following free-space events. See Figure 2 for visualizations of these row free-space events.
Definition 4.
We define the following row free-space events. Column free-space events are defined analogously.
-
1.
A Vertex-edge (VE) event is defined by a pair , where is either a vertex of or is a row critical point in row .
-
(a)
Entering/leaving event: the corner point enters or leaves the free-space.
-
(b)
Appearing/disappearing event: the grid line appears or disappears as the critical point appears or disappears.
-
(a)
-
2.
A Vertex-vertex-edge (VVE) event is defined by a triplet , where and are row critical points in row .
-
(a)
Overlapping event: two grid lines and overlap.
-
(b)
Separating event: two overlapping grid lines and no longer overlap.
-
(a)
For now, we assume that we are given an ordered set of translations, where , , and . We further assume that is complete, which is defined as follows.
Definition 5.
We say the ordered set of translations is complete if and differ by exactly one free-space event, for all .
Here, denotes the curve obtained by adding the translation vector to . To update the free-space graph to reflect the state of the free-space diagram, we define the following free-space graph operations. Let be the set of vertices defined by , and let denote the th vertex, where .
Definition 6.
We define the following free-space graph operations.
-
Vertex operation: either activate or deactivate a vertex of .
-
Row operation: either insert or delete a row of . Column operations are defined analogously.
-
–
To insert a row of vertices between adjacent rows and , add a vertex for every , where is either a critical point on a horizontal FSG boundary or a vertex of . For every ,
-
1.
remove the edge ,
-
2.
add horizontal edge , and
-
3.
add vertical edges and .
-
1.
-
–
To remove the row of vertices, remove and their adjacent edges. For every , add edges .
-
–
We show that we can update the FSG to using a constant number of free-space graph operations, plus processing time. For these updates, we will distinguish between a corner vertex operation and a boundary vertex operation. We use corner vertex operations to handle VE event updates, and boundary vertex operations to handle VVE event updates.
Lemma 7.
Let . Given , to compute , it takes
-
time and corner vertex operations if is an entering/leaving event,
-
time and boundary vertex operations if is an overlapping or separating event,
-
time plus row operations if is an appearing/disappearing event.
Proof.
If is an entering/leaving event, we simply set the weight of the respective corner vertex to either 1 or 0. If is a VVE event defined by , let and lie on the th and th free-space boundary, respectively. Observe that when a VVE event occurs, among all vertices partly defined by or , only the weights of vertices , , , and change. It is sufficient to spend time to determine and update their weights, by computing cells and from scratch.
If is an appearing/disappearing event in the th row, it takes linear time to recompute the row critical points in this row. Then, it takes linear time to compute the grid lines and that lie between by recomputing the cells in the th row. Once and is identified, it takes exactly one row insertions or deletions to update to . Therefore, it takes time plus a constant number of row operations.
Using a naive implementation, in the worst case, a row operation can take time since there are vertical grid lines. Determining -reachability takes time, since there are vertices in the FSG. Hence, using the FSG directly would not result in a faster algorithm. In the next section, we fix these issues by defining an “equivalent” grid graph in which updates and queries can be done more efficiently than the naive implementation.
4 From free-space graph reachability to grid graph reachability
In this section, using the refined FSG , we define a grid graph . We then show that is -reachable if and only if is -reachable. An advantage of the newly defined grid graph is that its number of vertices does not change under updates. We show that the structural changes implied by the FSG operations can be simulated by simply modifying the weights in the grid graph, without needing to add or remove vertices. These features of the grid graph allow us to use the offline dynamic grid reachability result in [14] to obtain a faster update and query time.
The grid graph contains all vertices of the free-space graph . In addition to the free-space graph , we add a set of placeholder vertices to the grid graph so as to maintain the same number of vertices in the grid graph under updates. Refer to Figure 3 for an illustration. We define the placeholder vertices. Let (resp. be the number of row critical points in the th row (resp. column) of . We define a family of ordered sets of row placeholder points. Each set contains exactly points, and let denote the th point for . The family of ordered sets of column placeholder points are analogously defined. For a row (resp. column) placeholder point , the placeholder line is horizontal (resp. vertical). Note that the placeholder points and lines are abstractly defined as they do not exist in .
Finally, define to be a placeholder vertex if is either a vertex of , a critical point, or a placeholder point, and is also either a vertex of , a critical point, or a placeholder point. Add the placeholder vertex to . The weight of a placeholder vertex on a boundary matches the weight of the adjacent corner vertex either directly above or to its right. Specifically, for every in every and every point in the union of the vertices of and row critical points, we set if , otherwise we set . Analogously, for every , we set if . Otherwise, we set . This completes the definition of placeholder vertices.
To define the edges in , we define the ordering of the placeholder lines among the grid lines and the free-space boundaries. The lowest placeholder line lies above all grid lines , where is a row critical point on the th row. The placeholder line is above . The free-space boundary is above the highest placeholder line . The ordering involving vertical placeholder lines is analogously defined. The set of placeholder lines defined by are between and the rightmost grid line in the th column.
For vertices in defined by , add a directed edge to if is immediately below and add a directed edge to if is immediately to the left of . If and overlap, then break ties using the same ordering as in . Add additional diagonal directed edge if is immediately to the left of and is immediately below . Note that a vertex defined by two placeholder points is simultaneously a placeholder vertex as well as an interior vertex.
Next, we check that our construction fits the grid graph definition of [14]. An grid graph consists of vertices numbered from to and edges from vertex to each of vertices , , and , where the weight of a vertex is either or . By construction, every of rows in contains exactly critical points and placeholder points combined. Together with horizontal boundaries, there are horizontal lines. For the same reasons, there are vertical lines. Clearly, is an grid graph.
Before proving that and are equivalent in terms of -reachability, we first show that a feasible path has several desired properties. Recall from Section 3 that a feasible path is bi-monotone and only passes through activated vertices. By the monotonicity of a feasible path and the convexity of the free-space in a cell, we observe the following (see the full version for the proof).
Observation 8.
Let be a feasible path in . If contains a corner vertex , then let and be the first grid lines that are not placeholder lines to the left and right of , respectively. Similarly, let and be the first grid line above and below respectively. Then, we have either or . Analogously, we have either or .
Due to the properties of , a diagonal edge in a path can be replaced by using the rectilinear edges in the same “cube”. Furthermore, if the final vertex of a subpath is a placeholder vertex, we can transform such that it ends at a non-placeholder vertex. We have the following lemma.
Lemma 9.
If there is a feasible path in a grid graph , there is a feasible path in with the following properties.
-
1.
does not contain diagonal edges.
-
2.
For every , the first vertex of partly defined by is not a placeholder vertex.
Proof.
We first replace the diagonal edges in . Consider a diagonal edge in the “cube”, where and are the vertical edges, and and are horizontal edges. Observe that by construction, either both and lie on the boundaries, or at least one of them is an interior vertex. If both and lie on the boundaries, either or must be activated, since the opposite would contradict either Observation 8 or the convexity of the free-space in a cell.
If is an interior vertex, we consider the following cases. If is also an interior vertex, then so are and with weight 1, and we replace with and . If is a boundary vertex, then either or is an interior vertex, and we replace with either and or and . The more interesting case is when is a corner vertex. In this case, , and by construction, . We replace with and .
If is an interior vertex, we use similar case distinctions. If is an interior vertex, must also be an interior vertex. If is a boundary vertex lying on the left (resp. bottom) boundary, then (resp. ) is an interior vertex. The more interesting case is where is a corner vertex. In this case, both and are boundary vertices. By Observation 8, at least one of them (say ) has weight , and we replace with and .
With containing exclusively rectilinear edges, we partition into subpaths lying on different rows (see Figure 4). Specifically, let be the subpath containing the first vertex defined by and the first vertex defined by . We first transform to guarantee that is not defined by a placeholder point. Let , and note that . Let be immediately to the left of . By Observation 8, . Combining this argument with the fact that all interior vertices have weight and the rectilinearity of , we can transform to end at , and to start at . Since the first vertex and the final vertex of are not defined by a placeholder vertex, once we apply the transformation above, the first vertex of every subpath is not defined by a placeholder vertex. The proof is complete.
We next observe that if there is a path in that does not use a placeholder vertex, the path also exists in . Indeed, excluding the placeholder lines, and use the same set of grid lines and FSG boundaries, and the same ordering.
Observation 10.
If there is a path in such that does not use any placeholder vertices or diagonal edges, then also exists in .
To demonstrate that and are equivalent with respect to -reachability, we first note that any feasible path in corresponds to a feasible path in . Specifically, given a subpath that traverses the “strip” defined by a single set of placeholder points, we can always construct a corresponding subpath such that starts and ends at the same vertices as . We have Lemma 11 and 12.
Lemma 11.
Let be a path in . Let start at a non-placeholder vertex . Let be the last edge of , where . There exists a path from to in .
Proof.
Let be the subpaths of generated by removing all placeholder vertices from (see Figure 5). For , let be a path starting from and ending at . By Observation 10, the path also exists in . Since the placeholder vertices are removed, every or is either a boundary vertex or an interior vertex. Since the interior vertices have weight , a path from to exists in . We set to complete the proof.
Lemma 12.
Let be a path in . Let be the first edge of , and let ends at a non-placeholder vertex . There exists a path from to in .
Proof.
If does not contain a vertex defined by any vertical boundary, then the lemma trivially holds as the interior vertices have weight . Otherwise, contains a set of vertices defined by in increasing order of indices. By Observation 8 and convexity of the free-space in a cell, there is a path in from to , and a path from to .
Since uses only activated vertices, for every , for some . By construction of , is activated if and only if is activated, whose weight must also be . By the convexity of the free-space within a cell, since and are activated, for every lying between and , the vertex is activated. Therefore, , there is a path from to using activated vertices. We set to complete the proof.
We are finally ready to show that and are equivalent in terms of -reachability.
Lemma 13.
There exists a feasible path in the free-space graph if and only if there exists a feasible path in the grid graph .
Proof.
First, we observe that if there is a feasible path , then there is a feasible path . Consider a partition of into subpaths lying in different cells of the free-space diagram. Let the subpath start from the vertex to the vertex , where lies on the bottom or left boundary of , and lies on the top or right boundary of . Since the interior vertices have weight 1, and a diagonal edge can be used if is a corner vertex, there is a path from to using activated vertices.
Second, we show that if there is a feasible path , then there is a feasible path . We use an analogous argument where we construct a feasible path using subpaths in . By Lemma 9, we know that uses exclusively rectilinear edges. Furthermore, by the same Lemma 9, can be partitioned into subpaths such that , starts at a non-placeholder vertex , and ends at another non-placeholder vertex . We partition using its first edge , where vertex is partly defined by a placeholder point . By Lemma 11, there is a path in from to . By Lemma 12, there is a path in from to . We set and to complete the proof.
Now, we show that free-space graph operations can be implemented in the grid graph efficiently. Recall from Lemmas 6 and 7 that corner vertex operations activate or deactivate a vertex of given an entering or leaving event, boundary vertex operations activate or deactivate a vertex of given an overlapping or separating event, and row operations insert or delete a row of given an appearing or disappearing event.
Lemma 14.
Let be the associated grid graph of the free-space graph . Let be a free-space graph operation that updates to . To update to , it is sufficient to update the weights of at most:
-
vertices if is a corner vertex operation,
-
vertices if is a boundary vertex operation, or
-
vertices if is a row operation.
Proof.
If is a corner vertex operation activating a corner vertex , we activate in . Then, we activate for every , and activate for every . Since there are at most a linear number of placeholder points defined per row and column, this operation requires us to change the weights of vertices in . If activates a boundary vertex , we simply activate in . If deactivates a vertex, we use analogous procedure.
If is a boundary vertex operation, to insert a row of vertices while maintain the properties of the grid graph, we take advantage of the fact that the intersection between the free-space and a cell boundary is a single interval. Specifically, to insert of vertices below and above in row , let the critical point lie on the th vertical boundary. For , if , then set . For every other value of , set , if the weights of both and are 1. Otherwise, set . Reduce the size of by one by removing .
We prove the correctness of the boundary vertex operation by showing that this insertion process maintains the properties of the grid graph. First, the total number of row critical points plus the placeholder points stays the same. Second, it is sufficient to determine the weight of by checking the weights of and . Both intersections and need to lie in the free-space for to lie in the free-space, since the opposite suggests that there is a grid line between and , contradicting the assumption that and are adjacent.
If is a row operation, to delete lying in the th row, let be the first grid line below . For all , set . Insert a new placeholder point at the beginning of by setting . This process also maintains the properties of the grid graph. Column operations uses analogous arguments.
Given and event , we can now transform to . Specifically, in Lemma 7, we have shown that if is a VE event, it takes time plus corner vertex operations or row operations. If is a VVE event, it takes time plus boundary vertex operations. By combining Lemma 7 and Lemma 14, we can bound the number of vertex weight changes for each free-space event type.
Lemma 15.
Given and the next event , to compute , it takes
-
vertex weight changes if is a VE event, or
-
vertex weight changes if is a VVE event.
We can now summarize Sections 3 and 4 and state the main lemma of this section. In Lemma 3, we have shown that the Fréchet distance is at most if and only if the refined free-space graph is -reachable. In Section 4, for each , we have defined an associate grid graph . In Lemma 13, we have shown that is -reachable if and only if is -reachable. Combining the above with Lemma 15, we have the following.
Lemma 16.
Let be a complete set of free-space events containing exclusively VVE events and VE events. Let , and let (resp. ) be the time complexity to update (resp. query -reachability) in an grid graph. It takes
time to determine if there exists such that .
Using the results by Alt, Knauer and Wenk [4], we can build an arrangement in the translation space. Using this arrangement, we can compute a set of complete events (translations) containing exclusively VVE events and VE events. They have shown that it is sufficient to consider only translations in to determine if there is a translation such that .
To obtain fast updates and queries in the grid graph, we use the offline dynamic grid reachability result of Bringmann, Künnemann and Nusser [14]. The problem is defined as follows. We start from a directed -grid graph, and we are given a set of updates such that each update is to either activate or deactivate a vertex. For , the goal is to compute after each update whether there is a feasible path from vertex to . Their result is as follows.
Fact 17 ([14, Theorem 3.4]).
Offline dynamic grid reachability can be solved in time .
We analyze the running time. In total, we require vertex updates for , and we can update a vertex and perform -reachability queries in amortized time. Plugging these running times into Lemma 16 we obtain the following theorem.
See 1
5 Fréchet distance under transformation
In this section, we consider a class of transformations that is rationally parameterized or rationally represented with degrees of freedom as defined by Wenk [56]. The set of rationally parameterized transformations is a subset of affine transformations, and an affine transformation is composed of a linear transformation and a translation. In the definition below, the pair represents the affine transformation obtained by composing a linear transformation , given as a matrix, and a translation , given as a -dimensional vector.
Definition 18 ([56, Definition 25]).
Let , and let be polynomials of constant degree in variables, such that for all and for all . Let for all , such that for all . If
then we call rationally parameterized or rationally represented with degrees of freedom (dof). is called the parameter space of .
Let be the parameter space of . For , let denote the transformation defined by the -tuple of parameters. Let and be two -dimensional polygonal curves. Let be the resulting curve by applying the transformation to .
In , a vertex-vertex-edge (VVE) critical transformation is the union of every point such that the segment lies on the intersection of the boundary of the -spheres centered at and , respectively, and it is formally defined as follows.
Analogously, a vertex-edge (VE) critical transformation is the union of every point such that the segment lie on the boundary of the -ball centered at , and it is formally defined as follows.
Every critical transformation is a semi-algebraic set in . Using VVE critical transformations and VE critical transformations, Wenk [56, Proof of Theorem 8] showed that they can build an arrangement in , in time and using space. Furthermore, contains at most -dimensional faces for . Let be the transformation that is represented by an arbitrary parameter . In [56, Lemma 24], Wenk showed that if there exists some transformation such that , then there exists some -dimensional face such that for any , . Their results are summarized as follows.
Fact 19.
Given a pair of polygonal curves and , a real number , and a class of transformations that is rationally represented with degrees of freedom, one can build an arrangement using at most VVE critical transformations and VE critical transformations. The arrangement has in total complexity, and it can be constructed in time using space. To determine if there exists a transformation such that , it is sufficient to check exactly one transformation for every -dimensional face , where .
Once the arrangement is constructed, the remainder of the previous algorithm in Wenk [56] is straightforward. For every face , sample a point , and determine if using classic algorithms (Alt and Godau [2] for example). In total, this takes time.
To obtain a running time improvement, we use a similar approach to previous sections. We generate a complete set of events as follows. Initialize an empty graph . For every face , add a vertex to . For every two adjacent faces and , add an edge to . For each vertex , record a transformation . Next, we compute a complete set of events using . Initialize an empty set of events . Then, use a DFS to compute a spanning tree of , and perform a Euler tour over the spanning tree starting from an arbitrary vertex. For each directed edge in the tour, we add an event only if we enter or leave a critical transformation. More specifically, let be the set of critical transformations adjacent to face . If , we say traverses into the critical transformation via . If , we say traverses out of the critical transformation via .
Let be the -sphere of radius centered at . Depending on the cases where traverse into or out of a VVE or VE critical transformation, we add the respective free-space events defined in Definition 4.
-
1.
If is a VVE critical transformation , we compute and , and append an event defined by to . If traverses into , is an overlapping event. If traverses out of , is a separating event.
-
2.
If is a VE critical transformation , we compute , and we append an event represented by to . If traverses into , is an entering event if , or an appearing event if . Analogously, if traverses out of , is a leaving event if , or a disappearing event if .
We say an event is associated with the critical transformation and the edge , if is computed from an edge traversing into or out of . We show that has two desired properties.
Lemma 20.
Given the arrangement , one can compute a complete set of free-space events in time with the following properties.
-
1.
Every face in is associated with at least one event in .
-
2.
For each event associated with edge , and differ by exactly one free-space event.
Proof.
Note that is connected and contains a vertex for every face . The Euler tour that we constructed over visits every vertex of , and hence every face of , at least once. Moreover, note that a pair of adjacent faces in is separated by exactly one critical arrangement, which we recall is a semi-algebraic set in . Therefore, any edge in the Euler tour traverses exactly one critical transformation, that is, the transformation associated with the critical arrangement separating the adjacent faces and .
We next argue that the free-space graph does not change unless a free-space event occurs. It is clear that unless an appearing or disappearing event occurs, neither the vertices nor the edges in a free-space graph change. What remains is to argue that the vertex weights do not change unless an event occurs. More specifically, unless a free-space event occurs, no intersection enter or leave the free-space.
For the sake of contradiction, say that either enters or leaves the free-space and a free-space event does not occur. Clearly, cannot be a corner vertex, as the weight change is explicitly captured by the entering/leaving event. cannot be an interior vertex, as every interior vertex has weight regardless.
Therefore, is a boundary vertex and is a critical point. Without loss of generality, let be a vertex of . If enters the free-space, must coincide with a critical point , so grid lines and overlap. If leaves the free-space, must first coincide with (again say) , so the grid lines and separate. In both cases, either an overlapping event occurs or a separating event occurs, contradicting the assumption.
Let (resp. ) be a critical point on the th (resp. th) free-space boundary. We next argue that no free-space event occurs unless we traverse into or out of a critical transformation. This is true by the definition. An entering/appearing (resp. leaving/disappearing) event defined by occurs only when the associated edge traverses into (resp. out of) the critical transformation . An overlapping (resp. separating) event defined by occurs only when traverses into (resp. out of) the critical transformation .
Observe that exactly one free-space event occurs every time we traverse into or out of a critical transformation, which is captured by the Euler tour. Therefore, every face is associated with at least one event in , and for every edge associated with an event , and differ by exactly one event.
We also observe that fewer faces are adjacent to VE critical transformations than to VVE critical transformations (see the full version for the proof).
Observation 21.
In the arrangement , there are at most faces adjacent to VVE critical transformations, and faces adjacent to VE critical transformations.
We are now ready to put the pieces together to obtain a faster algorithm for computing the Fréchet distance under rationally parameterized transformations. Given a real number , a class of transformations rationally represented with degrees of freedom, and a pair of polygonal curves and , each with vertices, it was shown in Wenk [56] that it is sufficient to construct an arrangement in the parameter space and sample a transformation from each face. In Lemma 20, we showed that we can traverse this arrangement and generate a complete set of free-space events in time. Our results in Section 3 and 4 for handling free-space events under translations also extend to handling free-space events under rationally parameterized transformations, and therefore we can plug in the number of updates to Lemma 16. Our algorithm takes time, where is the time complexity to update a vertex and is the time complexity to query -reachability in an -grid graph. For a fast query time , we again use the result of Bringmann, Künnemann and Nusser [14], which we restate for convenience.
Fact 22 ([14, Theorem 3.4], restate of Fact 17).
Offline dynamic grid reachability can be solved in time .
By Fact 22, takes amortized time. For classes of rationally parameterized transformations with at least one degree of freedom, we state our final result.
See 2
6 Conclusion
Our algorithm provides the first progress in over 20 years for computing the (continuous) Fréchet distance under transformations. The running time comes from traversing an arrangement in the space of transformations, performing an update to a dynamic grid graph data structure in each step.
We conclude with open questions. Can the update time be reduced? Improving the update time for the data structure of [14] would directly improve our running time. But it may also be possible to tailor the data structure for our setting. For instance, we could prune the lower levels of the data structure, since reachability in the inside of free space cells does not carry any information.
Can we prove a non-trivial conditional lower bound for computing the Fréchet distance under translations? The complexity of the arrangement, , would seem like a natural lower bound. However, even transferring the conditional lower bound for the discrete Fréchet distance under translation [14] to the (continuous) Fréchet distance seems difficult, since the lower bound construction crucially relies on the fact that the discrete Fréchet traversal can only stay on the vertices and not on the edges.
References
- [1] Helmut Alt. The computational geometry of comparing shapes. In Susanne Albers, Helmut Alt, and Stefan Näher, editors, Efficient Algorithms, Essays Dedicated to Kurt Mehlhorn on the Occasion of His 60th Birthday, volume 5760 of Lecture Notes in Computer Science, pages 235–248. Springer, 2009. doi:10.1007/978-3-642-03456-5_16.
- [2] Helmut Alt and Michael Godau. Computing the Fréchet distance between two polygonal curves. International Journal of Computational Geometry & Applications, 05:75–91, 1995. doi:10.1142/S0218195995000064.
- [3] Helmut Alt and Leonidas J. Guibas. Discrete geometric shapes: Matching, interpolation, and approximation. In Jörg-Rüdiger Sack and Jorge Urrutia, editors, Handbook of Computational Geometry, chapter 3, pages 121–153. North Holland / Elsevier, 2000. doi:10.1016/B978-044482537-7/50004-8.
- [4] Helmut Alt, Christian Knauer, and Carola Wenk. Matching polygonal curves with respect to the Fréchet distance. In Proc. 18th Annual Symposium on Theoretical Aspects of Computer Science (STACS), pages 63–74. Springer, 2001. doi:10.1007/3-540-44693-1_6.
- [5] Helmut Alt, Ludmila Scharf, and Sven Scholz. Probabilistic matching and resemblance evaluation of shapes in trademark images. In Proc. 6th ACM International Conference on Image and Video Retrieval (CIVR), pages 533–540. ACM, 2007. doi:10.1145/1282280.1282357.
- [6] Boris Aronov, Tsuri Farhana, Matthew J. Katz, and Indu Ramesh. Discrete Fréchet distance oracles. In Proc. 40th International Symposium on Computational Geometry (SoCG), volume 293 of LIPIcs, pages 10:1–10:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPICS.SOCG.2024.10.
- [7] Rinat Ben Avraham, Haim Kaplan, and Micha Sharir. A faster algorithm for the discrete Fréchet distance under translation. CoRR, abs/1501.03724, 2015. arXiv:1501.03724.
- [8] Julian Baldus and Karl Bringmann. A fast implementation of near neighbors queries for Fréchet distance (GIS Cup). In Proceedings of the 25th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, SIGSPATIAL’17, pages 99:1–99:4, New York, NY, USA, 2017. ACM. doi:10.1145/3139958.3140062.
- [9] Lotte Blank, Jacobus Conradi, Anne Driemel, Benedikt Kolbe, André Nusser, and Marena Richter. Transforming dogs on the line: On the Fréchet distance under translation or scaling in 1D. In Proceedings of the 41st International Symposium on Computational Geometry (SoCG), 2025. arXiv:2501.12821. doi:10.48550/arXiv.2501.12821.
- [10] Lotte Blank and Anne Driemel. A faster algorithm for the Fréchet distance in 1d for the imbalanced case. In Proc. 32nd Annual European Symposium on Algorithms (ESA), volume 308 of LIPIcs, pages 28:1–28:15. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPICS.ESA.2024.28.
- [11] Karl Bringmann and Bhaskar Ray Chaudhury. Polyline simplification has cubic complexity. J. Comput. Geom., 11(2):94–130, 2020. doi:10.20382/JOCG.V11I2A5.
- [12] Karl Bringmann, Anne Driemel, André Nusser, and Ioannis Psarros. Tight bounds for approximate near neighbor searching for time series under the Fréchet distance. In Proc. ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 517–550. SIAM, 2022. doi:10.1137/1.9781611977073.25.
- [13] Karl Bringmann, Marvin Künnemann, and André Nusser. When lipschitz walks your dog: Algorithm engineering of the discrete fréchet distance under translation. In Fabrizio Grandoni, Grzegorz Herman, and Peter Sanders, editors, 28th Annual European Symposium on Algorithms, ESA 2020, September 7-9, 2020, Pisa, Italy (Virtual Conference), volume 173 of LIPIcs, pages 25:1–25:17. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2020. doi:10.4230/LIPICS.ESA.2020.25.
- [14] Karl Bringmann, Marvin Künnemann, and André Nusser. Discrete Fréchet distance under translation: Conditional hardness and an improved algorithm. ACM Trans. Algorithms, 17(3):25:1–25:42, 2021. doi:10.1145/3460656.
- [15] Karl Bringmann, Marvin Künnemann, and André Nusser. Walking the dog fast in practice: Algorithm engineering of the fréchet distance. J. Comput. Geom., 12(1):70–108, 2021. doi:10.20382/JOCG.V12I1A4.
- [16] Frederik Brüning, Jacobus Conradi, and Anne Driemel. Faster approximate covering of subcurves under the Fréchet distance. In Proc. 30th Annual European Symposium on Algorithms (ESA), volume 244 of LIPIcs, pages 28:1–28:16. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2022. doi:10.4230/LIPICS.ESA.2022.28.
- [17] Kevin Buchin, Maike Buchin, Joachim Gudmundsson, Maarten Löffler, and Jun Luo. Detecting commuting patterns by clustering subtrajectories. International Journal of Computational Geometry & Applications, 21(03):253–282, June 2011. doi:10.1142/S0218195911003652.
- [18] Kevin Buchin, Maike Buchin, Joachim Gudmundsson, Aleksandr Popov, and Sampson Wong. Map-matching queries under Fréchet distance on low-density spanners. In Proc. 40th International Symposium on Computational Geometry (SoCG), volume 293 of LIPIcs, pages 27:1–27:15. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPICS.SOCG.2024.27.
- [19] Kevin Buchin, Yago Diez, Tom van Diggelen, and Wouter Meulemans. Efficient trajectory queries under the Fréchet distance (GIS Cup). In Proceedings of the 25th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, SIGSPATIAL’17, pages 101:1–101:4, New York, NY, USA, 2017. ACM. doi:10.1145/3139958.3140064.
- [20] Kevin Buchin, Anne Driemel, Joachim Gudmundsson, Michael Horton, Irina Kostitsyna, Maarten Löffler, and Martijn Struijs. Approximating -center clustering for curves. In Proc. 30th ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 2922–2938. SIAM, 2019. doi:10.1137/1.9781611975482.181.
- [21] Kevin Buchin, Anne Driemel, Natasja van de L’Isle, and André Nusser. klcluster: Center-based clustering of trajectories. In Farnoush Banaei Kashani, Goce Trajcevski, Ralf Hartmut Güting, Lars Kulik, and Shawn D. Newsam, editors, Proceedings of the 27th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, SIGSPATIAL 2019, Chicago, IL, USA, November 5-8, 2019, pages 496–499. ACM, 2019. doi:10.1145/3347146.3359111.
- [22] Kevin Buchin, Chenglin Fan, Maarten Löffler, Aleksandr Popov, Benjamin Raichel, and Marcel Roeloffzen. Fréchet distance for uncertain curves. ACM Trans. Algorithms, 19(3):29:1–29:47, 2023. doi:10.1145/3597640.
- [23] Kevin Buchin, Brittany Terese Fasy, Erfan Hosseini Sereshgi, and Carola Wenk. On length-sensitive Fréchet similarity. In Proc. 18th International Symposium on Algorithms and Data Structures (WADS), volume 14079 of Lecture Notes in Computer Science, pages 208–231. Springer, 2023. doi:10.1007/978-3-031-38906-1_15.
- [24] Kevin Buchin, Maarten Löffler, Tim Ophelders, Aleksandr Popov, Jérôme Urhausen, and Kevin Verbeek. Computing the Fréchet distance between uncertain curves in one dimension. Comput. Geom., 109:101923, 2023. doi:10.1016/J.COMGEO.2022.101923.
- [25] Kevin Buchin, Tim Ophelders, and Bettina Speckmann. SETH says: Weak Fréchet distance is faster, but only if it is continuous and in one dimension. In Proc. 30th ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 2887–2901. SIAM, 2019. doi:10.1137/1.9781611975482.179.
- [26] Maike Buchin, Anne Driemel, and Dennis Rohde. Approximating -median clustering for polygonal curves. ACM Trans. Algorithms, 19(1):4:1–4:32, 2023. doi:10.1145/3559764.
- [27] Maike Buchin, Ivor van der Hoog, Tim Ophelders, Lena Schlipf, Rodrigo I. Silveira, and Frank Staals. Efficient Fréchet distance queries for segments. In Proc. 30th Annual European Symposium on Algorithms (ESA), volume 244 of LIPIcs, pages 29:1–29:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2022. doi:10.4230/LIPICS.ESA.2022.29.
- [28] Siu-Wing Cheng and Haoqiang Huang. Curve simplification and clustering under Fréchet distance. In Proc. ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 1414–1432. SIAM, 2023. doi:10.1137/1.9781611977554.CH51.
- [29] Siu-Wing Cheng and Haoqiang Huang. Fréchet distance in subquadratic time. CoRR, abs/2407.05231, 2024. To appear at SODA 2025. doi:10.48550/arXiv.2407.05231.
- [30] Siu-Wing Cheng and Haoqiang Huang. Solving Fréchet distance problems by algebraic geometric methods. In Proc. ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 4502–4513. SIAM, 2024. doi:10.1137/1.9781611977912.158.
- [31] Connor Colombe and Kyle Fox. Approximating the (continuous) Fréchet distance. In Proc. 37th International Symposium on Computational Geometry (SoCG), volume 189 of LIPIcs, pages 26:1–26:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2021. doi:10.4230/LIPICS.SOCG.2021.26.
- [32] Krzysztof Diks and Piotr Sankowski. Dynamic plane transitive closure. In Lars Arge, Michael Hoffmann, and Emo Welzl, editors, Algorithms - ESA 2007, 15th Annual European Symposium, Eilat, Israel, October 8-10, 2007, Proceedings, volume 4698 of Lecture Notes in Computer Science, pages 594–604. Springer, 2007. doi:10.1007/978-3-540-75520-3_53.
- [33] Anne Driemel, Ivor van der Hoog, and Eva Rotenberg. On the discrete Fréchet distance in a graph. In Proc. 38th International Symposium on Computational Geometry, (SoCG), volume 224 of LIPIcs, pages 36:1–36:18. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2022. doi:10.4230/LIPICS.SOCG.2022.36.
- [34] Fabian Dütsch and Jan Vahrenhold. A filter-and-refinement-algorithm for range queries based on the Fréchet distance (GIS Cup). In Proceedings of the 25th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, SIGSPATIAL’17, pages 100:1–100:4, New York, NY, USA, 2017. ACM. doi:10.1145/3139958.3140063.
- [35] Alon Efrat, Piotr Indyk, and Suresh Venkatasubramanian. Pattern matching for sets of segments. Algorithmica, 40(3):147–160, 2004. doi:10.1007/S00453-004-1089-Y.
- [36] Chenglin Fan and Benjamin Raichel. Computing the Fréchet gap distance. Discrete & Computational Geometry, 65(4):1244–1274, June 2021. doi:10.1007/s00454-020-00224-w.
- [37] Arnold Filtser and Omrit Filtser. Static and streaming data structures for Fréchet distance queries. ACM Trans. Algorithms, 19(4):39:1–39:36, 2023. doi:10.1145/3610227.
- [38] Arnold Filtser, Omrit Filtser, and Matthew J. Katz. Approximate nearest neighbor for curves: Simple, efficient, and deterministic. Algorithmica, 85(5):1490–1519, 2023. doi:10.1007/S00453-022-01080-1.
- [39] Omrit Filtser, Mayank Goswami, Joseph S. B. Mitchell, and Valentin Polishchuk. On flipping the Fréchet distance. In Proc. 14th Innovations in Theoretical Computer Science Conference (ITCS), volume 251 of LIPIcs, pages 51:1–51:22. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2023. doi:10.4230/LIPICS.ITCS.2023.51.
- [40] Emily Fox, Amir Nayyeri, Jonathan James Perry, and Benjamin Raichel. Fréchet edit distance. In Proc. 40th International Symposium on Computational Geometry (SoCG), volume 293 of LIPIcs, pages 58:1–58:15. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPICS.SOCG.2024.58.
- [41] Joachim Gudmundsson, Zijin Huang, André van Renssen, and Sampson Wong. Computing a Subtrajectory Cluster from c-Packed Trajectories. In Satoru Iwata and Naonori Kakimura, editors, 34th International Symposium on Algorithms and Computation (ISAAC 2023), volume 283 of Leibniz International Proceedings in Informatics (LIPIcs), pages 34:1–34:15, Dagstuhl, Germany, 2023. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.ISAAC.2023.34.
- [42] Joachim Gudmundsson, Martin P. Seybold, and Sampson Wong. Map matching queries on realistic input graphs under the Fréchet distance. In Proc. 2023 ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 1464–1492. SIAM, 2023. doi:10.1137/1.9781611977554.CH53.
- [43] Joachim Gudmundsson, André van Renssen, Zeinab Saeidi, and Sampson Wong. Translation invariant Fréchet distance queries. Algorithmica, 83(11):3514–3533, 2021. doi:10.1007/S00453-021-00865-0.
- [44] Joachim Gudmundsson and Sampson Wong. Cubic upper and lower bounds for subtrajectory clustering under the continuous Fréchet distance. In Proc. ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 173–189. SIAM, 2022. doi:10.1137/1.9781611977073.9.
- [45] Minghui Jiang, Ying Xu, and Binhai Zhu. Protein structure-structure alignment with discrete Fréchet distance. In Proc. 5th Asia-Pacific Bioinformatics Conference (APBC), volume 5 of Advances in Bioinformatics and Computational Biology, pages 131–141. Imperial College Press, 2007. URL: http://www.comp.nus.edu.sg/%7Ewongls/psZ/apbc2007/apbc162a.pdf.
- [46] Adam Karczmarz and Marcin Smulewicz. Fully Dynamic Strongly Connected Components in Planar Digraphs. In Karl Bringmann, Martin Grohe, Gabriele Puppis, and Ola Svensson, editors, 51st International Colloquium on Automata, Languages, and Programming (ICALP 2024), volume 297 of Leibniz International Proceedings in Informatics (LIPIcs), pages 95:1–95:20, Dagstuhl, Germany, 2024. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.ICALP.2024.95.
- [47] Christian Knauer. Algorithms for Comparing Geometric Patterns. PhD thesis, Free University Berlin, 2002. doi:10.17169/refubium-16312.
- [48] Abhinandan Nath and Erin Taylor. k-median clustering under discrete Fréchet and hausdorff distances. In Proc. 36th International Symposium on Computational Geometry (SoCG), volume 164 of LIPIcs, pages 58:1–58:15. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2020. doi:10.4230/LIPICS.SOCG.2020.58.
- [49] E. Sriraghavendra, K. Karthik, and Chiranjib Bhattacharyya. Fréchet distance based approach for searching online handwritten documents. In Proc. 9th International Conference on Document Analysis and Recognition (ICDAR), pages 461–465. IEEE Computer Society, 2007. doi:10.1109/ICDAR.2007.4378752.
- [50] Sairam Subramanian. A fully dynamic data structure for reachability in planar digraphs. In Thomas Lengauer, editor, Algorithms - ESA ’93, First Annual European Symposium, Bad Honnef, Germany, September 30 - October 2, 1993, Proceedings, volume 726 of Lecture Notes in Computer Science, pages 372–383. Springer, 1993. doi:10.1007/3-540-57273-2_72.
- [51] Mees van de Kerkhof, Irina Kostitsyna, Maarten Löffler, Majid Mirzanezhad, and Carola Wenk. Global curve simplification. In Proc. 27th Annual European Symposium on Algorithms (ESA), volume 144 of LIPIcs, pages 67:1–67:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2019. doi:10.4230/LIPICS.ESA.2019.67.
- [52] Thijs van der Horst and Tim Ophelders. Faster Fréchet distance approximation through truncated smoothing. In Proc. 40th International Symposium on Computational Geometry (SoCG), volume 293 of LIPIcs, pages 63:1–63:15. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPICS.SOCG.2024.63.
- [53] Thijs van der Horst, Marc J. van Kreveld, Tim Ophelders, and Bettina Speckmann. A subquadratic n-approximation for the continuous Fréchet distance. In Proc. ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 1759–1776. SIAM, 2023. doi:10.1137/1.9781611977554.CH67.
- [54] Marc J. van Kreveld, Maarten Löffler, and Lionov Wiratma. On optimal polyline simplification using the Hausdorff and Fréchet distance. J. Comput. Geom., 11(1):1–25, 2020. doi:10.20382/JOCG.V11I1A1.
- [55] Remco C. Veltkamp. Shape matching: Similarity measures and algorithms. In Proc. International Conference on Shape Modeling and Applications (SMI), page 188. IEEE Computer Society, 2001. doi:10.1109/SMA.2001.923389.
- [56] Carola Wenk. Shape Matching in Higher Dimensions. PhD thesis, Free University Berlin, 2003. doi:10.17169/refubium-8310.