Triangulating Submanifolds: An Elementary and Quantified Version of Whitney’s Method

We quantise Whitney’s construction to prove the existence of a triangulation for any C2 manifold, so that we get an algorithm with explicit bounds. We also give a new elementary proof, which is completely geometric.


Theorem 1.1 Every compact n-dimensional C 2 manifold M embedded in R d admits a triangulation.
We note that C 2 -manifolds have positive reach, see [37]. The reach rch M was introduced by Federer [37], as the minimal distance between a set M (in this paper always a manifold) and its medial axis.
By more quantitative, we mean that instead of being satisfied with the existence of constants that are used in the construction, we want to provide explicit bounds in terms of the reach of the manifold, which we shall assume to be positive. The medial axis consists of points in ambient space that do not have a unique closest point on M . Federer [37,Rem. 4.20] also mentions that manifolds are of positive reach if and only if they are C 1,1 . It is not too difficult to generalise the precise quantities to the setting where the manifold is C 1,1 (instead of C 2 ) at a small cost, see Appendix C.
Note that Theorem 1.1 implies that any C 1 manifold admits a triangulation. This is because any C 1 manifold can be smoothed (see for example [38]) and Whitney's own embedding theorem [52, Sect. IV.1] gives a smooth embedding in R d .
Triangulations in computational geometry and topology are most often based on Voronoi diagrams and their dual Delaunay triangulations of the input point set, see for example [9,11,21,24,28] for general references in low dimensions and more recent work on manifolds embedded in higher dimensional spaces [16,23]. Whitney's construction is of a quite different nature. He uses an ambient triangulation and constructs the triangulation of the manifold M based on the intersections of M with this triangulation. In this paper, we have chosen this ambient triangulationT to be (a perturbation of) a Coxeter triangulation T of typeÃ d . A Coxeter triangulation of typeÃ d is Delaunay protected, a concept we will recall in detail in Sect. 4. Delaunay protection gives that the triangulation is stable under perturbations. This property simplifies the proof, which in fact was one of the motivations for our choice. Moreover, Coxeter triangulations can be stored very compactly, in contrast with previous work [16,23] on Delaunay triangulations.
The approach of the proof of correctness of the method, that we present in this paper, focuses on proving that after perturbing the ambient triangulation the intersection of each d-simplex in the triangulationT with M is a slightly deformed n-dimensional convex polytope, more precisely the intersection is piecewise smoothly homeomorphic to a polytope. Proving this is the core of the homeomorphism proof in Sect. 7. The triangulation K of M consists of a barycentric subdivision of a straightened version of these polytopes. This may remind the reader of the general result on CW-complexes, see [41], which was exploited by Edelsbrunner and Shah [36] for their triangulation result.
In this paper we construct 'normals' and a tubular neighbourhood for K that is compatible with the ambient triangulationT and prove that the projection along these 'normals' is a homeomorphism. This interpretation of Whitney's triangulation method is different from Whitney's original proof where the homeomorphism is given by the closest point projection and uses techniques which we also exploited in [15]. The homeomorphism we give in this paper is in fact piecewise smooth. We stress that this result is stronger than if we had based our work on the closed ball property of Edelsbrunner and Shah, with given criteria for a homeomorphism, but not for a piecewise linear/smooth homeomorphism nor an explicit map. We also believe that the tubular neighbourhood we construct is of independent interest. Because we have a bound on the size of the tubular neighbourhood of K and M lies in this neighbourhood, we automatically bound the Hausdorff distance between the two. A bound on the difference between the normals of K and M is also provided. Thanks to our choice of ambient triangulation and our homeomorphism proof, this entire paper is elementary in the sense that no topological results are needed, all arguments are geometrical.
In addition to the more quantitative/algorithmic approach, the purely geometrical homeomorphism proof, the link with the closed ball property, the tubular neighbourhood for the triangulation K , and a bound on the Hausdorff distance, we also give different proofs for a fair number of Whitney's intermediate results.
In spite of this paper not being a review, the authors hope that it will serve to spread awareness of the classical work by Whitney [52] in the computational geometry and applied math communities. The main reason for this is that a large number of authors has reintroduced (weaker) versions of Whitney's concepts and results, without having been aware of the original.
The marching cube algorithm and some of its variants [5,33,40,45] provide ways to approximate a manifold that is the zeroset of a function. We will call such a manifold an isomanifold. These algorithms use a subdivision of the ambient space into simplices or cubes and constructing a piecewise linear approximation of the isomanifold inside each simplex or cube. This coincides with Whitney's approach where he subdivides the ambient space into cubes, which he then subdivides into simplices and then approximates the manifold inside each simplex. The main difference is that Whitney needs a perturbation of the ambient triangulation to guarantee topological correctness, while (with the exception of [12,45] in two and three dimensions) no topological correctness (homeomorphism) is proved for the marching cube algorithms. Whitney is also more general because he treats general manifolds and not just isomanifolds. Moreover, Allgower and Georg [4,Thm. 15.4.1] assume that the isomanifold avoids simplices in the ambient triangulation whose dimension is strictly less than the codimension of the isomanifold to prove that the piecewise linear approximation of the manifold is itself a manifold. This idea also originates from Whitney, and will be discussed in detail below.
Whitney's idea of using a subdivision of ambient space as a scaffold to build a triangulation has also been adopted outside of the marching cube community, see for example [22]. In [22] the scaffolding is based on the Voronoi diagram of a point sample. This is unlike the ambient triangulation used by Whitney. The focus on three dimensional ambient space and a specific type of surface, instead of general manifolds of arbitrary dimension and codimension, further distinguishes it from Whitney's work. As mentioned above, the idea to use barycentric subdivision to construct a triangulation has also been often used, e.g. in [36,41].
The part of the algorithm described in this paper that constructs the triangulation (see part 2 of the algorithm in Sect. 2.1) and the data structure to store the ambient triangulation have been implemented, see [17] and [39]. The implementation of the perturbation scheme (see part 1 of the algorithm in Sect. 2.1) is not yet complete at the moment of writing.

The Algorithm (Based on Whitney's Construction)
The algorithm takes as input an n-dimensional C 2 manifold M ⊂ R d with reach rch M , and outputs the triangulation K of M . The algorithm based on Whitney's construction consists of two parts: We will refer to the first part as the perturbation algorithm. The perturbation algorithm perturbs the vertices of the ambient triangulation which ensures that the intersection of the ambient simplices with the manifold is nice (the intersection is piecewise smoothly homeomorphic to a polytope as we will prove in Sect. 7). The second part is where the triangulation is constructed and is based on barycentric subdivision of polytopes.
Part 1 (the perturbation algorithm): This part of the algorithm outputs a perturbed version of a Coxeter triangulation of R d of typeÃ d (see Sect. 4 for the precise definition) and consists of two steps. In these two steps we have to carefully choose a significant number of parameters, which we will not discuss in detail in the global description of the algorithm. An overview of the most important parameters and notation can be found in Appendix A.
-Choose a Coxeter triangulation T of typeÃ d of R d that is sufficiently fine. Here by fine we mean as determined by the longest edge length L. The longest edge length L is linear in the reach and depends in a rather intricate manner on the thickness (minimal altitude over longest edge length) of the top dimensional simplices iñ A d and the dimension and codimension of the manifold. The precise expression will be given in (11). -Perturb the vertices of T slightly into aT (with the same combinatorial structure), such that all simplices inT of dimension at most d − n − 1 are sufficiently far away from the manifold. Here slightly is in terms of quality, protection (see Sect. 4 for the definitions) of the ambient triangulation as well as the longest edge length, separation, and dimension; see (17) for the precise bounds. Sufficiently far means some small fraction of the longest edge length and thus even smaller fraction of the reach of M . The precise bound can be found in (14). This is done as follows: One maintains a listT i of vertices and simplices, starting with an empty list and adding perturbed vertices while keeping the combinatorial structure of T intact. This means that if We shall think ofT i simultaneously as a list, a simplicial complex, and a triangulation of a subset of R d . We shall think of i as the index of the vertex that was added last. To this listT i , one first adds all vertices v i of T such that d(v i , M ) ≥ 3L/2, as well as the simplices with these vertices (see Case 1 of Sect. 5.2). For a vertex v i such that d(v i , M ) < 3L/2 (Case 2), one goes through the following procedure. We first pick a point p ∈ M that is not too far from v i . We then consider all τ j ⊂T i−1 of dimension at most d − n − 2, such that the join 1 v i * τ j lies inT i . For all such τ j we consider span(τ j , T p M ) and we pick our perturbed v i , that isṽ i , so that it lies sufficiently far from the union of these spans, but also not too far from v i (as we mentioned at the beginning). Here sufficiently far means a very small fraction of the longest edge length, see (20). The existence of such a point can by proved by volume estimates and is shown in Lemma 5.6.
The fact that such a perturbation ensures that the (d −n −1)-skeleton is sufficiently far away from the manifold is non-trivial and is proved in Lemma 5.7.
We note that for a curve in two dimensions, as depicted in Fig. 1, or more generally a manifold of codimension 1, the set of all τ j ⊂T i−1 of dimension at most d − n − 2 is the empty set and span(τ j , T p M ) is T p M . The perturbation therefore ensures that v i lies far from T p M .
Note that we only require limited knowledge of the manifold. Given a vertex v i we need to be able to find a point on M that is close to v i or know if v i is far from M and we need access to T M in a finite sufficiently dense set of points (so that for every point v i that is close to M we have a linear approximation of M ). We assume we have two oracles for the two operations. There are no fundamental difficulties in including small uncertainties in our knowledge of the close points or the tangent spaces, but the analysis would be more complicated. If we can sample M densely finding close points is algorithmically not difficult. Methods to estimate the tangent space have been described in [2]. The same paper also describes estimates on the curvature. The estimate of the reach is discussed in [32] in three dimensions and [1] in high dimensions.
Complexity of part 1: The complexity of the perturbation (per vertex) of the algorithm is dominated by the number of simplices τ j that we have to consider. This number is bounded by the number of simplices of dimension at most d − n − 2 in the star of a vertex in a Coxeter triangulation plus 1, see (4) below. The number of simplices in turn is bounded by (d − n) d d d−n , see Lemma 4.11. This compares favourably with the complexity of the perturbation method in [13] for Delaunay triangulations, which is of order O(2 d 2 ). A full analysis of the complexity of the algorithm, including basic operations on Coxeter triangulations, will be reported upon in a separate paper.
Part 2 (the triangulation construction): The construction of the triangulation of M is now straightforward barycentric subdivision; for each τ k ∈T , of dimension k, that contains a part of M , we pick a point v(τ k ) in τ k , see (26). For any sequence τ d−n ⊂ τ d−n+1 ⊂ · · · ⊂ τ d , such that all simplices in the sequence intersect M we add a simplex {v(τ d−n ), . . . , v(τ d )} to a simplicial complex K . If we have done this for all simplices that contain M , K is a triangulation of M . For this second part we need an oracle that is able to tell us if the intersection between M and τ d−n ∈T is non-empty and if so, gives us the point of intersection. As we will see in Sect. 6.1, it would in fact suffice to be able to find intersections between tangent planes and simplices.

A Nice Byproduct
The triangulation algorithm does not only provide a triangulation of the manifold itself, with simplices whose quality is lower bounded. It in fact immediately gives that the barycentric subdivision of the ambient triangulation contains a triangulation of the manifold. To ensure that the triangulation of the manifold is geometrically close to the manifold, we need to shift (some of the) vertices to the position that is computed by the algorithms above, see Fig. 2. Because the simplices of the triangulation of the manifold have good quality, we find a triangulation of the ambient space whose simplices have good quality. This byproduct may be of interest for finding numerical solutions to partial differential equations, in particular for space time methods [6,27,49]. This also serves as a first step in generalising the work on the triangulation of general stratifolds in three dimensions [29][30][31]44,47], which may be of interest given the effort that went into the detection of strata in arbitrary dimension, see for example [7,8,19]. The same triangulation as depicted in Fig. 1 with the addition of simplices of the barycentric subdivision of the ambient triangulation added for the simplices that intersect the manifold

Outline and Overview of the Proof
This paper is dedicated to the correctness proof of the algorithm presented in Sect. 2.1. After some background sections dedicated to manifolds of positive reach and Coxeter triangulations and their stability under perturbations, we continue with the perturbation algorithm.
In Sect. 3 we recall some results on the geometry of manifolds of positive reach. Coxeter triangulations, Delaunay protection, and the combinatorial stability of a triangulation under perturbations is the topic of Sect. 4.
In Sect. 5, we both give the details of the perturbation of the vertices and some geometric consequences for the triangulation. In Sect. 6, the triangulation K of M is defined and an important quality bound for the simplices is given. Section 7 is dedicated to proving that K is a triangulation of M . The proof is quite different from the approach Whitney described, which uses the closest point projection onto M . Here we construct a tubular neighbourhood and 'normals' around the triangulation K , which is adapted to the ambient triangulationT . We then prove that the projection using these 'normals' gives a piecewise smooth homeomorphism from Because the construction is compatible on the faces of d-dimensional simplices, the global result immediately follows. A more detailed overview of the homeomorphism proof is given in Sect. 7.

Manifolds, Tangent Spaces, Distances, and Angles
In this section, we discuss some general results that will be of use. The manifold M ⊂ R d is a compact C 2 manifold with reach rch M . We adhere as much as possible to the same notation as used in [18]. The tangent bundle will be denoted by T M , while the tangent space at a point p is written as T p M . Similarly, N M is the normal bundle and N p M the normal space. Distances on the Fig. 3 The cylinder C (T p M , r 1 , r 2 ), with the manifold and tangent space manifold will be indicated by d M ( · , · ), while we write d( · , · ) for distances in the ambient Euclidean space, and | · | for the length of vectors. A ball centred at x with radius r is denoted by B(x, r ). For a point x in the ambient space such that d(x, M ) < rch M , the closest point projection onto M is denoted by π M (x). The orthogonal projection onto the tangent T p M is denoted by π T p M (x).
We will use a result from [18], which improves upon previous works such as Niyogi et al. [43]: In Lemma 3.2 we prove that the projection onto the tangent space is a diffeomorphism in a neighbourhood of size the reach of the manifold. This improves upon previous results by Niyogi et al. [43] in terms of the size of the neighbourhood, and is a more quantitative version of results by Whitney [52]. We first recall some notation. Similarly to [18], we let C (T p M , r 1 , r 2 ) denote the 'filled cylinder' given by all points that project orthogonally onto a ball of radius r 1 in T p M and whose distance to this ball is at most r 2 . We writeC (T p M , r 1 , r 2 ) for the open cylinder. We refer to Fig. 3 for an illustration. We now have: Proof Apart from Lemma 3.1, we will be using the following results from [18]: For a minimising geodesic γ on M with length parametrised by arc length, with γ (0) = p and γ ( ) = q, we have If we also write v p =γ (0), we see that as long as < (π/2) rch M . Because v p ∈ T p M and γ ( ) = q, we have This means in particular that for all q such that | p − π T p M (q)| < rch M and |q − π T p M (q)| ≤ rch M the angle between T p M and T q M is less than 90 degrees. This in turn implies that the Jacobian of projection map in non-degenerate. Note that the condition on mentioned above is satisfied by a combination of Theorem 1 and Lemma 11 of [18].
It is clear by considering the sphere that this result is tight, in the sense that r cannot be chosen equal to rch M for general manifolds. See Appendix C for some remarks on these results in the C 1,1 setting. Definition 3. 3 We shall write π p as an abbreviation for the restriction (of the domain) of π T p M to M ∩C (T p M , rch M , rch M ) and π −1 p for its inverse.
We now also immediately have a quantitative version of [52, Lem. IV.8a]: Corollary 3.4 Suppose that M is C 2 and p ∈ M , then for all r < rch M , . By definition of the filled cylinder we have that d( p, R d \ C (T p M , r , rch M )) = r . The result now follows.
We shall also need the following bound on the (local) distance between a tangent space and the manifold.
This is attained for the sphere of radius rch M .

Coxeter Triangulations, Delaunay Protection and Stability
Coxeter triangulations [26] of Euclidean space play a significant role in our work. They combine many of the advantages of cubes with the advantages of triangulations. They are also attractive from the geometrical perspective, because they provide simplices with very good quality and some particular Coxeter triangulations are Delaunay protected and thus very stable Delaunay triangulations. We will now very briefly introduce both the concepts of Coxeter triangulations and Delaunay protection, but refer to [25] for more details on Coxeter triangulations and to [13,14] for Delaunay protection. This definition imposes very strong constraints on the geometry of the simplices, implying that there are only a small number of such triangulations in each dimension. Most of these triangulations are part of four families for which there is one member for (almost) every dimension d. We will focus on one such family,Ã d , which is Delaunay protected. We refer to Fig. 4 for an illustration of theÃ 2 andÃ 3 triangulations.
The simplest and shortest definition of a Coxeter triangulation of typeÃ d is to give it as a triangulation of a d-dimensional linear subspace of R d+1 by rotation.
where x {k} denotes k consecutive coordinates x. The Coxeter triangulation of typeÃ d in P is found by consecutively reflecting the simplex in its faces.

Definition 4.3
The protection of a d-simplex σ in a Delaunay triangulation on a point set P is the minimal distance of points in P \ σ to the circumscribed ball of σ : where B(σ ) is the circumscribed ball of σ . The protection δ of a Delaunay triangulation T is the infimum over the d-simplices of the triangulation: δ = inf σ ∈T δ(σ ). A Delaunay triangulation with a positive protection is called protected.
The proof thatÃ d triangulations are protected can be found in [25,Sect. 6]. We shall denote the triangulation of this type by T .
A 2Ã3 Fig. 4 The vertex sets of the Coxeter triangulations in dimensions two and three are the triangular lattice and the body-centred cubic lattice, respectively Stability In the triangulation proof below we need that a perturbationT of our initial ambient triangulation (T of typeÃ d ) is still a triangulation of R d . We shall refer to this as (combinatorial) stability. Because Whitney did not use a protected Delaunay triangulation, he needs a non-trivial topological argument to establish this, see [52, App. Sect. II.16]. The argument for stability of triangulations forÃ type Coxeter triangulations is much simpler, because it is a Delaunay triangulation and is δ-protected, see [25]. Before we can recall this result we need to introduce some notation and a definition: -The minimal altitude or height, denoted by min alt, is the minimum over all vertices of the altitude, that is the distance from a vertex to the affine hull of the opposite face. t(τ ) denotes the thickness of a simplex τ , that is the ratio of the minimal altitude to the maximal edge length. We write t(T ) for infimum of the thickness over all simplices in T . -We can think of the vertices of T as an ( , μ)-net. Here μ is the separation (for Coxeter triangulations, the shortest edge length in T ), and the sampling density (which is the circumradius of the simplices in the Coxeter triangulation). We write μ 0 for the normalised separation, that is μ 0 = μ/ . -For any complex K , L(K ) denotes the longest edge length in K . We use the From [13,Thm. 4.14] we immediately get: The triangulation T is (combinatorially) stable under acL-perturbation as long asc We claim the following concerning the behaviour ofc.
where ∼ denotes equality up to the leading order in the asymptotic development.
Proof Choudhary et al. [25,App. B] provide explicit values of all the quantities mentioned in Corollary 4.4 for a Coxeter triangulation of typeÃ, with the exception of μ, which can be easily derived from a more general result. If we fix the scale (which in [25] we did by a convenient choice of coordinates for the vertices), we have The value of μ easily follows from the general expression for edge lengths (see [25, App. B,Ã d , item 5]) and is equal to Thickness and angles The quality of simplices and the control over the alignment of the simplices with the manifold is an essential part of the triangulation proof, for which we need two basic results. Similar statements can be found in [52, Sects. IV.14 and IV.15]. Let us remind the following.
We can now state a variation of Whitney's angle bound result, see [52,Sect. IV.15].

Lemma 4.7 (Whitney's angle bound) Suppose σ is a j-simplex of R d , j < d, whose vertices all lie within a distance d max from a k-dimensional affine space
Proof We first notice that the barycentre c b of a simplex σ j is at least a distance (min alt σ j )/( j + 1) removed from the faces of the simplex. This means that the ball in aff σ j centred at c with radius (min alt σ j )/( j + 1), denoted by B aff σ j (c, (min alt σ j )/( j + 1)), is contained in σ j . We now consider any diameter, that is a line segment connecting a pair of antipodal points of ∂ B aff σ j (c, (min alt σ j )/ ( j + 1)). This diameter is contained in a d max neighbourhood of A 0 and thus The result now follows, because is arbitrarily chosen.
Simplices in a star in a triangulation of typeÃ d The precise number of simplices in the star of a vertex plays an important role in the volume estimates in Sect. 5. We will now give an explicit bound on this number. In general the (d −k)-faces of a Voronoi cell correspond to the k-faces in the Delaunay dual. The triangulation T is Delaunay and the dual of a vertex is a permutahedron, see [25]. We recall that the permutahedron is defined as follows: which is the convex hull P of all points in R d+1 , the coordinates of which are permutations of {1, . . . , d + 1}.
We also remind the following definition, see [3], and corollary, see [42]: Definition 4.9 Let S(d, k) be the Stirling number of the second kind, which is the number of ways to partition a set of d elements into k non-empty subsets, that is By duality, the lemma immediately gives us the number N k of k-faces that contain a given vertex in T , N k = k! S(d + 1, k). We also write which is an upper bound on the total number of faces of dimension less or equal to k that contain a given vertex. We have added 2 because we want to have a safety margin if we have to consider the empty set (as will be apparent in (18)), and have a strict inequality. We now claim the following: Proof [46,Thm. 3] gives us that for d ≥ 2 and 1 ≤ j ≤ d − 1, Furthermore, Stirling's theorem and the binomial theorem give that j! ∼ j j and k j=0 d j d k , respectively. We now see that It is clear that if k is much smaller than d that then k d dominates.

Perturbing the Ambient Triangulation
This section is dedicated to the perturbation of the Coxeter triangulation such that the manifold is sufficiently far from the simplices of dimension at most d − n − 1 inT .
-In Sect. 5.1, we prove that it is possible to perturb the points as described in the second step of part 1 of the algorithm. This involves a significant amount of volume estimates, which are completely quantised. We also indicate how fine the ambient triangulation T has to be compared to rch M ; the longest edge length is linear in terms of the reach (the dependence on the dimension and codimension is rather complicated). -In Sect. 5.2, we define the perturbation and prove that this in fact gives a triangulation for which the low dimensional simplices lie sufficiently far from the manifold.
The proofs of the results in Sect. 5.2 rely on Appendix B. We shall indicate the corresponding sections in Whitney [52], when appropriate.

The ComplexT
Before we can dive into the algorithmic construction of the perturbed complexT , we need to fix some constants and give some explicit bounds on them. This subsection corresponds to [52,Sect. IV.18].
Balls and exclusion volumes Let B d (r ) be any ball in R d of radius r . We now definē ρ 1 > 0 as follows: For any two parallel (d − 1)-hyperplanes whose distance apart is less than 2ρ 1 r , the intersection of the slab between the two hyperplanes with the ball B d (r ) is denoted by S . Now,ρ 1 is the largest number such that the volume (vol) of any S satisfies with N ≤d−n as in (4). A precise bound onρ 1 can be given, see Remark 5.2 below. We will use an easier bound ρ 1 , at the cost of weakening the result: Lemma 5. 1 We havē Note that Proof We can bound the volume of the slab S by the volume of cylinder with base B d−1 (r ) and height 2ρ 1 r , that is using the standard formulae for the volume of the ball, see for example [34, p. 622].
Note that the inequality is strict because ρ 1 > 0. We see that therefore ρ 1 may be chosen to be as in (5). From Wendel's bound on the ratio of Gamma functions [50], we immediately see that for a fixed constant a, Γ (x + a)/Γ (x) ∼ x a . This means that We now see that

Remark 5.2
Because of symmetry, the largest volume S can attain is when both delimiting hyperplanes are equidistant to the centre of B d (r ). The volume of S is given by the integral where B d−1 (r ) denotes the ball of dimension d − 1 with radius r and Γ denotes the Euler gamma function. This integral can be expressed using special functions such as the hypergeometric function or beta functions. This gives an explicit value forρ 1 .
The coarseness of T As mentioned, we perturb the vertices of a Coxeter triangulation. The maximal distance that we allow between an unperturbed vertex v i and the associated perturbed vertexṽ i iscL. We definec as The reasons for this particular choice will be discussed after (17) below. We stress that (6) is independent of L because δ scales linearly with L. Notice that because t(T ) ≤ 1, by definition of the thickness of a simplex, we havẽ We are now ready to introduce the demands on the triangulation of ambient space. We start by bounding the scale of the Coxeter triangulation T by bounding the longest edge length. We do this by giving some constants. We define α 1 and α k by a recursion relation as follows: These definitions play an essential role in the volume estimates for the perturbation of the vertices, that are necessary to guarantee quality. Note that α k is extremely small. In particular, we shall have that becausec ≤ 1/24, as we have seen in (7). ρ 1 is also very small, as a direct consequence of Lemma 5.1. Furthermore we notice that α k < α k−1 . To make sure the formulae do not become too big, we introduce the notation Note that ζ depends on both the ambient and intrinsic dimension, and the perturbation parameterc. Becausec ≤ t(T ) 2 /24 and t(T ) ≤ 1, we see that ζ ≤ 1. We set the coarseness of the ambient triangulation by demanding that L satisfies Note that where we used that ζ ≤ 1, which will often be used below to simplify expressions.

Remark 5.3
We have to choose the right hand side in (11) very small, because the bounds on the quality of the simplices that will make up the triangulations are very weak. The details of these estimates can be found in Lemma 6.7.
(d − n − 1)-skeleton safe triangulations We shall denote the simplices by τ and σ . We will use lower indices to distinguish simplices, while upper indices will stress the dimension, for example τ k j is a simplex of dimension k.
for all faces τ k inT , with k ≤ d − n − 1, and

Perturbing the Vertices
We now discuss the details of the perturbation scheme that we described in the algorithm section.
using the notation of Sect. 4. With this bound we have that (15) is satisfied, because the two vertices of an edge are perturbed by at mostcL and thus the triangle inequality yieldsL ≤ (1 + 2c)L. We also claim the following: Lemma 5.5T has the same combinatorial structure as T . Moreover, (16) is satisfied.
Proof Because we assume that the perturbation is sufficiently small compared to the protection, as given in the first condition of (17), (2) is satisfied andT will have exactly the same combinatorial structure as T .
By the third condition of (17) we have a lower bound on the quality of the simplices. To be precise, we have that for any simplex τ inT , as a consequence of Lemma 4.6, the fact that if you perturb the vertices bycL the edge lengths are perturbed by 2c (that is 2c = c 0 ), and the fact that if σ ⊂ τ , then t(σ ) ≥ t(τ ). So we have established (16).
We now give the scheme where the vertices are perturbed inductively. Suppose that the verticesṽ 1 , . . . ,ṽ i−1 have been determined, and thus the complexT i−1 with these vertices. A simplex {ṽ j 1 , . . . ,ṽ j k } lies inT i−1 if and only if {v j 1 , . . . , v j k } lies in T . We shall now findṽ i and thusT i so that for any is satisfied. We distinguish two cases: (14) is established as follows: BecauseL < (1 + 2c)L, which means that for any point That is, any simplex inT with vertexṽ i = v i is at least distance (1/2 − 2c)L from the manifold. Thanks to (7) we have that ( be the simplices ofT i−1 such that the joins τ j = τ j * ṽ i are simplices ofT , and dim(τ j * ṽ i ) ≤ d − n − 1 (and thus dim τ j ≤ d − n − 2), with 0 ≤ j ≤ ν. We note that ν ≤ N ≤d−n−1 , with N ≤k as defined in (4). We now consider the span, denoted by span(τ j , T p M ), for all 0 ≤ j ≤ ν. Note that the dimension of span(τ j , We now claim the following: Lemma 5. 6 We can pickṽ i such that it lies sufficiently far from each span(τ j , Proof The argument is volumetric. Let us first introduce the notation U (X , r ) for the set of all points x ∈ R d such that d(x, X ) ≤ r , where X is any subset of R d . By definition of ρ 1 , see 'Balls and exclusion volumes' in Sect. 5.1, and because the dimension of span(τ j , where we used that ν ≤ N ≤d−n−1 in the last line, by definition, as mentioned in the description of Case 2. Because the volume is positive we know there exists a pointṽ i that satisfies for all 1 ≤ j ≤ ν.
Proof We first make use of the induction 3 hypothesis d(τ j , M ) > α k−1 L to find a bound on the distance from τ j to the tangent space T p M , then bound the distance fromṽ i * τ j = τ j to T p M based on this. For this argument to work, we have to assume that τ j is not the empty set, that is j = 0. This case is handled separately at the end. If we combine 1. the induction hypothesis d(τ j , M ) > α k−1 L, 2. the fact that the ball in the tangent space B T p M ( p, r ), centred at p of radius 6L = r , satisfies This can be simplified: d−n 6(n + 1) 2 ζ 2n L (using (11)) Because d(v i , p) < 3L/2,L < L + 2cL, andc < 1/24, see (7), we have the very coarse bound that by the triangle inequality. We thus find that This means that (21) holds for the entire tangent space, that is, Lemma B.2, with A 1 = T p M and A 2 = span(τ j , T p M ), now gives This can again be simplified: (23) and (19)) Similarly to (22), we have that We can go from the distance from τ j to the tangent space, as given in (24), to the distance to the manifold as follows. Because of Corollary 3.4 we can localise the results and Lemma 3.5 allows us to estimate the difference in distance to the manifold and the tangent space. This gives This can be again simplified: (11) and (13)) This completes the proof for the case where j = 0 or τ j is non-empty. For j = 0, (20) and Lemma 3.5 yield We simplify: (11) and (13)) (by definition of (8)) We emphasise that in the perturbation of the points it suffices to look at the tangent spaces at specific points, making this constructive proof an algorithm.

The Geometry of the Intersection of Simplices inT and M (the Ambient Triangulation and the Manifold)
In this section, we discuss the geometry of simplices inT in relation to M . We follow [52, Sect. IV.19], with the usual exceptions of the use of Coxeter triangulations, the thickness, and the reach to quantify the results. The proofs also differ in a fair number of places from the original. For any p ∈ M we first establish a lower bound on the distance between T p M and simplices in the (d − n − 1)-skeleton of T that are close to p.

Lemma 6.1 Let p ∈ M and suppose that
The following proof differs from Whitney's proof.  ( p, 6L). We now see that (13)) which completes the proof.
We can now examine the relation between intersections with the manifold and nearby tangent spaces. Proof Letp ∈ M ∩ τ k . Lemma 3.2 (and (11), (13)) givesp ∈ π −1 p (B T p M ( p, 6L)), where we use the notation of Definition 3.3. Lemma 3.5 implies Letτ We can now bound the angle between simplices and tangent spaces. In this case the proof identical to original, and included for completeness.

Lemma 6.3 Suppose that M intersects τ k ∈T and τ k has dimension d − n, that is
Proof This is an immediate consequence of Lemma B.1, (17), and the previous lemmas.
Below we investigate the relation between intersections of tangent spaces and simplices, and intersections between the manifold and simplices. We combine two statements of [52,Sect. IV.19] in the following lemma. The proof differs from the original by Whitney.

Lemma 6.4 If p ∈ M , τ k ∈T , τ k ⊂ B( p, 6L), and moreover T p M intersects τ k , then k ≥ d − n and M intersects τ k . If k = d − n this point is unique, which in particular means that every simplex of dimension d − n contains at most one point of M .
Proof Letτ be a face of smallest dimension of τ k such that d(τ , T p M ) ≤ 2α n L/3. Now Lemmas B.1 and 6.2 give thatτ and T p M have a unique pointp in common and the dimension ofτ is d − n.
Thanks to Lemma 3.2, M can be written as the graph of a function f , in a neighbourhood of at most size rch M . We note that f : where here we think of the tangent and normal spaces as embedded in R d . Using the identification of T p M with R n , we now define Note that F(0, · ) gives a parametrisation of T p M . Similarly, we can define G : R d−n → R d to be a linear (orthonormal) parametrisation of affτ . We now consider the difference of the two functions F − G : Thanks to Lemma 6.3 we have that Lemma 3.1 and (13) give that for any q ∈ B( p, 6L) It is clear that this also gives an upper bound on the angle between T p M and the graph of F(λ, ·) (denoted by graph F(λ, · )) for all λ ∈ [0, 1], due to linearity of the inner product. Because the upper bound on the angle between the tangent spaces is much smaller than the lower bound on ∠(aff τ k , T p M ), affτ and the tangent space to the graph T q graph F(λ, · ) span R d , for any λ ∈ [0, 1] and q ∈ B( p, 6L). The implicit function theorem and the fact thatτ and T p M have a unique pointp in common now give that the intersectionp λ between graph F(λ, · ) ∩ B( p, 6L) and affτ exists and is unique, for all λ ∈ [0, 1]. We can now use Lemmas 3.2, 3.5, and 6.3, to bound |p −p λ |. The distance from the manifold to the tangent space is bounded from above by due to (11) and (13). The same bound holds for graph F(λ, · ). We also have that sin ∠(affτ , T p M ) ≥ 16α d−n /13. Combining these observations gives This distance bound is smaller than the distance bound forp and the boundary ofτ , due to Lemma 6.1. This means thatp λ ∈τ , and in particular that M intersects τ k .
Finally, we study the faces of a simplex that intersects M . This is essential for the barycentric subdivision in part 2 of the algorithm. The proof is identical to the original, but added for completeness. Similarly to the first argument in the proof of Lemma 6.4, we see that T p M intersects some (d − n)-face ofτ k−1 . Thanks to Lemma 6.3, the angle between this (d −n)-face and T p M is bounded from below. Due to Lemma 6.1, the intersection lies in the interior of the (d − n)-face. The angle bound and the fact that the intersection lies in the interior gives that any simplex in T that contains this (d − n)-face has points in the interior that lie in T p M . In particular, the interior ofτ k contains part of T p M . Because both the interior ofτ k andτ k−1 contain points of T p M , linearity gives that T p M must intersect ∂τ k \τ k−1 . From this contradiction of the assumption, we conclude that k = d − n. Lemma 6.4 finally says that M intersectsτ k , because T p M does.

The Triangulation of M : The Complex K
The construction of the complex follows [52,Sect. IV.20].
In each simplex τ ofT that intersects M , we choose a point v(τ ) and construct a complex K with these points as vertices. The construction goes via barycentric subdivision of general polytopes or even CW-complexes, see for example [41, Thm. 1.7 of Chapter III]. For each sequence τ 0 ⊂ τ 1 ⊂ . . . ⊂ τ k of distinct simplices inT such that τ 0 intersects M , will be a simplex of K . The definition of v(τ ) depends on the dimension of τ : -If τ is a simplex of dimension d − n, then there is an unique point of intersection with M , due to Lemma 6.4. We define v(τ ) to be this unique point. -If τ has dimension greater than d − n, then we consider the faces τ d−n 1 , . . . , τ d−n j of τ of dimension d − n that intersect M . These faces exist thanks to Lemma 6.5. We now define v(τ ) as follows: Remark 6. 6 We stress that thanks to Lemma 6.4, choosing the point v(τ d−n ) to be the point of intersection with T p M , assuming p is sufficiently close, locally gives the same combinatorial structure as intersections with M . We also stress that for the combinatorial structure it does not really matter where M intersects a simplex ofT , as long as it does.
We can now state the following bound on the altitudes of the simplices we constructed in this manner. Lemma 6.7 Let σ n be a top dimensional simplex as defined in (25), then where min alt denotes the minimal altitude or height, and we used the notation ζ as defined in (10).   (27), while the other n coordinates are zero. This also means that for the barycentric coordinates with respect to

Proof
for k > d − n, we have that: k + 1 of the coordinates λ l satisfy -The other d − k coordinates are zero.
Note that j ≤ d d−n . This means that Fig. 5 Both triangles are right angled. We stress that the projection of p onto aff σ may be quite a distance from σ itself We now have 2 (by the estimate (16)) where we indicated the dimensions explicitly.
Plugging (28) (using the definition of the simplex σ n as in (25)) into (29) gives that min alt σ n is lower bounded as follows: which completes the proof.

The Triangulation Proof
Given the triangulationT , we want to prove that the intersection of M ∩ τ d is homeomorphic to the triangulated polytope described in Sect. 6.2. This immediately gives a global homeomorphism between the triangulation and the manifold. The homeomorphism we discuss in this section differs greatly from Whitney's own approach. Firstly, he used the closest point projection as a map (which does not respect simplices, meaning that the point in the complex K (as defined in the previous section) and its projection may lie in different simplices ofT . Secondly, to prove that this map is a homeomorphism, he uses what has become known as Whitney's lemma in much the same way as in [15].
The great advantage of our approach to the homeomorphism proof is that it is extremely explicit and it is elementary in the sense that it does not rely on topological results. We also need precise bounds on the angles, which do not require deep theory, but are quite intricate.
Because we work with an ambient triangulation of typeÃ and we do not perturb too much, the simplices ofT are Delaunay. The homeomorphism from M ∩ τ d to the triangulated polytope K ∩ τ d , with K as defined in Sect. 6.2 and τ d ∈T , gives that the intersection of any simplex inT with M is a topological ball of the appropriate dimension. This may remind the reader of the closed ball property of Edelsbrunner and Shah [36]. We stress that the homeomorphism we construct is explicit.
Overview of the homeomorphism proof The proof consists of three steps: -For each d-simplex τ ∈T we provide a 'tubular neighbourhood' for K ∩ τ adapted to τ . By this we mean that, for each pointp in K ∩ τ , we designate a 'normal' space Np that has dimension equal to the codimension of M and K , and is transversal to K ∩ τ . Moreover, these directions shall be chosen in a sufficiently controlled and smooth way, so that every point x in τ that is sufficiently close to K has a unique pointp on K ∩ τ such that x −p ∈ Np. -We give conditions that enforce that the 'normal' spaces Np intersect M transversely. More precisely, we prove that the angle betweenÑp and N q M , for any q ∈ M ∩ τ , is upper bounded by a quantity strictly less than 90 degrees. -We conclude that the projection along Np gives a homeomorphism from M to K .

Constructing the Tubular Neighbourhood
We now give the construction of a 'tubular neighbourhood' of K . We refer to Fig. 6 for a pictorial overview of the construction. We use two results from the previous sections: to N p M is a (linear) bijection, for any p that is sufficiently close to τ d−n k , with k ∈ {1, . . . , j}. We will denote the inverse of this map by π −1 We can now define the 'normal spaces' for the complex K . We first do this for the vertices v(τ ), where τ has dimension d − n (these vertices lie on M ), secondly for general vertices of K (these vertices do not necessarily lie on M ), and finally, using barycentric coordinates, for arbitrary points in K .
We start, as mentioned, with the vertices that are associated to a simplex τ = τ d−n ∈ T of dimension d −n. We stress that there is one face of τ of dimension d −n, namely For v(τ ) such that the dimension of τ is greater than d − n we make the following construction, which is reminiscent of the construction of v(τ ) in Sect. 6.2. Let p ∈ M be such that τ ⊂ B( p, 6L). For now p is arbitrary, we will specify this later. We consider the faces τ d−n To construct the normal space at v(τ ), we pick p = π M (v(τ )) and define the normal } be a simplex of K . Now choose a point p ∈ M as before. For any pointp in σ n with barycentric coordinates λ = (λ 0 , . . . , λ n ), and any w ∈ N p M , we define We now set p = π M (p). By defining Np = span Np ,π M (p) (w), we get affine spaces for each point in each σ n ∈ K .
Remark 7.1 By construction, these spaces are consistent on the faces of simplices in K as well as with the boundaries of the d-dimensional simplices inT . The tubular neighbourhood is defined as the set of all points in R d that that lie in a unique Np, with p ∈ K .

The Size of the Tubular Neighbourhoods and the Homeomorphism
In this section, we establish the size of the neighbourhood of K as defined by Np. The following angle estimate is an essential part of the estimate of the size of the neighbourhood of the triangulation K . , τ d ⊂ B( p, 6L), and σ n ∈ K are such that σ n ⊂ τ d , where we regard σ n and τ d as subsets of R d . Then the angle between T p M and aff σ n is bounded as follows:
With this we can give a bound on the size of the neighbourhood of K .

Lemma 7.3
Letp,q ∈ σ n , with barycentric coordinates λ = (λ 0 , . . . , λ n ), λ = (λ 0 , . . . , λ n ), respectively. Suppose that Np and Nq are defined as in Sect. 7.1. Suppose now that the intersection betweenp +Np andq +Nq is non-empty. Herep +Np andq + Nq denote the affine spaces that go throughp,q and are parallel to Np, Nq , respectively. If x ∈p + Np ∩q + Nq , then Because, by construction, the N p agree on the faces of the n-dimensional simplices in K , this provides a tubular neighbourhood for K of the size indicated in the right hand side of (31).

Proof
The main idea of the proof of this lemma is the following: Given two points p,q ∈ σ n ⊂ K , the 'normal' spaces Np and Nq are not intersecting too close to K if the angle between Np and Nq is not too large compared to the distance betweenp andq (and the angle between Np and aff σ is not too small). The proof consists of several steps.
Step 0 gives some very rough estimates, mainly on the angles between the various 'normal' spaces of K that we construct and N p M . Steps 1, 2, and 3 work from these very naïve bounds to fairly sharp estimates on ∠(Np, Nq ). In the fourth and final step the bound on ∠(Np, Nq ) is used to give a lower bound on the size of the tubular neighbourhood.
Step 0: preliminary estimates. Lemma 6.3 gives that for each τ d−n so that for u ∈ N p M of unit length, → N p M the orthogonal projection map. This means that Together with the triangle inequality this yields that for any u ∈ N p M and u ∈ N π M (p) M of unit length. By construction, the component of N τ, p (u) in the u direction is u and the component of Np(u ) in the u direction is also u . This in turn gives us that Thus ∠ span If we want to compare the two different normal spaces N p M and N q M , with | p−q| ≤ 4L, we again invoke Lemma 3.1 and (13) to see that Using (9) and the fact that ζ is small, we can further simplify: The triangle inequality for angles (or points on the sphere) now implies that Overview steps 1, 2, and 3: angle estimates. Having established some preliminary estimates, we will tighten this result for ∠(Np, Nq ). The angle between these two terms is determined by both p andp in Np , p (u). We will examine the effects of both separately.
Step 1: Bounding ∠(Np , p (u), Nq , p (u)). We start by fixing p and varyingp. We now consider We are now going to estimate the angle between these vectors and thus the angle between span u Np , p (u) and span u Nq , p (u) in terms of the barycentric coordinates.
The u components of Np , p (u) and Nq , p (u) are u by construction as we mentioned before. We are going to compare this with the length of Np , p (u) and Nq , p (u), and the length of their difference. For estimates on these lengths we need to introduce the following notation: , p (u), . . . , N τ d n , p (u), -· 2 denotes the operator 2-norm, -· F is the Frobenius norm.
With this notation, we can now derive the following bound: (by (32)) We now turn our attention to the triangle with edges Np , p (u), Nq , p (u), and Np , p (u) − Nq , p (u), as depicted in Fig. 7. We apply the sine rule to this triangle, using (33) and (35), to find Note that this can be tightened a fair bit at the cost of complicating the bound. We conclude from (36) that Step 2: bounding ∠ span u∈N p M Np , p (u), span u∈N q M Np ,q (u) . We now want to bound the angle between span u∈N p M Np , p (u) and span u∈N q M Np ,q (u) based on the distance between the points p and q in M . We use the fact that p and q are such that τ ⊂ B( p, 6L), B(q, 6L), so the conditions of Lemma 6.3 hold. This also means that p and q are close, so the angle between N q M and N p M is very small. This gives that the projection π N q M →N p M induces a (linear) bijection from N q M to N p M , so that the inverse π −1 N q M →N p M makes sense. Having established this map, we see that To bound this angle, we look at the individual terms in (30), that is Fig. 8 for an illustration. We can write π −1 N q M →N p M (u) = u +w q, p , withw q, p ∈ T p M , |w q, p | ≤ tan ∠(N p M , N q M ), and |u +w q, p | ≤ 1 cos ∠ (N p M , N q M ) .
can be written as u +w k, p , withw k, p ∈ T p M , and (u +w q, p ) can be written as u +w q, p +w k,q , withw k,q ∈ T q M , and Fig. 8 Note that the two-dimensional nature of the figure is slightly misleading By  Thanks to (9), the first term in the following sum is by far the larger one: We finally arrive at the following simple, but weaker bound: Step 4: From angles to a lower bound on the neighbourhood size. We now consider the trianglepqx and we estimate |px| and |qx|. Recall that in the statement of the lemma we defined x as the point where the normal spaces Np and Nq first intersect. The estimate will use: 1. the sine rule; 2. the fact that the distance betweenp andq is at least |λ − λ | min alt σ/ √ n, thanks to [10, Lem. 5.12]; 3. Lemma 6.7 to bound min alt σ ; 4. inequality (42), which gives a bound on the angle ∠pxq, namely φ 0 . 5. Lemma 7.2 gives that where (aff σ n ) ⊥ denotes the space perpendicular to aff σ n . Because e j ∈ N p M , combining this with Lemma 6.3 and the triangle inequality for angles yields We need a lower bound on sin ∠pqx and sin ∠qpx, that is sin ∠(Np (e j ), aff σ n ) = cos ∠(Np (e j ), (aff σ n ) ⊥ ).
We also recall the trigonometric identity where d H denotes the Hausdorff distance. Because of Lemma 3.5 and (11), we have that ) denotes the ball in T v M with centre v and radius 2L. This gives us 2L)) and the distance between M ∩ τ and aff σ n is small compared to the size of the neighbourhood of K given in Lemma 7.3, that is Having established that M lies in the tubular neighbourhood around K , it is meaningful to speak about the projection from M to K along the direction N . Because we also have that the projection from M to K in the direction N (as defined in Sect. 7.1) is transversal (because π/2 minus the angle between Np and N p M , see (34), is much bigger than the variation of the tangent/normal space as bounded by Lemma 3.1 and (12)), we see that M ∩ τ d is homeomorphic to K ∩ τ d . By construction the projection map is compatible on the boundaries of τ d , so we also immediately have an explicit homeomorphism between M and K . Moreover, this homeomorphism is piecewise smooth and not just continuous. This completes the proof of Theorem 1.1. We emphasise that along the way we have also given bounds on -the Hausdorff distance between M and K , see Lemmas 7.4 and 7.3, -the quality of simplices, see Lemma 6.7, -the variation of the tangent spaces, see Lemma 3.1, (34), and (12). material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

Appendix A: Notation
In the following table we give an overview of the notation used in this paper and compare it to Whitney's notation.

Overview of the Most Important Bounds
We recall here for the reader's convenience the most important bounds and constants used in the paper. The constantρ 1 > 0 (depending only on d) is defined as follows: For any two parallel (d − 1)-hyperplanes whose distance apart is less than 2ρ 1 r , the intersection of the slab between the two hyperplanes with the ball B d (r ) is denoted by S . Now, ρ 1 is the largest number such that the volume (vol) of any S satisfies where N ≤k is an upper bound on the total number of faces of dimension less or equal to k that contain a given vertex, see (4). α 1 and α k have been defined by a recursion relation as follows: and thus α k = 2 k+1 ρ k 1c k /3 k . In particular, we have the bound We often use The normalised perturbation radiusc satisfies from which it follows thatc

Appendix B: Some Properties of Affine Spaces
In this appendix, we discuss two variants of lemmas from [52, App. II.14] that are essential in the building of the triangulation, see Sect. 6.1 in particular. Both lemmas are due to Whitney. However, in both cases, the statement is different, because we prefer to work directly with angles and use the thickness as our quality measure. In the aff (aff , A 0 ) A 0 @ σ σ σ σ Fig. 9 An illustration of the notation of Lemma B.1 first case, the proof we provide differs significantly from the original. The first lemma will allow us to prove that if T p M intersects a simplex τ ∈ T and p and τ are not too far from each other then M intersects τ and vice versa. The second result is essential in proving that the perturbation of the vertices as described in Sect. 2.1, part 1, gives a triangulation for which the low dimensional simplices are sufficiently far away from the manifold. We start with a variation on Lemma 14a from [52, App. II.14]. Then s + n = d, A 0 intersects σ in a single point, and sin ∠(aff σ, A 0 ) ≥ 2d(A 0 , ∂σ ) L(σ ) .
The notation is illustrated in Fig. 9.
Proof Choose p ∈ σ and q ∈ A 0 such that Now suppose that there is a vector v = 0 that lies in the intersection of aff σ and A 0 . Then there exists some c ∈ R such that p + cv ∈ ∂σ . Because v lies in the intersection of aff σ and A 0 , we have that q + cv ∈ A 0 . As translation leaves distances invariant, d(A 0 , σ ) = |p − q| = |( p + cv) − (q + cv)| ≥ d(A 0 , ∂σ ), which clearly contradicts the assumption. This means we can conclude that there is no such v and therefore s + n = d.
Because there is no v in the intersection of aff σ and A 0 , there is a unique pointp in this intersection. We will now show thatp ∈ σ . We will assume thatp / ∈ σ . This means in particular that q =p. Because d(A 0 , σ ) < d(A 0 , ∂σ ), p − q is normal to aff σ and p ∈ σ \ ∂σ . Now consider the line from q top, which lies in A 0 . The distance from a point on this line to σ decreases (at least at first) as you go from q towardp. This contradicts the definition of q. We conclude thatp ∈ σ . Now suppose that l 0 is a line in A 0 that goes thoughp. In order to derive a contradiction, we assume that where sin φ denotes the angle between l 0 and aff σ . Denote by π aff σ (l 0 ) the orthogonal/closest point projection on aff σ of l 0 . Becausep ∈ σ , π aff(σ ) (l 0 ) intersects ∂σ at a pointq and we may assume that |p −q| ≤ L(σ )/2 so that l 0 contains a point of distance from ∂σ , a contradiction. Because l 0 was an arbitrary line in A 0 the result now follows.
The following is a variation on Lemma 14b from [52, App. II.14]. The proof presented here is almost identical to the original. Lemma B.2 Let A 1 and A 2 be two affine subspaces in R d , with A 1 ⊂ A 2 . Let τ be a simplex in A 2 , and let v be a point in R d \ τ . Define J to be the join of τ and v. Then where the distances between sets are defined as d(B, C) = inf x∈B,y∈C |x − y| and L(J ) denotes the longest edge length of an edge in J .
The notation is illustrated in Fig. 10.
Proof Let us suppose that (45) is false. Let J c be the truncated cone that consists of all half lines that start at a point of τ and pass through v. Then we may choose p J ∈ J c and a 1 ∈ A 1 so that by the definition of J c and the hypothesis we also have Now suppose that p J lies on the half line that starts at w ∈ τ and goes through v. Because τ ⊂ A 2 , we see that d(v, A 2 ) ≤ L e (J ). This means that (46) gives that d(J c , A 1 ) < d(τ, A 1 ), so p J = w. We now immediately see that the line segment a 1 p J is orthogonal to the line that goes through w and v, which extends the half line we mentioned above. Let now be the line that goes through a 1 and w, and π (v) ∈ the point that is closest to v. It follows that π (v)w is perpendicular to . Because a 1 is nearer to p J than w, a 1 and π (v) are on the same side of w in . This means, because two of the angles are the same (and thus the third), that the triangles p J wa 1 and π (v)wv are similar. We now have that contradicting the hypothesis and thus proving the lemma.

Appendix C: Remark on the C 1,1 case
We now first discuss a simpler version of Lemma 3.2 before going in to the C 1,1 setting. The result in this case is weaker, but can be easily extended to the C 1,1 setting as we shall see below. The following consequence of Lemma 3.1 is a stronger version of [43,Lem. 5.4]: