1 Introduction

The question whether every \(C^1\) manifold admits a triangulation was of great importance to topologists in the first half of the twentieth century. This question was answered in the affirmative by Cairns [20], see also Whitehead [51]. However the first proofs were complicated and not very geometric, let alone algorithmic. It was Whitney [52, Chap. IV], who eventually gave an insightful geometric constructive proof. Here, we will be reproving Theorem 12A of [52, Sect. IV.12], in a more quantitative/algorithmic fashion for \(C^2\) manifolds:

Theorem 1.1

Every compact n-dimensional \(C^2\) manifold \(\mathscr {M}\) embedded in \(\mathbb {R}^d\) admits a triangulation.

We note that \(C^2\)-manifolds have positive reach, see [37]. The reach \({{\,\mathrm{rch}\,}}\mathscr {M}\) was introduced by Federer [37], as the minimal distance between a set \(\mathscr {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 \(\mathscr {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 \(\mathbb {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 \(\mathscr {M}\) based on the intersections of \(\mathscr {M}\) with this triangulation. In this paper, we have chosen this ambient triangulation \({\tilde{\mathscr {T}}}\) to be (a perturbation of) a Coxeter triangulation \({\mathscr {T}}\) of type \(\tilde{A}_d\). A Coxeter triangulation of type \(\tilde{A}_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 triangulation \({\tilde{\mathscr {T}}}\) with \(\mathscr {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 \(\mathscr {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 triangulation \({\tilde{\mathscr {T}}}\) 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 \(\mathscr {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 \(\mathscr {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.

2 The Algorithm and Overview

2.1 The Algorithm (Based on Whitney’s Construction)

The algorithm takes as input an n-dimensional \(C^2\) manifold \(\mathscr {M}\subset \mathbb {R}^d\) with reach \({{\,\mathrm{rch}\,}}\mathscr {M}\), and outputs the triangulation K of \(\mathscr {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.

Fig. 1
figure 1

The two parts of the algorithm: part 1, where we perturb the vertices of the ambient triangulation, is depicted on top. Part 2, where the triangulation is constructed from the points of intersection of \(\mathscr {M}\) and the edges, is depicted below

Part 1 (the perturbation algorithm): This part of the algorithm outputs a perturbed version of a Coxeter triangulation of \(\mathbb {R}^d\) of type \(\tilde{A}_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 \({\mathscr {T}}\) of type \(\tilde{A}_d\) of \(\mathbb {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 in \(\tilde{A}_d\) and the dimension and codimension of the manifold. The precise expression will be given in (11).

  • Perturb the vertices of \({\mathscr {T}}\) slightly into a \({\tilde{\mathscr {T}}}\) (with the same combinatorial structure), such that all simplices in \({\tilde{\mathscr {T}}}\) 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 \(\mathscr {M}\). The precise bound can be found in (14). This is done as follows: One maintains a list \({\tilde{\mathscr {T}}}_i\) of vertices and simplices, starting with an empty list and adding perturbed vertices while keeping the combinatorial structure of \({\mathscr {T}}\) intact. This means that if \(\tau = \{v_{j_1} ,\ldots , v_{j_k}\}\) is a simplex in \({\mathscr {T}}\) and \( \tilde{v}_{j_1},\ldots , \tilde{v}_{j_k} \in {\tilde{\mathscr {T}}}_i\), where \(\tilde{v}_i\) denotes the perturbed vertex \(v_i\), then \(\tilde{\tau }= \{\tilde{v}_{j_1},\ldots , \tilde{v}_{j_k}\}\) is a simplex in \({\tilde{\mathscr {T}}}_i\). We shall think of \({\tilde{\mathscr {T}}}_i\) simultaneously as a list, a simplicial complex, and a triangulation of a subset of \(\mathbb {R}^d\). We shall think of i as the index of the vertex that was added last. To this list \({\tilde{\mathscr {T}}}_i\), one first adds all vertices \(v_i\) of \({\mathscr {T}}\) such that \(d(v_i, \mathscr {M}) \ge {3}{L}/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, \mathscr {M}) <{3}{L}/2\) (Case 2), one goes through the following procedure. We first pick a point \(p\in \mathscr {M}\) that is not too far from \(v_i\). We then consider all \(\tau _j' \subset {\tilde{\mathscr {T}}}_{i-1}\) of dimension at most \(d-n-2\), such that the joinFootnote 1\(v_i *\tau _j'\) lies in \({\tilde{\mathscr {T}}}_i\). For all such \(\tau _j' \) we consider \({{\,\mathrm{span}\,}}(\tau '_j,T_p\mathscr {M})\) and we pick our perturbed \(v_i\), that is \(\tilde{v}_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 \(\tau _j' \subset {\tilde{\mathscr {T}}}_{i-1}\) of dimension at most \(d-n-2\) is the empty set and \({{\,\mathrm{span}\,}}(\tau '_j, T_p\mathscr {M})\) is \(T_p\mathscr {M}\). The perturbation therefore ensures that \(\tilde{v}_i\) lies far from \(T_p\mathscr {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 \(\mathscr {M}\) that is close to \(v_i\) or know if \(v_i\) is far from \(\mathscr {M}\) and we need access to \(T\mathscr {M}\) in a finite sufficiently dense set of points (so that for every point \(v_i\) that is close to \(\mathscr {M}\) we have a linear approximation of \(\mathscr {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 \(\mathscr {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 \(\tau '_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 \(\mathscr {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 \(\mathscr {M}\) is now straightforward barycentric subdivision; for each \(\tau ^k \in {\tilde{\mathscr {T}}}\), of dimension k, that contains a part of \(\mathscr {M}\), we pick a point \(v(\tau ^k)\) in \(\tau ^k\), see (26). For any sequence \(\tau ^{d-n} \subset \tau ^{d-n+1} \subset \cdots \subset \tau ^d\), such that all simplices in the sequence intersect \(\mathscr {M}\) we add a simplex \(\{v(\tau ^{d-n}) , \ldots , v(\tau ^{d})\}\) to a simplicial complex K. If we have done this for all simplices that contain \(\mathscr {M}\), K is a triangulation of \(\mathscr {M}\). For this second part we need an oracle that is able to tell us if the intersection between \(\mathscr {M}\) and \(\tau ^{d-n} \in {\tilde{\mathscr {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.

2.2 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].

Fig. 2
figure 2

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

2.3 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 \(\mathscr {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 \(\mathscr {M}\). The proof is quite different from the approach Whitney described, which uses the closest point projection onto \(\mathscr {M}\). Here we construct a tubular neighbourhood and ’normals’ around the triangulation K, which is adapted to the ambient triangulation \({\tilde{\mathscr {T}}}\). We then prove that the projection using these ‘normals’ gives a piecewise smooth homeomorphism from \(\tau ^d \cap \mathscr {M}\) to \(\tau ^d \cap K\), where \(\tau ^d \in {\tilde{\mathscr {T}}}\) is d-dimensional. 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.

3 Manifolds, Tangent Spaces, Distances, and Angles

In this section, we discuss some general results that will be of use. The manifold \(\mathscr {M}\subset \mathbb {R}^d\) is a compact \(C^2\) manifold with reach \({{\,\mathrm{rch}\,}}\mathscr {M}\).

We adhere as much as possible to the same notation as used in [18]. The tangent bundle will be denoted by \(T \mathscr {M}\), while the tangent space at a point p is written as \(T_p \mathscr {M}\). Similarly, \(N \mathscr {M}\) is the normal bundle and \(N_p\mathscr {M}\) the normal space. Distances on the manifold will be indicated by \(d_\mathscr {M}(\,{\cdot }\,,\,{ \cdot }\,)\), while we write \(d(\,{\cdot }\,,\,{ \cdot }\,)\) for distances in the ambient Euclidean space, and \(|\,{\cdot }\,|\) for the length of vectors. A ball centred at x with radius r is denoted by B(xr). For a point x in the ambient space such that \(d(x,\mathscr {M}) < {{\,\mathrm{rch}\,}}\mathscr {M}\), the closest point projection onto \(\mathscr {M}\) is denoted by \(\pi _\mathscr {M}(x)\). The orthogonal projection onto the tangent \(T_p\mathscr {M}\) is denoted by \(\pi _{T_p\mathscr {M}} (x)\).

We will use a result from [18], which improves upon previous works such as Niyogi et al. [43]:

Lemma 3.1

([18, Lem. 6 and Corr. 3])  Suppose that \(\mathscr {M}\) is \(C^2\) and let \(p,q \in \mathscr {M}\), then

$$\begin{aligned} \angle (T_p\mathscr {M}, T_q \mathscr {M}) \le \frac{d_\mathscr {M}(p,q)}{{{\,\mathrm{rch}\,}}\mathscr {M}}\quad {\text {and}}\quad \sin {\frac{\angle (T_p\mathscr {M}, T_q \mathscr {M})}{2} }\le \frac{|p-q|}{2{{\,\mathrm{rch}\,}}\mathscr {M}} . \end{aligned}$$

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].

Fig. 3
figure 3

The cylinder \(C(T_p \mathscr {M},r_1,r_2)\), with the manifold and tangent space

We first recall some notation. Similarly to [18], we let \(C(T_p \mathscr {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 \mathscr {M}\) and whose distance to this ball is at most \(r_2 \). We write \(\mathring{C}(T_p \mathscr {M},r_1,r_2)\) for the open cylinder. We refer to Fig. 3 for an illustration. We now have:

Lemma 3.2

Suppose that \(\mathscr {M}\) is \(C^2\) and \(p\in \mathscr {M}\), then for all \(r<{{\,\mathrm{rch}\,}}\mathscr {M}\), the projection \(\pi _{T_p\mathscr {M}}\) onto the tangent space \(T_p \mathscr {M}\) restricted to \(\mathscr {M}\cap \mathring{C}(T_p \mathscr {M},r,{{\,\mathrm{rch}\,}}\mathscr {M})\) is a diffeomorphism onto the open ball \(B_{T_p\mathscr {M}} (r)\) of radius r in \(T_p\mathscr {M}\), centred at p.

Proof

Apart from Lemma 3.1, we will be using the following results from [18]: For a minimising geodesic \(\gamma \) on \(\mathscr {M}\) with length \(\ell \) parametrised by arc length, with \(\gamma (0) = p\) and \(\gamma (\ell ) = q\), we have

$$\begin{aligned} \angle ( \dot{\gamma } (0), \dot{\gamma } (t)) \le \frac{t}{{{\,\mathrm{rch}\,}}\mathscr {M}}. \end{aligned}$$
(1)

If we also write \(v_p = \dot{\gamma } (0)\), we see that

as long as \(\ell <(\pi /2){{\,\mathrm{rch}\,}}\mathscr {M}\). Because \(v_p \in T_p\mathscr {M}\) and \(\gamma (\ell )=q\), we have

$$\begin{aligned} |p - \pi _{T_p \mathscr {M}} (q) | \ge {{\,\mathrm{rch}\,}}\mathscr {M}\cdot \sin \angle (T_p \mathscr {M}, T_q\mathscr {M}). \end{aligned}$$

This means in particular that for all q such that \(|p - \pi _{T_p \mathscr {M}} (q) | < {{\,\mathrm{rch}\,}}\mathscr {M}\) and \(|q- \pi _{T_p \mathscr {M}} (q) | \le {{\,\mathrm{rch}\,}}\mathscr {M}\) the angle between \(T_p \mathscr {M}\) and \(T_q\mathscr {M}\) is less than 90 degrees. This in turn implies that the Jacobian of projection map in non-degenerate. Note that the condition on \(\ell \) mentioned above is satisfied by a combination of Theorem 1 and Lemma 11 of [18]. \(\square \)

It is clear by considering the sphere that this result is tight, in the sense that r cannot be chosen equal to \({{\,\mathrm{rch}\,}}\mathscr {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 \(\pi _p\) as an abbreviation for the restriction (of the domain) of \(\pi _{T_p\mathscr {M}}\) to \(\mathscr {M}\cap \mathring{C}(T_p \mathscr {M},{{\,\mathrm{rch}\,}}\mathscr {M}, {{\,\mathrm{rch}\,}}\mathscr {M})\) and \(\pi _p^{-1}\) for its inverse.

We now also immediately have a quantitative version of [52, Lem. IV.8a]:

Corollary 3.4

Suppose that \(\mathscr {M}\) is \(C^2\) and \(p\in \mathscr {M}\), then for all \(r<{{\,\mathrm{rch}\,}}\mathscr {M}\),

$$\begin{aligned} d( p , \mathscr {M}\setminus C(T_p \mathscr {M},r, {{\,\mathrm{rch}\,}}\mathscr {M})) = d\bigl ( p , \mathscr {M}\setminus \pi _p^{-1} (B_{ T_p\mathscr {M}} (r) )\bigr ) \ge r. \end{aligned}$$

Proof

Lemma 3.2 implies that \(\pi _p^{-1} (B_{ T_p\mathscr {M}} (r) ))= \mathscr {M}\cap C(T_p \mathscr {M},r, {{\,\mathrm{rch}\,}}\mathscr {M})\). By definition of the filled cylinder we have that \(d(p, \mathbb {R}^d \setminus C(T_p \mathscr {M},r, {{\,\mathrm{rch}\,}}\mathscr {M}))= r\). The result now follows. \(\square \)

We shall also need the following bound on the (local) distance between a tangent space and the manifold.

Lemma 3.5

(distance to manifold [18, Lem. 11])   Let \(\mathscr {M}\) be a manifold of positive reach. Suppose that \(w \in T_p \mathscr {M}\) and \(|w-p| < {{\,\mathrm{rch}\,}}\mathscr {M}\). Let \(\pi _{p} ^{-1} (w)\) be as in Definition 3.3. Then

$$\begin{aligned} | \pi _{p} ^{-1} (w) - w|\le \left( 1- \sqrt{1- \biggl (\frac{|w-p|}{{{\,\mathrm{rch}\,}}\mathscr {M}} \biggr )^{\!2}} \right) {{\,\mathrm{rch}\,}}\mathscr {M}. \end{aligned}$$

This is attained for the sphere of radius \({{\,\mathrm{rch}\,}}\mathscr {M}\).

4 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.

Definition 4.1

A monohedralFootnote 2 triangulation is called a Coxeter triangulation if all its d-simplices can be obtained by consecutive orthogonal reflections through facets of the d-simplices in the triangulation and the affine hulls of facets entirely consist of facets of d-simplices in the triangulation.

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, \(\tilde{A}_d\), which is Delaunay protected. We refer to Fig. 4 for an illustration of the \(\tilde{A}_2\) and \(\tilde{A}_3\) triangulations.

The simplest and shortest definition of a Coxeter triangulation of type \(\tilde{A}_d\) is to give it as a triangulation of a d-dimensional linear subspace of \(\mathbb {R}^{d+1}\) by rotation.

Definition 4.2

Let \(P= \bigl \{(x^i) \in \mathbb {R}^{d+1} \mid \sum _i x^i =0\bigr \}\) and consider the d-simplex with vertices \(u_k\) in P.

$$\begin{aligned} u_0 = \bigl (0^{\{d+1\}}\bigr ),\qquad u_k =\Biggl ( \biggl (-\frac{d+1-k}{d+1}\biggr )^{\!\{k\} }\!\!,\, \biggl (\frac{k}{d+1}\biggr )^{\!\{d+1-k\}}\Biggr ), \quad k \in [d], \end{aligned}$$

where \(x^{\{ k\}}\) denotes k consecutive coordinates x. The Coxeter triangulation of type \(\tilde{A}_d\) in P is found by consecutively reflecting the simplex in its faces.

Fig. 4
figure 4

The vertex sets of the Coxeter triangulations in dimensions two and three are the triangular lattice and the body-centred cubic lattice, respectively

Protection

Definition 4.3

The protection of a d-simplex \(\sigma \) in a Delaunay triangulation on a point set P is the minimal distance of points in \(P \setminus \sigma \) to the circumscribed ball of \(\sigma \):

$$\begin{aligned} \delta (\sigma ) = \inf _{p \in P\setminus \sigma } d(p, B(\sigma )), \end{aligned}$$

where \(B(\sigma )\) is the circumscribed ball of \(\sigma \). The protection \(\delta \) of a Delaunay triangulation \(\mathscr {T}\) is the infimum over the d-simplices of the triangulation: \(\delta = \inf _{\sigma \in \mathscr {T}} \delta (\sigma )\). A Delaunay triangulation with a positive protection is called protected.

The proof that \(\tilde{A}_d\) triangulations are protected can be found in [25, Sect. 6]. We shall denote the triangulation of this type by \({\mathscr {T}}\).

Stability    In the triangulation proof below we need that a perturbation \({\tilde{\mathscr {T}}}\) of our initial ambient triangulation (\({\mathscr {T}}\) of type \(\tilde{A}_d\)) is still a triangulation of \(\mathbb {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 \(\tilde{A}\) type Coxeter triangulations is much simpler, because it is a Delaunay triangulation and is \(\delta \)-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(\tau )\) denotes the thickness of a simplex \(\tau \), that is the ratio of the minimal altitude to the maximal edge length. We write \(t({\mathscr {T}})\) for infimum of the thickness over all simplices in \({\mathscr {T}}\).

  • We can think of the vertices of \({\mathscr {T}}\) as an \((\epsilon ,\mu )\)-net. Here \(\mu \) is the separation (for Coxeter triangulations, the shortest edge length in \({\mathscr {T}}\)), and \(\epsilon \) the sampling density (which is the circumradius of the simplices in the Coxeter triangulation). We write \(\mu _0\) for the normalised separation, that is \(\mu _0 = {\mu }/{\epsilon }\).

  • For any complex K, L(K) denotes the longest edge length in K. We use the abbreviations \({L}= L ({\mathscr {T}})\) and \({\tilde{L}}= L ({\tilde{\mathscr {T}}})\).

  • A perturbation of the vertices \(\{v_i\}\) to \(\{\tilde{v}_i\}\) is called an \(\epsilon \)-perturbation if \(|v_i -\tilde{v}_i| \le \epsilon \), for all i.

From [13, Thm. 4.14] we immediately get:

Corollary 4.4

The triangulation \({\mathscr {T}}\) is (combinatorially) stable under a \(\tilde{c} {L}\)-perturbation as long as

$$\begin{aligned} \tilde{c} {L}\le \frac{t ({\mathscr {T}}) \mu _0 }{18d} \delta . \end{aligned}$$
(2)

We claim the following concerning the behaviour of \(\tilde{c}\).

Lemma 4.5

$$\begin{aligned} \tilde{c} \le \frac{t ({\mathscr {T}}) \mu _0 }{18d}\cdot \frac{\delta }{{L}}\le \sqrt{2} \frac{\sqrt{ d ^2+2 d +24}-\sqrt{ d ^2+2 d }}{9 d^{3/2} (d+1)\sqrt{d+2} } \sim \frac{\sqrt{32}}{3 d^4}, \end{aligned}$$

where \(\sim \) 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 \(\tilde{A}\), with the exception of \(\mu \), 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

$$\begin{aligned} L(\sigma )&= {\left\{ \begin{array}{ll} \displaystyle \frac{\sqrt{d+1}}{2}&{}\text {if}\,d\,\text {is odd,}\\ \displaystyle \frac{1}{2}\sqrt{\frac{d(d+2)}{d+1}}&{}\text {if}\,d\,\text {is even}, \end{array}\right. }&t(\sigma )&= {\left\{ \begin{array}{ll} \displaystyle \sqrt{\frac{2}{d}}\ &{}\text {if}\,d\,\text {is odd,}\\ \displaystyle \sqrt{\frac{2(d+1)}{d(d+2)}}&{}\text {if}\,d\,\text {is even}, \end{array}\right. }\\ \epsilon&= \sqrt{\frac{d(d+2)}{12(d+1)}}\,,&\delta (\sigma )&= \frac{\sqrt{ d ^2+2 d +24}-\sqrt{ d ^2+2 d }}{\sqrt{ 12(d+1) }}.\nonumber \end{aligned}$$
(3)

The value of \(\mu \) easily follows from the general expression for edge lengths (see [25, App. B, \(\tilde{A}_d\), item 5]) and is equal to \(\mu = \sqrt{{d}/({d+1})}\). From (3), we get that \(\mu _0 = {\mu }/{\epsilon } = \sqrt{{12}/({d+2})}\). The bound in (2) is therefore

$$\begin{aligned} \tilde{c} \le \frac{t (\sigma ) \mu _0 }{18d}\cdot \frac{\delta }{{L}}&={\left\{ \begin{array}{ll} \displaystyle \sqrt{2} \frac{\sqrt{ d ^2+2 d +24}-\sqrt{ d ^2+2 d }}{9 d^{3/2}(d+1) \sqrt{d+2} } &{}\text {if}\,d\,\text {is odd,}\\ \displaystyle \sqrt{2 (d+1)} \, \frac{\sqrt{ d ^2+2 d +24}-\sqrt{ d ^2+2 d }}{9 d^2 (d+2)^{3/2} } &{} \text {if}\,d\,\text {is even.} \end{array}\right. }\\&\le \sqrt{2} \, \frac{\sqrt{ d ^2+2 d +24}-\sqrt{ d ^2+2 d }}{9 d^{3/2} (d+1)\sqrt{d+2} } \sim \frac{\sqrt{32}}{3 d^4}, \end{aligned}$$

where we used that \(\sqrt{1+x}\sim 1+x/{2}\) if x is close to zero. \(\square \)

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.

Lemma 4.6

(thickness under distortion [35, Lem. 7])  Suppose that \(\sigma = \{v_0, \ldots , v_k\}\) and \(\tilde{\sigma }=\{\tilde{v}_0, \ldots , \tilde{v}_k\}\) are two k-simplices in \(\mathbb {R}^d\) such that \(||v_i - v_j| - |\tilde{v}_i - \tilde{v}_j|| \le c_0 L(\sigma )\) for all \(0 \le i < j \le k\). If \(c_0 \le {t(\sigma )^2}/{4}\), then

$$\begin{aligned} t(\tilde{\sigma }) \ge \frac{4}{5\sqrt{k}}\biggl (1 - \frac{4 c_0}{t(\sigma )^2}\biggr )t(\sigma ). \end{aligned}$$

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 \(\sigma \) is a j-simplex of \(\mathbb {R}^d\), \(j<d\), whose vertices all lie within a distance \(d_{{\max }}\) from a k-dimensional affine space \(A_0 \subset \mathbb {R}^d\) with \(k\ge j\). Then

$$\begin{aligned} \sin \angle ({{\,\mathrm{aff}\,}}\sigma ,A_0)\le \frac{(j+1)d_{{\max }}}{\min {{{\,\mathrm{alt}\,}}{\sigma }}} . \end{aligned}$$

Proof

We first notice that the barycentre \(c_b\) of a simplex \(\sigma ^j\) is at least a distance \((\min {{\,\mathrm{alt}\,}}\sigma ^j)/(j+1)\) removed from the faces of the simplex. This means that the ball in \({{\,\mathrm{aff}\,}}\sigma ^j\) centred at c with radius \((\min {{\,\mathrm{alt}\,}}\sigma ^j)/(j+1)\), denoted by \(B_{{{\,\mathrm{aff}\,}}\sigma ^j}(c , (\min {{\,\mathrm{alt}\,}}\sigma ^j)/(j+1))\), is contained in \(\sigma ^j\). We now consider any diameter, that is a line segment \(\ell \) connecting a pair of antipodal points of \(\partial B_{{{\,\mathrm{aff}\,}}\sigma ^j}(c ,(\min {{\,\mathrm{alt}\,}}\sigma ^j)/(j+1))\). This diameter is contained in a \(d_{{\max }}\) neighbourhood of \(A_0\) and thus

$$\begin{aligned} \sin \angle (\ell , A_0) \le \frac{(j+1)d_{{\max }}}{ \min {{\,\mathrm{alt}\,}}\sigma }. \end{aligned}$$

The result now follows, because \(\ell \) is arbitrarily chosen. \(\square \)

Simplices in a star in a triangulation of type \(\tilde{{{A}}_{{{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 \({\mathscr {T}}\) is Delaunay and the dual of a vertex is a permutahedron, see [25]. We recall that the permutahedron is defined as follows:

Definition 4.8

(permutahedron) A d -permutahedron is a d-dimensional polytope, which is the convex hull \(\mathcal{P}\) of all points in \(\mathbb {R}^{d+1}\), the coordinates of which are permutations of \(\{1, \ldots , d+1\}\).

We also remind the following definition, see [3], and corollary, see [42]:

Definition 4.9

Let S(dk) 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

$$\begin{aligned} S(d,k) = \frac{1}{k!} \sum _{j=0}^{k} (-1)^{j} \left( {\begin{array}{c}k\\ j\end{array}}\right) (k-j)^d. \end{aligned}$$

Corollary 4.10

([42, Corr. 3.15])   The number of \((d+1-k)\)-faces of the permutahedron is \( k!S(d+1,k)\).

By duality, the lemma immediately gives us the number \(N_k\) of k-faces that contain a given vertex in \({\mathscr {T}}\), \( N_k = k!S(d+1,k)\). We also write

$$\begin{aligned} N_{\le k} = 2+ \sum _{j=1}^{k} j!S(d+1,j), \end{aligned}$$
(4)

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:

Lemma 4.11

We have \( N_{\le k} \lesssim k^d d^k\).

Proof

[46, Thm. 3] gives us that for \(d \ge 2\) and \(1 \le j \le d-1\),

$$\begin{aligned} \frac{j^2+j+2}{2}j^{d-j-1}-1 \le S(d,j) \le \frac{j^{d-j}}{2} \left( {\begin{array}{c}d\\ j\end{array}}\right) . \end{aligned}$$

Furthermore, Stirling’s theorem and the binomial theorem give that \(j!\sim j^j\) and \(\sum _{j=0}^{k} \left( {\begin{array}{c}d\\ j\end{array}}\right) \lesssim d^k\), respectively. We now see that

$$\begin{aligned} N_{\le k} = 2+ \sum _{j=1}^{k} j!S(d+1,j) \lesssim \sum _{j=1}^{k} j! \left( {\begin{array}{c}d+1\\ j\end{array}}\right) j^{d+1-j} \lesssim k ^{d} \sum _{j=1}^{k} \left( {\begin{array}{c}d\\ j\end{array}}\right) \lesssim k^d d^k. \end{aligned}$$

It is clear that if k is much smaller than d that then \(k^d\) dominates. \(\square \)

5 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\) in \({\tilde{\mathscr {T}}}\).

  • 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 \({\mathscr {T}}\) has to be compared to \({{\,\mathrm{rch}\,}}\mathscr {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.

5.1 The Complex \({\tilde{\mathscr {T}}}\)

Before we can dive into the algorithmic construction of the perturbed complex \({\tilde{\mathscr {T}}}\), 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 \(\mathbb {R}^d\) of radius r. We now define \(\bar{\rho }_1>0\) as follows: For any two parallel \((d-1)\)-hyperplanes whose distance apart is less than \(2 \bar{\rho }_1 r\), the intersection of the slab between the two hyperplanes with the ball \(B^d(r)\) is denoted by \(\mathscr {S}\). Now, \(\bar{\rho }_1\) is the largest number such that the volume (\({{\,\mathrm{vol}\,}}\)) of any \(\mathscr {S}\) satisfies

$$\begin{aligned} {{\,\mathrm{vol}\,}}\mathscr {S}\le \frac{{{\,\mathrm{vol}\,}}B^d(r)}{2 N_{\le d-n-1}}, \end{aligned}$$

with \(N_{\le d-n}\) as in (4). A precise bound on \(\bar{\rho }_1\) can be given, see Remark 5.2 below. We will use an easier bound \(\rho _1\), at the cost of weakening the result:

Lemma 5.1

We have

$$\begin{aligned} \bar{\rho }_1 \ge \rho _1 ={\left\{ \begin{array}{ll} \displaystyle \frac{2^{2k-2} (k!)^2}{\pi (2k)!N_{\le d-n-1}} &{} \text {if}\,d=2k,\\ \displaystyle \frac{(2k)!}{ 2^{2k+2} k!(k-1)!N_{\le d-n-1}} &{} \text {if}\,d=2k-1. \end{array}\right. } \end{aligned}$$
(5)

Note that

$$\begin{aligned} \rho _1 \sim \frac{1}{\sqrt{d}\,N_{\le d-n-1}}. \end{aligned}$$

Proof

We can bound the volume of the slab \(\mathscr {S}\) by the volume of cylinder with base \(B^{d-1}(r)\) and height \(2 \rho _1 r\), that is

$$\begin{aligned} 2 \rho _1 r^d \frac{\pi ^{ ({d-1})/{2}} }{\varGamma (({d+1})/{2})}. \end{aligned}$$

This means that

$$\begin{aligned} \frac{{{\,\mathrm{vol}\,}}\mathscr {S}}{{{\,\mathrm{vol}\,}}B^d(r)}&< \frac{2 \rho _1 r \cdot {{\,\mathrm{vol}\,}}B^{d-1} (r)}{{{\,\mathrm{vol}\,}}B^d(r)}= \frac{2 \rho _1 {\pi ^{({d-1})/{2}} }/{\varGamma (({d-1})/{2}+1)} }{ {\pi ^{{d}/{2}} }/{\varGamma ( {d}/{2}+1)} }\\&= \frac{2 \rho _1 \varGamma ( {d}/{2}+1) }{\sqrt{\pi } \,\varGamma ( (d-1)/{2}+1)}={\left\{ \begin{array}{ll} \displaystyle \frac{\pi (2k)!}{2^{2k-1} (k!)^2} \rho _1 &{} \text {if}\,d=2k,\\ \displaystyle \frac{ 2^{2k+1} k! (k-1)!}{(2k)!} \rho _1 &{} \text {if}\, d=2k-1. \end{array}\right. } \end{aligned}$$

using the standard formulae for the volume of the ball, see for example [34, p. 622]. Note that the inequality is strict because \(\rho _1>0\). We see that therefore \(\rho _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, \({\varGamma (x+a)}/{\varGamma (x)} \sim x^a\). This means that

$$\begin{aligned} \frac{2 \rho _1 \varGamma ( {d}/{2}+1) }{\sqrt{\pi }\, \varGamma ( ({d-1})/{2}+1) } \sim \frac{2 \rho }{\sqrt{\pi }}\biggl (\frac{d}{2}+\frac{1}{2} \biggr )^{\!1/2}\sim \sqrt{d}. \end{aligned}$$

We now see that

$$\begin{aligned} \rho _1 \sim \frac{1}{\sqrt{d}\, N_{\le d-n-1}}. \end{aligned}$$

\(\square \)

Remark 5.2

Because of symmetry, the largest volume \(\mathscr {S}\) can attain is when both delimiting hyperplanes are equidistant to the centre of \(B^d(r)\). The volume of \(\mathscr {S}\) is given by the integral

$$\begin{aligned} r^d \int _{-\bar{\rho }_1}^{\rho _1} {{\,\mathrm{vol}\,}}{B^{d-1} \bigl (\!{\sqrt{1-h^2} }\bigr ) }\, {\mathrm {d}}h= \frac{\pi ^{ ({d-1})/{2}} }{\varGamma (({d+1})/{2})}\, r^d \int _{-\rho _1}^{\rho _1}\bigl (\!{\sqrt{1-h^2} }\bigr )^{d-1} {\mathrm {d}}h, \end{aligned}$$

where \(B^{d-1}(r)\) denotes the ball of dimension \(d-1\) with radius r and \(\varGamma \) 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 \(\bar{\rho }_1\).

The coarseness of \({\mathscr {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 \(\tilde{v}_i\) is \( \tilde{c} {L}\). We define \(\tilde{c}\) as

$$\begin{aligned} \tilde{c} =\min {\biggl \{\frac{t ({\mathscr {T}}) \mu _0 \delta }{18 d{L}} ,\frac{t({\mathscr {T}})^2}{24}\biggr \}}. \end{aligned}$$
(6)

The reasons for this particular choice will be discussed after (17) below. We stress that (6) is independent of \({L}\) because \(\delta \) scales linearly with \({L}\). Notice that because \(t({\mathscr {T}})\le 1\), by definition of the thickness of a simplex, we have

$$\begin{aligned} \tilde{c} \le \frac{1}{24}. \end{aligned}$$
(7)

We are now ready to introduce the demands on the triangulation of ambient space. We start by bounding the scale of the Coxeter triangulation \({\mathscr {T}}\) by bounding the longest edge length. We do this by giving some constants. We define \(\alpha _1\) and \(\alpha _k\) by a recursion relation as follows:

$$\begin{aligned} \alpha _{1}= \frac{4}{3}\rho _1\tilde{c},\qquad \frac{2}{3} \alpha _{k-1} \tilde{c}\rho _1=\alpha _{k} , \end{aligned}$$
(8)

that is \(\alpha _{k} = {2^{k+1}} \rho _1^k \tilde{c}^k/{3^k}\). These definitions play an essential role in the volume estimates for the perturbation of the vertices, that are necessary to guarantee quality. Note that \(\alpha _k\) is extremely small. In particular, we shall have that

$$\begin{aligned} \alpha _k \le \frac{1}{18^k} , \end{aligned}$$
(9)

because \(\tilde{c} \le {1}/{24}\), as we have seen in (7). \(\rho _1\) is also very small, as a direct consequence of Lemma 5.1. Furthermore we notice that \(\alpha _k< \alpha _{k-1}\). To make sure the formulae do not become too big, we introduce the notation

$$\begin{aligned} \zeta = \frac{8}{15 \sqrt{d}\,\displaystyle \left( {\begin{array}{c}d\\ d-n\end{array}}\right) \cdot (1+ 2\tilde{c} ) } \biggl (1-\frac{8 \tilde{c}}{t({\mathscr {T}})^2 } \biggr )t({\mathscr {T}}). \end{aligned}$$
(10)

Note that \(\zeta \) depends on both the ambient and intrinsic dimension, and the perturbation parameter \(\tilde{c}\). Because \(\tilde{c} \le t({\mathscr {T}})^2/24\) and \(t({\mathscr {T}})\le 1\), we see that \(\zeta \le 1\). We set the coarseness of the ambient triangulation by demanding that \({L}\) satisfies

$$\begin{aligned} \left( 1- \sqrt{1- \biggl (\frac{6L({\mathscr {T}})}{{{\,\mathrm{rch}\,}}\mathscr {M}} \biggr )^{\!2}} \right) {{\,\mathrm{rch}\,}}\mathscr {M}=\frac{ \alpha _{d-n}^{4+2n} }{ 6(n+1)^2 } \zeta ^{2n} {L}, \end{aligned}$$
(11)

or equivalently

$$\begin{aligned} \frac{{L}}{{{\,\mathrm{rch}\,}}\mathscr {M}} =\frac{\alpha _{d-n}^{4+2n}\zeta ^{2n}/(3(n+1)^2)}{( \alpha _{d-n}^{4+2n}\zeta ^{2n}/{( 6(n+1)^2 })) ^2+6^2 }. \end{aligned}$$
(12)

Note that

$$\begin{aligned} \frac{{L}}{{{\,\mathrm{rch}\,}}\mathscr {M}}< \frac{\alpha _{d-n}^{4+2n} }{ 54(n+1)^2 } \zeta ^n<\frac{\alpha _{d-n}^{2} }{ 54},\quad \frac{\alpha _{d-n}^{4+2n} }{ 6(n+1)^2 } \zeta ^{2n} < \frac{\alpha _{d-n}^2 }{3} \le \frac{ \alpha _{d-n}}{3} , \end{aligned}$$
(13)

where we used that \(\zeta \le 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 \(\tau \) and \(\sigma \). We will use lower indices to distinguish simplices, while upper indices will stress the dimension, for example \(\tau _j^k\) is a simplex of dimension k.

Definition 5.4

(\((d-n-1)\)-skeleton safe triangulations) We say that a perturbed triangulation \({\tilde{\mathscr {T}}}\) of \( {\mathscr {T}}\) in \(\mathbb {R}^d\) is \((d-n-1)\)-skeleton safe with respect to the n-dimensional manifold \(\mathscr {M}\) if

$$\begin{aligned} d( \tau ^k,\mathscr {M}) > \alpha _k {L}, \end{aligned}$$
(14)

for all faces \(\tau ^k\) in \({\tilde{\mathscr {T}}}\), with \(k\le d-n-1\), and

$$\begin{aligned} {\tilde{L}}&< \frac{13}{12} {L}, \end{aligned}$$
(15)
$$\begin{aligned} t({\tilde{\mathscr {T}}})&\ge \frac{4}{5\sqrt{d}} \biggl (1-\frac{8 \tilde{c} }{t({\mathscr {T}})^2 } \biggr )t({\mathscr {T}}). \end{aligned}$$
(16)

5.2 Perturbing the Vertices

We now discuss the details of the perturbation scheme that we described in the algorithm section. The perturbation scheme follows Whitney [52, Sect. IV.18] and is inductive.

Construction of \({\tilde{\mathscr {T}}}\)   Let \(v_1, v_2, \ldots \) be the vertices of \({\mathscr {T}}\). We are going to inductively choose new vertices \(\tilde{v}_1, \tilde{v}_2,\ldots \) for \({\tilde{\mathscr {T}}}\), with

$$\begin{aligned} |v_i - \tilde{v}_i| \le \tilde{c} {L}=\min {\biggl \{ \frac{t ({\mathscr {T}}) \mu _0\delta }{18 d} ,\frac{ t({\mathscr {T}})^2 {L}}{24}\biggr \}}, \end{aligned}$$
(17)

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 most \(\tilde{c} {L}\) and thus the triangle inequality yields \({\tilde{L}}\le (1+2\tilde{c} ){L}\). We also claim the following:

Lemma 5.5

\({\tilde{\mathscr {T}}}\) has the same combinatorial structure as \({\mathscr {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 and \({\tilde{\mathscr {T}}}\) will have exactly the same combinatorial structure as \({\mathscr {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 \(\tau \) in \({\tilde{\mathscr {T}}}\),

$$\begin{aligned} t(\tau ) \ge \frac{4}{5\sqrt{d}} \biggl (1-\frac{8 \tilde{c} }{t({\mathscr {T}})^2 } \biggr )t({\mathscr {T}}) , \end{aligned}$$
(16)

as a consequence of Lemma 4.6, the fact that if you perturb the vertices by \(\tilde{c} {L}\) the edge lengths are perturbed by \(2\tilde{c}\) (that is \(2 \tilde{c}= c_0\)), and the fact that if \(\sigma \subset \tau \), then \(t(\sigma )\ge t(\tau )\). So we have established (16). \(\square \)

We now give the scheme where the vertices are perturbed inductively. Suppose that the vertices \(\tilde{v}_1, \ldots , \tilde{v}_{i-1}\) have been determined, and thus the complex \({\tilde{\mathscr {T}}}_{i-1}\) with these vertices. A simplex \(\{\tilde{v}_{j_1},\ldots ,\tilde{v}_{j_k} \}\) lies in \({\tilde{\mathscr {T}}}_{i-1}\) if and only if \(\{v_{j_1}, \ldots , v_{j_k }\}\) lies in \({\mathscr {T}}\). We shall now find \(\tilde{v}_i\) and thus \({\tilde{\mathscr {T}}}_i\) so that for any \(\tau ^k \in {\tilde{\mathscr {T}}}_i\) of dimension \(k\le d-n-1\), (14) is satisfied. We distinguish two cases:

Case 1: \(d(v_i, \mathscr {M}) \ge {3}{L}/2\).:

In this case we choose \(\tilde{v}_i=v_i\). The inequality (14) is established as follows: Because \( {\tilde{L}}< (1+ 2 \tilde{c}) {L}\), which means that for any point x in the star of \(\tilde{v}_i=v_i\) we have \(d(x, \tilde{v}_i(=v_i)) < (1+ 2\tilde{c}){L}\). By the triangle inequality we see that \(d(x, \mathscr {M}) \ge d(v_i, \mathscr {M}) - d(x, \tilde{v}_i(=v_i)) \ge ({1}/{2}- 2 \tilde{c}) {L}\). That is, any simplex in \({\tilde{\mathscr {T}}}\) with vertex \(\tilde{v}_i=v_i\) is at least distance \(({1}/{2}- 2 \tilde{c}) {L}\) from the manifold. Thanks to (7) we have that \( ({1}/{2}- 2 \tilde{c}) {L}> {5} {L}/{12}\). This means that \(d( \tau ^k,\mathscr {M}) > {5} {L}/{12}\) for any simplex in the star of \(\tilde{v}_i=v_i\). This lower bound is much larger than \(\alpha _k {L}<{L}/{18^k}\).

Case 2: \(d(v_i, \mathscr {M}) < {3}{L}/2\).:

Let p be a point in \(\mathscr {M}\) such that \(d(v_i,p)< {3} {L}/2\). Let

$$\begin{aligned} \tau '_0(= \emptyset ) , \tau '_1, \ldots , \tau '_\nu \end{aligned}$$
(18)

be the simplices of \({\tilde{\mathscr {T}}}_{i-1}\) such that the joins \(\tau _j=\tau '_j * \tilde{v }_i\) are simplices of \({\tilde{\mathscr {T}}}\), and \(\dim (\tau '_j * \tilde{v }_i) \le d-n-1\) (and thus \(\dim \tau '_j\le d-n-2\)), with \(0\le j \le \nu \). We note that \(\nu \le N_{\le d-n-1}\), with \(N_{\le k}\) as defined in (4). We now consider the span, denoted by \({{\,\mathrm{span}\,}}(\tau _j' ,T_p\mathscr {M})\), for all \(0\le j \le \nu \). Note that the dimension of \({{\,\mathrm{span}\,}}(\tau _j' ,T_p\mathscr {M})\) is at most \((d-n-2)+n+1=d-1\).

We now claim the following:

Lemma 5.6

We can pick \(\tilde{v}_i\) such that it lies sufficiently far from each \({{\,\mathrm{span}\,}}(\tau _j' ,T_p\mathscr {M})\), that is

$$\begin{aligned} d(\tilde{v}_i, {{\,\mathrm{span}\,}}(\tau _j' ,T_p\mathscr {M}) ) \ge \rho _1 \tilde{c} {L}, \end{aligned}$$
(19)

while it is not too far from \(v_i\), that is \(|\tilde{v}_i- v_i | \le \tilde{c} {L}\).

Proof

The argument is volumetric. Let us first introduce the notation U(Xr) for the set of all points \(x \in \mathbb {R}^d\) such that \(d(x, X)\le r\), where X is any subset of \(\mathbb {R}^d\). By definition of \(\rho _1\), see ‘Balls and exclusion volumes’ in Sect. 5.1, and because the dimension of \({{\,\mathrm{span}\,}}(\tau _j' ,T_p\mathscr {M})\) is at most \(d-1\), we have that

$$\begin{aligned} {{\,\mathrm{vol}\,}}{\bigl (B(v_i, \tilde{c} {L}) \cap U({{\,\mathrm{span}\,}}(\tau _j' ,T_p\mathscr {M}), \rho _1 \tilde{c} {L}) \bigr )} \le \frac{{{\,\mathrm{vol}\,}}B^d(r)}{2 N_{\le d-n-1}} . \end{aligned}$$

It now follows that

$$\begin{aligned}&{{\,\mathrm{vol}\,}}\left( B(v_i, \tilde{c} {L}) \big \backslash \bigcup _{1\le j \le \nu }\! U({{\,\mathrm{span}\,}}(\tau _j' ,T_p\mathscr {M}), \rho _1 \tilde{c} {L}) \right) \\&\quad \ge {{\,\mathrm{vol}\,}}B(v_i, \tilde{c} {L}) - \sum _{0\le j \le \nu }\! {{\,\mathrm{vol}\,}}{\bigl (B(v_i, \tilde{c} {L}) \cap U({{\,\mathrm{span}\,}}(\tau _j' ,T_p\mathscr {M}), \rho _1 \tilde{c} {L}) \bigr )}\\&\quad > {{\,\mathrm{vol}\,}}B(v_i, \tilde{c} {L}) - \sum _{0\le j \le \nu } \frac{{{\,\mathrm{vol}\,}}B(v_i, \tilde{c} {L}) }{2 N_{\le d-n-1} }\\&\quad = \biggl (1- \frac{\nu +1}{2 N_{\le d-n-1}} \biggr ){{\,\mathrm{vol}\,}}B(v_i, \tilde{c} {L})\ge \frac{ {{\,\mathrm{vol}\,}}B(v_i, \tilde{c} {L})}{2}, \end{aligned}$$

where we used that \(\nu \le N_{\le 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 \(\tilde{v}_i\) that satisfies

$$\begin{aligned} d(\tilde{v}_i, {{\,\mathrm{span}\,}}(\tau _j' ,T_p\mathscr {M})) > \rho _1 \tilde{c} {L}, \end{aligned}$$
(20)

for all \(1\le j \le \nu \). \(\square \)

The following lemma completes Case 2:

Lemma 5.7

The triangulation \({\tilde{\mathscr {T}}}\) is \((d-n-1)\)-skeleton safe, in particular (14) is satisfied.

Proof

We first make use of the inductionFootnote 3 hypothesis \(d(\tau '_j , \mathscr {M})> \alpha _{k-1} {L}\) to find a bound on the distance from \(\tau '_j\) to the tangent space \(T_p \mathscr {M}\), then bound the distance from \(\tilde{v}_i * \tau '_j= \tau _j \) to \(T_p\mathscr {M}\) based on this. For this argument to work, we have to assume that \(\tau '_j\) is not the empty set, that is \(j\ne 0\). This case is handled separately at the end. If we combine

  1. 1.

    the induction hypothesis \(d(\tau '_j , \mathscr {M})> \alpha _{k-1} {L}\),

  2. 2.

    the fact that the ball in the tangent space \(B_{T_p\mathscr {M}} (p,r)\), centred at p of radius \(6 {L}= r\), satisfies

    $$\begin{aligned} B_{T_p\mathscr {M}} (p,r) \subset U\left( \mathscr {M}, \left( 1- \sqrt{1- \Bigl (\frac{r}{{{\,\mathrm{rch}\,}}\mathscr {M}} \Bigr )^{\!2}} \right) {{\,\mathrm{rch}\,}}\mathscr {M}\right) , \end{aligned}$$

    thanks to Lemma 3.5,

we find that

$$\begin{aligned} d(\tau '_j , B_{T_p\mathscr {M}} (p,r))> \alpha _{k-1} {L}- \left( 1- \sqrt{1- \Bigl (\frac{r}{{{\,\mathrm{rch}\,}}\mathscr {M}} \Bigr )^{\!2}} \right) {{\,\mathrm{rch}\,}}\mathscr {M}. \end{aligned}$$

This can be simplified:

(21)

Because \(d(v_i,p)< {3} {L}/2\), \({\tilde{L}}< {L}+ 2 \tilde{c} {L}\), and \(\tilde{c}<{1}/{24}\), see (7), we have the very coarse bound that

$$\begin{aligned} d(\tau '_j,p) \le 4 {L}, \end{aligned}$$
(22)

by the triangle inequality. We thus find that

$$\begin{aligned} d(\tau _j', T_p\mathscr {M}\setminus B_{T_p\mathscr {M}} (p,r)) > 2 {L}. \end{aligned}$$

This means that (21) holds for the entire tangent space, that is,

$$\begin{aligned} d(\tau '_j , T_p\mathscr {M})&> \frac{2}{3} \alpha _{k-1} {L}. \end{aligned}$$
(23)

Lemma B.2, with \(A_1= T_p\mathscr {M}\) and \(A_2={{\,\mathrm{span}\,}}(\tau _j' ,T_p\mathscr {M})\), now gives

$$\begin{aligned} d(\tau _j, T_p\mathscr {M})&\ge \frac{d(\tau '_j, T_p\mathscr {M})d(v_i, {{\,\mathrm{span}\,}}(\tau _j' ,T_p\mathscr {M}))}{ {L}+ 2 \tilde{c} {L}}. \end{aligned}$$

This can again be simplified:

(24)

Similarly to (22), we have that

$$\begin{aligned} d(\tau _j,p) \le 4 {L}< 6 {L}. \end{aligned}$$

We can go from the distance from \(\tau _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

$$\begin{aligned} d(\tau _j, \mathscr {M})> \frac{4}{3} \alpha _{k}{L}- \left( 1- \sqrt{1- \biggl (\frac{6 {L}}{{{\,\mathrm{rch}\,}}\mathscr {M}} \biggr )^{2}} \right) {{\,\mathrm{rch}\,}}\mathscr {M}. \end{aligned}$$

This can be again simplified:

This completes the proof for the case where \(j\ne 0\) or \(\tau _j\) is non-empty. For \(j=0\), (20) and Lemma 3.5 yield

$$\begin{aligned} d(\tau _j, \mathscr {M}) >\rho _1 \tilde{c} {L}- \left( 1- \sqrt{1- \biggl (\frac{6 {L}}{{{\,\mathrm{rch}\,}}\mathscr {M}} \biggr )^{\!2}} \right) {{\,\mathrm{rch}\,}}\mathscr {M}. \end{aligned}$$

We simplify:

\(\square \)

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.

6 Constructing the Triangulation of \(\mathscr {M}\)

Section 6.1 gives geometric consequences of the perturbation we discussed in the previous section. Most importantly we shall see that a simplex \(\tilde{\sigma }\) in \({\tilde{\mathscr {T}}}\) intersects \(\mathscr {M}\) if and only if it intersects the tangent space \(T_p\mathscr {M}\) of \(\mathscr {M}\) at a nearby point p close to \(\sigma \), see Lemma 6.2. Here we again rely on Appendix B. The triangulation K of \(\mathscr {M}\) is defined in Sect. 6.2.

6.1 The Geometry of the Intersection of Simplices in \({\tilde{\mathscr {T}}}\) and \(\mathscr {M}\) (the Ambient Triangulation and the Manifold)

In this section, we discuss the geometry of simplices in \({\tilde{\mathscr {T}}}\) in relation to \(\mathscr {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\in \mathscr {M}\) we first establish a lower bound on the distance between \(T_p\mathscr {M}\) and simplices in the \((d-n-1)\)-skeleton of \({\mathscr {T}}\) that are close to p.

Lemma 6.1

Let \(p \in \mathscr {M}\) and suppose that \(\tau ^k \in {\tilde{\mathscr {T}}}\), with \(k \le d-n-1\), be such that \(\tau ^k \subset B(p,6 {L})\). Then

$$\begin{aligned} d(\tau ^k , T_p\mathscr {M}) > \frac{2}{3}\alpha _k {L}. \end{aligned}$$

The following proof differs from Whitney’s proof.

Proof of Lemma 6.1

Because \(\tau ^k \subset B(p,6 {L})\), the point in \(T_p\mathscr {M}\) that is closest to \(\tau \) lies in \(T_p\mathscr {M}\cap B(p,6 {L})= B_{T_p\mathscr {M}} (p,6 {L})\). We now see that

which completes the proof. \(\square \)

We can now examine the relation between intersections with the manifold and nearby tangent spaces.

Lemma 6.2

Suppose that \(\mathscr {M}\) intersects \(\tau ^k \in {\tilde{\mathscr {T}}}\). Let \(p \in \mathscr {M}\) be such that \(\tau ^k \subset B(p,6 ({L})\), then \(T_p\mathscr {M}\) intersects \(\tau ^k\).

Proof

Let \(\bar{p} \in \mathscr {M}\cap \tau ^k\). Lemma 3.2 (and (11), (13)) gives \(\bar{p} \in \pi _{p }^{-1} (B_{T_p\mathscr {M}} (p,6 {L}))\), where we use the notation of Definition 3.3. Lemma 3.5 implies

$$\begin{aligned} d(\bar{p}, T_p\mathscr {M}) \le \left( 1- \sqrt{1- \biggl (\frac{6 {L}}{{{\,\mathrm{rch}\,}}\mathscr {M}} \biggr )^{\!2}} \right) {{\,\mathrm{rch}\,}}\mathscr {M}<\frac{\alpha _{d-n} {L}}{3} . \end{aligned}$$

Let \(\check{\tau } \subset \tau ^k\) be the face of smallest dimension such that \(d(\check{\tau } , T_p\mathscr {M})\le {2}\alpha _{d-n} {L}/3\). This face exists thanks to the triangle inequality. By Lemma 6.1 we have \(\dim \check{\tau }\ge d-n\). Lemma B.1 implies that \(\check{\tau }\) intersects \(T_p\mathscr {M}\). The reason for this is the following; \(\check{\tau }\) is the simplex of the smallest dimension such that \(d(\check{\tau } , T_p\mathscr {M})\le {2}\alpha _k {L}/3\), meaning in particular that \(d(\check{\tau } , T_p\mathscr {M}) < d(\partial \check{\tau } , T_p\mathscr {M})\). Because \(\check{\tau }\) is a face of \(\tau ^k\), clearly \(T_p\mathscr {M}\) intersects \(\tau ^k\). \(\square \)

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 \(\mathscr {M}\) intersects \(\tau ^k \in {\tilde{\mathscr {T}}}\) and \(\tau ^k\) has dimension \(d-n\), that is \(k=d-n\). Let \(p \in \mathscr {M}\) be such that \(\tau ^k \subset B(p,6 {L})\), then

$$\begin{aligned} \sin { \angle ({{\,\mathrm{aff}\,}}\tau ^k, T_p\mathscr {M})} \ge \frac{2d( T_p\mathscr {M}, \partial \tau ^k) }{ {L}+ 2 \tilde{c} {L}}\ge \frac{ {4}\alpha _k {L}/3}{ {L}+ 2 \tilde{c} {L}}\ge \frac{16}{13} \alpha _k. \end{aligned}$$

Proof

This is an immediate consequence of Lemma B.1, (17), and the previous lemmas. \(\square \)

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 \in \mathscr {M}\), \(\tau ^k\in {\tilde{\mathscr {T}}}\), \(\tau ^k \subset B(p,6 {L}) \), and moreover \(T_p\mathscr {M}\) intersects \(\tau ^k\), then \(k \ge d-n\) and \(\mathscr {M}\) intersects \(\tau ^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 \(\mathscr {M}\).

Proof

Let \(\check{\tau }\) be a face of smallest dimension of \(\tau ^k\) such that \(d(\check{\tau }, T_p\mathscr {M})\le {2}\alpha _n {L}/3\). Now Lemmas B.1 and 6.2 give that \(\check{\tau }\) and \(T_p\mathscr {M}\) have a unique point \(\bar{p}\) in common and the dimension of \(\check{\tau }\) is \(d-n\).

Thanks to Lemma 3.2, \(\mathscr {M}\) can be written as the graph of a function f, in a neighbourhood of at most size \({{\,\mathrm{rch}\,}}\mathscr {M}\). We note that \(f:T_p\mathscr {M}\simeq \mathbb {R}^n \rightarrow N_p\mathscr {M}\simeq \mathbb {R}^{d-n}\), where here we think of the tangent and normal spaces as embedded in \(\mathbb {R}^d\). Using the identification of \(T_p\mathscr {M}\) with \(\mathbb {R}^n\), we now define

$$\begin{aligned} F:\mathbb {R} \times \mathbb {R}^n \rightarrow \mathbb {R}^d,\qquad (\lambda ,x) \mapsto (x, \lambda f(x) ). \end{aligned}$$

Note that \(F(0,\,{\cdot }\,)\) gives a parametrisation of \(T_p\mathscr {M}\). Similarly, we can define \(G:\mathbb {R}^{d-n} \rightarrow \mathbb {R}^d\) to be a linear (orthonormal) parametrisation of \({{\,\mathrm{aff}\,}}\check{\tau }\). We now consider the difference of the two functions \(F-G:\mathbb {R} \times \mathbb {R}^n \times \mathbb {R}^{d-n}= \mathbb {R} \times \mathbb {R}^d \rightarrow \mathbb {R}^d\). Thanks to Lemma 6.3 we have that

$$\begin{aligned} \sin { \angle ({{\,\mathrm{aff}\,}}\check{\tau }, T_p\mathscr {M}) }\ge \frac{16}{13} \alpha _{d-n}. \end{aligned}$$

Lemma 3.1 and (13) give that for any \(q\in B(p,6 {L})\)

$$\begin{aligned} \sin {\frac{\angle (T_p\mathscr {M}, T_q \mathscr {M})}{2}}\le \frac{6 {L}}{2{{\,\mathrm{rch}\,}}\mathscr {M}} \le \frac{6}{2} \cdot \frac{ \alpha _{d-n}^{2} }{ 54 } = \frac{\alpha _{d-n}^2 }{18} . \end{aligned}$$

It is clear that this also gives an upper bound on the angle between \(T_p\mathscr {M}\) and the graph of \(F(\lambda ,\cdot )\) (denoted by \({{\,\mathrm{graph}\,}}{F(\lambda ,\,{\cdot }\,)}\)) for all \(\lambda \in [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 \(\angle ({{\,\mathrm{aff}\,}}\tau ^k, T_p\mathscr {M})\), \({{\,\mathrm{aff}\,}}\check{\tau }\) and the tangent space to the graph \(T_q \, {{\,\mathrm{graph}\,}}{F(\lambda ,\,{\cdot }\,)}\) span \(\mathbb {R}^d\), for any \(\lambda \in [0,1]\) and \(q\in B(p,6 {L})\). The implicit function theorem and the fact that \(\check{\tau }\) and \(T_p\mathscr {M}\) have a unique point \(\bar{p}\) in common now give that the intersection \(\bar{p}_\lambda \) between \({{\,\mathrm{graph}\,}}{F(\lambda ,\,{\cdot }\,)} \cap B(p,6 {L})\) and \({{\,\mathrm{aff}\,}}\check{\tau }\) exists and is unique, for all \(\lambda \in [0,1]\).

We can now use Lemmas 3.2, 3.5, and 6.3, to bound \(|\bar{p}-\bar{p}_\lambda |\). The distance from the manifold to the tangent space is bounded from above by

$$\begin{aligned} \frac{\alpha _{d-n} ^{3+2n} }{ 3(n+1) } \zeta ^{2n}{L}< \frac{\alpha _{d-n}^2 {L}}{3} , \end{aligned}$$

due to (11) and (13). The same bound holds for \({{\,\mathrm{graph}\,}}{F(\lambda ,\,{\cdot }\,)}\). We also have that \(\sin \angle ({{\,\mathrm{aff}\,}}\check{\tau }, T_p\mathscr {M}) \ge {16} \alpha _{d-n}/{13}\). Combining these observations gives

$$\begin{aligned} |\bar{p}-\bar{p}_\lambda | \le \frac{\alpha _{d-n}^2 {L}/3}{{16}\alpha _{d-n}/{13}}\le \frac{\alpha _{d-n} {L}}{3}. \end{aligned}$$

This distance bound is smaller than the distance bound for \(\bar{p}\) and the boundary of \(\check{\tau }\), due to Lemma 6.1. This means that \(\bar{p}_\lambda \in \check{\tau }\), and in particular that \(\mathscr {M}\) intersects \(\tau ^k\). \(\square \)

Finally, we study the faces of a simplex that intersects \(\mathscr {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.

Lemma 6.5

If \(\mathscr {M}\) intersects \(\tau = \{v_0, \ldots , v_r\} \in {\tilde{\mathscr {T}}}\), then for each \(v_i \in \tau \), there exists some \((d-n)\)-face \(\tau '\) of \(\tau \) such that \(v_i \in \tau '\) and \(\tau '\) intersects \(\mathscr {M}\).

Proof

Take \(p \in \mathscr {M}\cap \tau \). Let \(\check{\tau }^k\) be a face of the smallest dimension of \(\tau \), with \(v_i \in \check{\tau }^k\), that intersects \(T_p\mathscr {M}\). Now assume that \(k> d-n\). Let us write \(\check{\tau }^{k-1}\) for the face of \(\check{\tau }^k\) opposite \(v_i\). Because the dimension of \(\check{\tau }^{k} \cap T_p\mathscr {M}\) is at least 1, the intersection of \(T_p\mathscr {M}\) and \(\check{\tau }^{k-1}\) is non-empty.

Similarly to the first argument in the proof of Lemma 6.4, we see that \(T_p\mathscr {M}\) intersects some \((d-n)\)-face of \(\check{\tau }^{k-1}\). Thanks to Lemma 6.3, the angle between this \((d-n)\)-face and \(T_p\mathscr {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 \({\mathscr {T}}\) that contains this \((d-n)\)-face has points in the interior that lie in \(T_p\mathscr {M}\). In particular, the interior of \(\check{\tau }^k\) contains part of \(T_p\mathscr {M}\). Because both the interior of \(\check{\tau }^k\) and \(\check{\tau }^{k-1}\) contain points of \(T_p\mathscr {M}\), linearity gives that \(T_p\mathscr {M}\) must intersect \(\partial \check{\tau }^k \setminus \check{\tau }^{k-1}\). From this contradiction of the assumption, we conclude that \(k=d-n\). Lemma 6.4 finally says that \(\mathscr {M}\) intersects \(\check{\tau }^k\), because \(T_p\mathscr {M}\) does. \(\square \)

6.2 The Triangulation of \(\mathscr {M}\): The Complex K

The construction of the complex follows [52, Sect. IV.20].

In each simplex \(\tau \) of \({\tilde{\mathscr {T}}}\) that intersects \(\mathscr {M}\), we choose a point \(v(\tau )\) 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 \(\tau _0 \subset \tau _1 \subset \ldots \subset \tau _k\) of distinct simplices in \({\tilde{\mathscr {T}}}\) such that \(\tau _0\) intersects \(\mathscr {M}\),

$$\begin{aligned} \sigma ^k= \{v(\tau _0) , \ldots , v(\tau _k)\} \end{aligned}$$
(25)

will be a simplex of K. The definition of \(v(\tau )\) depends on the dimension of \(\tau \):

  • If \(\tau \) is a simplex of dimension \(d-n\), then there is an unique point of intersection with \(\mathscr {M}\), due to Lemma 6.4. We define \(v(\tau )\) to be this unique point.

  • If \(\tau \) has dimension greater than \(d-n\), then we consider the faces \(\tau _1^{d-n}, \ldots , \tau _j^{d-n}\) of \(\tau \) of dimension \(d-n\) that intersect \(\mathscr {M}\). These faces exist thanks to Lemma 6.5. We now define \(v(\tau )\) as follows:

    $$\begin{aligned} v(\tau ) =\frac{v(\tau _1^{d-n}) + \cdots + v(\tau _j^{d-n})}{j}. \end{aligned}$$
    (26)

Remark 6.6

We stress that thanks to Lemma 6.4, choosing the point \(v(\tau ^{d-n})\) to be the point of intersection with \(T_p\mathscr {M}\), assuming p is sufficiently close, locally gives the same combinatorial structure as intersections with \(\mathscr {M}\). We also stress that for the combinatorial structure it does not really matter where \(\mathscr {M}\) intersects a simplex of \({\tilde{\mathscr {T}}}\), 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 \(\sigma ^n\) be a top dimensional simplex as defined in (25), then

$$\begin{aligned} {{\,\mathrm{min\,alt}\,}}\sigma ^n > \zeta ^n (\alpha _{d-n-1})^n{\tilde{L}}, \end{aligned}$$

where \({{\,\mathrm{min\,alt}\,}}\) denotes the minimal altitude or height, and we used the notation \(\zeta \) as defined in (10).

Proof

This inequality relies on estimates on the barycentric coordinates and Lemma 4.6. We first establish a bound on the barycentric coordinates of \(v(\tau ^{d-n}_i)\) for some \((d-n)\)-dimensional simplex \(\tau ^{d-n}_i \in {\tilde{\mathscr {T}}}\) that intersects \(\mathscr {M}\). By Lemma 6.1, \(v(\tau ^{d-n}_i)\) lies at least a distance \(2 \alpha _{d-n-1} {L}/3\) from the boundary \(\partial \tau ^{d-n}_i\), and the longest edge is at most \({L}+ 2 \tilde{c} {L}\). This means that all the barycentric coordinates \(\lambda _l\) with respect to (the vertices of) \(\tau ^{d-n}_i\) are at least

$$\begin{aligned} \lambda _l (\tau ^{d-n}_i)>\frac{2}{3} \alpha _{d-n-1} \frac{{L}}{{L}+ 2 \, \tilde{c}\, {L}} =\frac{2}{3} \alpha _{d-n-1} \frac{1}{1+ 2 \, \tilde{c} } . \end{aligned}$$
(27)

Let \(\tau ^d\) now be a top dimensional simplex in \({\tilde{\mathscr {T}}}\) that intersects \(\mathscr {M}\). Let \(\tau _1^{d-n}, \ldots , \tau _j^{d-n}\) be the faces of \(\tau ^d\) that intersect \(\mathscr {M}\). This means that \(d-n+1\) barycentric coordinates with respect to \(\tau ^d\) of any \(v(\tau ^{d-n}_i)\) satisfy the bound (27), while the other n coordinates are zero. This also means that for the barycentric coordinates with respect to \(\tau ^d\) of

$$\begin{aligned} v(\tau ^k) =\frac{v(\tau _1^{d-n}) + \cdots + v(\tau _j^{d-n})}{j}, \end{aligned}$$

for \(k>d-n\), we have that:

  • \(k+1\) of the coordinates \(\lambda _l\) satisfy

    $$\begin{aligned} \lambda _l > \frac{2}{3j} \cdot \frac{\alpha _{d-n-1}}{1+ 2\tilde{c} } . \end{aligned}$$
  • The other \(d-k\) coordinates are zero.

Note that \(j \le \left( {\begin{array}{c}d\\ d-n\end{array}}\right) \). This means that

$$\begin{aligned} d(v(\tau ^k) , \partial \tau ^k ) \ge \frac{2\alpha _{d-n-1}}{\displaystyle 3\left( {\begin{array}{c}d\\ d-n\end{array}}\right) \cdot (1+ 2\tilde{c} ) }{{\,\mathrm{min\,alt}\,}}\tau ^d. \end{aligned}$$

We now have

(28)

Using this estimate and the fact that \(\sigma ^n\) is defined through a sequence \(\tau _0^{d-n} \subset \tau _1^{d-n+1} \subset \ldots \subset \tau _n^{d}\), we can give a lower bound on the minimal altitude of the simplex. We are going to use the following easy observation on the minimal altitude simplices. Suppose that:

  • The simplex \(\sigma \) is the join of a point p and the simplex \(\sigma '\).

  • \(d(p, {{\,\mathrm{aff}\,}}\sigma ') \ge d_{\min }\).

  • \({{\,\mathrm{min\,alt}\,}}\sigma ' \ge h'\).

  • The maximum edge length of \(\sigma \) is \(L(\sigma )\).

Then \({{\,\mathrm{min\,alt}\,}}\sigma \ge {h' d_{\min }}/{L(\sigma )}\), as can be established by simple trigonometric arguments; see Fig. 5. Applying this result n times gives that

$$\begin{aligned} \begin{aligned} {{\,\mathrm{min\,alt}\,}}\sigma ^n&\ge \frac{h(\sigma ^{n-1})d_{\min }(\sigma ^{n} )}{L(\sigma ^n)}\ge \frac{h(\sigma ^{n-2})d_{\min }(\sigma ^{n})d_{\min } (\sigma ^{n-1} ) }{L(\sigma ^n)^2}\\&\ge \frac{ d_{\min } (\sigma ^{n}) \ldots d_{\min } (\sigma ^{0} ) }{L(\sigma ^n)^n} , \end{aligned} \end{aligned}$$
(29)

where we indicated the dimensions explicitly.

Fig. 5
figure 5

Both triangles are right angled. We stress that the projection of p onto \({{\,\mathrm{aff}\,}}\sigma '\) may be quite a distance from \(\sigma '\) itself

Plugging (28) (using the definition of the simplex \(\sigma ^n\) as in (25)) into (29) gives that \({{\,\mathrm{min\,alt}\,}}\sigma ^n\) is lower bounded as follows:

$$\begin{aligned} {{\,\mathrm{min\,alt}\,}}\sigma ^n\,> \left( \frac{8\alpha _{d-n-1}t({\mathscr {T}})}{\displaystyle 15 \sqrt{d} \, \left( {\begin{array}{c}d\\ d-n\end{array}}\right) \cdot (1+ 2\tilde{c} ) } \biggl (1-\frac{8 \tilde{c}}{t({\mathscr {T}})^2 } \biggr ) \right) ^{\!n}{\tilde{L}}\,=\, \zeta ^n \alpha _{d-n-1}^n {\tilde{L}}, \end{aligned}$$

which completes the proof. \(\square \)

7 The Triangulation Proof

Given the triangulation \({\tilde{\mathscr {T}}}\), we want to prove that the intersection of \(\mathscr {M}\cap \tau ^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 of \({\tilde{\mathscr {T}}}\). 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 \(\tilde{A}\) and we do not perturb too much, the simplices of \({\tilde{\mathscr {T}}}\) are Delaunay. The homeomorphism from \(\mathscr {M}\cap \tau ^d\) to the triangulated polytope \(K\cap \tau ^d\), with K as defined in Sect. 6.2 and \(\tau ^d \in {\tilde{\mathscr {T}}}\), gives that the intersection of any simplex in \({\tilde{\mathscr {T}}}\) with \(\mathscr {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 \(\tau \in {\tilde{\mathscr {T}}}\) we provide a ‘tubular neighbourhood’ for \(K \cap \tau \) adapted to \(\tau \). By this we mean that, for each point \(\bar{p}\) in \(K \cap \tau \), we designate a ‘normal’ space \(\mathscr {N}_{\bar{p}}\) that has dimension equal to the codimension of \(\mathscr {M}\) and K, and is transversal to \(K \cap \tau \). Moreover, these directions shall be chosen in a sufficiently controlled and smooth way, so that every point x in \(\tau \) that is sufficiently close to K has a unique point \(\bar{p}\) on \(K\cap \tau \) such that \(x-\bar{p} \in \mathscr {N}_{\bar{p}}\).

  • We give conditions that enforce that the ‘normal’ spaces \(\mathscr {N}_{\bar{p}}\) intersect \(\mathscr {M}\) transversely. More precisely, we prove that the angle between \(\tilde{N}_{\bar{p}}\) and \(N_q\mathscr {M}\), for any \(q \in \mathscr {M}\cap \tau \), is upper bounded by a quantity strictly less than 90 degrees.

  • We conclude that the projection along \(\mathscr {N}_{\bar{p}}\) gives a homeomorphism from \(\mathscr {M}\) to K.

7.1 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:

  • The normal space is almost constant, see Lemma 3.1, near a simplex \(\tau \in {\tilde{\mathscr {T}}}\), because it is small. So \(T\mathscr {M}\) and \(N\mathscr {M}\) near p are well approximated by \(T_p\mathscr {M}\) and \(N_p\mathscr {M}\).

  • The angles between the normal space and faces \(\tau _1^{d-n}, \ldots , \tau _j^{d-n}\) of \(\tau \) of dimension \(d-n\) that intersect \(\mathscr {M}\) are bounded from below by Lemma 6.3.

As a consequence, the orthogonal projection map \(\pi _{{{\,\mathrm{aff}\,}}\tau _k^{d-n}\rightarrow N_p\mathscr {M}} \equiv \pi _{\tau _k^{d-n}}\) from the affine hull \({{\,\mathrm{aff}\,}}\tau _k^{d-n}\) to \(N_p\mathscr {M}\) is a (linear) bijection, for any p that is sufficiently close to \(\tau _k^{d-n}\), with \(k \in \{ 1, \ldots ,j\}\). We will denote the inverse of this map by \(\pi _{\tau _k^{d-n}}^{-1}\).

We can now define the ‘normal spaces’ for the complex K. We first do this for the vertices \(v(\tau )\), where \(\tau \) has dimension \(d-n\) (these vertices lie on \(\mathscr {M}\)), secondly for general vertices of K (these vertices do not necessarily lie on \(\mathscr {M}\)), and finally, using barycentric coordinates, for arbitrary points in K.

We start, as mentioned, with the vertices that are associated to a simplex \(\tau = \tau ^{d-n} \in {\tilde{\mathscr {T}}}\) of dimension \(d-n\). We stress that there is one face of \(\tau \) of dimension \(d-n\), namely \(\tau \) itself, so \(\tau = \tau ^{d-n} = \tau _1 ^{d-n}\). For the vertex \(v(\tau )=v(\tau ^{d-n})=v(\tau ^{d-n}_1)\) we choose the normal space \(\mathscr {N}_{v(\tau ^{d-n}_1)}\) to be \({{\,\mathrm{aff}\,}}\tau ^{d-n}_1\).

For \(v(\tau )\) such that the dimension of \(\tau \) is greater than \(d-n\) we make the following construction, which is reminiscent of the construction of \(v(\tau )\) in Sect. 6.2. Let \(p\in \mathscr {M}\) be such that \(\tau \subset B(p,6 {L})\). For now p is arbitrary, we will specify this later. We consider the faces \(\tau _1^{d-n}, \ldots , \tau _j^{d-n}\) of \(\tau \) of dimension \(d-n\) that intersect \(\mathscr {M}\). Now consider the orthogonal projection map \(\pi _{v(\tau _k^{d-n}),p}:{{\,\mathrm{aff}\,}}\tau _k^{d-n}\rightarrow N_{p} \mathscr {M}\). For any \(w\in N_{p} \mathscr {M}\) we define

$$\begin{aligned} N_{\tau ,p} (w) =\frac{1}{j} \Bigl ( \pi _{v(\tau _1^{d-n}),p}^{-1}(w) + \cdots +\pi _{v(\tau _j^{d-n}),p}^{-1}(w)\Bigr ) . \end{aligned}$$
(30)

To construct the normal space at \(v(\tau )\), we pick \(p= \pi _\mathscr {M}(v(\tau )) \) and define the normal space as \(\mathscr {N}_{v(\tau )} = {{\,\mathrm{span}\,}}N_{\tau ,\pi _\mathscr {M}(v(\tau ))} (w)\). Let \(\sigma ^{n}= \{v(\tau _0^{d-n}) , \ldots , v(\tau _n^d)\}\) be a simplex of K. Now choose a point \(p \in \mathscr {M}\) as before. For any point \(\bar{p}\) in \(\sigma ^n\) with barycentric coordinates \(\lambda = (\lambda _0, \ldots , \lambda _n)\), and any \(w \in N_{p}\mathscr {M}\), we define

$$\begin{aligned} N_{\bar{p},p} (w) = \lambda _0 N_{\tau _0^{d-n},p} (w) + \cdots + \lambda _n N_{\tau _n^{d},p} (w). \end{aligned}$$

We now set \(p= \pi _\mathscr {M}(\bar{p})\). By defining \(\mathscr {N}_{\bar{p}} = {{\,\mathrm{span}\,}}N_{\bar{p},\pi _\mathscr {M}(\bar{p})} (w)\), we get affine spaces for each point in each \(\sigma ^n \in K\).

Fig. 6
figure 6

The tubular neighbourhood

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 in \({\tilde{\mathscr {T}}}\).

The tubular neighbourhood is defined as the set of all points in \(\mathbb {R}^d\) that that lie in a unique \(\mathscr {N}_{\bar{p}}\), with \(p \in K\).

7.2 The Size of the Tubular Neighbourhoods and the Homeomorphism

In this section, we establish the size of the neighbourhood of K as defined by \(\mathscr {N}_{\bar{p}}\). The following angle estimate is an essential part of the estimate of the size of the neighbourhood of the triangulation K.

Lemma 7.2

Suppose that \(p \in \mathscr {M}\), \(\tau ^d \subset B(p,6 {L}) \), and \(\sigma ^n \in K\) are such that \(\sigma ^n \subset \tau ^d\), where we regard \(\sigma ^n\) and \(\tau ^d\) as subsets of \(\mathbb {R}^d\). Then the angle between \(T_p \mathscr {M}\) and \({{\,\mathrm{aff}\,}}\sigma ^n\) is bounded as follows:

$$\begin{aligned} \sin \angle ({{\,\mathrm{aff}\,}}\sigma ^{n}, T_p\mathscr {M}) \le \frac{ \alpha _{d-n}^{4+n} }{ 6(n+1) } \zeta ^{n} . \end{aligned}$$

Proof

By Lemma 4.7, we have

$$\begin{aligned} \sin \angle ({{\,\mathrm{aff}\,}}\sigma ^{n}, T_p\mathscr {M}) \le \frac{(n+1) d_{\max }}{ {{\,\mathrm{min\,alt}\,}}\sigma ^n}, \end{aligned}$$

where \(d_{\max }\) denotes the maximum distance of the vertices of \(\sigma ^{n}\) to \(T_p\mathscr {M}\). Lemma 6.7 gives us the following bound:

$$\begin{aligned} {{\,\mathrm{min\,alt}\,}}\sigma ^n> \alpha _{d-n-1}^n \zeta ^n {\tilde{L}}. \end{aligned}$$

Finally, \(d_{\max }\) is bounded thanks to (11). Combining these results yields

$$\begin{aligned} \sin \angle ({{\,\mathrm{aff}\,}}\sigma ^{n}, T_p\mathscr {M}) \le \frac{(n+1){ \alpha _{d-n}^{4+2n} } \zeta ^{2n} {L}/({ 6(n+1)^2 }) }{ \alpha _{d-n-1}^n \zeta ^n {\tilde{L}}} \le \frac{ \alpha _{d-n}^{4+n} \zeta ^{n} }{ 6(n+1) }, \end{aligned}$$

because \(\alpha _{d-n-1}< \alpha _{d-n}\) and \({\tilde{L}}\ge {L}\) (there are unperturbed simplices in \({\tilde{\mathscr {T}}}\)). \(\square \)

With this we can give a bound on the size of the neighbourhood of K.

Lemma 7.3

Let \(\bar{p}, \bar{q} \in \sigma ^n\), with barycentric coordinates \(\lambda = (\lambda _0, \ldots , \lambda _n)\), \(\lambda ' = (\lambda '_0, \ldots , \lambda '_n)\), respectively. Suppose that \(\mathscr {N}_{\bar{p}}\) and \(\mathscr {N}_{\bar{q}}\) are defined as in Sect. 7.1. Suppose now that the intersection between \(\bar{p}+ \mathscr {N}_{\bar{p}}\) and \(\bar{q}+\mathscr {N}_{\bar{q}}\) is non-empty. Here \(\bar{p}+ \mathscr {N}_{\bar{p}}\) and \(\bar{q}+\mathscr {N}_{\bar{q}}\) denote the affine spaces that go through \(\bar{p},\bar{q}\) and are parallel to \(\mathscr {N}_{\bar{p}},\mathscr {N}_{\bar{q}}\), respectively. If \(x \in \bar{p}+ \mathscr {N}_{\bar{p}} \cap \bar{q}+\mathscr {N}_{\bar{q}}\), then

$$\begin{aligned} d(x, {{\,\mathrm{aff}\,}}\sigma ^n) \ge \biggl (\frac{15}{13}\biggr )^{\!2}\,\frac{\alpha _{d-n}^4 }{ n+1 } \zeta ^n\alpha _{d-n-1}^n{\tilde{L}}. \end{aligned}$$
(31)

Because, by construction, the \(\mathscr {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 \(\bar{p},\bar{q} \in \sigma ^n\subset K\), the ‘normal’ spaces \(\mathscr {N}_{\bar{p}}\) and \(\mathscr {N}_{\bar{q}}\) are not intersecting too close to K if the angle between \(\mathscr {N}_{\bar{p}}\) and \(\mathscr {N}_{\bar{q}}\) is not too large compared to the distance between \(\bar{p}\) and \(\bar{q}\) (and the angle between \(\mathscr {N}_{\bar{p}}\) and \({{\,\mathrm{aff}\,}}\sigma \) 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\mathscr {M}\). Steps 1, 2, and 3 work from these very naïve bounds to fairly sharp estimates on \(\angle (\mathscr {N}_{\bar{p}},\mathscr {N}_{\bar{q}} ) \). In the fourth and final step the bound on \(\angle (\mathscr {N}_{\bar{p}}, \mathscr {N}_{\bar{q}} ) \) 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 \(\tau ^{d-n}\)

$$\begin{aligned} \sin \angle ({{\,\mathrm{aff}\,}}\tau ^{d-n}, T_p\mathscr {M}) \ge \frac{16}{13} \alpha _{d-n}\quad \text {or}\quad \cos \angle ({{\,\mathrm{aff}\,}}\tau ^{d-n}, N_p\mathscr {M})\ge \frac{16}{13} \alpha _{d-n}, \end{aligned}$$

so that for \(u \in N_p \mathscr {M}\) of unit length,

$$\begin{aligned} \cos \angle \Bigl (\pi _{v(\tau _k^{d-n}),p}^{-1}(u), u\Bigr )\, \ge \,\frac{16}{13} \alpha _{d-n}, \end{aligned}$$

with \(\pi _{v(\tau _k^{d-n}),p}:{{\,\mathrm{aff}\,}}\tau _k^{d-n}\rightarrow N_{p} \mathscr {M}\) the orthogonal projection map. This means that \(\bigl |\pi _{v(\tau _k^{d-n}),p}^{-1}(u)\bigr | \le {13}/({16 \alpha _{d-n}})\). Together with the triangle inequality this yields that

$$\begin{aligned} |N_{\tau ,p} (u) |,\, |N_{\bar{p}} (u') |\le \frac{13}{16\alpha _{d-n}} , \end{aligned}$$
(32)

for any \(u\in N_p \mathscr {M}\) and \(u' \in N_{\pi _\mathscr {M}(\bar{p})} \mathscr {M}\) of unit length. By construction, the component of \(N_{\tau ,p} (u)\) in the u direction is u and the component of \(N_{\bar{p}} (u')\) in the \(u'\) direction is also \(u'\). This in turn gives us that

$$\begin{aligned} \angle (N_{\tau ,p} (u) , u),\, \angle (N_{\bar{p}} (u') , u') \,\le \, \arccos {\frac{16\alpha _{d-n}}{13}} . \end{aligned}$$
(33)

Thus

$$\begin{aligned} \angle \biggl ({\mathop {{{\,\mathrm{span}\,}}}\limits _{u \in N_p \mathscr {M}}}\!N_{\tau ,p} (u),\, N_p \mathscr {M}\biggr ),\, \angle (\mathscr {N}_{\bar{p}} , N_{\pi _M(\bar{p}) } \mathscr {M}) \,\le \, \arccos {\frac{16\alpha _{d-n}}{13}}. \end{aligned}$$
(34)

If we want to compare the two different normal spaces \(N_p\mathscr {M}\) and \(N_q\mathscr {M}\), with \(|p-q| \le 4 {L}\), we again invoke Lemma 3.1 and (13) to see that

$$\begin{aligned} \sin \frac{ \angle (N_{p} \mathscr {M},N_{q} \mathscr {M}) }{2} \le \frac{2 {L}}{{{\,\mathrm{rch}\,}}\mathscr {M}} < \frac{\alpha _{d-n} ^{4+2n} }{ 29(n+1)^2 } \zeta ^n. \end{aligned}$$

Using (9) and the fact that \(\zeta \) is small, we can further simplify:

$$\begin{aligned} \sin \frac{ \angle (N_{p} \mathscr {M},N_{q} \mathscr {M}) }{2}< \frac{\alpha _{d-n}}{18^3\cdot 29} =\frac{\alpha _{d-n}}{169128}. \end{aligned}$$

The triangle inequality for angles (or points on the sphere) now implies that

$$\begin{aligned}&\angle \biggl ({\mathop {{{\,\mathrm{span}\,}}}\limits _{u \in N_p \mathscr {M}}}\!N_{\tau ,p}(u),\,{\mathop {{{\,\mathrm{span}\,}}}\limits _{u \in N_q \mathscr {M}}}\!N_{\tau ,q} (u)\biggr ),\,\angle (\mathscr {N}_{\bar{p}} , \mathscr {N}_{\bar{q}} )\\&\quad < 2 \arccos \frac{16\alpha _{d-n}}{13} + \arcsin \frac{\alpha _{d-n}}{18^3\cdot 29}. \end{aligned}$$

Overview steps 1, 2, and 3: angle estimates.   Having established some preliminary estimates, we will tighten this result for \(\angle (\mathscr {N}_{\bar{p}},\mathscr {N}_{\bar{q}} ) \). The angle between these two terms is determined by both p and \(\bar{p}\) in \(N_{\bar{p},p} (u) \). We will examine the effects of both separately.

Step 1: Bounding \(\angle (N_{\bar{p},p} (u) , N_{\bar{q},p} (u))\).   We start by fixing p and varying \(\bar{p}\). We now consider

$$\begin{aligned} N_{\bar{p},p} (u)&= \lambda _0 N_{\tau _0^{d-n},p} (u) + \cdots + \lambda _n N_{\tau _n^{d},p} (u)\quad \text {and}\\ N_{\bar{q},p} (u)&= \lambda _0' N_{\tau _0^{d-n},p} (u) + \cdots + \lambda _n' N_{\tau _n^{d},p} (u). \end{aligned}$$

We are now going to estimate the angle between these vectors and thus the angle between \({\mathop {{{\,\mathrm{span}\,}}}\nolimits _{u}} N_{\bar{p},p} (u)\) and \({\mathop {{{\,\mathrm{span}\,}}}\nolimits _{u}}N_{\bar{q},p} (u)\) in terms of the barycentric coordinates. The u components of \(N_{\bar{p},p} (u)\) and \(N_{\bar{q},p} (u)\) are u by construction as we mentioned before. We are going to compare this with the length of \(N_{\bar{p},p} (u)\) and \(N_{\bar{q},p} (u)\), and the length of their difference. For estimates on these lengths we need to introduce the following notation:

  • \(\bigl (N_{\tau _0^{d-n},p} (u) \ldots N_{\tau _n^{d},p} (u)\bigr )\) denotes the matrix whose columns are \(N_{\tau _0^{d-n},p} (u), \ldots , N_{\tau _n^{d},p} (u)\),

  • \(\Vert \,{\cdot }\, \Vert _2\) denotes the operator 2-norm,

  • \(\Vert \,{ \cdot }\, \Vert _{\text {F}}\) is the Frobenius norm.

With this notation, we can now derive the following bound:

$$\begin{aligned}&\Bigl |\lambda _0 N_{\tau _0^{d-n},p} (u) + \cdots + \lambda _n N_{\tau _n^{d},p} (u) - \Bigl (\lambda _0' N_{\tau _0^{d-n},p} (u) + \cdots + \lambda _n' N_{\tau _n^{d},p} (u) \Bigr )\Bigr |\nonumber \\&\quad =\Bigl | (\lambda _0-\lambda _0')N_{\tau _0^{d-n},p} (u)+ \cdots + (\lambda _n-\lambda _n')N_{\tau _n^{d},p} (u)\Bigr |\nonumber \\&\quad = \left| \Bigl (N_{\tau _0^{d-n},p} (u) {\ldots }N_{\tau _n^{d},p} (u)\Bigr ) \begin{pmatrix} \lambda _0-\lambda _0'\\ \vdots \\ \lambda _n-\lambda _n' \end{pmatrix}\right| \nonumber \\&\quad \le \Bigl \Vert \Bigl (N_{\tau _0^{d-n},p} (u) {\ldots }N_{\tau _n^{d},p} (u) \Bigr )\Bigr \Vert _2 | \lambda - \lambda '|\\&\quad \le \Bigl \Vert \Bigl (N_{\tau _0^{d-n},p} (u) {\ldots } N_{\tau _n^{d},p} (u) \Bigr )\Bigr \Vert _{\text {F}}| \lambda - \lambda '|\qquad \text {(because}\,\Vert \cdot \Vert _2 \le \Vert \cdot \Vert _{\text {F}})\nonumber \\&\quad =\sqrt{\bigl |N_{\tau _0^{d-n},p} (u)\bigr |^2 + \cdots + \bigl |N_{\tau _n^{d},p} (u)\bigr |^2}\,\cdot \,|\lambda - \lambda '|\quad \text {(by definition of}\,\Vert \,{ \cdot }\, \Vert _{\text {F}})\nonumber \\&\quad \le \frac{13\sqrt{n +1} }{16 \alpha _{d-n}} | \lambda - \lambda '| .\qquad \text {(by (32))}\nonumber \end{aligned}$$
(35)
Fig. 7
figure 7

The worst case for the angle between the vectors \(N_{\bar{p}}(e_j)\) and \(N_{\bar{q}}(e_j)\). We write \(\phi _0\) for an upper bound on \(\angle (N_{\bar{p}}(e_j),N_{\bar{q}} (e_j))\). Moreover \(\theta _0 \ge \arcsin {({16\alpha _{d-n}}/{10})}\). The length or bound on the length of two of the edges is also indicated in the figure

We now turn our attention to the triangle with edges \(N_{\bar{p},p} (u)\), \(N_{\bar{q},p} (u)\), and \(N_{\bar{p},p} (u) - N_{\bar{q},p} (u)\), as depicted in Fig. 7. We apply the sine rule to this triangle, using (33) and (35), to find

$$\begin{aligned} \begin{aligned} \sin \angle (N_{\bar{p},p} (u) , N_{\bar{q},p} (u))\le \sin \phi _0&= \frac{13 \sqrt{n +1} }{16 \alpha _{d-n}}\cdot | \lambda - \lambda '|\cdot \frac{13 }{16\alpha _{d-n}}\\&= \biggl (\frac{13 }{16 \alpha _{d-n}} \biggr )^{\!2} \sqrt{n+1}\cdot | \lambda - \lambda '|. \end{aligned} \end{aligned}$$
(36)

Note that this can be tightened a fair bit at the cost of complicating the bound. We conclude from (36) that

$$\begin{aligned} \sin \angle \Bigl ({\mathop {{{\,\mathrm{span}\,}}} \limits _{{u}}\ }N_{\bar{p},p} (u),\,{\mathop {{{\,\mathrm{span}\,}}} \limits _{u}}\ N_{\bar{q},p} (u)\Bigr ) \le \biggl (\frac{13}{16\alpha _{d-n}}\biggr )^{\!2}\sqrt{n+1}\cdot |\lambda - \lambda '|. \end{aligned}$$
(37)

Step 2: bounding \(\angle \bigl ({\mathop {{{\,\mathrm{span}\,}}}_{u \in N_p\mathscr {M}}}N_{\bar{p},p} (u) ,\, {\mathop {{{\,\mathrm{span}\,}}}_{u\in N_q\mathscr {M}}}N_{\bar{p},q} (u)\bigr )\).   We now want to bound the angle between \({\mathop {{{\,\mathrm{span}\,}}}_{u \in N_p\mathscr {M}}}N_{\bar{p},p} (u)\) and \({\mathop {{{\,\mathrm{span}\,}}}_{u\in N_q\mathscr {M}}}N_{\bar{p},q} (u)\) based on the distance between the points p and q in \(\mathscr {M}\). We use the fact that p and q are such that \(\tau \subset B(p,6 {L}), B(q , 6 {L})\), so the conditions of Lemma 6.3 hold. This also means that p and q are close, so the angle between \(N_q\mathscr {M}\) and \(N_p\mathscr {M}\) is very small. This gives that the projection \(\pi _{N_q\mathscr {M}\rightarrow N_p\mathscr {M}}\) induces a (linear) bijection from \(N_q\mathscr {M}\) to \(N_p\mathscr {M}\), so that the inverse \(\pi _{N_q\mathscr {M}\rightarrow N_p\mathscr {M}}^{-1}\) makes sense. Having established this map, we see that

$$\begin{aligned} \begin{aligned}&\angle \biggl ({\mathop {{{\,\mathrm{span}\,}}}\limits _{u \in N_p\mathscr {M}}}N_{\bar{p},p} (u), {\mathop {{{\,\mathrm{span}\,}}}\limits _{u\in N_q\mathscr {M}}} N_{\bar{p},q} (u)\biggr ) \\&\quad \le \sup _{u \in N_p \mathscr {M}} \angle \bigl (N_{\bar{p},p}(u),N_{\bar{p},q} \bigl (\pi _{N_q\mathscr {M}\rightarrow N_p\mathscr {M}}^{-1} (u)\bigr )\bigr ). \end{aligned} \end{aligned}$$
(38)

To bound this angle, we look at the individual terms in (30), that is \(\pi _{v(\tau _k^{d-n}),p}^{-1}(u)\) and \(\pi _{v(\tau _1^{d-n}),q}^{-1}\bigl (\pi _{N_q\mathscr {M}\rightarrow N_p\mathscr {M}}^{-1}(u)\bigr )\). See Fig. 8 for an illustration. We can write \(\pi _{N_q\mathscr {M}\rightarrow N_p\mathscr {M}}^{-1}(u)= u + \bar{w}_{q,p}\), with \(\bar{w}_{q,p} \in T_p\mathscr {M}\), \(| \bar{w}_{q,p}| \le \tan \angle (N_p \mathscr {M}, N_q\mathscr {M})\), and

$$\begin{aligned} |u + \bar{w}_{q,p}| \le \frac{1}{\cos \angle (N_p \mathscr {M}, N_q\mathscr {M}) }. \end{aligned}$$

Similarly, \(\pi _{v(\tau _k^{d-n}),p}^{-1}(u)\) can be written as \(u + \bar{w}_{k,p}\), with \(\bar{w}_{k,p} \in T_p\mathscr {M}\), and

$$\begin{aligned} |\bar{w}_{k,p}| \le \tan \angle ({{\,\mathrm{aff}\,}}\tau _k^{d-n}, N_p\mathscr {M}) . \end{aligned}$$

Likewise, \(\pi _{v(\tau _k^{d-n}),q}^{-1}(u+ \bar{w}_{q,p} )\) can be written as \(u+ \bar{w}_{q,p} + \bar{w}_{k,q}\), with \(\bar{w}_{k,q} \in T_q\mathscr {M}\), and

$$\begin{aligned} |\bar{w}_{k,q}| \le \frac{\tan \angle ({{\,\mathrm{aff}\,}}\tau _k^{d-n}, N_q\mathscr {M})}{ \cos \angle (N_p \mathscr {M}, N_q\mathscr {M})} . \end{aligned}$$

The distance from \(\pi _{v(\tau _k^{d-n}),q}^{-1}(u+ \bar{w}_{q,p} )\) to the translation of \(T_p\mathscr {M}\) that goes through u is at most

$$\begin{aligned}&\frac{\tan \angle ({{\,\mathrm{aff}\,}}\tau _k^{d-n}, N_q\mathscr {M}) \,\sin \angle (T_p \mathscr {M}, T_q\mathscr {M}) }{ \cos \angle (N_p \mathscr {M}, N_q\mathscr {M})} \\&\quad =\frac{\tan \angle ({{\,\mathrm{aff}\,}}\tau _k^{d-n}, N_q\mathscr {M})\, \sin \angle (N_p \mathscr {M}, N_q\mathscr {M}) }{ \cos \angle (N_p \mathscr {M}, N_q\mathscr {M})}. \end{aligned}$$
Fig. 8
figure 8

Note that the two-dimensional nature of the figure is slightly misleading

By definition of the projection map \(\pi _{v(\tau _k^{d-n}),p}\) the point \(\pi _{v(\tau _k^{d-n}),p}^{-1}(u)\) lies in the translation of \(T_p\mathscr {M}\) that goes through u. Because, also by definition, \(\pi _{v(\tau _k^{d-n}),p}^{-1}(u)\) and \(\pi _{v(\tau _k^{d-n}),q}^{-1}(u+\bar{w}_{q,p})= \pi _{N_q\mathscr {M}\rightarrow N_p\mathscr {M}}^{-1}(u)\) are both contained in \({{\,\mathrm{aff}\,}}\tau _k^{d-n}\), we have that

$$\begin{aligned}&\Bigl |\pi _{v(\tau _k^{d-n}),p}^{-1}(u) -\pi _{v(\tau _k^{d-n}),q}^{-1}(u+ \bar{w}_{q,p} ) \Bigr |\nonumber \\&\quad =\Bigl |\pi _{v(\tau _k^{d-n}),p}^{-1}(u) -\pi _{v(\tau _k^{d-n}),q}^{-1}\bigl (\pi _{N_q\mathscr {M}\rightarrow N_p\mathscr {M}}^{-1}(u)\bigr ) \Bigr |\nonumber \\&\quad \le \frac{\tan \angle ({{\,\mathrm{aff}\,}}\tau _k^{d-n}, N_q\mathscr {M})\, \sin \angle (N_p \mathscr {M}, N_q\mathscr {M}) }{ \cos \angle (N_p \mathscr {M}, N_q\mathscr {M})\, \sin \angle ({{\,\mathrm{aff}\,}}\tau _k^{d-n}, T_p\mathscr {M})}\\&\quad = \frac{\tan \angle ({{\,\mathrm{aff}\,}}\tau _k^{d-n}, N_q\mathscr {M})\, \sin \angle (N_p \mathscr {M}, N_q\mathscr {M}) }{ \cos \angle (N_p \mathscr {M}, N_q\mathscr {M})\, \cos \angle ({{\,\mathrm{aff}\,}}\tau _k^{d-n}, N_p\mathscr {M})}\nonumber \\&\quad = \frac{\tan \angle ({{\,\mathrm{aff}\,}}\tau _k^{d-n}, N_q\mathscr {M}) \,\tan \angle (N_p \mathscr {M}, N_q\mathscr {M}) }{ \cos \angle ({{\,\mathrm{aff}\,}}\tau _k^{d-n}, N_p\mathscr {M})}.\nonumber \end{aligned}$$
(39)

Lemma 6.3 gives us that \(\sin \angle ({{\,\mathrm{aff}\,}}\tau _k^{d-n}, T_p\mathscr {M}), \sin \angle ({{\,\mathrm{aff}\,}}\tau _k^{d-n}, T_q\mathscr {M}) \ge {16} \alpha _{d-n}/{13}\), so \(\cos \angle ({{\,\mathrm{aff}\,}}\tau _k^{d-n}, T_q\mathscr {M}) \ge {16}\alpha _{d-n}/{13} \) and

$$\begin{aligned} \tan \angle ({{\,\mathrm{aff}\,}}\tau _k^{d-n}, N_q\mathscr {M}) \le \frac{1- ({16}\alpha _{d-n}/{13})^2 }{{16 \alpha _{d-n}}/{13}}. \end{aligned}$$

By Lemma 3.1

$$\begin{aligned} \sin \frac{\angle (T_p\mathscr {M}, T_q \mathscr {M})}{2}\le \frac{|p-q|}{2{{\,\mathrm{rch}\,}}\mathscr {M}}, \end{aligned}$$

so that, using the identity \(\tan {(2 \arcsin x)}= {2x \sqrt{1-x^2} }/({1-2 x^2})\),

$$\begin{aligned} \tan \angle (N_p \mathscr {M}, N_q\mathscr {M}) \le \frac{\displaystyle \frac{|p-q|}{{{\,\mathrm{rch}\,}}\mathscr {M}} \sqrt{\displaystyle 1-\frac{|p-q|^2}{4({{\,\mathrm{rch}\,}}\mathscr {M}) ^2}} }{\displaystyle 1- \frac{|p-q|^2}{2 ({{\,\mathrm{rch}\,}}\mathscr {M})^2} }. \end{aligned}$$

This means that (39) yields

$$\begin{aligned} \begin{aligned}&\Bigl |\pi _{v(\tau _k^{d-n}),p}^{-1}(u) -\pi _{v(\tau _k^{d-n}),q}^{-1}\bigl (\pi _{N_q\mathscr {M}\rightarrow N_p\mathscr {M}}^{-1}(u)\bigr ) \Bigr |\\&\quad \le \frac{\displaystyle 1- \biggl (\frac{16}{13} \alpha _{d-n} \biggr )^{\!2} }{ \displaystyle \biggl (\frac{16}{13} \alpha _{d-n} \biggr )^{\!2} } \cdot \frac{\displaystyle \frac{|p-q|}{{{\,\mathrm{rch}\,}}\mathscr {M}} \sqrt{\displaystyle 1-\frac{|p-q|^2}{4({{\,\mathrm{rch}\,}}\mathscr {M}) ^2}} }{\displaystyle 1- \frac{|p-q|^2}{2({{\,\mathrm{rch}\,}}\mathscr {M})^2} }. \end{aligned} \end{aligned}$$
(40)

By the triangle inequality (applied to the terms in the sum in the definition (30)), this gives

Because the u component of \(N_{\bar{p},p} (u))\) is u and its length is at least 1, we find that also

Because p and q are very close (in fact, they lie in an \({L}\) neighbourhood of \(\tau \), which is small due to (13))

$$\begin{aligned} \frac{\sqrt{1-\frac{\displaystyle |p-q|^2}{\displaystyle 4({{\,\mathrm{rch}\,}}\mathscr {M}) ^2}} }{1- \frac{\displaystyle |p-q|^2}{\displaystyle 2({{\,\mathrm{rch}\,}}\mathscr {M})^2} } \le 2 , \end{aligned}$$

as can verified using the fact that \({\sqrt{1-x^2} }/({1-2 x^2})\) is monotone increasing for sufficiently small x. This means we can simplify the result further:

$$\begin{aligned} \sin \angle \bigl (N_{\bar{q},p} (u) ,\, N_{\bar{q},q} \bigl (\pi _{N_q\mathscr {M}\rightarrow N_p\mathscr {M}}^{-1} (u)\bigr ) \bigr ) \le \biggl (\frac{10}{ 16 \alpha _{d-n} } \biggr )^{\!2}\frac{|p-q|}{{{\,\mathrm{rch}\,}}\mathscr {M}}. \end{aligned}$$

Thanks to (38), we now have

$$\begin{aligned} \angle \biggl ({\mathop {{{\,\mathrm{span}\,}}}\limits _{u \in N_p\mathscr {M}}}N_{\bar{q},p} (u), {\mathop {{{\,\mathrm{span}\,}}}\limits _{u\in N_q\mathscr {M}}} N_{\bar{q},q} (u)\biggr ) \le \arcsin {\biggl (\biggl (\frac{13}{ 16 \alpha _{d-n} } \biggr )^{\!2}\frac{|p-q|}{{{\,\mathrm{rch}\,}}\mathscr {M}} \biggr )}. \end{aligned}$$
(41)

Step 3: Combining into a bound on \(\angle (\mathscr {N}_{\bar{p}},\mathscr {N}_{\bar{q}} )\).   Combining (41), (37), and the triangle inequality, we see that

$$\begin{aligned}&\angle \biggl ({\mathop {{{\,\mathrm{span}\,}}}\limits _{u \in N_p\mathscr {M}}}N_{\bar{p},p} (u), {\mathop {{{\,\mathrm{span}\,}}}\limits _{u\in N_q\mathscr {M}}}N_{\bar{q},q} (u)\biggr )\\&\quad \le \angle \biggl ({\mathop {{{\,\mathrm{span}\,}}}\limits _{u\in N_p\mathscr {M}}} N_{\bar{p},p} (u) , {\mathop {{{\,\mathrm{span}\,}}}\limits _{u\in N_p\mathscr {M}}}N_{\bar{q},p} (u) \biggr )\\&\qquad +\angle \biggl ({\mathop {{{\,\mathrm{span}\,}}}\limits _{u \in N_p\mathscr {M}}}N_{\bar{q},p} (u), {\mathop {{{\,\mathrm{span}\,}}}\limits _{u\in N_q\mathscr {M}}}N_{\bar{q},q} (u)\biggr )\\&\quad \le \arcsin {\biggl (\biggl (\frac{13 }{16\alpha _{d-n}}\biggr )^{\!2}\sqrt{n+1}\cdot | \lambda - \lambda '|\biggr )}+ \arcsin {\biggl (\biggl (\frac{13}{ 16 \alpha _{d-n} } \biggr )^{\!2}\,\frac{|p-q|}{{{\,\mathrm{rch}\,}}\mathscr {M}} \biggr )}. \end{aligned}$$

Because we need estimates on \(\angle (\mathscr {N}_{\bar{p}} , \mathscr {N}_{\bar{q}} ) \) we have to set \(p = \pi _\mathscr {M}(\bar{p})\) and \(q= \pi _\mathscr {M}(\bar{q})\). To estimate the distance between the two points, we first note that \(|\bar{p}-\bar{q}| \le |\lambda - \lambda '| {\tilde{L}}\), because \(\bar{p}\) and \(\bar{q}\) have barycentric coordinates \(\lambda \) and \(\lambda '\). Thanks to [37, Theorem 4.8 (8)], we have that if \(d(x,\mathscr {M}) ,d(y,\mathscr {M}) \le ({{\,\mathrm{rch}\,}}\mathscr {M})/2\), then \(|\pi _\mathscr {M}(x) - \pi _\mathscr {M}(y)| \le 2|x-y|\). This means that

$$\begin{aligned}&\angle (\mathscr {N}_{\bar{p}},\mathscr {N}_{\bar{q}}) =\angle \biggl ({\mathop {{{\,\mathrm{span}\,}}}\limits _{u \in N_{\pi _\mathscr {M}(\bar{p})}}\mathscr {M}}N_{\bar{p},\pi _\mathscr {M}(\bar{p})} (u), {\mathop {{{\,\mathrm{span}\,}}}\limits _{u\in N_{\pi _\mathscr {M}(\bar{q})}\mathscr {M}}}N_{\bar{q},\pi _\mathscr {M}(\bar{q})} (u)\biggr )\\&\quad \le \arcsin { \biggl (\biggl (\frac{13 }{16 \alpha _{d-n}} \biggr )^{\!2}\sqrt{n+1}\cdot | \lambda - \lambda '| \biggr )}+ \arcsin { \biggl (\biggl (\frac{13}{ 16 \alpha _{d-n} } \biggr )^{\!2}\,\frac{2|\lambda -\lambda '| {\tilde{L}}}{{{\,\mathrm{rch}\,}}\mathscr {M}} \biggr )}. \end{aligned}$$

Since \(\sin {(\arcsin x+\arcsin y)} = y\sqrt{1-x^2} + x\sqrt{1-y^2}\le x+y\), we see that

$$\begin{aligned} \sin \angle (\mathscr {N}_{\bar{p}} , \mathscr {N}_{\bar{q}} )\le \biggl (\frac{13 }{16\alpha _{d-n}} \biggr )^{\!2} \sqrt{n+1}\cdot | \lambda - \lambda '|+ \biggl (\frac{13}{ 16 \alpha _{d-n} } \biggr )^{\!2}\, \frac{2|\lambda -\lambda '| {\tilde{L}}}{{{\,\mathrm{rch}\,}}\mathscr {M}} . \end{aligned}$$

Because of (13) and (7),

$$\begin{aligned} \biggl (\frac{13}{ 16 \alpha _{d-n} } \biggr )^{\!2}\,\frac{2|\lambda -\lambda '| {\tilde{L}}}{{{\,\mathrm{rch}\,}}\mathscr {M}}&\le \biggl (\frac{13}{ 16 \alpha _{d-n} } \biggr )^{\!2} 4|\lambda -\lambda '| \frac{ \alpha _{d-n}^{4+2n} }{ 54(n+1)^2 }\\&\le \frac{6}{100}|\lambda -\lambda '|\alpha _{d-n}^{2} . \end{aligned}$$

Thanks to (9), the first term in the following sum is by far the larger one:

$$\begin{aligned} \sin {\angle (\mathscr {N}_{\bar{p}} , \mathscr {N}_{\bar{q}} )}\le \biggl (\frac{13 }{16 \alpha _{d-n}} \biggr )^{\!2} \sqrt{n+1}\cdot | \lambda - \lambda '| +\frac{6}{100} |\lambda -\lambda '| \alpha _{d-n} ^{2} . \end{aligned}$$

We finally arrive at the following simple, but weaker bound:

$$\begin{aligned} \sin {\angle (\mathscr {N}_{\bar{p}} , \mathscr {N}_{\bar{q}} )}&\le \biggl (\frac{13 }{15\alpha _{d-n}} \biggr )^{\!2} \sqrt{n+1}\cdot | \lambda - \lambda '|. \end{aligned}$$
(42)

Step 4: From angles to a lower bound on the neighbourhood size.   We now consider the triangle \(\bar{p} \bar{q} x\) and we estimate \(|\bar{p} x|\) and \(|\bar{q} x|\). Recall that in the statement of the lemma we defined x as the point where the normal spaces \(\mathscr {N}_{\bar{p}}\) and \(\mathscr {N}_{\bar{q}}\) first intersect. The estimate will use:

  1. 1.

    the sine rule;

  2. 2.

    the fact that the distance between \(\bar{p}\) and \(\bar{q}\) is at least \(|\lambda - \lambda '| {{\,\mathrm{min\,alt}\,}}\sigma /\sqrt{n}\), thanks to [10, Lem. 5.12];

  3. 3.

    Lemma 6.7 to bound \({{\,\mathrm{min\,alt}\,}}\sigma \);

  4. 4.

    inequality (42), which gives a bound on the angle \(\angle \bar{p} x \bar{q}\), namely \(\phi _0\).

  5. 5.

    Lemma 7.2 gives that

    $$\begin{aligned} \angle (N_p\mathscr {M},({{\,\mathrm{aff}\,}}\sigma ^{n})^\perp ) \le \arcsin \frac{ \alpha _{d-n} ^{4+n} \zeta ^{n} }{ 6(n+1) }\le \arcsin \frac{\alpha _{d-n}^{4} }{ 6 }, \end{aligned}$$

    where \(({{\,\mathrm{aff}\,}}\sigma ^{n})^\perp \) denotes the space perpendicular to \({{\,\mathrm{aff}\,}}\sigma ^{n}\). Because \(e_j \in N_p\mathscr {M}\), combining this with Lemma 6.3 and the triangle inequality for angles yields

    $$\begin{aligned} \begin{aligned} \angle (N_{\bar{p}'} (e_j) , ({{\,\mathrm{aff}\,}}\sigma ^{n})^\perp )&\le \angle (N_{\bar{p}'} (e_j) , e_j) +\angle ( N_p\mathscr {M},({{\,\mathrm{aff}\,}}\sigma ^{n})^\perp )\\&\le \arccos \frac{16\alpha _{d-n}}{13} + \arcsin {\frac{ \alpha _{d-n}^{4} }{ 6 }}. \end{aligned} \end{aligned}$$
    (43)

    We need a lower bound on \(\sin \angle \bar{p} \bar{q} x\) and \(\sin \angle \bar{q} \bar{p} x\), that is

    $$\begin{aligned} \sin \angle (N_{\bar{p}'} (e_j) , {{\,\mathrm{aff}\,}}\sigma ^{n}) = \cos \angle (N_{\bar{p}'} (e_j) , ({{\,\mathrm{aff}\,}}\sigma ^{n})^\perp ). \end{aligned}$$

    We also recall the trigonometric identity

    $$\begin{aligned} \cos {( \arccos a + \arcsin b)} = a \sqrt{1-b^2} - b \sqrt{1-a^2}. \end{aligned}$$

    Using (43) now gives

    (44)

    This completes the fifth point.

The considerations we summed up yield

$$\begin{aligned} |\bar{p}x|, |\bar{q}x|&\ge \frac{\alpha _{d-n}|\lambda - \lambda '| \cdot {{\,\mathrm{min\,alt}\,}}\sigma /\sqrt{n}}{ ({10 }/({15 \alpha _{d-n}}))^2\cdot \sqrt{n+1}\cdot | \lambda - \lambda '| }\\&\ge \frac{ \alpha _{d-n}({15\alpha _{d-n}}/{10})^2 \cdot {{\,\mathrm{min\,alt}\,}}\sigma }{ n+1 } \ge \frac{ \alpha _{d-n}({15\alpha _{d-n}}/{13})^2}{ n+1 }(\zeta \alpha _{d-n-1})^n{\tilde{L}}. \end{aligned}$$

Using (44) again yields that the distance from x to \({{\,\mathrm{aff}\,}}\sigma ^n\) is bounded from below by

$$\begin{aligned} d(x, {{\,\mathrm{aff}\,}}\sigma ^n) \ge \frac{ \alpha _{d-n}^2 ({15\alpha _{d-n}}/{13} )^2}{ n+1 } (\zeta \alpha _{d-n-1})^n{\tilde{L}}. \end{aligned}$$

This completes the proof. \(\square \)

Lemma 7.4

Suppose that \(\tau ^d \in {\tilde{\mathscr {T}}}\) and \(\mathscr {M}\cap \tau ^d \ne \emptyset \). Then, \(\mathscr {M}\cap \tau ^d\) lies in the tubular neighbourhood of \(K \cap \tau ^d\) as defined in Sect. 7.1 (whose size is lower bounded by Lemma 7.3).

Proof

Consider \(v (\tau ^d) \subset K \cap \tau ^{d}\), where we use the definition (26), and choose an arbitrary n-dimensional simplex \(\sigma ^n\subset K \cap \tau ^{d}\). Note that \( v (\tau ^d) \in K \cap \tau ^{d}\). Thanks to Lemma 7.2,

$$\begin{aligned} \sin \angle ({{\,\mathrm{aff}\,}}\sigma ^{n}, T_v\mathscr {M}) \le \frac{ \alpha _{d-n}^{4+n} }{ 6(n+1) } \zeta ^{n} . \end{aligned}$$

From this bound we conclude that

$$\begin{aligned} d_{\text {H}}\bigl (T_v\mathscr {M}\cap B(v, 2{L}) ,\, {{\,\mathrm{aff}\,}}\sigma ^{n}\cap B(v, 2 {L})\bigr ) \le 2 \frac{ \alpha _{d-n}^{4+n} }{ 6 (n+1) } \zeta ^{n}{L}, \end{aligned}$$

where \(d_{\text {H}}\) denotes the Hausdorff distance. Because of Lemma 3.5 and (11), we have that

$$\begin{aligned} d_{\text {H}} \bigl ( T_v\mathscr {M}\cap B(v, 2 {L}) ,\,\pi _{v } ^{-1} (B_{T_v\mathscr {M}} (v, 2 {L}))\bigr )\le \frac{\alpha _{d-n}^{4+2n} }{ 6 (n+1)^2 } \zeta ^{2n}{L}, \end{aligned}$$

where \(B_{T_v\mathscr {M}}(v, 2 {L})\) denotes the ball in \(T_v\mathscr {M}\) with centre v and radius \(2 {L}\). This gives us

$$\begin{aligned}&d_{\text {H}}\bigl ({{\,\mathrm{aff}\,}}\sigma ^{n}\cap B(v, 2 {L}), \,\pi _{v } ^{-1} (B_{T_v\mathscr {M}} (v, 2 {L}) ) \bigr )\\&\quad \le 2 \frac{ \alpha _{d-n}^{4+n} }{ 6(n+1) } \zeta ^{n} {L}+\frac{\alpha _{d-n}^{4+2n} }{ 6(n+1)^2 } \zeta ^{2n} {L}\qquad \text {(by the triangle inequality)}\\&\quad \le \frac{\alpha _{d-n}^{4+n} \zeta ^{n} }{ n+1} {L}. \end{aligned}$$

Because \(\mathscr {M}\cap \tau \subset \pi _{v } ^{-1} (B_{T_v\mathscr {M}} (v, 2 {L})) \) and the distance between \(M\cap \tau \) and \({{\,\mathrm{aff}\,}}\sigma ^n\) is small compared to the size of the neighbourhood of K given in Lemma 7.3, that is

$$\begin{aligned} \frac{ \alpha _{d-n}^{4+n} \zeta ^{n} }{ n+1} {L}\le \frac{ ({15}/{13})^2 \alpha _{d-n}^4 }{ n+1 } \zeta ^n\alpha _{d-n-1}^n{\tilde{L}}, \end{aligned}$$

\(\mathscr {M}\cap \tau \) is contained in this neighbourhood of K. \(\square \)

Having established that \(\mathscr {M}\) lies in the tubular neighbourhood around K, it is meaningful to speak about the projection from \(\mathscr {M}\) to K along the direction N. Because we also have that the projection from \(\mathscr {M}\) to K in the direction \(\mathscr {N}\) (as defined in Sect. 7.1) is transversal (because \(\pi /2\) minus the angle between \(\mathscr {N}_{\bar{p}}\) and \(N_p\mathscr {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 \(\mathscr {M}\cap \tau ^d\) is homeomorphic to \(K \cap \tau ^d\). By construction the projection map is compatible on the boundaries of \(\tau ^d\), so we also immediately have an explicit homeomorphism between \(\mathscr {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 \(\mathscr {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).