A triangulation of a point set in the plane is a geometric graph such that its vertices are the points of , its edges are line segments joining vertices and all of its faces (except possibly the exterior face) are triangles. Triangulations of point sets are of great interest in different areas such as approximation theory, computational geometry, computer aided geometric design, among others [4, 6, 10]. In particular, the computation of triangulations that are optimal with respect to certain criteria has been widely studied. One of the most popular triangulations is the Delaunay triangulation of a point set , denoted , defined by having a triangle between any three points in if their circumcircle encloses no other point of . This triangulation has the property that it maximizes the minimum of all the angles of the triangles in the triangulation. Other properties of the Delaunay triangulation include having the Euclidean minimum spanning tree as a subgraph, having an edge joining the closest pair of points in , and being a constant spanner of the complete geometric graph on . For a comprehensive survey of the Delaunay triangulation see [2, 25, 26]. Another famous triangulation is the minimum weight triangulation, denoted , which minimizes the sum of the length of its edges. The Delaunay triangulation may fail to be a minimum weight triangulation by a factor of where is the size of .
A geometric graph is a graph with vertex set a point set in and its edges are straight line segments that join two elements of . As an example, a Delaunay triangulation of a point set is a geometric graph with vertex set . Note that a point set is also a geometric graph with vertex set and its set of edges as the empty set. Graphs and are isomorphic, denoted , if and only if there exists a bijective function such that edge if and only if edge .
Let be an algorithm that takes a geometric graph as input and its output is a geometric graph. We say that is affine invariant if and only if for any invertible affine transformation and any geometric graph 111We assume that is a valid input for ., and are isomorphic with respect to , i.e., .
In the context of triangulations, consider a triangulation algorithm , which given a point set computes a triangulation . We say that is affine invariant if and only if for any invertible affine transformation (see Section 2 for a formal definition), triangle is in if and only if triangle is in . Note that the transformation is not known to the triangulation algorithm. Affine invariance of various geometric structures is an important property in areas such as graphics and computer--aided geometric design.
It is easy to see that neither the Delaunay triangulation nor the minimum weight triangulation is affine invariant in general (see Figure 1). This is because non-uniform stretching can make a point previously outside of a circumcircle to be inside, or edge lengths can increase non-uniformly.
Affine invariance is also important in the analysis and visualization of data, to guarantee for instance that different units of measurement do not influence the geometric structure, such as a triangulation that is computed. For this reason, Nielson , in his seminal paper, defined an affine invariant normed metric of a point set , denoted -norm, where for each point and any affine transformation , . The -norm produces ellipses (see Figure 2) as the boundary of the -norm disk and using this notion Nielson  defined an -Delaunay triangulation that is affine invariant. Nielson’s approach does not distinguish if the point set is rotated or reflected. While this is not an issue to obtain an affine invariant Delaunay triangulation, it makes the method unsuitable to construct other triangulations or geometric objects, like the ones discussed in Section 4. Note that the title ‘‘Affine invariant triangulations’’ has also been used by Haesevoets et al. , who studied affine invariant methods to triangulate the union of given triangles at different times (two triangles can overlap in different regions). Thus, their objective is very different than ours.
We revisit the -norm and explain the geometry behind it in order to understand how the -Delaunay triangulation behaves. We show that such triangulations have a spanning ratio related to the spanning ratio of the standard Delaunay triangulation, and that the hierarchy of subgraphs of the Delaunay triangulation, such as the minimum spanning tree  or the relative neighborhood graph  is also affine invariant. In addition, we describe how to use the -norm on greedy algorithms in order to obtain other geometric objects that are affine invariant. Finally, we provide different algorithms to compute affine invariant orderings of a point set such as radial order, sweep-line ordering, and a polygon traversal ordering. Using these affine invariant orderings as subroutines, we can adapt standard geometric algorithms into affine invariant algorithms for computing a triangulation of a point set, a quadrangulation of a point set or a triangulation of a polygon.
A norm of a vector space is a linear transformation and
of a vector spaceis a nonnegative function with the following properties. For all and : (a), (b) and, (c) if then is the zero vector. A metric is a nonnegative function such that for all the following properties hold: (a) , (b) and, (c) . When the function is a norm, then it is called a normed metric. Let be a normed metric, then the -disk centered at with radius is the set of points in within -distance from , i.e., and . When the radius is 1 then we call it a unit -disk. An affine transformation is of the form where is an affine space mapped to another affine space , denoted ,
is a linear transformation andis a vector in . In this paper we will work in , i.e., , is a matrix in and is a vector in . For the rest of this paper we will not distinguish a point from a vector unless notation is confusing and we will assume that is invertible, i.e., it is a non-degenerate function and . The following proposition states some well-known properties of affine transformations.
Proposition 2.1 ().
Let be an affine invertible transformation on and let be a point set in . Then the function
maps lines (resp., line segments) to lines (resp., line segments),
preserves parallelism between lines and line segments,
maps a simple (resp., convex) -gon to a simple (resp., convex) -gon,
preserves the ratio of lengths of two parallel segments,
preserves the ratio of areas of two object, and
maps the mean of to the mean of .
Let be an -point set in the plane where the coordinates of each point are denoted by .
Nielson  defines an affine invariant normed metric, that we call -norm, in the following way.
Note that the mean is the barycenter of . The covariance matrix of a point set is defined as and its inverse .
Let , then the -norm metric is defined as
The matrix is also known as the concentration matrix  , which defines a norm with respect to the normal (Gaussian) distribution defined by . The eigenvectors of . In other words, if we compute the Gaussian manifold defined by the bivariate normal distribution given by the point set and the magnitude of each principal axis will be given by the square root of the eigenvalue of the corresponding unit eigenvector.
, which defines a norm with respect to the normal (Gaussian) distribution defined by
. The eigenvectors ofand are the same and these vectors define the principal orthogonal directions of how spread the point set is with respect to its mean (barycenter)
. In other words, if we compute the Gaussian manifold defined by the bivariate normal distribution given by the point setand then cut the Gaussian manifold with a plane parallel to the plane , then we obtain an ellipse. See Figure 2. Such an ellipse has principal orthogonal axes defined by the eigenvectors of . Thus, the boundary of an -disk will be defined by a homothet222A homothet of an ellipse is obtained by uniformly scaling with respect to its center, followed by a translation. of the resulting ellipse where the boundary of the unit -disk will be represented by the ellipse with principal axes being parallel to the eigenvectors of
and the magnitude of each principal axis will be given by the square root of the eigenvalue of the corresponding unit eigenvector.
The -Delaunay triangulation of , denoted , is defined in the following way. For every three distinct points in , the triangle is in if and only if there exists an -disk containing the three points on its boundary and no other point of in its interior. The -Delaunay triangulation is the standard Delaunay triangulation, simply denoted .
We say that a point set is in general position if no three points are collinear and all points in are at different -norm distance from the mean . Since the boundary of the -disk is an ellipse, Nielson computes the -Delaunay triangulation using this -disk and shows the following.
Theorem 2.2 (Nielson ).
Let be a point set in general position and an invertible affine transformation, then under the affine transformation , i.e., the -Delaunay triangulation is affine invariant.
Finally, the order type of a point set is a mapping that assigns to each ordered triple the orientation of and (either clockwise or counter-clockwise). It can be shown that order types are preserved, up to a change of sign, by checking for each triple the signed area of the triangles and given by the following cross product .
3 The -Delaunay triangulation revisited
In this section we discuss the connection between the standard Delaunay triangulation and the -Delaunay triangulation.
Let be a point set in in general position. Consider the matrix such that for each point in there is one column in represented by the vector . Then, we see that . If a point set and , with , is an affine transformation of the point set , then its mean is and the covariance matrix of is . Recall that is a matrix in with .
Since is in general position, we have that . Thus, is invertible. Moreover, since is a square symmetric matrix, can be represented as where is the matrix of orthonormal eigenvectors of , is the diagonal matrix of eigenvalues and . Recall that if a matrix is diagonal, then and that with has entries . Therefore, we can also rewrite the covariance matrix as . Looking carefully at this representation of and , we obtain that is an affine transformation of with as its covariance matrix. We refer to the point set as the point set normalized. Note that the unit -disk is the Euclidean unit disk. This implies that the -Delaunay triangulation of is the -Delaunay triangulation of , which together with Theorem 2.2 proves the following proposition.
Let be a point set in general position in and let be its covariance matrix where is the matrix of orthonormal eigenvectors of and is the diagonal matrix of eigenvalues. Then, and are isomorphic under the linear transformation .
Let be an affine transformation of the point set with covariance matrix . Notice that even though the point sets and have the Euclidean metric as their corresponding Nielson’s norm, both point sets can be different. For instance, in Figure 3 we have on the left a point set that defines the Euclidean metric as its -norm, in the middle we have the point set resulted from a rotation and scaling of the point set on the left. Finally, the point set on the right is a normalization of the point set in the middle. Note that the two point sets on the right and left are different by a rotation. In other words, and are the same point set up to rotations and reflections.
Another example is depicted in Figure 4, where we have two point sets in the middle that can be transformed into each other by an affine transformation -- the one in the left-middle is a reflection of the one in the right-middle by the -axis and a rotation of . When we normalize each of the two middle point sets, we obtain the point set on the extreme left and right, respectively. Note that these two point sets are different. Moreover, the point sets on the left and right have different sign order type.
On the other hand, a nice implication of Proposition 3.1 is that the -Delaunay triangulation behaves in many ways like a standard Delaunay triangulation. For instance, the is -tough , which implies that it contains a perfect matching when is even.
Given a weighted graph and a real number , a -spanner of is a spanning subgraph such that for every edge in , there exists a path from to in whose weight is no more than times the weight of the edge in .
The smallest value of for which this property holds is called the spanning ratio of , denoted as . We simply say that is a spanner if is a constant.
It is known that the standard Delaunay triangulation is a spanner, see [12, 19, 28]. The following theorem shows that is also a spanner whose spanning ratio is a constant factor times the spanning ratio of the standard Delaunay triangulation.
The constant factor depends on the eigenvalues of the co-variance matrix.
is also a spanner whose spanning ratio is a constant factor times the spanning ratio of the standard Delaunay triangulation. The constant factor depends on the eigenvalues of the co-variance matrix.
Let be a point set in general position and let be the covariance matrix of . Let and be the maximum and minimum eigenvalues of , respectively. Then,
Let . The triangulation is a standard Delaunay triangulation. For every pair of points let be a shortest path from to contained in . By definition the spanning ratio .
that the only thing that changes the spanning ratio is when the graph is stretched with different scaling factors in the - and -coordinates. Such scaling is defined by the square root of the eigenvalues of given in the diagonal matrix , since represents a matrix composed by rotations and reflections and represents the scaling factor of the point set where its covariance matrix is the identity matrix
where its covariance matrix is the identity matrix. Hence, for any we have and . Therefore,
where the second inequality follows from Xia’s result . ∎
4 Primitives for other affine invariant geometric constructions
A natural line of study to follow is to consider other geometric objects with affine invariant construction algorithms, such as algorithms for triangulating a point set besides the -Delaunay triangulation, triangulating a simple polygon, or computing a -angulation of a point set, among others. In this section we identify some necessary ingredients for defining such methods.
At first sight, when such constructions rely on a metric, then the -norm can be used, for instance to compute an affine invariant Delaunay triangulation or an affine invariant minimum weight triangulation. In general, the algorithms to compute such geometric objects fall into two categories: (1) based on an empty region property, and (2) based on the rank of the length of the edges of a point set. Details can be found in Sections 6.1 and 6.2 together with different examples of algorithms that become affine invariant when the -norm is used.
However, this does not always work. Many algorithmic techniques rely on the given order of the points, such as a radial order or the order obtained by sweeping the point set in a given direction. Yet, the use of the -norm does not handle rotations or reflections, it only solves the scaling factors on the - and -coordinates. For instance, if is a point set such that the -norm is the Euclidean distance and is a rotation of , then the boundary of the -disk is also defined by a circle, and there is no transformation needed. However, the order of a sweep-line with respect to the -coordinates for and will not necessarily be the same. Another simple example is when is a simple polygon with vertex set , such that has as -disk the Euclidean disk. Consider point set obtained by reflecting with respect to the -axis, and the resulting polygon . Again, will have as -disk the Euclidean disk. However, the clockwise order of and are different.
Thus, the next question is, what do we need in order to create affine invariant sorting methods? For any sorting method, we need to define which point is the initial point, so, we have to be able to choose a point in the point set , such that for any invertible affine transformation , we always choose as the initial point. Second, for the cases of radial order and sweep-line we need a ray and a line , respectively, such that for any invertible affine transformation , we always choose and line , respectively. Finally, since there might be reflections, which change clockwise for counter-clockwise orientation and left for right of a ray, we need to be able to choose the correct orientation (clockwise or counter-clockwise, right or left) whether there is a reflection or not. We can solve this problem if we are able to choose a point , such that for any invertible affine transformation , we always choose . Then the direction is given depending on whether is to the left or to the right of . In essence, we need to find a way to compute three affine invariant points. We will see two different methods to do this.
A function of is affine invariant if and only if for any invertible affine transformation . For instance, the mean is an affine invariant function. Hence, note that if we define affine invariant functions that compute a point, a ray, and an oriented line, we can design affine invariant sorting methods or other algorithms that have these as primitives.
Let be a point set in general position. Let be two points in . We say that point is to the right of if the signed area of is positive. Otherwise, is to the left of . Let be an invertible affine transformation of . Using the fact that the sign of can be used to determine the orientation of with respect to . We say that and lie on the same side of a directed line segment if .
Let be a directed line segment in and let be two points in . Let be an invertible affine transformation. The points and are on the same side of if and only if and are on the same side of .
Since and are on the same side of , . Hence, . ∎
Note that there may be several ways of implementing affine invariant functions that compute the desired primitives for sorting, namely: a point , a ray and a point that defines an orientation with respect to . In the rest of this section we provide two different procedures for defining these desired primitives.
In the following observation, we use the convex hull and the barycenter of in order to compute the primitives. See Figure 5.
Let be a point set in general position in the plane. Let be the mean of and let be the convex hull of . For each edge , consider the triangle . Assume that the areas of these triangles are pairwise different. Let and be the barycenters of the triangles with largest and second largest area, respectively, denoted and , respectively. Consider the ray . If is to the left of , then let be the vertex of that is to the left of . Otherwise, let be the vertex of that is to the right of . The functions and are affine invariant.
Let be an affine transformation of . Consider the convex hull of and for each edge of we consider the triangles . Let and be the triangles with largest and second largest area of the triangles defined by the edges of and . Let and be the barycenters of and , respectively. If is to the left of , then let be the vertex in that is to the left of . Otherwise, let be the vertex that is to the right of .
Let us show that and . From Proposition 2.1(6) the mean of is . From Proposition 2.1(3) the convex hull of is mapped to the convex hull . Also, from Proposition 2.1(3), for each edge , the triangle is mapped to . Let be a triangle defined by the endpoints of an edge in and , that is different from . Since , it follows that . From Proposition 2.1(5) we have that . Thus, . Therefore, . By the same arguments, . Hence, and are the barycenters of and , respectively. Proposition 2.1(6) implies that and . By Proposition 2.1(1) we have that is mapped to . From Observation 4.1 it follows that . ∎
Under the assumption that the largest and second largest area of the triangles defined by each edge of the and the mean of are different, we can define affine invariant functions that compute a point of , a ray , a line defined by and any of and ; and a direction defined by a ray and point . On the other hand, notice that using the area of a triangle formed by and any pair of points, we obtain an affine invariant order of the edges of the complete graph of such that each edge has weight equal to the area of the triangle formed by its endpoints and . Under the assumption that pairwise triangles have different area, we can also obtain affine invariant algorithms that are based on the rank of the edges of the complete graph (see Section 6.2).
We will say that a point is the -closest point to if minimizes the -distance to . Using the fact that the -norm is affine invariant, we observe that there is another method for distinguishing the desired primitives for affine invariant radial and sweep-line ordered.
Let be a point set in general position and let be the mean of and let be an affine transformation of with mean . The -th -closest point to is mapped by to the -th -closest point to .
Since is in general position, all of the points in are at different -distance to . Hence, we can order the points of in increasing order with respect to the -distance from each point to . Since is an affine invariant norm, the points in are also at different -distance to the mean . This again defines an order of . Since the -distance is invariant under affine transformations, it follows that the increasing order with respect to the -distance from each point to is affine invariant. Thus, the -th -closest point to is mapped by to the -th -closest point to . ∎
From Observation 4.3 it follows that we can also use the -norm in order to define affine invariant functions and , such that each function computes a point in the following fashion. Let be the mean of , be the -closest point to . Let be the second -closest point to if it is not on the line defined by and . Otherwise, let be the third -closest point to .
There exist three affine invariant functions for any point set in general position, such that and are three different points in the plane that are non collinear and at least one of them is in .
Finally, we obtain the next as a corollary of Theorem 4.4.
Let be a point set in general position. Any geometric algorithm based on a point in and a direction or orientation can be made affine invariant.
In the following section we present two algorithms that are based on a point in and a direction and orientation that can be made affine invariant.
5 Affine invariant sorting algorithms of a point set
In this section we present two different sorting algorithms that together with the affine invariant primitives defined in Section 4 result in two different affine invariant sorting methods.
5.1 Affine invariant radial ordering
Let and be three non-collinear points, such that is in . Consider the following radial sorting procedure of .
RadiallySort(): Sort points radially around , starting at in the direction of with respect to the line through and oriented from to . In other words, if is to the left of , then turn counter-clockwise. Else, turn clockwise. See Figure 6(left), where we turn counter-clockwise and in 6(right) we turn clockwise.
Using Observations 4.1 and 4.3 we can adapt RadiallySort to be affine invariant and obtain a radial order of . In other words, there exist three affine invariant function such that for any invertible affine transformation , the following holds: consider RadiallySort() and RadiallySort( ), then for all .
Let be a point set in general position and let and be three affine invariant functions such that are three non-collinear points and . Then, RadiallySort() is an affine invariant radial ordering method of .
Let be an affine transformation. Let be the order of given by RadiallySort() and let be the order of given by RadiallySort(), respectively. Then, and . It remains to show that for all . If is on the ray , then is on the ray . Thus, . Assume that is not on .
Let and assume that for all . Let us show . Assume for the sake of a contradiction that . First, we show that is on the same side as with respect to (we consider the ray when ). Without loss of generality assume that is to the right of , since the case when is to the left of is symmetric. If is to the right of , then has to be to the right of since is hit first while rotating counter-clockwise. If is to the left of , then by Observation 4.1 we have that is to the left (resp., to the right) of if is to the right (resp., to the left) of . Thus, there is no point of to the right (resp., to the left) of if is to the left (resp., to the right) of . Hence, by Observation 4.1, there is no point to the left of , in particular, cannot be on that side. Therefore, and lie on the same side with respect to .
Let be the line containing and and let be the point on on opposite direction of with respect to , such that the length from to is the same as the length from to . See Figure 7(right).
We define a triangle in the following fashion.
If and are to the right of , then .
If and are to the left of , then .
Hence, either is in or not. See Figure 7. Again, if is contained in , then from Proposition 2.1(3) it follows that is contained in , which contradicts that appears immediately after when sorting around . On the other hand, if is not in , then the line segment intersects on the edge opposite to . Let be the intersection point of and the edge of opposite to . The point is in triangle and in the line segment . Thus, by Properties 1 and 3 of Proposition 2.1, we have that is in and on the line segment , which again contradicts the fact that appears first while ordering around . Therefore, . ∎
5.2 Affine invariant sweep-line ordering
Let and be three non-collinear points, such that is in . Consider the following sweep-line order method.
SweepLine(): Let be the line containing and . Let and be a farthest point from the line that lies on the same and opposite side of with respect to , respectively. Then, sort the vertices in by sweeping with lines parallel to from towards . If two vertices lie on the same line parallel to , we say that appears before if and only if is to the left of and is to the left of .
Note that a consequence of Observation 4.1 is that if two vertices of lie on the same side with respect to , then the corresponding vertices in lie again on the same side with respect to .
Let be a line in and let be two points in . Let be an affine transformation. If and are on the same side of , then and are on the same side of .
The following theorem shows that such an ordering method is affine invariant when the primitives are affine invariant. See Figure 8.