Abstract
We give a provably correct algorithm to reconstruct a k-dimensional smooth manifold embedded in d-dimensional Euclidean space. The input to our algorithm is a point sample coming from an unknown manifold. Our approach is based on two main ideas: the notion of tangential Delaunay complex defined in Boissonnat and Flötotto (Comput. Aided Des. 36:161–174, 2004), Flötotto (A coordinate system associated to a point cloud issued from a manifold: definition, properties and applications. Ph.D. thesis, 2003), Freedman (IEEE Trans. Pattern Anal. Mach. Intell. 24(10), 2002), and the technique of sliver removal by weighting the sample points (Cheng et al. in J. ACM 47:883–904, 2000). Differently from previous methods, we do not construct any subdivision of the d-dimensional ambient space. As a result, the running time of our algorithm depends only linearly on the extrinsic dimension d while it depends quadratically on the size of the input sample, and exponentially on the intrinsic dimension k. To the best of our knowledge, this is the first certified algorithm for manifold reconstruction whose complexity depends linearly on the ambient dimension. We also prove that for a dense enough sample the output of our algorithm is isotopic to the manifold and a close geometric approximation of the manifold.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
Manifold reconstruction consists of computing a piecewise linear approximation of an unknown manifold \(\mathcal{M}\subset \mathbb{R}^{d}\) from a finite sample of unorganized points \(\mathcal {P}\) lying on \(\mathcal{M}\) or close to \(\mathcal{M}\). When the manifold is a two-dimensional surface embedded in \(\mathbb{R}^{3}\), the problem is known as the surface reconstruction problem. Surface reconstruction is a problem of major practical interest which has been extensively studied in the fields of Computational Geometry, Computer Graphics and Computer Vision. In the last decade, solid foundations have been established and the problem is now pretty well understood. Refer to Dey’s book [25], and the survey by Cazals and Giesen in [16] for recent results. The output of those methods is a triangulated surface that approximates \(\mathcal{M}\). This triangulated surface is usually extracted from a three-dimensional subdivision of the ambient space (typically a grid or a triangulation). Although rather inoffensive in three-dimensional space, such data structures depend exponentially on the dimension of the ambient space, and all attempts to extend those geometric approaches to more general manifolds have led to algorithms whose complexities depend exponentially on d [7, 15, 19, 40].
The problem in higher dimensions is also of great practical interest in data analysis and machine learning. In those fields, the general assumption is that, even if the data are represented as points in a very high-dimensional space \(\mathbb{R}^{d}\), they in fact live on a manifold of much smaller intrinsic dimension [44]. If the manifold is linear, well-known global techniques like principal component analysis (PCA) or multi-dimensional scaling (MDS) can be efficiently applied. When the manifold is highly nonlinear, several more local techniques have attracted much attention in visual perception and many other areas of science. Among the prominent algorithms are Isomap [45], LLE [42], Laplacian eigenmaps [8], Hessian eigenmaps [26], diffusion maps [37, 39], principal manifolds [48]. Most of those methods reduce to computing an eigendecomposition of some connection matrix. In all cases, the output is a mapping of the original data points into \(\mathbb{R}^{k}\) where k is the estimated intrinsic dimension of \(\mathcal{M}\). Those methods come with no or very limited guarantees. For example, Isomap provides a correct embedding only if \(\mathcal{M}\) is isometric to a convex open set of \(\mathbb{R}^{k}\) and LLE can only reconstruct topological balls. To be able to better approximate the sampled manifold, another route is to extend the work on surface reconstruction and to construct a piecewise linear approximation of \(\mathcal{M}\) from the sample in such a way that, under appropriate sampling conditions, the quality of the approximation can be guaranteed. First breakthrough, along this line, was the work of Cheng, Dey and Ramos [15] and this was followed by the work of Boissonnat, Guibas and Oudot [7]. In both cases, however, the complexity of the algorithms is exponential in the ambient dimension d, which highly reduces their practical relevance.
In this paper, we extend the geometric techniques developed in small dimensions and propose an algorithm that can reconstruct smooth manifolds of arbitrary topology while avoiding the computation of data structures in the ambient space. We assume that \(\mathcal{M}\) is a smooth manifold of known dimension k and that we can compute the tangent space to \(\mathcal{M}\) at any sample point. Under those conditions, we propose a provably correct algorithm that construct a simplicial complex of dimension k that approximates \(\mathcal{M}\). The complexity of the algorithm is linear in d, quadratic in the size n of the sample, and exponential in k. Our work builds on [7] and [15] but dramatically reduces the dependence on d. To the best of our knowledge, this is the first certified algorithm for manifold reconstruction whose complexity depends only linearly on the ambient dimension. In the same spirit, Chazal and Oudot [20] have devised an algorithm of intrinsic complexity to solve the easier problem of computing the homology of a manifold from a sample.
Our approach is based on two main ideas: the notion of tangential Delaunay complex introduced in [6, 29, 31], and the technique of sliver removal by weighting the sample points [14]. The tangential complex is obtained by gluing local (Delaunay) triangulations around each sample point. The tangential complex is a subcomplex of the d-dimensional Delaunay triangulation of the sample points but it can be computed using mostly operations in the k-dimensional tangent spaces at the sample points. Hence the dependence on k rather than d in the complexity. However, due to the presence of so-called inconsistencies, the local triangulations may not form a triangulated manifold. Although this problem has already been reported [31], no solution was known except for the case of curves (k=1) [29]. The idea of removing inconsistencies among local triangulations that have been computed independently has already been used for maintaining dynamic meshes [43] and generating anisotropic meshes [12]. Our approach is close in spirit to the one in [12]. We show that, under appropriate sample conditions, we can remove inconsistencies by weighting the sample points. We can then prove that the approximation returned by our algorithm is ambient isotopic to \(\mathcal{M}\), and a close geometric approximation of \(\mathcal{M}\).
Our algorithm can be seen as a local version of the cocone algorithm of Cheng et al. [15]. By local, we mean that we do not compute any d-dimensional data structure like a grid or a triangulation of the ambient space. Still, the tangential complex is a subcomplex of the weighted d-dimensional Delaunay triangulation of the (weighted) data points and therefore implicitly relies on a global partition of the ambient space. This is a key to our analysis and distinguishes our method from the other local algorithms that have been proposed in the surface reconstruction literature [22, 34].
Organization of the Paper
In Sect. 2, we introduce the basic concepts used in this paper. We recall the notion of weighted Voronoi (or power) diagrams and Delaunay triangulations in Sect. 2.1 and define sampling conditions in Sect. 2.2. We introduce various quantities to measure the shape of simplices in Sect. 2.3 and, in particular, the central notion of fatness. In Sect. 2.4, we define the two main notions of this paper: the tangential complex and inconsistent configurations.
The algorithmic part of the paper is given in Sect. 3.
The main structural results are given in Sect. 4. Under some sampling condition, we bound the shape measure of the simplices of the tangential complex in Sect. 4.2 and of inconsistent configurations in Sect. 4.3. A crucial fact is that inconsistent configurations cannot be fat. We also bound the number of simplices and inconsistent configurations that can be incident on a point in Sect. 4.4. In Sects. 4.5 and 4.6, we prove the correctness of the algorithm, and space and time complexity, respectively. In Sect. 5, we prove that the simplicial complex output by the algorithm is indeed a good approximation of the sampled manifold. Finally, in Sect. 6, we conclude with some possible extensions.
The list of main notations has been added at the end of the paper as a reference for the readers.
2 Definitions and Preliminaries
The standard Euclidean distance between two points \(x, y \in \mathbb{R}^{d}\) will be denoted by ∥x−y∥. Distance between a point \(x \in \mathbb{R}^{d}\) and a set \(X \subset \mathbb{R}^{d}\), is defined as
We will denote the topological boundary and interior of a set \(X \subseteq \mathbb{R}^{d}\) by ∂X and \({\rm int} X\), respectively.
For a map f:X→Y and X 1⊆X, \(f\mid_{X_{1}}\) denotes the restriction of map f to the subset X 1.
A j-simplex is the convex hull of j+1 affinely independent points. If τ is a j-simples with vertices {x 0,…,x j }, we will also denote τ as [x 0,…,x j ]. For convenience, we often identify a simplex and the set of its vertices. Hence, if τ is a simplex, p∈τ means that p is a vertex of τ. If τ is a j-simplex, \({\rm aff}(\tau)\) denotes the j-dimensional affine hull of τ and N τ denotes the (d−j)-dimensional normal space of \({\rm aff}(\tau)\).
For a given simplicial complex \(\mathcal {K}\) and a simplex σ in \(\mathcal {K}\), the star and link of a simplex σ in \(\mathcal {K}\) \(\sigma\in \mathcal {K}\) denotes the subcomplexes
and
respectively. The open star of σ in \(\mathcal {K}\), \(\mathring{{\rm st}}(\sigma, \mathcal {K}) = {\rm st}(\sigma, \mathcal {K}) \setminus{\rm lk}(\sigma, \mathcal {K})\).
For all x,y in \(\mathbb{R}^{d}\), [xy] denotes the line segment joining the points x and y.
In this paper, \(\mathcal{M}\) denotes a differentiable manifold of dimension k embedded in \(\mathbb{R}^{d}\) and \(\mathcal {P}= \{ p_{1},\ldots,p_{n}\}\) a finite sample of points from \(\mathcal{M}\). We will further assume that \(\mathcal{M}\) has positive reach (see Sect. 2.2). We denote by T p and N p the k-dimensional tangent space and (d−k)-dimensional normal space at point \(p\in \mathcal{M}\), respectively.
For a given \(p \in \mathbb{R}^{d}\) and r≥0, B(p,r) (\(\bar{B}(p,r)\)) denotes the d-dimensional Euclidean open (close) ball centered at p of radius r, and \(B_{\mathcal{M}}(p, r)\) (\(\bar{B}_{\mathcal{M}}(p,r)\)) denotes \(B(p, r) \cap \mathcal{M}\) (\(\bar{B}(p,r) \cap \mathcal{M}\)).
For a given \(p \in \mathcal {P}\), \({\rm n\! n}(p)\) denotes the distance of p to its nearest neighbor in \(\mathcal {P}\setminus\{ p\}\), i.e.,
If U and V are vector subspaces of \(\mathbb{R}^{d}\), with dim(U)≤dim(V), the angle between them is defined by
where u and v are vectors in U and V, respectively. This is the largest principal angle between U and V. In case of affine spaces, the angle between two of them is defined as the angle between the corresponding parallel vector subspaces.
The following lemma is a direct consequence of the above definition. We have included the proof for completeness.
Lemma 2.1
Let U and V be affine spaces of \(\mathbb{R}^{d}\) with dim(U)≤dim(V), and let U ⊥ and V ⊥ are affine spaces of \(\mathbb{R}^{d}\) with dim(U ⊥)=d−dim(U) and dim(V ⊥)=d−dim(V).
-
1.
If U ⊥ and V ⊥ are the orthogonal complements of U and V in \(\mathbb{R}^{d}\), then ∠(U,V)=∠(V ⊥,U ⊥).
-
2.
If dim(U)=dim(V) then ∠(U,V)=∠(V,U).
Proof
Without loss of generality we assume that the affine spaces U,V,U ⊥ and V ⊥ are vector subspaces of \(\mathbb{R}^{d}\), i.e. they all passes through the origin.
1. Suppose ∠(U,V)=α. Let v ∗∈V ⊥ be a unit vector. There are unit vectors u∈U, and u ∗∈U ⊥ such that v ∗=au+bu ∗. We will show that ∠(v ∗,u ∗)≤α. First note that this angle is complementary to ∠(v ∗,u), i.e.,
There is a unit vector v∈V such that ∠(u,v)=α 0≤α. Viewing angles between unit vectors as distances on the unit sphere, we exploit the triangle inequality: ∠(v ∗,v)≤∠(v ∗,u)+∠(u,v), from whence
Using this expression in Eq. (1), we find
which implies, since v ∗ was chosen arbitrarily, that ∠(V ⊥,U ⊥)≤∠(U,V).
Since dimV ⊥≤dimU ⊥, and the orthogonal complement is a symmetric relation on subspaces, the same argument yields the reverse inequality.
2. Let ∠(U,V)=α, and let P:U→V denotes the projection map of the vector space U on V.
Case a. α≠π/2. Since α≠π/2 and dim(U)=dim(V), the projection map P is an isomorphism between vector spaces U and V. Therefore, for any unit vector v∈V there exists a vector u∈U such that P(u)=v. From the definition of angle between affine space and the linear map P, we have ∠(u,v) (=∠(v,u)). This implies, ∠(V,U)≤∠(U,V)=α. Using the same arguments, we can show that ∠(U,V)≤∠(V,U) hence ∠(U,V)=∠(V,U).
Case b. α=π/2. We have ∠(V,U)=π/2, otherwise using the same arguments as in Case 1 we can show that α=∠(U,V)≤∠(V,U)<π/2. □
2.1 Weighted Delaunay Triangulation
2.1.1 Weighted Points
A weighted point is a pair consisting of a point p of \(\mathbb{R}^{d}\), called the center of the weighted point, and a non-negative real number ω(p), called the weight of the weighted point. It might be convenient to identify a weighted point (p,ω(p)) and the hypersphere (we will simply say sphere in the sequel) centered at p of radius ω(p).
Two weighted points (or spheres) (p,ω(p)) and (q,ω(q)) are called orthogonal when ∥p−q∥2=ω(p)2+ω(q)2, further than orthogonal when ∥p−q∥2>ω(p)2+ω(q)2, and closer than orthogonal when ∥p−q∥2<ω(p)2+ω(q)2.
Given a point set \(\mathcal {P}= \{ p_{1},\ldots ,p_{n}\} \subseteq \mathbb{R}^{d}\), a weight function on \(\mathcal {P}\) is a function ω that assigns to each point \(p_{i}\in \mathcal {P}\) a non-negative real weight ω(p i ): \(\omega(\mathcal {P}) = (\omega(p_{1}), \ldots, \omega(p_{n}))\). We write \(p_{i}^{\omega}= (p_{i},\omega(p_{i}))\) and \(\mathcal {P}^{\omega} = \{ p^{\omega}_{1},\ldots,p^{\omega}_{n}\}\).
We define the relative amplitude of ω as
In the paper, we will assume that \(\tilde{\omega}\leq\omega_{0}\), for some constant ω 0∈[0,1/2) (see Hypothesis 3.2). Under this hypothesis, all the balls bounded by weighted spheres are disjoint.
Given a subset τ of d+1 weighted points whose centers are affinely independent, there exists a unique sphere orthogonal to the weighted points of τ. The sphere is called the orthosphere of τ and its center o τ and radius Φ τ are called the orthocenter and the orthoradius of τ. If the weights of the vertices of τ are 0 (or all equal), then the orthosphere is simply the circumscribing sphere of τ whose center and radius are, respectively, called circumcenter and circumradius. If τ is a j-simplex, j<d, the orthosphere of τ is the smallest sphere that is orthogonal to the (weighted) vertices of τ. Its center o τ lies in \({\rm aff}(\tau)\). Note that a simplex τ may have an orthoradius which is imaginary, i.e. \(\varPhi_{\tau}^{2} < 0\). This situation, however, cannot happen if the relative amplitude of the weight function is <1/2.
A finite set of weighted points \(\mathcal {P}^{\omega}\) is said to be in general position if there exists no sphere orthogonal to d+2 weighted points of \(\mathcal {P}^{\omega}\).
2.1.2 Weighted Voronoi Diagram and Delaunay Triangulation
Let ω be a weight function defined on \(\mathcal {P}\). We define the weighted Voronoi cell of \(p \in \mathcal {P}\) as
The weighted Voronoi cells and their k-dimensional faces, 0≤k≤d, form a cell complex that decomposes \(\mathbb{R}^{d}\) into convex polyhedral cells. This cell complex is called the weighted Voronoi diagram or power diagram of \(\mathcal {P}\) [4].
Let τ be a subset of points of \(\mathcal {P}\) and write
We say \(\mathcal {P}^{\omega}\) is in general position Footnote 1 if \({\rm Vor}^{\omega}(\tau )=\emptyset\) when |τ|>d+1. The collection of all simplices \({\rm conv}(\tau)\) such that \({\rm Vor}^{\omega}(\tau)\neq\emptyset\) constitutes a triangulation of \({\rm conv}(\mathcal {P})\) if \(\dim {\rm aff}(\mathcal {P}) = d\), and this triangulation is called the weighted Delaunay triangulation \({\rm Del}^{\omega}(\mathcal {P})\). The mapping that associates to the face \({\rm Vor}^{\omega}(\tau)\) of \({\rm Vor}^{\omega} (\mathcal {P})\) the face \({\rm conv}(\tau)\) of \({\rm Del}^{\omega}(\mathcal {P})\) is a duality, i.e. a bijection that reverses the inclusion relation. See [4, 5, 24].
Alternatively, a d-simplex τ is in \({\rm Del}^{\omega}(\mathcal {P})\) if the orthosphere o τ of τ is further than orthogonal from all weighted points in \(\mathcal {P}^{\omega}\setminus\tau\).
Observe that the definition of weighted Voronoi diagrams makes sense if, for some \(p\in \mathcal {P}\), ω(p)2<0, i.e. some of the weights are imaginary. In fact, since adding a same positive quantity to all ω(p)2 does not change the diagram, handling imaginary weights is as easy as handling real weights. In the sequel, we will only consider positive weight functions with relative amplitude <1/2.
The weighted Delaunay triangulation of a set of weighted points can be computed efficiently in small dimensions and has found many applications, see e.g. [4]. In this paper, we use weighted Delaunay triangulations for two main reasons. The first one is that the restriction of a d-dimensional weighted Voronoi diagram to an affine space of dimension k is a k-dimensional weighted Voronoi diagram that can be computed without computing the d-dimensional diagram (see Lemma 2.2). The other main reason is that some flat simplices named slivers can be removed from a Delaunay triangulation by weighting the vertices (see [7, 14, 15] and Sect. 3).
Lemma 2.2
Let H be a k-dimensional affine space of \(\mathbb{R}^{d}\). The restriction of the weighted Voronoi diagram of \(\mathcal {P}= \{p_{0}, \dots, p_{m}\}\) to H is identical to the k-dimensional weighted Voronoi diagram of \(\mathcal {P}' = \{p_{0}', \dots , p_{m}'\}\) in H, where \(p_{i}' \) denotes the orthogonal projection of p i onto H and the squared weight of \(p'_{i}\) is
where \(\lambda= \max_{p_{j} \in \mathcal {P}} \| p_{j} - p_{j}' \|\) is used to have all weights non-negative. In other words,
where \({\rm Vor}^{\xi}(p_{i}') = \{ x \in H : \|x-p_{i}'\|^{2} - \xi(p_{i}')^{2} \leq\|x - p_{j}'\|^{2} - \xi(p_{j}')^{2}, \forall p_{j}' \in \mathcal {P}' \}\).
Proof
By Pythagoras theorem, we have \(\forall x \in H \cap {\rm Vor}^{\omega}(p_{i})\), ∥x−p i ∥2−ω(p i )2≤∥x−p j ∥2−ω(p j )2 ⇔ \(\| x-p'_{i}\| ^{2} + \| p_{i}-p'_{i}\| ^{2} -\omega (p_{i})^{2}\leq\| x-p'_{j}\| ^{2} + \| p_{j}-p'_{j}\|^{2}-\omega(p_{j})^{2}\), where \(p_{i}'\) denotes the orthogonal projection of \(p_{i} \in \mathcal {P}\) onto H. See Fig. 1. Hence the restriction of \({\rm Vor}^{\omega}(\mathcal {P})\) to H is the weighted Voronoi diagram \({\rm Vor}^{\xi}(\mathcal {P}')\) of the points \(\mathcal {P}'\) with the weight function: \(\xi: \mathcal {P}' \rightarrow[0, \infty),~\mbox{with}~\xi(p_{i}')^{2}= -\|p_{i}-p_{i}'\|^{2}+\omega(p_{i})^{2} + \lambda^{2}\) where \(\lambda= \max_{p_{j} \in \mathcal {P}} \|p_{j}-p_{j}'\|\).
□
2.2 Sampling Conditions
2.2.1 Local Feature Size
The medial axis of \(\mathcal{M}\) is the closure of the set of points of \(\mathbb{R}^{d}\) that have more than one nearest neighbor on \(\mathcal{M}\). The local feature size of \(x\in \mathcal{M}\), \({\rm lfs}(x)\), is the distance of x to the medial axis of \(\mathcal{M}\) [1]. As is well known and can be easily proved, \({\rm lfs}\) is 1-Lipschitz, i.e.,
The infimum of \({\rm lfs}\) over \(\mathcal{M}\) is called the reach of \(\mathcal{M}\). In this paper, we assume that \(\mathcal{M}\) is a compact submanifold of \(\mathbb{R}^{d}\) of (strictly) positive reach. Note that the class of submanifolds with positive reach includes C 2-smooth submanifolds [27].
2.2.2 Sampling Parameters
The point sample \(\mathcal {P}\) is said to be an (ε,δ)-sample (where 0<δ<ε<1) if (1) for any point \(x \in \mathcal{M}\), there exists a point \(p \in \mathcal {P}\) such that \(\|x-p\|\leq \varepsilon \,{\rm lfs}(x)\), and (2) for any two distinct points \(p,q \in \mathcal {P}\), \(\|p-q\|\geq\delta \,{\rm lfs}(p)\). The parameter ε is called the sampling rate, δ the sparsity, and ε/δ the sampling ratio of the sample \(\mathcal {P}\).
The following lemma, proved in [35], states basic properties of manifold samples. As before, we write \({\rm n\! n}(p)\) for the distance between \(p \in \mathcal {P}\) and its nearest neighbor in \(\mathcal {P}\setminus\{p\}\).
Lemma 2.3
Given an (ε,δ)-sample \(\mathcal {P}\) of \(\mathcal{M}\), we have
-
1.
For all \(p \in \mathcal {P}\), we have
$$\delta \,{\rm lfs}(p) \leq {\rm n\! n}(p) \leq\frac{2\varepsilon }{1-\varepsilon }\,{\rm lfs}(p) . $$ -
2.
For any two points p,q ∈ \(\mathcal{M}\) such that \(\|p-q\| = t \,{\rm lfs}(p)\), 0<t<1,
$$\sin\angle(pq, T_p) \leq t/2. $$ -
3.
Let p be a point in \(\mathcal{M}\). Let x be a point in T p such that \(\|p-x\| \leq t \,{\rm lfs}(p)\) for some 0<t≤1/4. Let x′ be the point on \(\mathcal{M}\) closest to x. Then
$$\bigl\| x-x'\bigr\| \leq2t^2 \,{\rm lfs}(p). $$
2.3 Fat Simplices
Consider a j-simplex τ, where 1≤j≤k+1. We denote by R τ ,Δ τ ,L τ ,V τ and Γ τ =Δ τ /L τ the circumradius, the longest edge length, the shortest-edge length, the j-dimensional volume, and spread i.e. the longest edge to shortest-edge ratio of τ, respectively.
We define the fatness of a j-dimensional simplex τ as
The following important lemma is due to Whitney [46, Chap. II].
Lemma 2.4
Let τ=[p 0,…,p j ] be a j-dimensional simplex and let H be an affine flat such that τ is contained in the offset of H by η (i.e. any point of τ is at distance at most η from H). If u is a unit vector in \({\rm aff}(\tau)\), then there exists a unit vector u H in H such that
We deduce from the above lemma the following corollary. See also Lemma 1 in [32] and Lemma 16 in [15].
Corollary 2.5
(Tangent space approximation)
Let τ be a j-simplex, j≤k, with vertices on \(\mathcal{M}\), and let p be vertex of τ. Assuming that \(\varDelta_{\tau} < {\rm lfs}(p)\), we have
Proof
It suffices to take H=T p and to use \(\eta= \varDelta^{2}_{\tau} / 2 \,{\rm lfs}(p)\) (from Lemma 2.3 (2)) and Γ τ =Δ τ /L τ . Hence
□
A sliver is a special type of flat simplex. The property of being a sliver is defined in terms of a parameter Θ 0, to be fixed later in Sect. 4.
The following definition is a variant of a definition given in [36].
Definition 2.6
(Θ 0-fat simplices and Θ 0-slivers)
Given a positive parameter Θ 0, a simplex τ is said to be Θ 0-fat if the fatness of τ and of all its subsimplices is at least Θ 0.
A simplex of dimension at least 2 which is not Θ 0-fat but whose subsimplices are all Θ 0-fat is called a Θ 0-sliver.
2.4 Tangential Delaunay Complex and Inconsistent Configurations
Let \(\mathcal {P}\) be a point sample of \(\mathcal{M}\) and u be a point of \(\mathcal {P}\). We denote by \({\rm Del}^{\omega}_{u}(\mathcal {P})\) the weighted Delaunay triangulation of \(\mathcal {P}\) restricted to the tangent space T u . Equivalently, the simplices of \({\rm Del}^{\omega}_{u} (\mathcal {P})\) are the simplices of \({\rm Del}^{\omega} (\mathcal {P})\) whose Voronoi dual faces intersect T u , i.e., \(\tau\in {\rm Del}^{\omega}_{u} (\mathcal {P})\) iff \({\rm Vor}^{\omega}(\tau )\cap T_{u} \neq \emptyset\). Observe that, from Lemma 2.2, \({\rm Del}^{\omega}_{u} (\mathcal {P})\) is in general isomorphic to a weighted Delaunay triangulation of a k-dimensional convex hull. Since this situation can always be ensured by applying some infinitesimal perturbation on \(\mathcal {P}\) or of the weights, in addition to the general position assumption of \(\mathcal {P}^{\omega}\) we will also assume, in the rest of the paper, that all \({\rm Del}^{\omega}_{u}(\mathcal {P})\) are isomorphic to a weighted Delaunay triangulation of a k-dimensional convex hull. We will discuss this in more detail at the beginning of Sect. 5. Finally, write \({\rm st}({u})\) for the star of u in \({\rm Del}^{\omega}_{u} (\mathcal {P})\), i.e., \({\rm st}(u) = {\rm st}(u, {\rm Del}^{\omega}_{u}(\mathcal {P}))\) (see Fig. 2).
We denote by tangential Delaunay complex or tangential complex for short, the simplicial complex \(\{ \tau : \tau\in {\rm st}(u), u\in \mathcal {P}\}\). We denote it by \({\rm Del}^{\omega}_{T\mathcal{M}}(\mathcal {P})\). By our assumption above, \({\rm Del}^{\omega}_{T\mathcal{M}}(\mathcal {P})\) is a k-dimensional subcomplex of \({\rm Del}^{\omega}(\mathcal {P})\). Note that \({\rm st}(u) = {\rm st}(u, {\rm Del}^{\omega}_{u}(\mathcal {P}))\) and \({\rm st}(u, {\rm Del}^{\omega}_{T\mathcal{M}}(\mathcal {P}))\), the star of u in the complex \({\rm Del}_{T\mathcal{M}}^{\omega}(\mathcal {P})\), are in general different.
By duality, computing \({\rm st}(u)\) is equivalent to computing the restriction to T u of the (weighted) Voronoi cell of u, which, by Lemma 2.2, reduces to computing a cell in a k-dimensional weighted Voronoi diagram embedded in T u . To compute such a cell, we need to compute the intersection of \(|\mathcal {P}|-1\) halfspaces of T u where \(|\mathcal {P}|\) is the cardinality of \(\mathcal {P}\). Each halfspace is bounded by the bisector consisting of the points of T u that are at equal weighted distance from u ω and some other point in \(\mathcal {P}^{\omega}\). This can be done in optimal time [17, 21]. It follows that the tangential complex can be computed without constructing any data structure of dimension higher than k, the intrinsic dimension of \(\mathcal{M}\).
The tangential Delaunay complex is not in general a triangulated manifold and therefore not a good approximation of \(\mathcal{M}\). This is due to the presence of so-called inconsistencies. Consider a k-simplex τ of \({\rm Del}^{\omega}_{T\mathcal{M}}(\mathcal {P})\) with two vertices u and v such that τ is in \({\rm st}(u)\) but not in \({\rm st}(v)\) (refer to Fig. 3). We write B u (τ) (and B v (τ)) for the open ball centered on T u (and T v ) that is orthogonal to the (weighted) vertices of τ, and denote by m u (τ) (and m v (τ)), or m u (m v ) for short, its center. According to our definition, τ is inconsistent iff B u (τ) is further than orthogonal from all weighted points in \(\mathcal {P}^{\omega}\setminus\tau\) while there exists a weighted point in \(\mathcal {P}^{\omega}\setminus\tau\) that is closer than orthogonal from B v (τ). We deduce from the above discussion that the line segment [m u m v ] has to penetrate the interior of \({\rm Vor}^{\omega}(w)\), where w ω is a weighted point in \(\mathcal {P}^{\omega} \setminus\tau\).
We now formally define an inconsistent configuration as follows.
Definition 2.7
(Inconsistent configuration)
Let ϕ=[p 0,…,p k+1] be a (k+1)-simplex, and let u, v, and w be three vertices of ϕ. We say that ϕ is a Θ 0-inconsistent (or inconsistent for short) configuration of \({\rm Del}_{T\mathcal{M}}^{\omega}(\mathcal {P})\) witnessed by the triplet (u,v,w) if
-
The k-simplex τ=ϕ∖{w} is in \({\rm st}(u)\) but not in \({\rm st}(v)\).
-
\({\rm Vor}^{\omega}(w)\) is one of the first weighted Voronoi cells of \({\rm Vor}^{\omega}(\mathcal {P})\), other than the weighted Voronoi cells of the vertices of τ, that is intersected by the line segment [m u m v ] oriented from m u to m v . Here \(m_{u} = T_{u} \cap {\rm Vor}^{\omega}(\tau)\) and \(m_{v} = T_{v}\cap {\rm aff}({\rm Vor}^{\omega}(\tau ))\). Let i ϕ denote the point where the oriented segment [m u m v ] first intersects \({\rm Vor}^{\omega}(w)\).
-
τ is a Θ 0-fat simplex.
Note that i ϕ is the center of a sphere that is orthogonal to the weighted vertices of τ and also to w ω, and further than orthogonal from all the other weighted points of \(\mathcal {P}^{\omega}\). Equivalently, i ϕ is the point on [m u m v ] that belongs to \({\rm Vor}^{\omega}(\phi)\).
An inconsistent configuration is therefore a (k+1)-simplex of \({\rm Del}^{\omega} (\mathcal {P})\). However, an inconsistent configuration does not belong to \({\rm Del}_{T\mathcal{M}}^{\omega}(\mathcal {P})\) since \({\rm Del}_{T\mathcal{M}}^{\omega}(\mathcal {P})\) has no (k+1)-simplex under our general position assumption. Moreover, the lower dimensional faces of an inconsistent configuration do not necessarily belong to \({\rm Del}_{T\mathcal{M}}^{\omega}(\mathcal {P})\).
Since the inconsistent configurations are k+1-dimensional simplices, we will use the same notations for inconsistent configurations as for simplices, e.g. R ϕ and c ϕ for the circumradius and the circumcenter of ϕ, ρ ϕ and Θ ϕ for its radius-edge ratio and fatness, respectively.
We write \({\rm Inc}^{\omega}(\mathcal {P})\) for the subcomplex of \({\rm Del}^{\omega }(\mathcal {P})\) consisting of all the Θ 0-inconsistent configurations of \({\rm Del}_{T\mathcal{M}}^{\omega}(\mathcal {P})\) and their subfaces. We also define the completed complex \(C^{\omega}(\mathcal {P})\) as
Refer to Fig. 4.
An important observation, stated as Lemma 4.9 in Sect. 4.3, is that, if ε is sufficiently small with respect to Θ 0, then the fatness of ϕ is less than Θ 0. Hence, if the subfaces of ϕ are Θ 0-fat simplices, ϕ will be a Θ 0-sliver. This observation is at the core of our reconstruction algorithm.
3 Manifold Reconstruction
The algorithm removes all Θ 0-slivers from \(C^{\omega}(\mathcal {P})\) by weighting the points of \(\mathcal {P}\). By the observation mentioned above, all inconsistencies in the tangential complex will then also be removed. All simplices being consistent, the resulting weighted tangential Delaunay complex \(\hat{\mathcal{M}}\) output by the algorithm will be a simplicial k-manifold that approximates \(\mathcal{M}\) well, as will be shown in Sect. 5.
In this section, we describe the algorithm. Its analysis is deferred to Sect. 4.
We will make the two following hypotheses.
Hypothesis 3.1
\(\mathcal{M}\) is a compact smooth submanifold of \(\mathbb{R}^{d}\) without boundary, and \(\mathcal {P}\) is an (ε,δ)-sample of \(\mathcal{M}\) of sampling ratio ε/δ≤η 0 for some positive constant η 0.
As shown in [23, 35], we can estimate the tangent space T p at each sample point p and also the dimension k of the manifold from \(\mathcal {P}\) and η 0. We assume now that T p , for any point \(p\in \mathcal {P}\), k and η 0 are known.
The algorithm fixes a bound ω 0 on the relative amplitude of the weight assignment:
Hypothesis 3.2
\(\tilde{\omega}\leq\omega_{0}\), for some constant ω 0∈[0,1/2).
Observe that, under this hypothesis, all the balls bounded by weighted spheres are disjoint.
The algorithm also fixes Θ 0 to a constant defined in Theorem 4.15, which depends on k, ω 0 and η 0.
We define the local neighborhood of \(p \in \mathcal {P}\) as
where N is a constant that depends on k, ω 0 and η 0 to be defined in Sect. 4.4. We will show in Lemma 4.12 that LN(p) includes all the points of \(\mathcal {P}\) that can form an edge with p in \(C^{\omega}(\mathcal {P})\). In fact, the algorithm can use instead of LN(p) any subset of \(\mathcal {P}\) that contains LN(p). This will only affect the complexity of the algorithm, not the output.
Outline of the Algorithm
Initially, all the sample points in \(\mathcal {P}\) are assigned zero weights, and the completed complex \(C^{\omega}(\mathcal {P})\) is built for this zero weight assignment. Then the algorithm processes each point \(p_{i} \in \mathcal {P}= \{p_{1}, \dots, p_{n}\}\) in turn, and assigns a new weight to p i . The new weight is chosen so that all the simplices of all dimensions in \(C^{\omega}(\mathcal {P})\) are Θ 0-fat. See Algorithm 1.
We now give the details of the functions used in the manifold-reconstruction algorithm. The function update_completed_complex(Q,ω) is described as Algorithm 2. It makes use of two functions, build_star(p) and build_inconsistent_configurations(p,τ).
The function build_star(p) calculates the weighted Voronoi cell of p, which reduces to computing the intersection of the halfspaces of T p bounded by the (weighted) bisectors between p and other points in LN(p).
The function build_inconsistent_configurations(u,τ) adds to \(C^{\omega}(\mathcal {P})\) all the inconsistent configurations of the form ϕ=τ∪{w} where τ is an inconsistent simplex of \({\rm st}(u)\). More precisely, for each vertex v≠u of τ such that \(\tau \not\in {\rm st}(v)\), we calculate the points w∈LN(p), such that (u,v,w) witnesses the inconsistent configuration ϕ=τ∪{w}. Specifically, we compute the restriction of the Voronoi diagram of the points in LN(u) to the line segment [m u m v ], where \(m_{u} = T_{u} \cap {\rm aff}({\rm Vor}^{\omega}(\tau))\) and \(m_{v} = T_{v} \cap {\rm aff}({\rm Vor}^{\omega}(\tau))\). According to the definition of an inconsistent configuration, w is one of the sites whose (restricted) Voronoi cell is the first to be intersected by the line segment [m u m v ], oriented from m u to m v . We add inconsistent configuration ϕ=τ∪{w} to the completed complex.
We now give the details of function weight(p,ω) that computes ω(p), keeping the other weights fixed (see Algorithm 3). This function extends a similar subroutine introduced in [14] for removing slivers in \(\mathbb{R}^{3}\). We need first to define candidate simplices. A candidate simplex of p is defined as a simplex of \(C^{\omega}(\mathcal {P})\) that becomes incident to p when the weight of p is varied from 0 to \(\omega_{0} {\rm n\! n}(p)\), keeping the weights of all the points in \(\mathcal {P}\setminus\{p\}\) fixed. Note that a candidate simplex of p is incident to p for some weight ω(p) but does not necessarily belong to \({\rm st}(p)\).
Let τ be a candidate simplex of p that is a Θ 0-sliver. We associate to τ a forbidden interval W(p,τ) that consists of all squared weights ω(p)2 for which τ appears as a simplex in \(C^{\omega}(\mathcal {P})\) (the weights of the other points remaining fixed).
The function candidate_slivers(p,ω) varies the weight of p and computes all the candidate slivers of p and their corresponding weight intervals W(p,τ). More precisely, this function follows the following steps.
1. We first detect all candidate j-simplices for all 2≤j≤k+1. This is done in the following way. We vary the weight of p from 0 to \(\omega_{0} {\rm n\! n}(p)\), keeping the weights of the other points fixed. For each new weight assignment to p, we modify the stars and inconsistent configurations of the points in LN(p) and detect the new j-simplices incident to p that have not been detected so far. The weight of point p changes only in a finite number of instances \(0= P_{0} < P_{1} < \dots< P_{n-1} < P_{n} = \omega _{0} {\rm n\! n}(p)\).
2. We determine the next weight assignment of p in the following way. For each new simplex τ currently incident to p, we keep it in a priority queue ordered by the weight of p at which τ will disappear for the first time. Hence the minimum weight in the priority queue gives the next weight assignment for p. Since the number of points in LN(p) is bounded, the number of simplices incident to p is also bounded, as well as the number of times we have to change the weight of p.
3. For each candidate sliver τ of p which is detected, we compute W(p,τ) on the fly. The candidate slivers are stored in a list with their corresponding forbidden intervals.
4 Analysis of the Algorithm
The analysis of the algorithm relies on structural results that will be proved in Sects. 4.2, 4.3 and 4.4. We will then prove that the algorithm is correct and analyze its complexity in Sects. 4.5 and 4.6. In Sect. 5, we will show that the output \(\hat{\mathcal{M}}\) of the reconstruction algorithm is a good approximation of \(\mathcal{M}\).
The bounds to be given in the lemmas of this section will depend on the dimension k of \(\mathcal{M}\), the bound η 0 on the sampling ratio, and on a positive scalar Θ 0 that bounds the fatness and will be used to define slivers, fat simplices and inconsistent configurations.
4.1 First Lemmas
4.1.1 Circumradius and Orthoradius
The following lemma states some basic facts about weighted Voronoi diagrams when the relative amplitude of the weighting function is bounded. Similar results were proved in [14].
Lemma 4.1
Assume that Hypothesis 3.2 is satisfied. If τ is a simplex of \({\rm Del}^{\omega}(\mathcal {P})\) and p and q are any two vertices of τ, then
-
1.
\(\forall z \in {\rm aff}({\rm Vor}^{\omega}(\tau))\), \(\|q-z\| \leq\frac{\|p-z\|}{\sqrt{1-4\omega_{0}^{2}}}\).
-
2.
\(\forall z \in {\rm aff}({\rm Vor}^{\omega}(\tau))\), \(\sqrt{\|z-p\|^{2}-\omega^{2}(p)}\) ≥Φ τ .
-
3.
∀σ⊆τ, Φ σ ≤Φ τ .
Proof
Refer to Fig. 5.
1. If ∥z−q∥≤∥z−p∥, then the lemma is proved since \(0 < \sqrt{1-4 \omega^{2}_{0}} \leq1\). Hence assume that ∥z−q∥>∥z−p∥. Since \(z\in {\rm aff}({\rm Vor}^{\omega}(\tau))\)
2. We know that \(o_{\tau}= {\rm aff}({\rm Vor}^{\omega}(\tau))\cap {\rm aff}(\tau)\). Therefore, using Pythagoras theorem,
3. The result directly follows from part 2 and the fact that \({\rm aff}({\rm Vor}^{\omega}(\tau)) \subseteq {\rm aff}({\rm Vor}^{\omega}(\sigma))\) (since σ⊆τ). □
4.1.2 Altitude and Fatness
If p∈τ, we define τ p =τ∖{p} to be the (j−1)-face of τ opposite to p. We also write D τ (p) for the distance from p to the affine hull of τ p . D τ (p) will be called the altitude of p in τ.
From the definition of fatness, we easily derive the following lemma.
Lemma 4.2
Let τ=[p 0,…,p j ] be a j-dimensional simplex and p be a vertex of τ.
-
1.
\(\varTheta^{j}_{\tau} \leq\frac{1}{j!}\).
-
2.
\(j! \varTheta^{j}_{\tau} \leq\frac{D_{\tau}(p)}{\varDelta_{\tau}} \leq j \varGamma^{j-1}_{\tau} \times \frac{\varTheta^{j}_{\tau}}{\varTheta^{j-1}_{\tau_{p}}}\).
Proof
1. Without loss of generality we assume that τ=[p 0,…,p j ] is embedded in \(\mathbb{R}^{j}\). From the definition of fatness, we have
2. Using the above inequality and the definition of fatness, we get
Moreover, using \(\varDelta_{\tau_{p}} \geq L_{\tau_{p}} \geq L_{\tau}\) and \(\varGamma_{\tau} = \frac{\varDelta_{\tau}}{L_{\tau}}\),
□
4.1.3 Eccentricity
Let τ be a simplex and p be a vertex of τ. We define the eccentricity H τ (p,ω(p)) of τ with respect to p as the signed distance from o τ to \({\rm aff}(\tau_{p})\). Hence, H τ (p,ω(p)) is positive if o τ and p lie on the same side of \({\rm aff}(\tau_{p})\) and negative if they lie on different sides of \({\rm aff}(\tau_{p})\).
The following lemma is a generalization of Claim 13 from [14]. It bounds the eccentricity of a simplex τ as a function of ω(p) where p is a vertex of τ. The proof is included for completeness even though it is exactly the same as the one given in [14].
Lemma 4.3
Let τ be a simplex of \({\rm Del}^{\omega}(\mathcal {P})\) and let p be any vertex of τ. We have
Proof
Refer to Fig. 6. For convenience, we write R=Φ τ for the orthoradius of τ and \(r= \varPhi_{\tau_{p}}\) for the orthoradius of τ p . The orthocenter \(o_{\tau_{p}}\) of τ p is the projection of o τ onto τ p . When the weight ω(p) varies while the weights of other points remain fixed, o τ moves on a (fixed) line L that passes through \(o_{\tau_{p}}\). Now, let p′ and p″ be the projections of p onto L and \({\rm aff}(\tau_{p})\), respectively. Write δ=∥p−p′∥ for the distance from p to L. Since p and L (as well as all the objects of interest in this proof) belong to \({\rm aff}(\tau)\), \(\|p' - o_{\tau_{p}}\| = \|p-p'' \| = D_{\tau}(p)\).
We have R 2+ω(p)2=(H τ (p,ω(p))−D τ (p))2+δ 2. We also have R 2=H τ (p,ω(p))2+r 2 and therefore H τ (p,ω(p))2=(H τ (p,ω(p))−D τ (p))2+δ 2−ω(p)2−r 2. We deduce that
The first term on the right side is H τ (p,0) and the second is the displacement of o τ when we change the weight of p to ω 2(p). □
4.2 Properties of the Tangential Delaunay Complex
The following two lemmas are slight variants of results of [15]. The first lemma states that the restriction of a (weighted) Voronoi cell to a tangent space is small.
Lemma 4.4
Assume that Hypotheses 3.1 and 3.2 are satisfied. There exists a positive constant C 1 such that for all \(T_{p} \cap {\rm Vor}^{\omega}(p)\), \(\|x-p\| \leq C_{1} \varepsilon \,{\rm lfs}(p)\).
Proof
Assume for a contradiction that there exists a point \(x \in {\rm Vor}^{\omega}(p)\cap T_{p}\) s.t. \(\|x-p\| > C_{1}\varepsilon \,{\rm lfs}(p)\) with
Let q be a point on the line segment [px] such that \(\|p-q\|= C_{1}\varepsilon \,{\rm lfs}(p)/2\). Let q′ be the point closest to q on \(\mathcal{M}\). From Lemma 2.3, we have \(\|q-q'\|\leq C_{1}^{2}\varepsilon ^{2} \,{\rm lfs}(p)/2\).
Hence,
Since \(\mathcal {P}\) is an ε-sample, there exists a point \(t \in \mathcal {P}\) s.t. \(\|q'-t\|\leq \varepsilon \,{\rm lfs}(q')\). Using the fact that \({\rm lfs}\) is 1-Lipschitz and Eq. (6),
which yields \(\|q'-t\| < \frac{C_{1}}{2}\varepsilon (1-C_{1}\varepsilon ) \,{\rm lfs}(p)\). We thus have
It follows (see Fig. 7) that ∠ptx>π/2, which implies that
Hence,
This implies \(x \not\in {\rm Vor}^{\omega}(p)\), which contradicts our initial assumption. We conclude that \({\rm Vor}^{\omega}(p)\cap T_{p} \subseteq B(p,C_{1}\varepsilon \,{\rm lfs}(p))\) if Eq. (6) is satisfied, which is true for \(C_{1} \stackrel{{\rm def}}{=} 3+\sqrt{2}\approx4.41\) and ε≤ε 0<0.09.
□
The following lemma states that, under Hypotheses 3.2 and 3.1, the simplices of \({\rm Del}_{p}^{\omega}(\mathcal {P})\) are small, have a good radius-edge ratio and a small eccentricity.
Lemma 4.5
Assume that Hypotheses 3.1 and 3.2 are satisfied. There exist positive constants C 2, C 3 and C 4 that depend on ω 0 and η 0 such that, if \(\varepsilon < \frac{1}{2C_{2}}\), the following holds.
-
1.
If pq is an edge of \({\rm Del}_{T\mathcal{M}}^{\omega}(\mathcal {P})\), then \(\|p-q\| < C_{2}\varepsilon \,{\rm lfs}(p)\).
-
2.
If τ is a simplex of \({\rm Del}_{T\mathcal{M}}^{\omega}(\mathcal {P})\), then Φ τ ≤C 3 L τ and Γ τ =Δ τ /L τ ≤C 3.
-
3.
If τ is a simplex of \({\rm Del}_{T\mathcal{M}}^{\omega}(\mathcal {P})\) and p a vertex of τ, the eccentricity |H τ (p,ω(p))| is at most \(C_{4}\varepsilon \,{\rm lfs}(p)\).
Proof
1. We will consider the following two cases:
-
(a)
Consider first the case where pq is an edge of \({\rm Del}_{p}^{\omega}(\mathcal {P})\). Then \(T_{p} \cap {\rm Vor}^{\omega}(pq) \neq\emptyset\). Let \(x\in T_{p} \cap {\rm Vor}^{\omega}(pq)\). From Lemma 4.4, we have \(\|p-x\| \leq C_{1}\varepsilon \,{\rm lfs}(p)\). By Lemma 4.1,
$$\|q-x\| \leq\frac{\|p-x\|}{\sqrt{1-4\omega_0^2}} \leq \frac{C_1\varepsilon \,{\rm lfs}(p)}{\sqrt{1-4\omega_0^2}}. $$Hence, \(\| p-q\| \leq C_{1}' \varepsilon \,{\rm lfs}(p)\) where \(C_{1}'\stackrel{{\rm def}}{=}C_{1}(1+1/\sqrt{1-4\omega_{0}^{2}})\).
-
(b)
From the definition of \({\rm Del}_{T\mathcal{M}}^{\omega}(\mathcal {P})\), there exists a vertex r of τ such that \([pq] \in {\rm st}(r)\). From (a), ∥r−p∥ and ∥r−q∥ are at most \(C_{1}'\varepsilon \,{\rm lfs}(r)\). Using the fact that \({\rm lfs}\) is 1-Lipschitz, \({\rm lfs}(p) \geq {\rm lfs}(r) - \|p-r\| \geq(1-C_{1}' \varepsilon ) \,{\rm lfs}(r)\) (from part 1 (a)), which yields \({\rm lfs}(r) \leq\frac{{\rm lfs}(p)}{1-C'_{1}\varepsilon }\). It follows that
$$\| p-q\| \leq\| p-r\| + \| r-q\| \leq\frac{2C_1'\varepsilon \,{\rm lfs}(p)}{1-C_1'\varepsilon }. $$The first part of the lemma is proved by taking \(C_{2}\stackrel{{\rm def}}{=} \frac{5C_{1}' }{2}\) and using 2C 2 ε<1.
2. Without loss of generality, let \(\tau_{1} \in {\rm st}(p)\) be a simplex incident to p and τ⊆τ 1. Let \(z \in {\rm Vor}^{\omega}(\tau_{1})\cap T_{p}\), and \(r_{z} = \sqrt{\|z-p\|^{2}-\omega^{2}(p)}\). The ball centered at z with radius r z is orthogonal to the weighted vertices of τ 1. From Lemma 4.1 (2) and (3), we have \(r_{z} \geq \varPhi_{\tau_{1}}\) and \(\varPhi_{\tau} \leq\varPhi_{\tau_{1}}\). Hence it suffices to prove that there exists a constant C 3 such that r z ≤C 3 L τ . Since \(z \in {\rm Vor}^{\omega}(\tau)\cap T_{p}\), we deduce from Lemma 4.4 that \(\|z-p\|\leq C_{1}\varepsilon \,{\rm lfs}(p)\). Therefore
For any vertex q of τ, we have \(\|p-q\| \leq C_{2}\varepsilon \,{\rm lfs}(p)\) (by part 1). Using 2C 2 ε<1 and the fact that \({\rm lfs}\) is 1-Lipschitz, \({\rm lfs}(p)\leq2\,{\rm lfs}(q)\). Therefore, taking for q a vertex of the shortest edge of τ, we have, using Lemma 2.3 and Hypothesis 1,
From part (1) of the lemma we have \(\varDelta_{\tau_{1}} \leq2 C_{2}\varepsilon \,{\rm lfs}(p)\). Therefore
The last inequality follows from the fact that \({\rm lfs}(p) \leq2 \,{\rm lfs}(q)\) and ε/δ≤η 0.
3. From the definition of H τ (p,ω(p)), we have for all vertices q∈τ p
Using the facts that Φ τ ≤C 3 L τ (from part 2), L τ ≤∥p−q∥, ω(q)≤ω 0∥p−q∥, and \(\|p-q\| \leq C_{2}\varepsilon \,{\rm lfs}(p)\) (from part 1), we have
□
4.3 Properties of Inconsistent Configurations
We now give lemmas on inconsistent configurations which are central to the proof of correctness of the reconstruction algorithm given later in the paper. The first lemma is the analog of Lemma 4.5 applied to inconsistent configurations. Differently from Lemma 4.5, we need to use Corollary 2.5 to control the orientation of the facets of \({\rm Del}_{T\mathcal{M}}^{\omega}(\mathcal {P})\) and require the following additional hypothesis relating the sampling rate ε and the fatness bound Θ 0.
Hypothesis 4.6
2Aε<1 where \(A \stackrel{{\rm def}}{=} 2C_{2} C_{3}/\varTheta^{k}_{0}\), and C 2 and C 3 are the constants defined in Lemma 4.5.
Lemma 4.7
(Tangent approximation)
Let τ be a k-simplex of \({\rm Del}_{T\mathcal{M}}^{\omega}(\mathcal {P})\) that is Θ 0-fat. For all vertices p of τ, we have \(\sin\angle({\rm aff}(\tau), T_{p}) = \sin\angle(T_{p}, {\rm aff}(\tau)) \leq A\varepsilon \). The constant A, defined in Hypothesis 4.6, depends on k, ω 0, η 0 and Θ 0.
Proof
Since dim(τ)=dim(T p ) (=k), we have from Lemma 2.1, \(\angle({\rm aff}(\tau), T_{p}) = \angle(T_{p}, {\rm aff}(\tau))\). From Lemma 4.5 (1) and the Triangle inequality, we get \(\varDelta_{\tau} \leq2C_{2}\varepsilon \,{\rm lfs}(p)\), and, from Lemma 4.5 (2), we get Γ τ ≤C 3. Using Corollary 2.5, we obtain
□
Lemma 4.8
Assume that Hypotheses 3.1, 3.2 and 4.6 are satisfied. Let \(\phi\in {\rm Inc}^{\omega}(\mathcal {P})\) be an inconsistent configuration witnessed by (u,v,w). There exist positive constants \(C_{2}'> C_{2}\), \(C_{3}' >C_{3}\) and \(C_{4}'>C_{4}\) that depend on ω 0 and η 0 s.t., if \(\varepsilon < 1/C_{2}'\), then
-
1.
\(\|p-i_{\phi}\| \leq\frac{C_{2}'}{2} \varepsilon \,{\rm lfs}(p)\) for all vertices p of ϕ.
-
2.
If pq is an edge of ϕ then \(\|p-q\| \leq C_{2}'\varepsilon \,{\rm lfs}(p)\).
-
3.
If σ⊆ϕ, then \(\varPhi_{\sigma} \leq C_{3}' L_{\sigma}\) and \(\varGamma_{\sigma} = {\varDelta_{\sigma}} / {L_{\sigma}} \leq C_{3}'\).
-
4.
If σ⊆ϕ and p is any vertex of σ, |H σ (p,ω(p))| of σ is at most \(C_{4}'\varepsilon \,{\rm lfs}(p)\).
Proof
From the definition of inconsistent configurations, the k-dimensional simplex τ=ϕ∖{w} belongs to \({\rm Del}^{\omega}_{u}(\mathcal {P})\). We first bound \({{\rm dist}}(i_{\phi},{\rm aff}(\tau))= \| o_{\tau}-i_{\phi}\|\) where o τ is the orthocenter of τ. Let m u (\(\in {\rm Vor}^{\omega}(\tau)\cap T_{u}\)) denote, as in Sect. 2.4, the point of T u that is the center of the ball orthogonal to the weighted vertices of τ. By definition, m u is further than orthogonal to all other weighted points of \(\mathcal {P}\setminus\tau\). Observe that ∥u−o τ ∥≤∥u−m u ∥, since o τ belongs to \({\rm aff}(\tau)\) and therefore is the closest point to u in \({\rm aff}({\rm Vor}^{\omega}(\tau))\). Moreover, by Lemma 4.4, \(\|u-m_{u}\| \leq C_{1}\varepsilon \,{\rm lfs}(u)\). Then, by Lemma 4.1, we have for all vertices p∈τ
Since τ is a Θ 0-fat simplex (by definition of an inconsistent configuration), we get from Lemma 4.7 that
for all vertices p of τ. This implies, together with 2Aε<1 (Hypothesis 4.6),
Observing again that \(\|u-m_{u}\| \leq C_{1}\varepsilon \,{\rm lfs}(u)\) (from Lemma 4.4) and Eq. (8), we deduce
We also have, ∥v−o τ ∥≤∥v−m u ∥ as o τ is the closest point to v in \({\rm aff}({\rm Vor}^{\omega}(\tau))\). Hence we have, using Eqs. (7) and (9),
Let i ϕ denote, as in Sect. 2.4, the first point of the line segment [m u m v ] that is in \({\rm Vor}^{\omega}(\phi)\). We get from Eqs. (10) and (11) that
1. Using Lemma 4.4, and the facts that 2Aε<1 and ∥u−o τ ∥≤∥u−m u ∥, we get
where C 2 is the constant introduced in Lemma 4.5. Equation (12), together with Lemma 4.1 and \(C_{2}'\stackrel{\rm{def}}{=} C_{2}/\sqrt{1-4\omega_{0}^{2}}> C_{2}\), yields
for all vertices p of ϕ. We deduce \(\| p-u\| \leq \|p-i_{\phi}\| +\|u-i_{\phi}\| \leq \frac{C_{2}'}{2} \varepsilon \,{\rm lfs}(u) \).
We now express \({\rm lfs}(u)\) in terms of \({\rm lfs}(p)\) using the fact that \({\rm lfs}\) is 1-Lipschitz and using \(C_{2}'\varepsilon <1\):
We deduce that \({\rm lfs}(u) \leq2 \,{\rm lfs}(p)\) and \(\|p-i_{\phi}\| \leq \frac{C_{2}'}{2}\varepsilon \,{\rm lfs}(p)\).
2. Using Eqs. (13) and (14), from part 1 of this lemma, we have
3. If σ belongs to \({\rm Del}^{\omega}_{T\mathcal{M}}(\mathcal {P})\), the result has been proved in Lemma 4.5(3) with \(C_{3}'=C_{3}\). Let \(r_{\phi} = \sqrt{\|i_{\phi} - u\|^{2}-\omega(u)^{2}}\). Since \(i_{\phi} \in {\rm Vor}^{\omega}(\sigma)\), the sphere centered at i ϕ with radius r ϕ is orthogonal to the weighted vertices of σ. From Lemma 4.1(2) and (3), we have r ϕ ≥Φ ϕ and Φ ϕ ≥Φ σ , respectively. Hence it suffices to show that there exists a constant \(C_{3}'\) such that \(r_{\phi} \leq C_{3}' L_{\sigma}\). Using Eq. (12), we get
Let q be a vertex of a shortest edge of σ. We have, from part 2, of this lemma, \(\|u-q\| \leq C_{2}' \varepsilon \,{\rm lfs}(q)< {\rm lfs}(q)\). From which we deduce that \({\rm lfs}(u) \leq2 \,{\rm lfs}(q)\). Therefore, using Hypothesis 3.1,
From part 2 of the lemma, we have \(\varDelta_{\phi} \leq2C_{2}' \varepsilon \,{\rm lfs}(q)\), and using the facts that \(L_{\sigma} \geq\delta\,{\rm lfs}(q)\) and ε/δ≤η 0, this implies
We get the result by taking \(C_{3}'\stackrel{{\rm def}}{=} \max\{ 4C_{2}\eta_{0}, 2C_{2}'\eta _{0}\}\).
4. Using the same arguments as in the proof of Lemma 4.5 (3) we have for all vertices q of σ p
Using the facts that \(\varPhi_{\sigma} \leq C_{3}' L_{\sigma}\) (from part 3), L σ ≤∥p−q∥, ω(q)≤ω 0∥p−q∥, and \(\|p-q\| \leq2C_{2}'\varepsilon \,{\rm lfs}(p)\) (from part 2), we have
□
The next crucial lemma bounds the fatness of inconsistent configurations.
Lemma 4.9
Assume Hypotheses 3.1, 3.2 and 4.6, and \(\varepsilon < 1/2C_{2}'\). The fatness Θ ϕ of an inconsistent configuration ϕ is at most
Proof
Let ϕ be witnessed by (u,v,w). From the definition of inconsistent configurations, the k-dimensional simplex τ=ϕ∖{w} belongs to \({\rm st}(u)\) and τ is a Θ 0-fat simplex. Using Lemma 4.8 (2), we have \(\varDelta_{\phi} \leq2C'_{2}\varepsilon \,{\rm lfs}(u)\). As in the proof of Lemma 4.8, we have \(\sin\angle(T_{u}, {\rm aff}(\tau)) \leq\frac{\varGamma_{\tau}\varDelta _{\tau} }{\varTheta^{k}_{\tau} \,{\rm lfs}(u)}\) (refer to Eq. (8)) by Corollary 2.5 and the fact that \(\varDelta _{\phi} < {\rm lfs}(u)\). Also, using the fact that \(\|u-w\|< C_{2}'\varepsilon \,{\rm lfs}(u) < {\rm lfs}(u)\) (from Lemma 4.5 (2) and \(\varepsilon < 1/2C'_{2}\)) and Lemma 2.3 (2), we have
We can bound the altitude D ϕ (w) of w in ϕ
From the definition of fatness of a simplex and Lemma 4.2 (1), we get
We deduce
The last inequality comes from the facts that σ is Θ 0-fat, \(\varDelta_{\phi} \leq 2C_{2}'\varepsilon \,{\rm lfs}(u)\) (from Lemma 4.8 (2)) and Γ τ ≤C 3 (from Lemma 4.5 (3)). □
A consequence of the lemma is that, if the subfaces of ϕ are Θ 0-fat simplices and if
Hypothesis 4.10
\(\frac{C_{2}' \varepsilon }{(k+1)!} ( 1+\frac{2C_{3}}{\varTheta^{k}_{0}} ) < \varTheta_{0}^{k+1}\)
is satisfied, then ϕ is a Θ 0-sliver. Hence, techniques to remove slivers can be used to remove inconsistent configurations.
In the above lemmas, we assumed that ε is small enough. Specifically in addition to Hypotheses 3.1, 3.2 and 4.6, we assumed that 2C 2 ε<1 in Lemma 4.5, \(C_{2}'\varepsilon <1\) in Lemma 4.8 and \(2C_{2}'\varepsilon < 1\) in Lemma 4.9. We will make another hypothesis that subsumes these two previous conditions.
Hypothesis 4.11
\(C_{2}'(1+C_{2}' \eta_{0}) \varepsilon <1/2\).
Observe that this hypothesis implies \(C_{2}'(1+C_{2}') \varepsilon <1/2\) since η 0>1. Observe also that Hypotheses 4.6, 4.10 and 4.11 are satisfied for fixed ω 0, η 0, Θ 0 and a sufficiently small ε.
4.4 Number of Local Neighbors
We will use the result from this section for the analysis of the algorithm, and also for calculating its time and space complexity.
Let \(N \stackrel{{\rm def}}{=} (4C'_{2}\eta_{0}+6)^{k}\), where the constant \(C'_{2}\) is defined in Lemma 4.8.
Lemma 4.12
Assume Hypotheses 3.1, 3.2, 4.6 and 4.11. The set
where N=2O(k) and the constant in big-O depends on ω 0 and η 0, includes all the points of \(\mathcal {P}\) that can form an edge with p in \(C^{\omega}(\mathcal {P})\).
Proof
Lemmas 4.5 and 4.8 show that, in order to construct \({\rm st}(p)\) and search for inconsistencies involving p, it is enough to consider the points of \(\mathcal {P}\) that lie in ball \(B_{p}= B(p, C_{2}'\varepsilon \,{\rm lfs}(p))\). Therefore it is enough to count the number of points in \(B_{p} \cap \mathcal {P}\).
Let x and y be two points of \(B_{p} \cap \mathcal {P}\). Since \({\rm lfs}()\) is a 1-Lipschitz function, we have
By definition of an (ε,δ)-sample of \(\mathcal{M}\), the two balls B x =B(x,r x ) and B y =B(y,r y ), where \(r_{x}= \delta \,{\rm lfs}(x)/2\) and \(r_{y}=\delta \,{\rm lfs}(y)/2\), are disjoint. Moreover, both balls are contained in the ball \(B^{+}_{p}= B(p, r^{+})\), where
Let \(\overline{B}_{x} = B_{x}\cap T_{p}\), \(\overline{B}_{y} = B_{y}\cap T_{p}\) and \(\overline{B}^{+}_{p}= B^{+}_{p}\cap T_{p}\). From Lemma 2.3(2), the distance from x to T p is
Using Eqs. (17), (18) and the fact that ε/δ≤η 0, we see that \(\overline {B}_{x}\) is a k-dimensional ball of squared radius
We can now use a packing argument. Since the balls \(\overline{B}_{x}\), x in \(B_{p}\cap \mathcal {P}\), are disjoint and all contained in \(B^{+}_{p}\), the number of points of \(B_{p} \cap \mathcal {P}\) is at most
And the result follows. □
4.5 Correctness of the Algorithm
Definition 4.13
(Sliverity range)
Let ω be a weight assignment satisfying Hypothesis 3.2. The weight of all the points in \(\mathcal {P}\setminus\{p\}\) are fixed and the weight ω(p) of p is varying. The sliverity range Σ(p) of a point \(p\in \mathcal {P}\) is the measure of the set of all squared weights ω(p)2 for which p is a vertex of a Θ 0-sliver in \(C^{\omega}(\mathcal {P})\).
Lemma 4.14
Under Hypotheses 3.1, 3.2, 4.6, 4.10 and 4.11, the sliverity range satisfies
for some constant C 5 that depends on k, ω 0 and η 0 but not on Θ 0.
Proof
Let τ be a j-dimensional simplex of \(C^{\omega}(\mathcal {P})\) incident on p (with 2≤j≤k+1). assume that τ is a Θ 0-sliver. If ω(p) is the weight of p, we write H τ (p,ω(p)) for the eccentricity of τ with respect to p and parameterized by ω(p). From Lemma 4.8(4), we have
Using Lemma 4.2 (2), we have
The last inequality follows from the facts that j≤k+1, \(\varGamma _{\tau} \leq C'_{3} \) (from Lemmas 4.5 (2) and 4.8 (3)) and τ is a Θ 0-sliver. Moreover, from Lemma 4.3,
It then follows from Eqs. (19), (20) and (21) that the set of squared weights of p for which τ belongs to \(C^{\omega}(\mathcal {P})\) is a subset of the following interval
where β=2DE. Therefore, from Eq. (20) and (21), the measure of the set of weights for which τ belongs to \(C^{\omega}(\mathcal {P})\) is at most
Let q 1 and q 2 be two vertices of τ such that Δ τ =∥q 1−q 2∥. Using Lemmas 4.5 (1) and 4.8 (2), we get
Using this inequality, \({\rm lfs}(p) \leq {\rm n\! n}(p)/\delta\) (Lemma 2.3) and ε/δ≤η 0 (Hypothesis 3.1), the sliverity range of τ is at most \(8(k+1){C'_{3}}^{k} C'_{2} C'_{4}\varTheta_{0} \eta^{2}_{0} {\rm n\! n}(p)^{2} = C_{5} \varTheta_{0} {\rm n\! n}(p)^{2} \) with \(C_{5} \stackrel{\rm def}{=} 8(k+1){C'_{3}}^{k} C'_{2} C'_{4} \eta^{2}_{0}\). By Lemma 4.12, the number of j-simplices that are incident to p is at most N j. Hence, the sliverity range of p is at most
The last inequality follows from the fact that \(\sum_{j=3}^{k+1} N^{j} < 2 N^{k+1}\) (as \(N = (4C'_{2}\eta_{0} +6)^{k} >2\)). □
Theorem 4.15
Take \(\varTheta_{0} =\frac{\omega^{2}_{0}}{2 N^{k+1} C_{5}}\) and assume that Hypotheses 3.1, 3.2, 4.6, 4.10 and 4.11 are satisfied. Then, the simplicial complex \(\hat{\mathcal{M}}\) output by Algorithm 1 has no inconsistencies and its simplices are all Θ 0-fat.
Proof
The sliverity range Σ(p) of p is at most \(2N^{k+1}C_{5} \varTheta_{0} {\rm n\! n}(p)^{2}\) from Lemma 4.14. Since \(\varTheta_{0} = \frac{\omega_{0}^{2}}{2N^{k+1} C_{5}}\), Σ(p) is less than the total range of possible squared weights \(\omega_{0}^{2} {\rm n\! n}(p)^{2}\). Hence, function weight (p,ω) will always find a weight for any point \(p\in \mathcal {P}\) and any weight assignment of relative amplitude at most ω 0 for the points of \(\mathcal {P}\setminus \{p\}\).
Since the algorithm removes all the simplices of \(C^{\omega}(\mathcal {P})\) that are not Θ 0-fat, all the simplices of \(\hat{\mathcal{M}}\) are Θ 0-fat.
By Lemma 4.9 and Hypothesis 4.10, all the inconsistent configurations in \(C^{\omega}(\mathcal {P})\) are either Θ 0-slivers or contain subfaces which are Θ 0-slivers. It follows that \(\hat{\mathcal{M}}\) has no inconsistency since, when the algorithm terminates, all simplices of \(C^{\omega}(\mathcal {P})\) are Θ 0-fat. □
4.6 Time and Space Complexity
Theorem 4.16
Assume that Hypotheses 3.1, 3.2, 4.6, 4.10 and 4.11 are satisfied. Then the space complexity of the algorithm is
and the time complexity is
where \(|\mathcal {P}|\) denotes the cardinality of \(\mathcal {P}\).
Proof
Space Complexity: For each point \(p \in \mathcal {P}\) we maintain LN(p). The total space complexity for storing LN(p) for each point \(p \in \mathcal {P}\) is thus \(O(N|\mathcal {P}|)\) by definition of LN(p).
Rather than maintaining \(C^{\omega}(\mathcal {P})\) as one data structure, for all \(p \in \mathcal {P}\), we maintain \({\rm st}(p)\) and \({\rm cosph}(p)\), where
Note that
By Lemma 2.2, each \({\rm st}(p)\), \(p \in \mathcal {P}\), has the same combinatorial complexity as a Voronoi cell in the k-dimensional flat T p . Since the sites needed to compute this Voronoi cell all belong to LN(p), there number is at most N by Lemma 4.12. From the Upper Bound Theorem of convex geometry, see e.g. [13], the combinatorial complexity of each star is therefore O(N ⌊k/2⌋). Hence the total space complexity of the tangential Delaunay complex is \(O(kN^{\lfloor k/2 \rfloor}) |\mathcal {P}|\).
For a given inconsistent Θ 0-fat k-simplex in \({\rm st}(p)\), we can have from Lemmas 4.8 (2) and 4.12, at most k|LN(p)|≤kN different inconsistent configurations. Hence, the number of inconsistent configurations to be stored in the completed complex \(C^{\omega}(\mathcal {P})\) is at most \(O(k^{2}N^{\lfloor k/2 \rfloor+1}) |\mathcal {P}|\).
The main loop of the algorithm processes each point \(p \in \mathcal {P}\) in turn, and finds a weight assignment ω(p) using the function weight( , ). In the function weight, we maintain a list of candidate simplices of p with their corresponding forbidden intervals and a priority queue of candidate simplices of p. By Lemmas 4.5 (1), 4.8 (2) and 4.12, the space complexities of both these data structures are bounded by O(kN k+1).
With N=2O(k) (refer to Lemma 4.12), we conclude that the total space complexity of the algorithm is
Time complexity: In the initialization phase, the algorithm computes LN(p) for all \(p \in \mathcal {P}\) and initializes the weights to 0. This can easily be done in time \(O(d) |\mathcal {P}|^{2} \).
Then the algorithm builds \(C^{\omega}(\mathcal {P})\) for the zero weight assignment. The time to compute \({\rm st}(p)\) is dominated by the time to compute the cell of p in the weighted k-dimensional Voronoi diagram of the projected points of LN(p) onto T p . Since, by definition, |LN(p)|≤N, the time for building the star of p is the same as the time to compute the intersection of N halfspaces in \(\mathbb{R}^{k}\),
see e.g. [13, 17]. The factor O(kd) appears in the first term because calculating the projection of a point in \(\mathbb{R}^{d}\) on a k-flat requires to compute k inner products. The O(k 3) factor comes from the fact that the basic operation we need to perform is to decide whether a point lies in the ball orthogonal to a k-simplex. This operation reduces to the evaluation of the sign of the determinant of a (k+2)×(k+2) matrix. The N ⌊k/2⌋ term bounds the combinatorial complexity of a cell in the Voronoi diagram of N sites in a k-flat. Therefore the time needed to build the stars of all the points p in \(\mathcal {P}\) is
Let τ=[p 0,…,p k ] be a Θ 0-fat k-simplex in \({\rm st}(u)\). For each vertex v (≠u) of τ with \(\tau\not\in {\rm st}(v)\), we need to compute the inconsistent configurations of the form ϕ=[p 0,…,p k ,w] witnessed by (u,v,w) where w∈LN(p)∖τ. The number of such inconsistent configurations is therefore less than |LN(p)|≤N. The time complexity to compute all the inconsistent configurations of the form ϕ=[p 0,…,p k ,w] witnessed by the triplet (u,v,w) is O(dN). Since the number of choices of v is at most k, hence the time complexity for building all the inconsistent configurations of the form ϕ=[p 0,…,p k ,w] witnessed by (u,v,w) with v (≠u) being a vertex of τ and w a point in LN(u)∖τ is
The time complexity to build all the inconsistent configurations corresponding to \({\rm st}(u)\) is O(dkN ⌊k/2⌋+1) since the number of k-simplices in the star of a point p is O(N ⌊k/2⌋).
Hence, the time complexity for building the inconsistent configurations of \(C^{\omega}(\mathcal {P})\) is \(O(dN+kN^{ \lfloor k/ 2 \rfloor+1 }) |\mathcal {P}|\). Therefore the total time complexity of the initialization phase is
Consider now the main loop of the algorithm. The time complexity of function weight(p,ω) is O((d+k 3)N k+1) since we need to sweep over at most all (k+1)-simplices incident on p with vertices in LN(p). The number of such simplices is at most N k+1. We easily deduce from the above discussion that the time complexity of Function update_complete_complex(LN(p),ω) is
Since functions weight(p,Θ 0,ω) and update_complete_complex \((C^{\omega}(\mathcal {P}), p, \omega)\) are called \(|\mathcal {P}|\) times, we conclude that the time complexity of the main loop of the algorithm is \(O(dk N^{2} + (k^{3}+dk )N^{k+1} ) |\mathcal {P}|\).
Combining the time complexities for all the steps of the algorithm and using N=O2O(k) (refer to Lemma 4.12), we get the total time complexity of the algorithm
□
Observe that, since \(\mathcal {P}\) is an (ε,δ)-sample of \(\mathcal{M}\) with ε/δ≤η 0, \(|\mathcal {P}| = O(\varepsilon ^{k})\).
5 Topological and Geometric Guarantees
In this section we give conditions under which \({\rm Del}^{\omega}_{T\mathcal{M}}(\mathcal {P})\) is isotopic to and a close geometric approximation of the manifold \(\mathcal{M}\). The results in this section will be used to prove the theoretical guarantees on the quality of the simplicial complex \(\hat{\mathcal{M}}\) output by Algorithm 1 in Sect. 3.
5.1 General Position Assumption
We assume that the weighted points in \(\mathcal {P}^{\omega}\) are in general position in \(\mathbb{R}^{d}\) and this will imply \({\rm Del}^{\omega}(\mathcal {P})\) is a simplicial complex, see Sect. 2.1.2. Therefore \({\rm Del}^{\omega}_{T\mathcal{M}}(\mathcal {P})\) is a simplicial complex.
We know from Lemma 2.2 that \({\rm Vor}^{\omega}(\mathcal {P})\cap T_{p}\) is identical to the weighted Voronoi diagram \({\rm Vor}^{\xi_{p}}(\mathcal {P}_{p})\) of \(\mathcal {P}^{\xi_{p}}\) in T p , where \(\mathcal {P}_{p}\) is obtained by projecting \(\mathcal {P}\) orthogonally onto T p and ξ p is the weight assignment defined in Lemma 2.2.
Under Hypotheses 3.1 and 3.2, \({\rm Vor}^{\xi_{p}}(p)\) is bounded (Lemma 4.4) and therefore \(\dim {\rm aff}(\mathcal {P}_{p}) = k\). In addition to the general position assumption of \(\mathcal {P}^{\omega}\), we will also assume that the weighted points \(\mathcal {P}^{\xi_{p}}_{p}\) are in general position on T p , meaning that there exists no orthosphere centered on T p that is orthogonal to k+2 weighted points of \(\mathcal {P}_{p}^{\xi_{p}}\). See Sects. 2.1.1 and 2.1.2. As we have already mentioned in Sect. 2.4, the general position assumption can be fulfilled by applying an infinitesimal perturbation to the point sample or to the weight assignment ω.
Under the general position assumption above, \({\rm Del}^{\xi_{p}}(\mathcal {P}_{p})\) is a triangulation of \({\rm conv}(\mathcal {P}_{p})\) [3–5]. Moreover, since \({\rm Vor}^{\xi_{p}}(p)\) is bounded (from Lemma 4.4), p is an interior vertex of \({\rm Del}^{\xi_{p}}(\mathcal {P}_{p})\). This implies the following result.
Lemma 5.1
For all \(p \in \mathcal {P}\), \({\rm st}(p)\) is isomorphic to the star of an interior vertex of a compact triangulated k-dimensional polytope.
5.2 Medial Axis and the Projection Map
Let \(\mathcal{O}\) denote the medial axis of \(\mathcal{M}\), and let
denote the projection map that maps each point of \(\mathbb{R}^{d}\setminus \mathcal{O}\) to its closest point on \(\mathcal{M}\). The following lemma is a standard result from Federer [28].
Lemma 5.2
Let \(\mathcal{M}\) be a smooth submanifold of \(\mathbb{R}^{d}\) without boundary. Then, the projection map \(\pi: \mathbb{R}^{d} \setminus{\mathcal{O}} \rightarrow \mathcal{M}\) is a C 1-function in \(\mathbb{R}^{d} \setminus{\mathcal{O}}\).
-
1.
The map π is a C 1-function.
-
2.
For all \(x \in \mathbb{R}^{d} \setminus\mathcal{O}\), the kernel of the linear map \(d\pi(x) : \mathbb{R}^{d} \rightarrow T_{\pi(x)}\), where dπ(x) denotes the derivative of π at x, is parallel to N π(x) and has dimension d−k.
5.3 Main Result
The main result of this section is the following theorem.
Theorem 5.3
Assume that Hypotheses 3.1 and 3.2 are satisfied as well as the following conditions:
- C1.:
-
\({\rm Del}^{\omega}_{T\mathcal{M}}(\mathcal {P})\) has no k-dimensional inconsistent simplices.
- C2.:
-
All the simplices in \({\rm Del}^{\omega}_{T\mathcal{M}}(\mathcal {P})\) are Θ 0-fat.
Then there exists ε 0 that depends only on k, ω 0, η 0, and Θ 0 such that for all ε≤ε 0, the simplicial complex \({\rm Del}^{\omega}_{T\mathcal{M}}(\mathcal {P})\), also noted \(\hat{\mathcal{M}}\) for convenience, and the map \(\pi|_{\hat{\mathcal{M}}}\) satisfy the following properties:
- P1.:
-
Tangent space approximation: Let τ be a k-simplex in \(\hat{\mathcal{M}}\). For all vertices p of τ, we have \(\sin\angle(T_{p}, {\rm aff}(\tau)) = \sin\angle({\rm aff}(\tau), T_{p}) = O(\varepsilon )\). Note that this property directly follows from Lemma 4.7.
- P2.:
-
PL k-manifold without boundary: \(\hat{\mathcal{M}}\) is a piecewise linear k-manifold without boundary;
- P3.:
-
Homeomorphism: The map \(\pi|_{\hat{\mathcal{M}}}\) provides a homeomorphism between \(\hat{\mathcal{M}}\) and \(\mathcal{M}\);
- P4.:
-
Pointwise approximation: \(\forall x \in \mathcal{M}\), \({\rm dist}(x, \pi|_{\hat{\mathcal{M}}}^{-1}(x)) = O(\varepsilon ^{2}\,{\rm lfs}(x))\);
- P5.:
-
Isotopy: There exists an isotopy \(F : \mathbb{R}^{d} \times[0, 1] \rightarrow \mathbb{R}^{d}\) such that the map F(⋅,0) restricted to \(\hat{\mathcal{M}}\) is the identity map on \(\hat{\mathcal{M}}\) and \(F(\hat{\mathcal{M}}, 1) = \mathcal{M}\).
The constants in the big-O notations depend on k, ω 0, η 0 and Θ 0.
Since Conditions C1 and C2 are satisfied when the conditions of Theorem 4.15 are satisfied, it follows that the simplicial complex \(\hat{\mathcal{M}}\) output by Algorithm 1 satisfies the above Properties P1–P5 provided that the additional condition on ε in the above theorem is satisfied.
The rest of the section will be devoted to the proof of Theorem 5.3.
5.4 Piecewise Linear k-Manifold
The following lemma is a direct consequence of Condition C1.
Lemma 5.4
Under Condition C1 of Theorem 5.3 and for a sufficiently small ε, \({\rm st}(p) = {\rm st}(p, \hat{\mathcal{M}})\) for all \(p \in \mathcal {P}\).
We can now prove that \(\hat{\mathcal{M}}\) is a PL k-manifold without boundary (Property P2).
Lemma 5.5
(PL k-manifold without boundary)
Assume Condition C1 of Theorem 5.3. If ε is sufficiently small, then \(\hat{\mathcal{M}}\) is a PL k-manifold without boundary.
Proof
Since \({\rm Del}^{\xi_{p}}(\mathcal {P}_{p})\) is a triangulation of a k-dimensional polytope, \({\rm Del}^{\xi_{p}}(\mathcal {P}_{p})\) is a PL k-manifold [47, Lem. 8 of Chap. 3] and, since p is an interior vertex of \({\rm Del}^{\xi_{p}}(\mathcal {P}_{p})\), \({\rm lk}(p, {\rm Del}^{\xi_{p}}(\mathcal {P}_{p}))\) is a PL (k−1)-sphere [47, Proof of Lem. 9 of Chap. 3].
From Lemma 5.4, we have \({\rm st}(p) = {\rm st}(p, \hat{\mathcal{M}})\). By Lemma 5.1, \({\rm st}(p, \hat{\mathcal{M}})\) is isomorphic to the star of an interior vertex of a k-dimensional triangulated convex domain. Hence, \({\rm lk}(p, \hat{\mathcal{M}})\) is a PL (k−1)-sphere. This directly implies that \(\hat{\mathcal{M}}\) is a PL k-manifold with no boundaries. □
Property P2 follows since the output \(\hat{\mathcal{M}}\) of the Algorithm 1 has no inconsistency and therefore satisfies Condition C1.
5.5 Homeomorphism
Following lemma establishes Property P3 of Theorem 5.3, and the rest of the section is devoted to its proof.
Lemma 5.6
(Homeomorphism)
Assume Conditions C1 and C2 of Theorem 5.3. For ε sufficiently small, the map π restricted to \(\hat{\mathcal{M}}\) gives a homeomorphism between \(\hat{\mathcal{M}}\) and \(\mathcal{M}\).
In the broad outline, the proof of Lemma 5.6 is similar to the proof of homeomorphism given in [2] but the technical details are quite different in most places. The difficulties that arose in getting results analogous to the ones in [2] were handled using ideas from [46, Chap. II].
In the rest of this paper, we assume that ω 0,η 0,Θ 0 are fixed constants, and that ε is small enough. We use the asymptotic notations O() and Ω() hiding the constants.
Remark 5.7
For the details of the missing proofs of Lemmas 5.8, 5.9, 5.10, and 5.11 refer to [33, Chap. 4].
5.5.1 Basic Lemmas
For a point \(p \in \mathcal {P}\), let
denotes the orthogonal projection of \(\mathbb{R}^{d}\) onto T p , and
denotes the restriction of π to \(T_{p}\setminus{\mathcal{O}}\).
We define in addition
as the map that maps each point \(x \in \mathbb{R}^{d} \setminus\mathcal{O}\) to the point of intersection of T p and N π(x), the normal space of \(\mathcal{M}\) at π(x).
The following lemma is a generalization of Proposition 6.2 in [40] which bounds the variation of the angle between tangent spaces between two points on the manifold \(\mathcal{M}\).
Lemma 5.8
(Tangent variation)
Let \(p, q \in \mathcal{M}\) and \(\|p-q\| = t \,{\rm lfs}(p)\) with t≤1. Then,
Using Lemma 5.8, we can show that the derivative of the restriction \(\widetilde{\pi}_{p}\) of π p to a neighborhood of p is non-singular and that \(\widetilde{\pi}_{p}\) is injective. Using the Inverse function theorem this implies that \(\widetilde{\pi}_{p}\) is a diffeomorphism.
Lemma 5.9
(\(\widetilde{\pi}_{p}\) is a C 1-diffeomorphism)
There exist absolute constants r 1 and r 2 such that \(\widetilde{\pi}_{p}\) restricted to \(\widetilde{T}_{p} \stackrel{\rm def}{=} B(p, r_{1}\,{\rm lfs}(p))\cap T_{p}\) is a diffeomorphism onto \(\widetilde{\pi}_{p}(\widetilde{T}_{p})\) and \(\widetilde{\pi}_{p}(\widetilde{T}_{p}) \supseteq\widetilde{\mathcal{M}}_{p} \stackrel{{\rm def}}{=} B_{\mathcal{M}}(p, r_{2}\,{\rm lfs}(p))\).
Note that \(\widetilde{\mathcal{M}}_{p} \subseteq\widetilde{\pi }_{p}(\widetilde{T}_{p})\) follows from Lemma 2.3(3).
The next lemma follows directly from Lemmas 2.3, 4.7, 5.8 and 5.9.
Lemma 5.10
Under Conditions C1 and C2 of Theorem 5.3, for any \(x \in{\rm st}(p, \hat{\mathcal{M}})\).
We will need the following technical lemma bounding the fatness of a perturbed simplex. A similar inequality can be found in the proof of Lemma 14c in [46, Chap. 4].
Lemma 5.11
Let σ=[p 0,…,p j ] be a j-dimensional simplex of \(\mathbb{R}^{d}\), and let \(\sigma' = [ p_{0}', \dots, p_{j}']\) where \(\|p_{i} - p_{i}'\| \leq\rho\varDelta_{\sigma}\) with ρ<1/2, for 0≤i≤j. Then,
This directly implies that, if \(\rho\leq\frac{\varTheta_{\sigma}^{2j}}{j 2^{j+1}} ( 1 - \frac {1}{2^{j}} )\), then Θ σ′≥Θ σ /2.
We will also need the following standard lemma from convex geometry which bounds the distance between an interior point and a point on the boundary of a simplex. The proof can be found in [46, Lem. 14b of Chap. 4].
Lemma 5.12
Let σ=[p 0,…,p j ] be a j-simplex and let p be a point of σ. Writing \(p = \sum_{i=0}^{j} \mu_{i} p_{i}\) with \(\sum_{i=0}^{j}\mu_{i}=1\) and μ i ≥0, we have
We will use the standard notion of oriented simplices, positively oriented simplices and oriented PL manifolds (see [41, 47] or [46, Appendix II]).
Recall that the restriction of π p to \({\rm st}(p)\) provides a simplicial isomorphism between \({\rm st}(p)\) and \({\rm st}(p, {\rm Del}^{\xi_{p}}(\mathcal {P}_{p}))\) (Lemma 2.2), and that \({\rm st}(p) = {\rm st}(p, \hat{\mathcal{M}})\) (by Lemma 5.4). We orient T p and orient positively the k-dimensional simplices of \({\rm st}(p, {\rm Del}^{\xi_{p}}(\mathcal {P}_{p}) )\). We then orient the k-dimensional simplices of \({\rm st}(p, \hat{\mathcal{M}})\) isomorphically, using the orientation of the corresponding k-dimensional simplices of \({\rm st}(p, {\rm Del}^{\xi_{p}}(\mathcal {P}_{p}))\).
Since \({\rm lk}(p, \hat{\mathcal{M}})\) is a PL (j−1)-sphere (see the proof of Lemma 5.5), we immediately see that \({\rm st}(p, \hat{\mathcal{M}})\) is an oriented PL k-ball.
Definition 5.13
(Simplexwise positive map)
Let σ be a positively oriented i-simplex of \(\mathbb{R}^{i}\), and let \(f: \sigma\rightarrow \mathbb{R}^{i}\) be a C 1-function. The map f is called simplexwise positive if det(J(f))>0 for all x∈σ, where J(f) and det(J(f)) denote the Jacobian and the determinant of the Jacobian of the map f, respectively.
The following result is a special case of a standard result from PL topology (see, e.g., Appendix II of [46, Lemma 15a]).
Lemma 5.14
Let \(\mathcal{K}\) be a j-dimensional PL manifold whose j-simplices are oriented, and let the continuous map \(f: \mathcal{K}\rightarrow \mathbb{R}^{j}\) be a simplexwise positive map. Then, for any connected open subset W of \(\mathbb{R}^{j}\setminus f(\partial\mathcal{K})\), any two points of W not in \(f(\mathcal{K}^{-1})\) are covered the same number of times. If this number is 1, then f, restricted to the open subset W′=f −1(W) of \(\mathcal{K}\), is injective.
5.5.2 Properties of \(\pi^{*}_{p}\)
Let σ=[p,p 1,…,p k ] be a k-simplex of \({\rm st}(p, \hat{\mathcal{M}})\). Now, for all points q∈σ, let π p,t (q)=(1−t)q+tπ p (q), and σ t =π p,t (σ). Since π p is affine on each simplex, π p,t is also affine. Therefore σ t is a simplex with vertices p,p 1t ,…,p kt with p jt =π p,t (p j ), j∈{1,…,k}.
It directly follows from Lemma 5.10 that
Let τ be an i-simplex, and let \(f : \tau\rightarrow \mathcal{M}\) be a C 1-function. The simplex τ is said to be C 1 -embedded by f in \(\mathcal{M}\) if f is an injective mapping and for all x∈τ, the rank of the linear map \(d f(x) : \mathbb{R}^{i} \rightarrow T_{f(x)}\) is i, where T f(x) is the tangent space to \(\mathcal{M}\) at f(x).
Lemma 5.15
(π C 1-embeds σ t )
Assume Condition C1 and C2 of Theorem 5.3. If ε is sufficiently small, then the map π C 1-embeds σ t in \(\mathcal{M}\), for all t∈[0,1].
Proof
By Lemma 4.5 (1) and the definition of σ t , we have \(\sigma_{t} \subset B(p, O(\varepsilon ) \,{\rm lfs}(p))\). Therefore, for a sufficiently small ε, σ t cannot intersect the medial axis of \(\mathcal{M}\), which implies, from Lemma 5.2 (1), that the restriction of the map π to σ t is a C 1-function. The rest of the proof is devoted to showing that the restriction of π to σ t is injective and that dπ is non-singular.
Let \(\rho\stackrel{{\rm def}}{=} \max_{i\in\{1, \dots, k\}} ( \|q_{i} - p_{i}\| ) / \varDelta_{\sigma} \). Since \(\varDelta_{\sigma} \geq\delta\,{\rm lfs}(p)\) and ε/δ≤η 0, \(\rho=O(\varepsilon ^{2}) \,{\rm lfs}(p)/\varDelta_{\sigma}= O(\epsilon)\). It then follows from Lemma 5.11 and the fact that Θ σ ≥Θ 0 that \(\varTheta _{\sigma_{t}}\geq\varTheta_{0}/2\) for ε sufficiently small. Using Γ σ ≤C 3 (Lemma 4.5 (2)), we get for sufficiently small ε
We then deduce from Corollary 2.5 and the bounds on \(\varTheta_{\sigma_{t}}\) and \(L_{\sigma_{t}}\)
and from Lemma 4.7
Let x be a point of σ. We have, from Lemmas 4.5 (1) and 5.10, \(\|p-\pi(x)\| = O(\varepsilon ) \,{\rm lfs}(p)\). Therefore, from Lemma 5.8 and Eq. (24),
Equation (25) implies that π restricted to σ t is injective for ε sufficiently small. Indeed otherwise, there would exist x 1,x 2∈σ t such that π(x 1)=π(x 2), and the line segment in \({\rm aff}(\sigma_{t})\) joining the points x 1 and x 2 would be parallel to \(N_{\pi(x_{1})}\), contradicting Eq. (25).
We deduce also from Eq. (25) and Lemma 5.2 (2) that the derivative dπ is non-singular when π is restricted to σ t . This completes the proof of the lemma. □
Lemma 5.16
(π ∗ C 1-embeds σ t )
For ε sufficiently small, \(\pi^{*}_{p}\) C 1-embeds σ t in T p for all t∈[0,1].
Proof
From the definition of σ t , for all x∈σ t , we have \({\rm dist}(x, \sigma) = O(\varepsilon ^{2})\,{\rm lfs}(p)\). From Lemma 5.10, we have \(\|x - \pi(x)\| = O(\varepsilon ^{2})\,{\rm lfs}(p)\) for all x∈σ. Combining these facts we get \(\|x - \pi(x)\| = O(\varepsilon ^{2})\,{\rm lfs}(p)\) for all x∈σ t . This implies, from Lemma 4.5 (1),
From Lemma 5.8 and the fact that \(\pi(\sigma_{t}) \subset B_{\mathcal{M}}(p, O(\varepsilon )\,{\rm lfs}(p))\), we have
Since for all x∈π(σ t ), sin∠(T x ,T p )<1, we get from Lemma 5.9,
Therefore, we deduce \(\pi^{*}_{p} |_{\sigma_{t}} = \widetilde{\pi}^{-1}_{p} \circ \pi\). Refer to Fig. 8.
Then, by Lemma 5.9, \(\widetilde{\pi }^{-1}_{p}\) is a diffeomorphism from \(\widetilde{\pi}_{p}(\widetilde{T}_{p}) \supseteq\widetilde{\mathcal{M}}_{p}\) to \(\widetilde{T}_{p}\), and, by Lemma 5.15, π C 1-embeds σ t into \(\mathcal{M}\). We conclude that \(\pi^{*}_{p} |_{\sigma_{t}} = \widetilde{\pi}^{-1}_{p} \circ\pi\) C 1-embeds σ t into T p . □
The proof of the following lemma is similar to Lemma 23a in Chap. 4 from [46] and it will be used for proving that \(\pi ^{*}_{p}\) restricted to open star \(\mathring{{\rm st}}(p, \hat{\mathcal{M}})\) is injective in Lemma 5.18. We give a proof for completeness.
The proof of the following lemma is similar to Lemma 23a in Chapter 4 from [46]. We give a proof for completeness.
Lemma 5.17
Assume Conditions C1 and C2 of Theorem 5.3. For ε sufficiently small, \(\pi^{*}_{p}\) is a simplexwise positive mapping of \({\rm st}(p, \hat {\mathcal{M}})\) into T p .
Proof
We use the same notation σ t as in the beginning of this section. We first observe that, since the simplex σ 1 is in T p , \(\pi^{*}_{p}\) is the identity on σ 1. Therefore, \(\det(J(\pi^{*}_{p}))> 0\) on σ 1. Moreover, since from Lemma 5.16, \(\det (J(\pi^{*}_{p})) \neq0\) in σ t for all t∈[0,1], we also have \(\det(J(\pi^{*}_{p})) > 0\) in σ 0. Which proves the lemma. □
We are now ready to prove that \(\pi^{*}_{p}\) restricted to the open star \(\mathring{{\rm st}}(p, \hat{\mathcal{M}})\) is injective.
Lemma 5.18
(Injectivity of \(\pi^{*}_{p}\) restricted to \(\mathring {{\rm st}}(p, \hat{\mathcal{M}})\))
Assume conditions C1 and C2 of Theorem 5.3 and let ε be sufficiently small. For each point \(p \in \mathcal {P}\), the map \(\pi^{*}_{p}\) is injective on the open star \(\mathring{{\rm st}}(p, \hat{\mathcal{M}})\).
Proof
Note that, since \(\hat{\mathcal{M}}\) is a PL manifold without boundary (Lemma 5.5), \({\rm lk}(p, \hat{\mathcal{M}})\) is a PL (k−1)-sphere, \({\rm st}(p, \hat{\mathcal{M}})\) is a PL k-ball, and \(\partial {\rm st}(p, \hat{\mathcal{M}}) = {\rm lk}(p, \hat{\mathcal{M}})\).
For convenience, rewrite \(f=\pi^{*}_{p}\) and \(S={\rm st}(p, \hat{\mathcal{M}})\) and orient S as indicated in Sect. 5.5.1. S is thus an oriented PL k-ball, and, by Lemma 5.17, \(f=\pi^{*}_{p}\) is a simplexwise positive mapping from S to T p . Let f(S k−1) be the image by f of the (k−1)-skeleton of S (i.e. the set of faces of S of dimension at most k−1) and let W be any connected open subset of T p ∖f(∂S). From Lemma 5.14, any two points of W∖f(S k−1) are covered the same number of times. If this number is 1, then f, restricted to the open subset f −1(W) of \({\rm st}(p)\), is injective onto W.
To prove the lemma, it is therefore sufficient to prove that there exists a point g in S∖S k−1 whose image f(g) is not covered by any other point x of S∖S k−1, i.e. f(g)≠f(x) for all x≠g and x∈S∖S k−1. Let σ be a k-simplex [q 0,…,q k ] of S and let
Using Lemma 5.12 and the facts that Θ σ ≥Θ 0 (since the simplices of \(\hat{\mathcal{M}}\) are Θ 0-fat), \(\varDelta_{\sigma} \geq\delta \,{\rm lfs}(p)\), and ε/δ≤η 0 (Hypothesis 3.1), we have
From the above equation and using the fact that \(\|\pi_{p}(x)-x\| = O(\varepsilon ^{2}) \,{\rm lfs}(p)\) for all x∈σ (Lemma 5.10), we have for ε sufficiently small
Since π p embeds S into T p (from Lemma 2.2) with \(\pi_{p}(S) = {\rm st}(p, {\rm Del}^{\xi_{p}}(\mathcal {P}_{p}))\) and since \({\rm Del}^{\xi_{p}}(\mathcal {P}_{p})\) is a triangulation of a k-dimensional convex hull (see the discussion of the general position assumption at the beginning of Sect. 5), Eq. (27) implies that, for all \(x \in S \setminus{\rm int}\, \sigma\)
From Eq. (28), we have for all \(x \in S \setminus{\rm int}\, \sigma\)
which is positive for a sufficiently small ε.
Lemma 5.16 together with Eq. (29) shows that \(\pi^{*}_{p}(x) \neq\pi^{*}_{p}(g)\) for all x∈S∖{g}. Hence, g is not covered by any other point of S, and the lemma follows. □
5.5.3 Properties of π
Lemma 5.19
(Injectivity of the restriction of π to \(\mathring {{\rm st}}(p, \hat{\mathcal{M}})\))
Assume Conditions C1 and C2 of Theorem 5.3. Let ε be sufficiently small. For all p in \(\mathcal {P}\), the map π restricted to \(\mathring{{\rm st}}(p, \hat{\mathcal{M}})\) is injective.
Proof
To reach a contradiction, assume that there exist x 1,x 2(x 1≠x 2) in \({\rm st}(p) \setminus\partial {\rm st}(p)\) such that π(x 1)=π(x 2). Then \(\pi^{*}_{p}(x_{1}) = \pi^{*}_{p}(x_{2}) = N_{\pi(x_{1})}\cap T_{p}\). Which contradicts the fact that \(\pi^{*}_{p}\) is injective when restricted to \(\mathring{{\rm st}}(p, \hat{\mathcal{M}})\) (Lemma 5.18). □
Lemma 5.20
(Surjectivity of \(\pi|_{\hat{\mathcal{M}}}\))
Assume Conditions C1 and C2 of Theorem 5.3. If ε is sufficiently small, then \(\pi|_{\hat{\mathcal{M}}}\) is surjective on \(\mathcal{M}\).
Proof
Since \(\hat{\mathcal{M}}\) and \(\mathcal{M}\) are topological k-manifolds without boundaries, and \(\mathring{{\rm st}}(p, \hat{\mathcal{M}})\), which an open set in \(\hat{\mathcal{M}}\) with \(\hat{\mathcal{M}} = \bigcup_{p \in \mathcal {P}} \mathring{{\rm st}}(p, \hat{\mathcal{M}})\), is mapped injectively by π into \(\mathcal{M}\), we get from the Generalized Invariance of Domain Theorem, π is an open map and \(\pi(\hat{\mathcal{M}})\) is an open set in \(\mathcal{M}\). Also, note that since \(\hat{\mathcal{M}}\) is compact and π is a continuous function, \(\pi(\mathcal{M})\) is a compact subset of \(\mathcal{M}\) [10, Thm. 7.6 of Chap. 1]. As \(\mathcal{M}\) is a Hausdorff space, this implies that \(\pi(\hat{\mathcal{M}})\) is a closed set of \(\mathcal{M}\) [10, Thm. 7.5 of Chap. 1].
Now consider a connected component \(\mathcal{M}_{\alpha}\) of \(\mathcal{M}\) with \({\mathcal{V}}_{\alpha} = \pi(\hat{\mathcal{M}}) \cap \mathcal{M}_{\alpha} \neq \emptyset\). From the discussion in the previous paragraph we have \({\mathcal{V}}_{\alpha}\) is both open and closed in \(\mathcal{M}_{\alpha}\). Since \(\mathcal{M}_{\alpha}\) is connected, this implies \({\mathcal{V}}_{\alpha} = \mathcal{M}_{\alpha}\) [10, Def. 4.1 of Chap. 1]. To complete the proof of surjectivity, we only need to show that \(\mathcal {P}\) has non-empty intersection with each connected components of \(\mathcal{M}\), since π(p)=p for all \(\mathcal {P}\). By using the proof technique of Giesen and Wagner [35, Lem. 3], we can show that if \(\mathcal {P}\) is an (ε,δ)-sample of \(\mathcal{M}\) with ε<1, then \(\mathcal {P}\) intersects all the connected components of \(\mathcal{M}\). See, [33, Chap. 4] for details. This completes the proof. □
As discussed earlier, π is an open map \(\pi|_{\mathring{{\rm st}}(p, \hat{\mathcal{M}})}\) is injective (Lemma 5.19) and \(\mathring{{\rm st}}(p, \hat{\mathcal{M}})\) is an open set in \(\hat{\mathcal{M}}\). The restriction of π to \(\mathring{{\rm st}}(p, \hat{\mathcal{M}})\) is thus a homeomorphism onto its image. In addition, we know from Lemma 5.20 that \(\pi (\hat{\mathcal{M}}) = \mathcal{M}\). Therefore, for all \(x \in \mathcal{M}\), there exist open neighborhoods U x of x in \(\mathcal{M}\) such that π −1(U x ) is a disjoint union of open sets, each of which is contained in an open star of a vertex in \(\hat{\mathcal{M}}\) and mapped homeomorphically onto U x by π. In other words, \((\hat{\mathcal{M}}, \pi)\) is a covering space of \(\mathcal{M}\).
A standard result in topology [38, Lem. 3.4 of Chap. 5] asserts that π covers all the points of a connected component of its image \(\mathcal{M}\) the same number of times. Let us show that this number is exactly one. It cannot be zero by definition. Neither can it be more than one since, otherwise, some sample point p would be covered more than once, which would contradict Lemma A.1 from the Appendix. We have therefore proved that the restriction of π to \(\hat{\mathcal{M}}\) is injective.
Lemma 5.21
(Injectivity of \(\pi|_{\hat{\mathcal{M}}}\))
Under the same conditions as in Lemma 5.21, π restricted to \(\hat{\mathcal{M}}\) is injective.
Since \(\hat{\mathcal{M}}\) is compact and \(\mathcal{M}\) is a Hausdorff space, Lemmas 5.20 and 5.21, and a standard result from topology [10, Thm. 7.8 of Chap. 1] implies that \(\pi: \hat{\mathcal{M}} \rightarrow \mathcal{M}\) is a homeomorphism.
This completes the proof of Lemma 5.6.
5.6 Pointwise Approximation
Following lemma is a direct consequence is Lemmas 5.10 and 5.6, and the fact that \({\rm lfs}\) is 1-Lipschitz function. For the details of the proof, refer to [33, Chap. 4].
Lemma 5.22
(Pointwise approximation)
Under Conditions C1 and C2 of Theorem 5.3, and ε sufficiently, we have \({\rm dist}(x, \pi|_{\hat{\mathcal{M}}}^{-1}(x)) = O(\varepsilon ^{2})\,{\rm lfs}(x)\).
5.7 Isotopy
We need the following lemma to show the isotopy Property P5 of Theorem 5.3. The proof of the lemma follows directly from [35, Lem. 5] and one can check the details in [33, Chap. 4].
Lemma 5.23
Assume Conditions C1 and C2 of Theorem 5.3. If ε is sufficiently small, for all points x, y (≠p) in \(\hat{\mathcal{M}}\),
Consider the following map:
We will denote by F t =F(⋅,t) and \(M_{t} = F_{t}(\hat{\mathcal{M}})\) for all t∈[0,1]. It is easy to see that F(x,t) (and F t ) is continuous, \(M_{0} = \hat{\mathcal{M}}\), and since π restricted to \(\hat{\mathcal{M}}\) gives a homeomorphism between \(\hat{\mathcal{M}}\) and \(\mathcal{M}\), \(M_{1} = \mathcal{M}\).
Using the facts that \(\hat{\mathcal{M}}\) is compact, M t is a Hausdorff space (as M t is a subspace with the subspace topology of \(\mathbb{R}^{d}\)), and F t is continuous, we get [10, Thm. 7.8 of Chap. 1], the following result:
Lemma 5.24
Assume Conditions C1 and C2 of Theorem 5.3. If ε is sufficiently small, then for all t∈[0,1], \(F_{t} : \hat{\mathcal{M}} \rightarrow M_{t}\) is a homeomorphism.
This implies:
Lemma 5.25
(Isotopy)
Assume Conditions C1 and C2 of Theorem 5.3. If ε is sufficiently small then
is an isotopy.
6 Conclusion
We have given the first algorithm that is able to reconstruct a smooth closed manifold in a time that depends only linearly on the dimension of the ambient space. We believe that our algorithm is of practical interest when the dimension of the manifold is small, even if it is embedded in a space of high dimension. This situation is quite common in practical applications in machine learning. Unlike most surface reconstruction algorithms in \(\mathbb{R}^{3}\), our algorithm does not need to orient normals (a critical issue in practical applications) and, in fact, works for non-orientable manifolds.
The algorithm is simple. The basic ingredients we need are data structures for constructing weighted Delaunay triangulations in \(\mathbb{R}^{k}\). We have assumed that the dimension of \(\mathcal{M}\) is known. If not, we can use algorithms given in [23, 35] to estimate the dimension of \(\mathcal{M}\) and the tangent space at each sample point. Moreover, our algorithm is easy to parallelize. One interesting feature of our approach is that it is robust and still works if we only have approximate tangent spaces at the sample points. We will report on experimental results in a forthcoming paper.
We have assumed that we know an upper bound on the sampling ratio η 0 of the input sample \(\mathcal {P}\). Ideas from [7, 30] may be useful to convert a sample to a subsample with a bounded sampling ratio.
We foresee other applications of the tangential complex and of our construction each time computations in the tangent space of a manifold are required, e.g. for dimensionality reduction and approximating the Laplace Beltrami operator [11]. It easily follows from [9] that our reconstruction algorithm can also be used in Bregman spaces where the Euclidean distance is replaced by any Bregman divergence, e.g. Kullback–Leibler divergence. This is of particular interest when considering statistical manifolds like, for example, spaces of images [18].
7 Main Notations
- B(c,r):
-
is \(\{ x \in \mathbb{R}^{d} | \|c-x\| < r \}\)
- \(\bar{B}(c, r)\) :
-
is \(\{ x \in \mathbb{R}^{d} | \|c-x\| \leq r \}\)
- dim(U):
-
dimension of the affine space U
- \({\rm dist}(p,X)\) :
-
is min x∈X ∥p−x∥
- ∂X :
-
topological boundary of X
- \({\rm int}\, X\) :
-
topological interior of X
- df(x):
-
derivative of the function f at x
- \(f\mid_{X_{1}}\) :
-
map f restricted to the subset X 1
- [xy]:
-
line segment connecting points x and y
- ∥x−y∥:
-
standard Euclidean distance between the points x and y
- ∠(u,v):
-
angle between the vectors u and v
- ∠(U,V):
-
angle between the affine spaces U and V
- \(B_{\mathcal{M}}(p,r)\) :
-
is \(B(p, r) \cap \mathcal{M}\)
- \(\bar{B}_{\mathcal{M}}(p,r)\) :
-
is \(\bar{B}(p, r) \cap \mathcal{M}\)
- d :
-
dimension of the ambient space
- k :
-
intrinsic dimension of \(\mathcal{M}\)
- \(\mathcal{M}\) :
-
manifold
- \({\mathcal{O}}\) :
-
medial axis of \(\mathcal{M}\)
- \(\mathcal {P}\) :
-
sample
- \(|\mathcal {P}|\) :
-
cardinality of the sample \(\mathcal {P}\) (Theorem 4.16)
- T x :
-
tangent space at x
- N x :
-
normal space at x
- p ω :
-
weighted point (p,ω(p))
- ω :
-
weight assignment
- \(\tilde{\omega}\) :
-
relative amplitude
- ω 0 :
-
bound on the relative amplitude
- ε :
-
sampling rate
- ε/δ :
-
sampling ratio
- η 0 :
-
bound on the sampling ratio
- δ :
-
sparsity
- \({\rm lfs}(p)\) :
-
local feature size at p
- \({\rm n\! n}(p)\) :
-
distance of p to its nearest neighbor
- N :
-
is \((4C_{2}'\eta_{0}+6)^{k}\) (Sect. 4.4)
- LN(p):
-
local neighborhood of p (Sect. 3)
- c τ :
-
circumcenter
- D τ (p):
-
altitude (Sect. 4.1)
- \({\rm aff}(\tau)\) :
-
affine hull of τ
- m u (τ) or m u :
-
see Sect. 2.4
- i ϕ :
-
see Sect. 2.4
- N τ :
-
affine space orthogonal to \({\rm aff}(\tau)\)
- Δ τ :
-
longest edge length (diameter)
- H τ (p,ω(p)):
-
eccentricity (Sect. 4.1)
- L τ :
-
shortest-edge length
- o τ :
-
orthocenter
- Φ τ :
-
orthoradius
- R τ :
-
circumradius
- \(\varGamma_{\tau} = \frac{\varDelta_{\tau}}{L_{\tau}}\) :
-
longest edge to shortest-edge ratio
- τ p =τ∖{p}:
-
face of τ opposite to p (Sect. 4.1)
- Θ τ :
-
fatness
- Θ 0 :
-
fatness bound
- V τ :
-
volume
- \({\mathcal{K}}\) :
-
simplicial complex (Sect. 2)
- \({\rm st}(\sigma, {\mathcal{K}})\) :
-
\(\{ \tau\in{\mathcal{K}} : \mbox{for some}~\tau_{1} \in \mathcal {K}, \sigma, \tau\subseteq \tau_{1} \}\) (Sect. 2)
- \({\rm lk}(\sigma, {\mathcal{K}})\) :
-
\(\{ \tau\in{\rm st}(\sigma , \mathcal {K}) : \tau\cap\sigma= \emptyset\}\) (Sect. 2)
- \(\mathring{{\rm st}}(\sigma, {\mathcal{K}})\) :
-
\({\rm st}(\sigma , {\mathcal{K}})\setminus {\rm lk}(\sigma, {\mathcal{K}})\) (Sect. 2)
- \({\rm st}(p)\) :
-
\({\rm st}(p, {{\rm Del}^{\omega}(\mathcal {P}_{p})})\)
- \(C^{\omega}(\mathcal {P})\) :
-
Complete complex
- \({\rm Del}^{\omega}(\mathcal {P})\) :
-
Weighted Delaunay triangulation (Sect. 2.1.2)
- \({\rm Del}^{\omega}_{p} (\mathcal {P})\) :
-
restriction of \({\rm Del}^{\omega}(\mathcal {P})\) to T p
- \({\rm Del}^{\omega}_{T\mathcal{M}}(\mathcal {P})\) :
-
Tangential Delaunay complex
- \({\rm Inc}^{\omega}(\mathcal {P})\) :
-
contains Θ 0-inconsistent configurations of \({\rm Del}^{\omega}_{T\mathcal{M}}(\mathcal {P})\)
- π :
-
projection onto \(\mathcal{M}\) (Sect. 5)
- \(\pi|_{\hat{\mathcal{M}}}\) :
-
restriction of π to \(\hat{M}\)
- π p :
-
restriction of π to T p
- \(\widetilde{\pi}{p}\) :
-
restriction of π to \(T_{p}\setminus {\mathcal{O}}\)
- \(\pi^{*}_{p}\) :
-
mapping onto T p
References
Amenta, N., Bern, M.: Surface reconstruction by Voronoi filtering. Discrete Comput. Geom. 22, 481–504 (1999)
Amenta, N., Choi, S., Dey, T.K., Leekha, N.: A simple algorithm for homeomorphic surface reconstruction. Int. J. Comput. Geom. Appl. 12, 125–141 (2002)
Aurenhammer, F., Edelsbrunner, H.: An optimal algorithm for constructing the weighted Voronoi diagram in the plane. Pattern Recognit. 17(2), 251–257 (1984)
Aurenhammer, F.: Power diagrams: properties, algorithms and applications. SIAM J. Comput. 16(1), 78–96 (1987)
Boissonnat, J.-D., Dyer, R., Ghosh, A.: The stability of Delaunay triangulations. Int. J. Comput. Geom. Appl. (special issue for SoCG 2012) (to appear)
Boissonnat, J.-D., Flötotto, J.: A coordinate system associated with points scattered on a surface. Comput. Aided Des. 36, 161–174 (2004)
Boissonnat, J.-D., Guibas, L.J., Oudot, S.Y.: Manifold reconstruction in arbitary dimensions using witness complexes. Discrete Comput. Geom. 42(1), 37–70 (2009)
Belkin, M., Niyogi, P.: Laplacian eigenmaps and spectral techniques for embedding and clustering. In: Advances in Neural Information Processing Systems, vol. 14, pp. 585–591 (2002)
Boissonnat, J.-D., Nielsen, F., Nock, R.: Bregman Voronoi Diagrams. Discrete Comput. Geom. 44(2), 281–307 (2010)
Bredon, G.E.: Topology and Geometry. Graduate Text in Mathematics. Springer, Berlin (1994)
Belkin, M., Sun, J., Wang, Y.: Discrete Laplace operator on meshed surfaces. In: Proc. ACM Symp. on Computational Geometry, pp. 278–287 (2008)
Boissonnat, J.-D., Wormser, C., Yvinec, M.: Locally uniform anisotropic meshing. In: Proc. ACM Symp. on Computational Geometry, pp. 270–277 (2008)
Boissonnat, J.-D., Yvinec, M.: Algorithmic Geometry. Cambridge University Press, Cambridge (1998)
Cheng, S.-W., Dey, T.K., Edelsbrunner, H., Facello, M.A., Teng, S.-H.: Sliver Exudation. J. ACM 47, 883–904 (2000)
Cheng, S.-W., Dey, T.K., Ramos, E.A.: Manifold Reconstruction from Point Samples. In: Proc. ACM-SIAM Symp. Discrete Algorithms, pp. 1018–1027 (2005)
Cazals, F., Giesen, J.: Delaunay triangulation based surface reconstruction. In: Boissonnat, J.D., Teillaud, M. (eds.) Effective Computational Geometry for Curve and Surfaces. Springer, Berlin (2006)
Chazelle, B.: An optimal convex hull algorithm in any fixed dimension. Discrete Comput. Geom. 10, 377–409 (1993)
Carlsson, G., Ishkhanov, T., de Silva, V., Zomorodian, A.: On the local behavior of spaces of natural images. Int. J. Comput. Vis. 76(1), 1–12 (2008)
Chazal, F., Lieutier, A.: Smooth manifold reconstruction from noisy and non-uniform approximation with guarantees. Comput. Geom. 40, 156–170 (2008)
Chazal, F., Oudot, S.Y.: Towards persistence-based reconstruction in Euclidean spaces. In: Proc. ACM Symp. on Computational Geometry, pp. 232–241 (2008)
Clarkson, K.L., Shor, P.W.: Applications of random sampling in computational geometry. II. Discrete Comput. Geom. 4, 387–421 (1989)
Cohen-Steiner, D., Da, T.K.F.: A greedy Delaunay based surface reconstruction algorithm. Vis. Comput. 20, 4–16 (2004)
Cheng, S.-W., Wang, Y., Wu, Z.: Provable dimension detection using principle component analysis. Int. J. Comput. Geom. Appl. 18(5), 415–440 (2008)
Delaunay, B.: Sur la sphère vide. Izv. Akad. Nauk SSSR, Otdelenie Matematicheskii i Estestvennyka Nauk 7, 793–800 (1934)
Dey, T.K.: Curve and Surface Reconstruction: Algorithms with Mathematical Analysis. Cambridge University Press, Cambridge (2006)
Donohu, D.L., Grimes, C.: Hessian eigenmaps: new locally linear embedding techniques for high dimensional data. Proc. Acad. Nat. Sci. 100, 5591–5596 (2003)
Federer, H.: Curvature measures. Trans. Am. Math. Soc. 93(3), 418–491 (1959)
Federer, H.: Geometric Measure Theory. Springer, New York (1969)
Flötotto, J.: A coordinate system associated to a point cloud issued from a manifold: definition, properties and applications. Ph.D. thesis, Université of Nice Sophia-Antipolis (2003)
Funke, S., Ramos, E.: Smooth-surface reconstruction in near-linear time. In: Proc. ACM-SIAM Symp. Discrete Algorithms, pp. 781–790 (2002)
Freedman, D.: Efficient simplicial reconstructions of manifolds from their samples. IEEE Trans. Pattern Anal. Mach. Intell. 24(10) (2002)
Fu, J.H.G.: Convergence of curvature in secant approximations. J. Differ. Geom. 37, 117–190 (1993)
Ghosh, A.: Piecewise linear reconstruction and meshing of submanifolds of Euclidean space. Ph.D. thesis, INRIA Sophia Antipolis & Université of Nice Sophia-Antipolis (2012)
Gopi, M., Khrisnan, S., Silva, C.T.: Surface reconstruction based on lower dimensional localized Delaunay triangulation. In: Proc. Eurographics, pp. 363–371 (2000)
Giesen, J., Wagner, U.: Shape dimension and intrinsic metric from samples of manifolds. Discrete Comput. Geom. 32(2), 245–267 (2004)
Li, X.-Y.: Generating well-shaped d-dimensional Delaunay meshes. Theor. Comput. Sci. 296(1), 145–165 (2003)
Lafon, S., Lee, A.B.: Diffusion maps and coarse-graining: a unified framework for dimensionality reduction, graph partitioning, and data set parameterization. IEEE Trans. Pattern Anal. Mach. Intell. 28, 1393–1403 (2006)
Massey, W.S.: Algebraic Topology: An Introduction. Graduate Texts in Mathematics, vol. 56. Springer, Berlin (1967)
Nadler, B., Lafon, S., Coifman, R.R., Kevrekidis, I.G.: Diffusion maps, spectral clustering and eigenfunctions of Fokker-Planck operators. In: Advances in Neural Information Processing Systems, vol. 18 (2005)
Niyogi, P., Smale, S., Weinberger, S.: Finding the homology of submanifolds with high confidence from random samples. Discrete Comput. Geom. 39(1), 419–441 (2008)
Rourke, C.P., Sanderson, B.J.: Introduction to Piecewise-Linear Topology. Springer, Berlin (1972)
Roweis, S.T., Saul, L.K.: Nonlinear dimensionality reduction by locally linear embedding. Science 290, 2323–2326 (2000)
Shewchuk, J.: Star splaying: an algorithm for repairing Delaunay triangulations and convex hulls. In: Proc. ACM Symp. on Computational Geometry, pp. 237–246 (2005)
Seung, H.S., Lee, D.D.: The manifold ways of perception. Science 290, 2268–2269 (2000)
Tenenbaum, J.B., de Silva, V., Langford, J.C.: A global geometric framework for nonlinear dimensionality reduction. Science 290, 2319–2323 (2000)
Whitney, H.: Geometric Integration Theory. Princeton University Press, Princeton (1957)
Zeeman, E.C.: In: Seminar on Combinatorial Topology. Institut des Hautes Études Scientifiques (Paris) and University of Warwick (Coventry), Notes, pp. 1963–1966
Zhang, Z., Zha, H.: Principal manifolds and nonlinear dimension reduction via local tangent space alignment. SIAM J. Sci. Comput. 26(1), 313–338 (2004)
Acknowledgements
The authors thank Mariette Yvinec and Ramsay Dyer for their careful reading of earlier drafts and insightful comments. The authors also gratefully acknowledge the work of the reviewers and thank them for their detailed comments that helped to improve the manuscript.
This research has been partially supported by the Agence Nationale de la Recherche (project GAIA 07-BLAN-0328-04) and by the Future and Emerging Technologies (FET) programme within the Seventh Framework Programme for Research of the European Commission, under FET-Open grant number: 255827 (Project CG-Learning).
Author information
Authors and Affiliations
Corresponding author
Additional information
This work was done when Arijit Ghosh was a Ph.D. student at Geometrica, INRIA Sophia Antipolis.
Appendix to Sect. 5.5
Appendix to Sect. 5.5
This section is devoted to the proof of the following lemma.
Lemma A.1
Let ε be sufficiently small. For all p in \(\mathcal {P}\) and restricting the map π to \(\hat{\mathcal{M}}\), we have π −1(p)={p}.
Proof
To reach a contradiction, we assume that there exists a k-simplex τ=[q 0,…,q k ] in \(\hat{\mathcal{M}}\) such that there exists x∈τ with x≠p and π(x)=p.
We will have to consider the following two cases.
Case 1. p is a vertex of τ. This implies that the unit vector \(u \in {\rm aff}(\tau)\) along the line joining the points p and x lies in N p . But from Lemma 4.7 and ε sufficiently small, we have \(\sin\angle({\rm aff}(\tau), T_{p}) \leq A \varepsilon < 1\).
Case 2. p is not a vertex of τ. The outline of the proof for case 2 is the following: we will divide the k-simplex τ into a union of k+2 convex cells and show that for each convex cell the distance of any point of the cell to p is \(\varOmega(\varepsilon \,{\rm lfs}(q))\), where q is a vertex of τ. For ε sufficiently small, we will reach a contradiction from Lemma 5.10.
Since \(\hat{\mathcal{M}}\) has no inconsistent configuration, τ is in \({\rm st}(q_{0})\), i.e., \({\rm Vor}^{\omega}(\tau)\cap T_{q_{0}} \neq\emptyset\). Again, using Lemma 4.7 and ε sufficiently small, we have \(\sin\angle({\rm aff}(\tau), T_{q_{0}}) \leq A\varepsilon < 1\). This implies that the intersection of \(T_{q_{0}}\) and \({\rm Vor}^{\omega}(\tau)\) is a single point.
Let \(c = {\rm Vor}^{\omega}(\tau)\cap T_{q_{0}}\). From Lemma 4.4, we have
Using the facts that for all vertices q i ,q j of τ, \(\|q_{i}-q_{j}\| \leq C_{2}\varepsilon \,{\rm lfs}(q_{i})\) (from Lemma 4.5 (1)), \({\rm lfs}\) is 1-Lipschitz and ε sufficiently small, we have
Therefore using Eqs. (30) and (31), we have for all vertices q i of τ
Consider the edge q i q j of τ and let c ij be the projection of c onto the line segment [q i q j ]. Observe that the ball of radius \(r_{ij} = \sqrt{\|c_{ij}-q_{i}\|^{2} - \omega(q_{i})^{2}} \leq R\) centered at c ij is orthogonal to the balls B(q i ,ω(q i )) and B(q j ,ω(q j )). Using the fact that \(\mathcal {P}\) is a (ε,δ)-sample of \(\mathcal{M}\) and Lemma 4.1 (2), we have
where \(b = \frac{\sqrt{1-4\omega^{2}_{0}}}{2}\).
Let \(\lambda(q_{i}) = \max\{\omega(q_{i}), b\delta \,{\rm lfs}(q_{i}) / 4\}\) for q i ∈{q 0,…,q k }. Observe that \(\lambda (q_{i}) < {\rm n\! n}(q_{i}) / 2\). For ε≤1/2 and Lemma 2.3 (1),
Let x ij =[c ij q i ]∩∂B(c ij ,r ij ) and y ij =[c ij q i ]∩∂B(q i ,λ(q i )). Note that x ij =∂B(c,R)∩[c ij q i ], see Fig. 9. Therefore
Using the fact that r ij ≥∥x ij −y ij ∥, we have
where C 6 is a constant that depends on ω 0 and η 0.
Let z ij denote the point closest to y ij on ∂B(c,R).
From the Intersecting Chords Theorem (see Fig. 10) for circles, we have
By the definition of z ij , the solution to the above quadratic equation in ∥z ij −y ij ∥ is the smaller root:
The last inequality follows from the facts that \(R \leq2C_{1}\varepsilon \,{\rm lfs}(q_{i})\) (from Eq. (32)) and ε/δ≤η 0.
Using the fact that ε is sufficiently small and Eq. (31), we have for all vertices q of τ
Let \({\rm conv}(S)\) denote the convex hull of the points y ij :
Using convexity, we have
for all vertices q∈{q 0,…,q k }.
Recall that we have assumed in the beginning of the proof that x∈τ and π(x)=p. Eq. (35) implies that \(x \not\in {\rm conv}(S)\). Indeed, if \(x \in {\rm conv}(S)\), then from Eq. (35) and the fact that the ball B(c,R) is empty, we will have
for all vertices q of τ. But from Lemma 5.10, for all vertices q of τ, there exists a constant C such that
We have reached a contradiction for ε sufficiently small. Hence \(x \not\in {\rm conv}(S)\).
Let S i ={y ij |j∈{0,…,k}∖{i}}∪{q i }. The convex hulls of S i , \({\rm conv}(S_{i})\), satisfies the following properties:
If \(x \in {\rm conv}(S_{i})\), then from Lemma 5.10, we have for ε sufficiently small
The last inequality holds for \(\varepsilon < \frac{1}{2C\eta_{0}}\). We have reached a contradiction.
Since \(x \not\in {\rm conv}(S_{i})\) and \(x \not\in {\rm conv}(S)\), it follows that \(x \not\in\tau\). We have therefore reached a contradiction, i.e. there does not exit x∈τ such that π(x)=p. □
Rights and permissions
About this article
Cite this article
Boissonnat, JD., Ghosh, A. Manifold Reconstruction Using Tangential Delaunay Complexes. Discrete Comput Geom 51, 221–267 (2014). https://doi.org/10.1007/s00454-013-9557-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00454-013-9557-2