Keywords: Anisotropie, Génération de maillages, Triangulation de Delaunay, Diagramme de Voronoi, Géometrie Riemannienne. v Anisotropy, Mesh generation, Delaunay triangulation, Voronoi diagram, Riemannian Geometry. vi

Nous étudions dans cette thèse la génération de maillages anisotropes basée sur la triangulation de Delaunay et le diagramme de Voronoi.

Nous considérons tout d'abord les maillages anisotropes localement uniformes, développés par Boissonnat, Wormser et Yvinec. Bien que l'aspect théorique de cette approche soit connu, son utilité pratique n'a été que peu explorée. Une étude empirique exhaustive est présentée et révèle les avantages, mais aussi les inconvénients majeurs de cette méthode.

Dans un second temps, nous étudions les diagrammes de Voronoi anisotropes définis par Labelle et Shewchuk. Nous donnons des conditions suffisantes sur un ensemble de points pour que le dual du diagramme soit une triangulation plongée en toute dimension; un algorithme générant de tels ensembles est conçu. Ce diagramme est utilisé pour concevoir un algorithme qui génère efficacement un maillage anisotrope pour des domaines de dimension intrinsèque faible plongés dans des espaces de dimension large. Notre algorithme est prouvable, mais les résultats sont décevants.

Enfin, nous présentons le diagramme de Voronoi Riemannien discret, qui utilise des avancées récentes dans l'estimation de distances géodésiques et dont le calcul est grandement accéléré par l'utilisation d'un graphe anisotrope. Nous donnons des conditions suffisantes pour que notre structure soit combinatoirement équivalente au diagramme de Voronoi Riemannien et que son dual utilisant des simplexes droits mais aussi courbes est une triangulation plongée en toute dimension. Nous obtenons de bien meilleurs résultats que pour nos autres techniques, mais dont l'utilité reste limitée.

First and foremost, I would like to express my gratitude to my supervisor, Jean-Daniel Boissonnat for his insightful advices, his patience and his immutable optimistic outlook, which all greatly helped during this thesis. I would also like to thank Andreas Fabri for trusting me with this work and for his constant support.

I am very thankful to Mathijs Wintraecken for the many and fruitful discussions and for his dedication and thoroughness as a co-author. I also thank Jane Tournois and Mariette Yvinec for their availability and rigor.

I am grateful to Mathieu Desbrun, Jean-Marie Mirebeau and Jonathan Shewchuk for accepting to review this thesis and for their comments. Thanks to Mathijs, Jane, and Rémy for proofreading this manuscript.

I would like to thank Pierre Alliez and Mathieu Desbrun for the multiple discussions on anisotropy and for sharing their on-going works on the subject, Laurent Rineau for always being available and effective on programming-related issues, Laurent Busé for his help with bivariate polynomials, and Clément Jamin and Marc Glisse for technical discussions on the tangential complex.

I would also like to thank Frédéric Hecht for pointing out INRIA's Geometrica team as a possible direction after my master.

I have shared various offices across these years, all enjoyable. I would like to thank Rémy, Aymeric, Alba, Siargey, Sonali, and Manish for the times in and outside of the office.

My parents have always pushed me and have kept an ever-enduring faith in me throughout the years and for this I am infinitely grateful. This thesis is dedicated to them as well as to my brother, Tifenn.

Finally, I deeply thank Elena for her presence every day and for keeping me alive during the redaction of this manuscript.

General Introduction

To visualize, simulate and understand phenomena and systems of our world, models are developed. As an exact description is often unknown or undesirable -because too complicated -these models generally seek to offer a simplified yet faithful representation of these phenomena and systems. Scientific models are for example used to represent the currents in the atmosphere and the oceans in climatology, predict the trajectories of astronomical objects, or understand earthquakes and determine the composition of planets in seismology. However, modeling is not limited to the study of natural phenomena: geometric modeling, which describes shapes, finds uses in the motion planning of robots, the design of buildings in architecture and machines in mechanical engineering, and in many more domains such as animation, topography, cartography... A scientific model, while already being an approximation of a real world phenomenon, is often still too complex to be solved analytically. Numerical analysis, one of the oldest fields of mathematics, seeks to provide approximate yet accurate solutions to mathematical problems, ranging from the evaluation of square roots to the resolution of difficult partial differential equations. The use of computers to perform numerical analysis computations spawned the field of numerical simulation, whose capabilities and fields of application are ever expanding, thanks to the constant increase in the computational power of computers. However, the objects and domains of our continuous world -whether they are used for scientific or geometric modeling -cannot usually be exactly represented in the inherently finite systems of computers. Numerical simulation of systems and visualization of objects must thus first go through a discretization of the domains of interest. This is generally achieved by retaining only pointwise information from the real input, and linking these points together to form a network that approximates the domain -a mesh. Numerical techniques and algorithms, such as spectral method, combine a scientific model and a mesh to approximately simulate a system and have imposed themselves as powerful and necessary tools in many different industries. Despite a large number of theoretical and practical studies, the automatic generation of a mesh is still a challenging problem. Indeed, the large amount of applications creates a wide range of different types of domains that must be meshed, from intricate mechanical pieces to vast layers of crust, making it difficult to provide a single satisfactory algorithm. Additionally, the desired mesh of a given domain generally differs depending on the purpose of the mesh: in the context of simulation, the elements forming a mesh must for example allow the adaptation of the model to this discretization. Finally, the geometrical faithfulness of the mesh to the input and the shape of its elements are of tremendous importance to obtain a faithful simulation or representation. These requirements on shape of the elements of the mesh are diverse (angles, edge lengths, ...) and can be very specific to a model. For instance, to ensure the numerical stability of a simulation using the Finite Element method in a threedimensional setting, it is necessary that the tetrahedra have bounded aspect ratio. The combination of these independent constraints have made mesh generation the typical bottleneck in modeling, pushing many industries to still spend weeks -and even months -generating meshes that fits their need manually.

Figure 2: Multi-domain isotropic mesh of a human, [START_REF] Rineau | Meshing Volumes Bounded by Piecewise Smooth Surfaces[END_REF].

Simplicial meshes

Meshes are generally made up of simple geometric elements for practical reasons: a mesh built using simple polygons (or polyhedra) is simpler to generate, implement, or modify; in the context of simulation, continuous models also are more easily adapted. For similar reasons, while it is possible to use so-called hybrid meshes that simultaneously combine different kinds of geometric elements, it is preferred to keep the same type of elements over the whole mesh. In the large amount of literature on the subject, various types of elements have been studied such as quads, cubes, pentagons, hexahedra.

Meshes can be divided into two categories: structured meshes, that use regularly placed points and identical elements, and unstructured meshes, whose points are irregularly placed and allow the shape of the elements to vary. Unstructured meshes have become very popular for their flexibility, allowing precise approximations of the domain. However, the increased faithfulness of the discretization is only obtained at the cost of a more difficult mesh generation process.

Simplicial meshes, whose elements are triangles in a two-dimensional setting, tetrahedra in a threedimensional setting, and more generally n-simplices (the convex hull of n+1 points) in a n-dimensional setting, constitute one of the most common types of meshes due to the simplicity of the base element.

They have subsequently received much attention and are used in major numerical methods, such as for example the finite element method. The quality of a simplex, generally determined by its closeness to the regular simplex, is primordial to obtain accurate simulations and faithful representations. The generation of an unstructured simplicial mesh must therefore avoid the creation of poorly shaped simplices.

Delaunay triangulation

The Delaunay triangulation is an extensively studied simplicial mesh that is characterized by many useful properties. While different definitions can be given, the Delaunay triangulation of a set of points P is generally defined through the empty sphere property: the circumsphere of any simplex in a Delaunay triangulation is empty of any other vertex of P. The Delaunay triangulation is characterized by many useful properties and can be shown to be unique under mild assumptions. Notably, it maximizes the smallest angle out of all the triangulations of a point set in a two-dimensional setting, thus providing shape guarantees on the simplices of the mesh. These good properties have made the Delaunay triangulation the basis of various structures, algorithms and methods in diverse fields, ranging from surface reconstruction to crystallography. Consequently, the generation of Delaunay meshes has received considerable attention and many ways are available to construct the Delaunay triangulation of a set of points P. For example, edge flipping algorithms are able to reach the Delaunay triangulation starting from any other triangulation of P. It can also be obtained by constructing the convex hull of the set of points P lifted to a higher-dimensional space. Finally, the Delaunay triangulation is intrinsically linked to another renowned structure of computational geometry, the Voronoi diagram. The Voronoi diagram of a set of points can be seen as a decomposition of space into domains of influence, also called Voronoi cells. The neighboring information of the cells of a Voronoi diagram of a set of points provides a natural graph structure between points, which can be shown to be dual to the Delaunay triangulation of the points, thus providing another way to build the Delaunay triangulation.

As important as the connectivity of the mesh, the placement of the points is crucial to generate high-quality meshes. In early isotropic meshing techniques, Delaunay triangulations were constructed from existing point sets generated through other means. The seminal works of Ruppert and Chew incorporated the Delaunay triangulation in the generation of the point set: they introduced a twodimensional refinement algorithm based on the iterative insertion of the circumcenter of simplices whose quality, in terms of size or circumradius to shortest edge ratio, is below a certain threshold. This refinement algorithm is proven to terminate and provides guarantees on the quality of the simplices. Building upon these results, more elaborate refinement algorithms have been devised to obtain robust and quality-guaranteeing mesh generation algorithms for complex domains such as surfaces with sharp features.

Anisotropic mesh generation

The ideal shape of simplex has so far been described as the regular simplex, but this is not always the case. Many physical systems and objects naturally exhibit anisotropy, that is the presence of privileged directions in the system: the flow of air, liquid or plasma in fluid dynamics and electromagnetism are examples of natural phenomena characterized by anisotropy.

Figure 4: Simulation of fluids in a brain (left, [START_REF] Wolff | University of Minnesota Twin Cities[END_REF]) and of a plasma chamber (right, [START_REF] Helander | Stellarator and tokamak plasmas: a comparison[END_REF]).

For models associated with anisotropy, the accuracy of the simulations has been shown to be enhanced when elements are adapted to the anisotropy, meaning that the simplices are elongated and follow the directionality of the anisotropy. From an equivalent point of view, the use of meshes whose elements are stretched according to the anisotropy of the phenomenon requires a lower number of elements to achieve the same precision of the result of the simulation. When stretched elements are used, the mesh is said to be anisotropic. Additionally to providing increased accuracy in the simulations of scientific modeling, anisotropic meshes also find use in geometric modeling as they can improve the visualization of objects, and lower the number of vertices required to represent a shape or interpolate a smooth function. By requiring fewer elements, anisotropic meshes thus provide another way to accelerate mesh generation, and increase the quality and the speed of computations. Where the main improvements in the accuracy of modeling only came from increased computation power and denser meshes for isotropic meshes, anisotropic mesh generation offers another independent way to obtain faster and more accurate results.

While anisotropic meshes offer many benefits, their generation is also much harder than the traditional isotropic meshes. Due to its wide range of applications, several classes of methods have been proposed, yet no solution is satisfying for all classes of domains and anisotropy. Moreover, while isotropic meshes and their generation are now well studied from a theoretical point of a view, almost all the algorithms on anisotropic mesh generation are heuristic. With this observation in mind, we seek to develop methods that are both provable, robust, and practical.

Contributions

The different approaches that we consider in this thesis are all based upon extending the notions of Voronoi diagrams and Delaunay triangulations to the anisotropic setting as we hope to benefit from the known results and theoretical soundness of the isotropic Delaunay triangulation and Voronoi diagram to generate anisotropic meshes with provable and practical meshing techniques. As all our methods are based upon the same structures, we dedicate a chapter to introducing the notions that will be used throughout this thesis. Our main chapters follow a logical progression, with each method taking more metric information into account to determine the connectivity and placement of points than the previous ones.

We begin with a thorough practical investigation of the framework of locally uniform anisotropic meshes, a theoretically sound meshing technique proposed by Boissonnat et al. that is based on the idea of constructing at each point a triangulation that is well adapted to the local metric. The theoretical aspect of their approach has been extensively described, but its practicality is comparatively lesser known. We detail our implementation, which is both more robust and faster than the one previously presented in the short experiment investigation of the algorithm for surfaces, investigate the role of the numerous parameters, and give some results. Limitations of the approach are then exposed, along with our attempts to address those.

In the Euclidean setting, the Delaunay triangulation of a point set can be constructed by first generating the Voronoi diagram of the point set and then computing the dual of this diagram. Anisotropic Voronoi diagrams have been considered to build anisotropic triangulations, however the dual of an anisotropic Voronoi diagram is not necessarily a valid triangulation and elements can be inverted. Different distances are possible to create such anisotropic Voronoi diagrams. We consider in Chapter II.5 the anisotropic distance proposed by Labelle and Shewchuk. Along with the introduction of their anisotropic distance, Labelle and Shewchuk presented a refinement algorithm that generates a point set for which their anisotropic Voronoi diagram has a valid dual triangulation. However, their method is limited to the setting of planar domains. We give requirements on point sets such that the dual of the anisotropic Voronoi diagram is a nice triangulation and propose a refinement algorithm to generate such point set. Our proof links anisotropic Voronoi diagrams built using the distance of Labelle and Shewchuk with the framework of locally uniform anisotropic meshes, relating along the way the concepts of quasi-cosphericity (used in locally uniform anisotropic meshes) and of protection of a point set. The second part of this chapter introduces a refinement algorithm based on the combination of the alternative point of view of the anisotropic Voronoi diagram as the restriction of a high-dimensional power diagram to a fixed paraboloidal manifold and the tangential Delaunay complex, a structure used in manifold reconstruction that is well-adapted to the high-dimensional setting. We detail our implementation, study its theoretical grounds and investigate the practicality of the algorithm.

Anisotropic Voronoi diagrams studied by previous authors compute and compare distances using a fixed metric, justifying this approximation by invoking the computational and time complexity of computing geodesics in a domain endowed with a metric field. In Chapter III.6, we introduce discrete Riemannian Voronoi diagrams, an accurate approximation of Riemannian Voronoi diagrams that aims at palliating some of the disadvantages of using geodesics. The speed of classical geodesic computations is greatly improved by the use of a non-embedded anisotropic graph generated with the algorithm presented in Chapter I. 4. The algorithm produced good results for planar and surface domains. Chapters III.7 and III.8 are devoted to the proof of the theoretical soundness of our approach first in two dimensions, and finally in any dimension.

State of the Art

Anisotropic mesh generation

Due to its wide array of practical applications, anisotropic mesh generation has received considerable attention and several classes of methods have been proposed. We categorize these past works into three main categories: algorithms based on the concepts of the Delaunay triangulation and the Voronoi diagram, algorithms based on an embedding of the input domain to simplify the problem, and algorithm based on the optimization of particles. The boundaries between each category is not hermetic and methods often draw from more than one of these categories. Approaches are sorted according to what we felt was the primary category.

From a historical point of view, the generation of isotropic unstructured triangulations was originally tackled using packing, and advancing front (triangles or tets are placed from the boundary and advance towards the interior of the domain) methods. Parameterization techniques are based on creating meshes in simpler domains and mapping them back to the original domain. Finally, Delaunay refinement was introduced and combined iterative insertions with the Delaunay triangulation to offer robust algorithms. Comprehensive descriptions of structured and unstructured meshing algorithms have been published by Owen [START_REF] Owen | A survey of unstructured mesh generation technology[END_REF], and Frey and George [START_REF] Frey | Mesh generation[END_REF].

The same chronology has been roughly followed in the context of anisotropic mesh generation. Bossen and Heckbert proposed a method called pliant mesh generation that is based on the use of repulsion, smoothing, insertion, and deletion within a loop. Similarly, Vallet combined insertion, deletion, smoothing and re-meshing techniques [START_REF] Vallet | Coupling flow solvers and grids through an edge-based adaptive grid method[END_REF].

Jiao [START_REF] Jiao | Anisotropic mesh adaptation for evolving triangulated surfaces[END_REF] used the quadratic metric tensor of Heckbert and Garland [START_REF] Garland | Surface simplification using quadric error metrics[END_REF] and proposed a set of edge operations to allow anisotropic adaptation of a triangular mesh of a static or evolving surface.

Particle-based methods

Modifying the position of a point is a popular technique in mesh generation and optimization [START_REF] Tournois | Optimisation de maillages[END_REF]. Shimada proposed a series of algorithms based on the packing of bubbles with the idea that they provide good approximations of the Voronoi diagram. The bubble method can be summarized as a sequence of two steps: pack spheres (or bubbles) closely in the domain, and connect their centers. First applied to isotropic mesh generation [START_REF] Shimada | Bubble mesh: automated triangular meshing of nonmanifold geometry by sphere packing[END_REF], Shimada extended this idea to the anisotropic setting by considering ellipses instead of spheres [START_REF] Shimada | Anisotropic triangulation of parametric surfaces via close packing of ellipsoids[END_REF], and to three-dimensional domains using ellipsoids [START_REF] Yamakawa | Anisotropic tetrahedral meshing via bubble packing and advancing front[END_REF].

Adaptive Smoothed Particle Hydrodynamics by Shapiro, anisotropic mesh adaptation. Optimal Delaunay triangulations were introduced by Chen et al. [START_REF] Chen | Optimal Delaunay triangulations[END_REF][START_REF] Chen | Mesh smoothing schemes based on optimal Delaunay triangulations[END_REF][START_REF] Chen | Optimal anisotropic meshes for minimizing interpolation errors in L p -norm[END_REF] as the triangulation that minimizes the interpolation error uû of a function u and its piecewise interpolation û over the mesh. The advantage of this minimization is double as it is both topological and geometrical. First applied to isotropic mesh generation using u(x) = x 2 [6,[START_REF] Tournois | Interleaving Delaunay refinement and optimization for practical isotropic tetrahedron mesh generation[END_REF], optimal Delaunay triangulations were naturally extended to anisotropic metric fields derived from the Hessian of a convex function through the use of weighted Delaunay triangulations [START_REF] Liu | Computing self-supporting surfaces by regular triangulation[END_REF][START_REF] Mullen | Hot: Hodge-optimized triangulations[END_REF]. However, as shown by Boissonnat et al. [START_REF] Boissonnat | Comparison of algorithms for anisotropic meshing and adaptive refinement[END_REF], a Riemannian metric field generally cannot be expressed as the Hessian of a convex function. Chen et al. [START_REF] Chen | Mesh smoothing schemes based on optimal Delaunay triangulations[END_REF] attempted to palliate this restriction by locally approximating the metric field with local convex functions, but their algorithm may fail to converge or achieve the desired anisotropy. Fu et al. [START_REF] Fu | Anisotropic simplicial meshing using local convex functions[END_REF] tweaked this approach by including feedback from the neighboring vertices in the expression of the local energy, with more success.

The smoothing process that is inherent to any method based on optimization is a double-edged sword: while it provides visually pleasant meshes and makes methods robust to geometric or metric noise, it can also result in the loss of anisotropy in regions of a domain where the metric field is changing rapidly as the result of multiple smoothing creates an isotropic mesh. Furthermore, smoothing is often badly controlled in the case of piecewise inputs, with the metric field on a polygonal face dribbling on the adjacent faces. Finally, none of these methods can prove that their optimization process converges or that the mesh is an anisotropic mesh of good quality.

Delaunay refinement

The good properties of the Delaunay triangulations have made it a powerful tool in mesh generation.

In early isotropic meshing techniques, Delaunay triangulations were constructed from existing point sets, generated through other means. Incorporating the Delaunay structure of the point set in the generation of the point set was pioneered in 2D by Chew [START_REF] Chew | Constrained Delaunay triangulations[END_REF] and Ruppert [START_REF] Ruppert | A Delaunay refinement algorithm for quality 2-dimensional mesh generation[END_REF]. They proposed to iteratively insert the circumcenters of triangles that do not fit a given set of criteria, such as the size or shape of elements. This technique allowed to generate meshes with lower bounds on the smallest angle of triangles and was then extended to 3D domains. In 3D, although no guarantee can be made on the dihedral angles of simplices, the radius-edge ratio of tetrahedra can be shown to be bounded.

An efficient algorithm to insert a vertex in an isotropic Delaunay triangulation, now known as the Bowyer-Watson algorithm, was proposed simultaneously and independently by Bowyer [START_REF] Bowyer | Computing dirichlet tessellations[END_REF] and Watson [START_REF] Watson | Computing the n-dimensional Delaunay tessellation with application to Voronoi polytopes[END_REF]. The simplices whose Delaunay ball contains the simplex are collected and removed from the triangulation, which forms a cavity. Linking the refinement point to the vertices of the border of the cavity creates the new Delaunay simplices of the triangulation.

In the context of anisotropy, the generation of points was also originally done independently from the construction of the triangulation, using for example anisotropic quad trees. Mavriplis first considered the idea of stretched Delaunay methods [START_REF] Mavriplis | Adaptive mesh generation for viscous flows using triangulation[END_REF][START_REF] Vallet | Anisotropic control of mesh generation based upon a voronoi type method[END_REF][START_REF] Mavriplis | Unstructured mesh generation and adaptivity[END_REF] and using nodes generated from an anisotropic advancing front technique; the connectivity is set by first constructing a large isotropic mesh and then inserting vertices with the Bowyer-Watson algorithm adapted to the anisotropic setting. The stretching of the space is obtained by computing gradients of the solution. Good results were achieved, but the swapping techniques employed do not extend nicely to higher-dimensional settings.

Borouchaki et al. [START_REF] Borouchaki | Delaunay mesh generation governed by metric specifications. part Ialgorithms[END_REF] formalized the approach of stretching spaces of Mavriplis through the use of Riemannian metric tensors and introduced the anisotropic Delaunay kernel, their anisotropic version of an anisotropic Bowyer Watson algorithm. Along with this new insertion algorithm, they introduced a Delaunay refinement algorithm based on edge swapping, merging and splitting techniques to generate meshes whose edges' lengths are close to 1 in the metric at each of their endpoints. Many developments have sprouted from this approach: 3D mesh generation [START_REF] Dobrzynski | Anisotropic Delaunay mesh adaptation for unsteady simulations[END_REF], periodic anisotropic mesh generation [START_REF] Dobrzynski | A mesh adaptation procedure for periodic domains[END_REF], metric-orthogonal mesh generation [START_REF] Loseille | Metric-orthogonal anisotropic mesh generation[END_REF].

While these algorithms produce good results and have seen much use in the context of computational fluid dynamics [4], theoretical results are limited for these algorithms and there are no guarantees on either the termination or the robustness of algorithms, nor on the quality of the elements produced by these techniques.

A theoretically sound approach to anisotropic Delaunay triangulations was proposed by Boissonnat et al. [START_REF] Boissonnat | Locally uniform anisotropic meshing[END_REF], who introduced the framework of locally uniform anisotropic meshes. In their algorithm, the star of each vertex v is composed of simplices that are Delaunay for the metric at v. Each star is built independently and the stars are stitched together in the hope of creating an anisotropic mesh.

The star structure was first introduced by Shewchuk [START_REF] Shewchuk | Star splaying: an algorithm for repairing Delaunay triangulations and convex hulls[END_REF] to handle moving vertices in finite element meshes and considering stretched stars was first proposed by Schoen [START_REF] Schoen | Robust, guaranteed-quality anisotropic mesh generation[END_REF]. Two stretched stars may be combinatorially incompatible, a configuration called an inconsistency. Boissonnat et al. proved that inconsistencies can be resolved by inserting Steiner points, yielding an anisotropic triangulation. The algorithm works in any dimension, can handle complex geometries and provides guarantees on the quality of the simplices of the triangulation. This algorithm will be investigated thoroughly in Chapter I. 4.

Voronoi diagrams

The well-known duality between the Euclidean Voronoi diagram and its associated Delaunay triangulation has inspired authors to compute anisotropic Voronoi diagrams, with the hope of obtaining a dual anisotropic triangulation.

The approaches of Labelle and Shewchuk [START_REF] Labelle | Anisotropic Voronoi diagrams and guaranteed-quality anisotropic mesh generation[END_REF] and Du and Wang [START_REF] Du | Anisotropic centroidal Voronoi tessellations and their applications[END_REF] aim at approximating the geodesic distance between a seed and a point of the domain by considering that the metric is constant and equal to the metric at the seed (in the case of Labelle and Shewchuk [START_REF] Labelle | Anisotropic Voronoi diagrams and guaranteed-quality anisotropic mesh generation[END_REF]) or at the point (in the case of Du and Wang [START_REF] Du | Anisotropic centroidal Voronoi tessellations and their applications[END_REF]). Contrary to the isotropic setting, the dual of an anisotropic Voronoi diagram is not necessarily a triangulation and inverted elements can be present in the dual triangulation. The algorithms were initially introduced for two-dimensional (Labelle and Shewchuk [START_REF] Labelle | Anisotropic Voronoi diagrams and guaranteed-quality anisotropic mesh generation[END_REF]) and surface (Du and Wang [START_REF] Du | Anisotropic centroidal Voronoi tessellations and their applications[END_REF]) domains and have since then been studied and extended by various authors. Canas and Gortler [START_REF] Cañas | Duals of orphan-free anisotropic Voronoi diagrams are embedded meshes[END_REF] proved that point sets could be generated (in 2D) such that the dual of the Voronoi diagram obtained with the distance of Du and Wang is a triangulation. The approach of Labelle and Shewchuk was shown to be theoretically sound in 2D, but the approach of the proof does not extend to higher dimensions. This result was extended to surfaces by Cheng et al. [START_REF] Cheng | Anisotropic surface meshing[END_REF] by locally approximating the surface with a plane and then using a density argument similar to the proof of Canas and Gortler [START_REF] Cañas | Duals of orphan-free anisotropic Voronoi diagrams are embedded meshes[END_REF].

Centroidal Voronoi tessellations, which are Voronoi diagrams for which the seeds are the centers of mass of their associated Voronoi cell, are known to create elements of good quality. The famous Lloyd algorithm [START_REF] Lloyd | Least squares quantization in pcm[END_REF] iteratively moves the seeds to the center of mass of their respective cell and recomputes the Voronoi diagram of this new seed set. This algorithm was modified to be used in the anisotropic Voronoi diagram of Du and Wang, but the process is computationally expensive.

Embedding and parametrization

The generation of anisotropic meshes being a difficult problem, various authors have tried to simplify the problem by preemptively transforming the input domain to a target domain that is easier to study and mesh. The connectivity of a mesh generated in this simpler setting is then transported back to the input point set, creating -if the deformation is well chosen -a triangulation of the input with elements stretched as desired. Although isometric embeddings are theoretically usable and would have the benefit of translating the problem to the familiar setting of isotropic mesh generation, but they are not necessarily the optimal solution. Indeed, the dimension of the embedding space is often large and due to the curse of dimensionality, traditional methods of mesh generation cannot efficiently be applied. Alternative methods must thus be considered to compute both the embedding and the generation of a mesh in the deformed space.

Lévy and Bonneel [START_REF] Lévy | Variational anisotropic surface meshing with Voronoi parallel linear enumeration[END_REF] proposed to lift an input surface mesh embedded in a 3D space by adding to the coordinates of the vertices the coordinates of the normal to the surface, hence obtaining sixdimensional points. They then compute an high-dimensional Euclidean centroidal Voronoi diagram, made efficient through the use of Voronoi Parallel Linear Enumeration. Unfortunately, no control is given to the user over the choice of the metric field. To overcome this problem, Zhong et al. [START_REF] Zhong | Particle-based anisotropic surface meshing[END_REF] incorporated metric information in their high-dimensional repulsive vertex-repositioning technique, al Nivoliers et al. [START_REF] Nivoliers | Anisotropic and feature sensitive triangular remeshing using normal lifting[END_REF] added features.

While these works claim to produce curvature-adapted anisotropic meshes, the results are often closer to an isotropic mesh whose features (sharp edges) have been meshed anisotropically, which does not provide any of the benefits that a curvature-based metric field offers. For example, meshes of cylinder-shaped parts of the input have isotropic elements on the bases and side, with anisotropic elements only appearing along the (circular) border of the bases. While theses meshes are certainly anisotropic, they do not stretch or even follow the principal curvatures of the surface and thus do not help providing a better approximation for a lesser amount of vertices as a proper curvature-based mesh would [START_REF] D'azevedo | Are bilinear quadrilaterals better than linear triangles[END_REF].

Zhong et al. [START_REF] Zhong | Anisotropic surface meshing with conformal embedding[END_REF] proposed to use a conformal parameterization of the domain upon which they compute a weighted centroidal Voronoi diagram whose connectivity is mapped back to the original point set. Their approach is however slow and the dimension of the embedding is unknown, requiring a tedious incremental search.

None of these methods can prove that the result is a triangulation in the lower dimension and often require post-processing such as the use of hole filling techniques.

Quad and polygonal anisotropic mesh generation

Anisotropic mesh generation is not restricted to simplicial meshes and it is interesting to consider what has been done for quadrangular or polygonal meshes as one can build a correspondence between quadrangular and triangular meshes, and between hexahedral and tetrahedral meshes, the anisotropic mesh generation techniques for non-simplicial meshes are relatively similar to those presented above: packing methods, optimization, etc.

Alliez et al. [START_REF] Alliez | Anisotropic polygonal remeshing[END_REF] proposed an algorithm based on the idea of following curvature lines as done in sketches to produce anisotropic quad-dominant meshes of surface. While giving good result, this method is heuristic, relies on a heavy parameterization of the domain and a produces a large number of polygonal elements, making it difficult to use in scientific simulations. The latter issue was remedied by Marinov and Kobbelt who extended the technique as to not rely on a global parameterization of the mesh, but the anisotropy poorly conforms to the curvature.

Embedding techniques have also been considered in the context of quadrangular mesh generation, for example by Panozzo et al. [START_REF] Panozzo | Frame fields: anisotropic and non-orthogonal cross fields[END_REF], who warped an input frame field on a surface into a cross field without increasing the dimension. Consequently, the surface contains self intersections, but they can nevertheless create an isotropic quad mesh of the deformed surface.

Background

The different approaches to anisotropic mesh generation considered in this thesis share a common core of notions: anisotropy is expressed through Riemannian metric tensors, final meshes are simplicial complexes, and all our algorithms are built upon the concepts of Voronoi diagrams and Delaunay triangulations. In this chapter, we recall the definitions of objects and structures that will be regularly used in the following chapters.

Metrics and metric fields are introduced to quantify the desired anisotropy over a domain. We detail basic operations such as the interpolation of metrics and the smoothing of metric fields. The concept of distortion, which was introduced by Labelle and Shewchuk [START_REF] Labelle | Anisotropic Voronoi diagrams and guaranteed-quality anisotropic mesh generation[END_REF] and allows to measure metric variation, is recalled.

Riemannian geometry is found in all chapters, and we thus present essential notions such as geodesic path, geodesic distance, and exponential map.

The Voronoi diagram and the Delaunay triangulation are the basis of all our work. In Chapter I.4, we will study Delaunay triangulations computed in an anisotropic metric. In Chapter II.5, we prove results on anisotropic Voronoi diagrams and adapt the tangential complex, a structure based on the Delaunay triangulation, to generate anisotropic meshes. Finally, in Chapter III.6, we introduce a practical approach to the computation of Riemannian Voronoi diagrams. We thus recall the definitions of Voronoi diagram and Delaunay triangulation in the general setting of Riemannian geometry, but also in the particular case of the Euclidean distance.

Lastly, the definition of nets, which are point sets with assumptions on density and sparsity, is given. Nets are constantly used throughout this thesis to construct structures with guarantees on the quality of the elements. Alongside nets, the concept of protection of point set is introduced. Power protection is a specific assumption made on Delaunay triangulations, which allows us to deduce another set of quality guarantees on the elements of the triangulation.

Basic notions

We usually consider an n-dimensional (open) domain Ω in R n , or an m-manifold M embedded in the n-dimensional Euclidean space R n . Euclidean distances are determined by the standard norm,

• E . We refer to the distance between two points p and q as qp or d(p, q). A ball B(c, r) is the set of points x of R n such that d(c, x) < r. The boundary of a set X is denoted by ∂X and its affine hull by Aff(X). The cardinality of a finite set P is #(P) or |P|. A bijection is a one-to-one correspondence between two sets. A homeomorphism is a continuous bijection whose inverse is also continuous. A diffeomorphism is a differentiable homeomorphism whose inverse is also differentiable.

Metric tensor

The adaptation of meshes based on a metric tensor was introduced by Borouchaki et al. [START_REF] Borouchaki | Delaunay mesh generation governed by metric specifications. part Ialgorithms[END_REF][START_REF] Diaz | Anisotropic unstructured mesh adaptation for flows simulations[END_REF][START_REF] Hecht | Mesh adaption by metric control for multi-scale phenomena and turbulence[END_REF] and has imposed itself as the standard way to describe and prescribe anisotropy. A metric tensor, or simply a metric, in R n is defined by a symmetric positive definite (SPD) quadratic form, represented by a n × n matrix G. The quadratic form defines an inner product u, v G = u t Gv = u, Gv , and the norm of a vector u with respect to G is then given by

u G = u, u = √ u t Gu.
Using this norm, the distance between two points p and q in Ω can be measured in the metric G as

d G (x, y) = x -y G = (x -y) t G(x -y).
This definition can be naturally extended to higher-dimensional G-volume measures by integration. Given a metric G, the G-sphere S G (c, r) with center c and radius r is the set of points p such that d G (c, p) = r, and, likewise, the closed G-ball B G (c, r) is defined as the set of points p such that d G (c, p) ≤ r. A metric G can be visualized by its unit sphere S G (c, 1), which is an ellipsoid in R n . Indeed, since G is a SPD matrix, it is diagonalizable as G = O T DO, where O is an orthogonal matrix and D is a diagonal matrix. The equation of the unit sphere is

x T Gx = 1 ⇐⇒ x T O T DOx = (Ox) T D(Ox) = n i=1 ((Ox) i ) 2 λ i = 1
One recognizes the equation of an ellipsoid with semi-axis lengths 1/ √ λ i . Since O is an orthonormal matrix, it can also be seen as a rotation matrix and the unit sphere in the metric is thus an ellipsoid in R n whose axes' directions are given by the eigenvectors {v i } of G and whose semi-axis lengths are equal to 1/ √ λ i in the direction v i , where λ i is the eigenvalue corresponding to v i . Incidentally, this construction proves that there is a natural bijection between ellipsoids and metrics. Metric transformation Given a symmetric positive definite matrix G, we denote by F any matrix such that det(F ) > 0 and F t F = G. The matrix F is called a square root of G. The square root of a matrix is not uniquely defined: the Cholesky decomposition provides, for example, an upper triangular F , but it is also possible to consider the diagonalization of G as O T DO, where O is an orthonormal matrix and D is a diagonal matrix; the square root is then taken as F = O T √ DO. The latter definition is more natural than other decompositions since √ D is canonically defined and F is then also a symmetric definite positive matrix, with the same eigenvectors as G. Regardless of the method chosen to compute the square root of a metric, we assume that it is fixed and identical for all the metrics considered.

1 λ1 1 λ3 1 λ2
The square root F offers a linear bijective transformation between the Euclidean space and a metric space, noting that d G (x, y) = (xy) t F t F (xy) = F (xy) = F x -F y , where • stands for the Euclidean norm. Thus, the metric distance between x and y in Euclidean space can be seen as the Euclidean distance between two transformed points F x and F y living in the metric space of G.

Metric field

The desired anisotropy ratio and directions are generally not constant over the domain and a single metric is thus not sufficient to completely express anisotropy. A metric field g, defined over a domain Ω ⊂ R n , associates a metric g(p) = G p = F t p F p to any point p in Ω. When the map g : p → G p is constant, the metric field is said to be uniform.

In the following, we shall replace the subscript G p by p to avoid double subscripts, and simply write X p instead of X Gp . Figure 2.2 shows two metric fields defined over a planar domain, the Euclidean metric (left), and a radial metric field (right) whose definition is detailed in Section A.6 in Appendix A. In the following, we assume that Ω ⊂ R n is a compact domain endowed with a continuous Lipschitz metric field g.

Ambient and intrinsic metric fields

If the domain is a m-manifold M embedded in an ambient space of dimension n, metric fields can be defined in the ambient space (the metric is given by a n × n SPD matrix), but also intrinsically on the manifold (the metric at p ∈ M is then represented by a m × m SPD matrix whose eigenvectors live in the tangent space T p M).

Since the intersection of an ellipsoid with an affine space is a lower-dimensional ellipsoid [START_REF] Klein | On the ellipsoid and plane intersection equation[END_REF], it is possible to go from the ambient to the intrinsic setting (but not conversely).

Distortion

The notions of metrics and metric fields are introduced to convey the stretching of spaces. To create a solid theoretical framework, it is required to be able to express how differently two metrics see distances and geometrical objects. For this purpose, Labelle and Shewchuk [START_REF] Labelle | Anisotropic Voronoi diagrams and guaranteed-quality anisotropic mesh generation[END_REF] introduced the concept of distortion between two metrics. We recall here their definition. Properties and limitations as well as a new alternative that remedy those shortcomings are proposed in Section 3.1 in Chapter 3.

Defining distortion: first approach

Labelle and Shewchuk [START_REF] Labelle | Anisotropic Voronoi diagrams and guaranteed-quality anisotropic mesh generation[END_REF] introduced the concept of distortion between two points p and q of Ω as ψ(p, q) = ψ(G p , G q ) = max F p F -1 q , F q F -1 p , where • is the Euclidean matrix norm, that is M = sup x∈R n M x

x . Observe that ψ(G p , G q ) ≥ 1 and ψ(G p , G q ) = 1 when G p = G q .

A fundamental property of the distortion is to relate the two distances d Gp and d Gq . Specifically, for any pair x, y of points, we have 1 ψ(p, q) d Gp (x, y) ≤ d Gq (x, y) ≤ ψ(p, q) d Gp (x, y).

(2.1) Indeed,

d p (x, y) = F p (x -y) = F p F -1 q F q (x -y) ≤ F p F -1 q F q (x -y) ≤ ψ(G p , G q ) d q (x, y),
and the other inequality is obtained similarly.

Remark 2.2.1

The distortion provides a measure of difference between metrics, but there is no direct link between distortion and anisotropy. For example, it is possible for two metrics to have a low distortion but to encode very large anisotropy. The extreme case is that of a uniform metric field where the distortion is 1 between any two points but the anisotropy ratio can be as large as desired.

Despite being easy to define and compute, this definition lacks a geometrical understanding. Additionally, the guarantee of good behavior of algorithms will often come through bounds on the distortion between neighboring sample points. While it is possible to extract a sampling condition from a distortion bound, it requires unreasonable assumptions on the metric field, see Section 3.1 in Chapter 3. For these reasons, we will introduce a new alternate definition of distortion in Section 3.1 in Chapter 3.

Distortion of multiple points

The distortion between two points can naturally be extended to sets of points, domains or objects as the maximum distortion between any two points of the structure considered. For example, the distortion of a simplicial complex K is given by ψ(K) = max p i ,p j ∈K ψ (p i , p j ) .

Operations on metric fields

We detail in this section some basic operations on metric fields that are sometimes required in practice.

Interpolation of metrics

Although our definition of metric field is continuous, a metric field is not always provided continuously in input. For example, the computation of a metric field derived from the Hessian of the solution of a partial differential equation or from the numerical estimation of the curvature of a piecewise domain usually yields a metric field that is known only at the vertices of the input mesh. To provide knowledge of the metric field at new or displaced vertices, we must be able to extend a discrete metric field continuously over the complete domain.

The estimation of the metric field at a query point p on Ω is done by locating p in the domain and interpolating the metrics of neighboring vertices. These neighboring vertices are either known ahead of the interpolation or computed through (isotropic or anisotropic) nearest neighbor search algorithms. The weight of a point is usually based on the anisotropic distance between this point and the query point. If the input domain is a simplicial complex (see Section 2.5), fast algorithms are known [START_REF] Devillers | The Delaunay hierarchy[END_REF] to locate queries. If the neighbors are defined as the vertices of the simplex that contains the query, barycentric coordinates are a natural choice for weights.

Once the neighbors and their respective weights are known, various interpolation techniques can be used. We now recall some of these techniques, along with their properties. Further details can be found in the works of Kindlmann [START_REF] Kindlmann | Geodesic-loxodromes for diffusion tensor interpolation and difference measurement[END_REF].

Linear The linear interpolation of a family of matrices {G i } i=1...N with associated (positive) weights {ω i } i=1...N such that i ω i = 1 is defined by

G = N i=1 ω i G i
G is a positive combination of symmetric tensors and therefore has no negative eigenvalues. This property can be proved by contradiction. Assume that G has some negative eigenvalues. Then there exists a vector x that satisfies

x t Gx = i=1...N ω i x t G i x < 0. Since all G i are symmetric tensors,
x t G i x ≥ 0 and, since according to the definition, ω i ≥ 0, we have x t Gx ≥ 0, which provides a contradiction.

The simplicity of the definition and the implementation of the linear interpolation comes at the cost of a "swelling effect" on the interpolated metric: the determinant of the interpolated tensor is greater than those of the interpolated metric tensors. Borouchaki et al. [33] proposed various types of interpolations, and in particular used the geometric representation of metrics as ellipsoids to define the intersection of ellipses. The intersection of two metrics is given by the largest ellipsoid that can be fitted in the geometrical intersection of the two ellipsoids. From an analytical point of this view, this can be computed through simultaneous reduction of the metric tensors. It is however non-commutative and is difficult to use with multiple metrics.

Ellipse intersections

Affine-Euclidean Batchelor et al. [START_REF] Batchelor | A rigorous framework for diffusion tensor calculus[END_REF] sought to create a rigorous framework for the interpolation of metric tensors. They define the interpolation between two metric tensors by considering the geodesic between these two metrics in the space of metric tensors. When interpolating between more than 2 metrics, this requires solving numerically a system, making it inexact and expensive to compute.

Log-Euclidean

The Log-Euclidean Fréchet mean was introduced by Arsigny et al. [START_REF] Arsigny | Log-Euclidean metrics for fast and simple calculus on diffusion tensors[END_REF]. Contrary to the geodesic-loxodrome and affine-Euclidean interpolations, it has the advantage of being easy and fast to compute.

For a family of metrics {G i } i=1...N and associated weights {ω i } i=1...N such that i ω i = 1, the interpolated metric is given by:

G = exp n i=1 ω i ln(G i ) ,
where the matrix exponential is given by the series

exp(M ) = ∞ k=0 M k k! .
If M is diagonalizable with decomposition M = P -1 ∆P , where ∆ = Diag{λ 1 , . . . , λ n }, then

P -1 L ∆ L P L k = P -1 L ∆ L P L P -1 L ∆ L P L . . . P -1 L ∆ L P L P -1 L ∆ L P L k = P -1 L ∆ k L P L ,
and M k = P -1 ∆ k P . The exponential is therefore directly applied to the entries of the diagonal matrix:

exp(M ) = P -1 exp(∆)P = P -1    e λ 1 . . . e λn    P. (2.2)
The logarithm of a matrix is defined as the inverse operator of the exponential, and, similarly, we have for diagonalizable matrices that ln(M ) = P -1 ln(∆)P.

The matrix L = n i=1 ω i ln(G i ) is a well-defined metric tensor. It is symmetric, so it is diagonalizable with real eigenvalues as L = P -1 L ∆ L P L . As for Equation 2.2, we have

G = exp(L) = P -1 L exp(∆ L )P L .
The interpolated G is symmetric positive definite, and is thus a metric. Note that the Log-Euclidean interpolation reduces to a geometric mean of the family of matrices if the matrices commute: Conveniently, the Log-Euclidean interpolation can be directly computed on the square root F p . Indeed, the interpolated of the family {F i } of square roots of {G i } with the weights ω i is given by

exp n i=1 ω i ln(M i ) = n i=1 M ω i i Figure 2.
F = exp i ω i ln (F i ) .
We have on the other hand that

G = exp i ω i ln F t i F i = exp i ω i ln F t i + i ω i ln F i since F i and F t i commute = exp i ω i ln F t i exp i ω i ln F i = exp i ω i ln F i t exp i ω i ln F i = F t F ,
using ln(M t ) = ln(M ) t and exp(M t ) = exp(M ) t . This is particularly useful in the context of locally uniform anisotropic meshes (see Chapter I.4), where we make extensive use of the stretching transformation provided by F p .

Metric interpolation and distortion

The distortion between metrics plays a central role in the generation of anisotropic meshes. When judging the quality of an anisotropic mesh, one evaluates the shape of its elements, by for example computing its smallest angle. Naturally, this evaluation must be done in the metric and we usually evaluate the shape of an element in the metrics of all of its vertices. Therefore, the lower the distortion, the easier it is to create anisotropic elements that conform to the metric field. Not only is the Log-Euclidean the fastest and easiest method to compute among those described above, but it is also the interpolation technique that produces -on average -the lowest distortion when interpolating the metrics of the vertices of an element and the refinement point of that element (which is generally its circumcenter as we study Delaunay complexes, see Section 2.6). Kindlmann et al. [86] introduced another form of interpolation as a shortest path in the tensor space: they impose that the path between two metrics should keep the same bearing, that is the same shape. The interpolation between both metrics is thus a geodesic, but only on the tensor space of metrics with the same shape. This results in a finer interpolation between tensors and especially avoids the appearance of isotropic tensors during the interpolation of two very different anisotropic tensors, which might sometimes happen in other methods. However, the interpolation is obtained through numerical computations, and is more complex than the Log-Euclidean and thus was discarded.

Geodesic-loxodrome

Smoothing of metric fields

In practice, noise is often present in a metric field and can have different sources: a geometrically imprecise input, inaccuracies in the solution evaluation, or simply a poor numerical evaluation of the metric field (for example, in the computation of the curvature). Smoothing a metric field correspond to (closely) approximating it by a more regular metric field that leaves out highly local and rapid variations. Our smoothing process of a metric field is described below.

Denote N p a chosen set of neighboring vertices of p (for example the geodesic k-nearest vertices of p in the domain). The smoothed metric tensor G p at a vertex p is computed from G p and from the 2.3. Riemannian geometry metric tensors G q at neighboring vertices q ∈ N p , using the interpolation operator previously defined:

G p = exp   ω(p, p) ln(G p ) + q∈Np ω(p, q) ln(G w )   with ω(p, q) = µ(p, q)   µ(p, p) + q∈Np µ(p, q)  
where µ(p, q) = e -p-q 2 /r 2 and r is a parameter that controls the locality of the smoothing. By default, r can be computed by averaging the distance to the vertices in N p . The interpolant G p is a metric tensor by construction from the Log-Euclidean interpolation.

Remark 2.2.2 Our smoothing operation is based on the Log-Euclidean interpolation (defined in Section 2.2.3), but any other interpolation could be also used to define another smoothing operator.

Riemannian geometry

Ideally, the computation of the anisotropic distance between two points would use the metric field information continuously. From a theoretical point of view, this corresponds to the framework of Riemannian geometry. This theoretical setting will be regularly used and we thus recall some definitions of differential geometry.

A path between two points x, y of Ω is a function γ : [0, 1] → Ω such that γ(0) = x and γ(1) = y. The Riemannian length of a path γ is defined as

ℓ g (γ) = 1 0 γ(t) t g(γ(t)) γ(t) dt.
A geodesic between x and y is a locally length-minimizing curve. Let Γ(x, y) be the set of paths from x to y on Ω: Γ(x, y) = {γ : [0, 1] → Ω | γ(0) = x and γ(1) = y}, we define the Riemannian geodesic distance between two points as given by

d g (x, y) = min γ∈Γ(x,y) ℓ g (γ).
The shortest path between x and y is given by arg min d g (x, y). In the following, we replace the subscript d g by simply g to avoid double subscripts, and write X g instead of X dg .

Remark 2.3.1

We define the geodesic distance d g (x, y) between two points as the length of the shortest path between x and y and not the length of any geodesic between x and y.

Most geometrical objects previously described can be generalized using the geodesic distance. For example, the geodesic (closed) ball centered on p ∈ Ω and of radius r is given by

B g (p, r) = {x ∈ Ω | d g (p, x) ≤ r}. Equation 2.
1, which relates distortion and distances for two metrics, can be extended to relate geodesic distances with respect to two metric fields g and g ′ (see Lemma 3.1.4).

Let v be a vector living in the tangent space T p M. From the unique geodesic γ satisfying γ(0) = p with initial tangent vector γ, one can define the exponential map exp(v) : T p M → M by exp(v) = γ(1). If geodesics can be extended infinitely, the manifold is said to be geodesically complete. When M is geodesically complete, the exponential map is defined over the whole tangent space, but this does not imply that the exponential map is a homeomorphism over the whole tangent space. The injectivity radius at a point p of M is the largest radius for which the exponential map at p is a diffeomorphism. The injectivity radius of the manifold M is defined by the infimum of the injectivity radii at all points. For any p ∈ M and for a two-dimensional subspace H ⊆ T p M, we define the sectional curvature at p for H as the Gaussian curvature at p of the surface exp p (H).

In the theoretical studies of our algorithm, we will generally assume that the domain M is geodesically complete and has no boundaries in order to avoid punctures.

Voronoi diagram

The Voronoi diagram of a set of points P = {p i } with respect to a distance function d, denoted by Vor d (P), is a partition of a domain Ω in a set of regions {V d (p i )}. The region V d (p i ) is called the Voronoi cell of the seed p i and is defined by

V d (p i ) = {x ∈ Ω | d(p i , x) ≤ d(p j , x), ∀p j ∈ P \ p i }.
For a fixed set of seeds, different distances naturally produce different Voronoi diagrams.

We will make regular use of a number of geometrical objects related to Voronoi diagrams. A Voronoi face is the intersection of a set of Voronoi cells. Specifically, a Voronoi k-face is a face of dimension k and is the intersection of n + 1k Voronoi cells. The boundary of a Voronoi k-face W is the union of the (k -1)-faces that are incident to W . If the dimension of the face is 0 or 1, the terms Voronoi vertex and Voronoi edge are respectively employed. The bisector of two seeds p and q is the set BS(p, q) = {x ∈ Ω, d(p, x) = d(q, x)}. An orphan is a region of a cell that is not connected to its seed.

Voronoi diagrams have been intensively studied for various metrics, such as the Euclidean metric, the Manhattan and Moscow metrics [START_REF] Okabe | Spatial Tessellations: Concepts and Applications of Voronoi Diagrams[END_REF], or L p metrics [START_REF] Lévy | L_p centroidal Voronoi Tessellation and its applications[END_REF]. We focus on the Euclidean Voronoi diagram, defined using the Euclidean distance, and the Riemannian Voronoi diagram, defined using the geodesic distance. The former is presented below, and the latter is detailed in Section 2.8.

Euclidean Voronoi diagram

When the Euclidean distance d E is used, the (Euclidean) Voronoi cell V i of p i is defined by

V E (p i ) = {x ∈ Ω | p i -x ≤ p j -x , ∀p j ∈ P \ p i }.
The subspace of points equidistant to two seeds p, q with respect to d E is given by

BS(p, q) = {x ∈ Ω | d E (p, x) = d E (q, x)}. Since |x -p| 2 = |x -q| 2 ⇐⇒ 2x(p -q) + q 2 -p 2 = 0,
the bisector of two seeds in an Euclidean Voronoi diagram is an hyperplane and a Voronoi cell is thus the intersection of a set of half-spaces forming a (possibly unbounded) convex polytope.

Simplices and complexes

Before defining Delaunay triangulations, we introduce the more general concept of simplicial complexes. Since the standard definition of a simplex as the convex hull of a set of points does not extend well to the Riemannian setting (see Dyer [START_REF] Dyer | Riemannian simplices and triangulations[END_REF]), we approach these definitions from a more abstract point of view.

A simplex σ is defined as a non-empty finite set. The elements of σ are called the vertices of σ and the set of vertices of σ is noted Vert(σ). The dimension of σ is given by dim σ = #(σ) -1, and a j-simplex refers to a simplex of dimension j. If a simplex σ is a subset of τ , we say that it is a face of τ , and write σ ≤ τ . A 1-dimensional face is called an edge and a facet of τ is a face σ with dim σ = dim τ -1.

For any vertex p ∈ σ, the face opposite to p in σ is the face determined by the other vertices of σ, and is denoted by σ p . If σ is a j-simplex, and p is not a vertex of σ, we may construct a (j + 1)-simplex τ = p * σ, called the join of p and σ as the simplex defined by p and the vertices of σ.

The length of an edge is the distance between its vertices. A circumscribing ball for a simplex σ is any n-dimensional ball that contains the vertices of σ on its boundary. If σ admits a circumscribing ball, then it has a circumcenter, C(σ), which is the center of the unique smallest circumscribing ball for σ. The radius of this ball is the circumradius of σ, denoted by R(σ). The height of p in σ is D(p, σ) = d(p, Aff(σ p )). The dihedral angle between two facets is the angle between their two supporting planes. If σ is a j-simplex with j ≥ 2, then for any two vertices p, q ∈ σ, the dihedral angle between σ p and σ q defines an equality between ratios of heights (see Figure 2

.4). sin ∠(Aff(σ p ), Aff(σ q )) = D(p, σ) D(p, σ q ) = D(q, σ) D(q, σ p ) . p q u v u v p q θ θ D(p, σ) D(p, σ q )

Simplicial complexes

Simplicial complexes form the underlying framework of Delaunay triangulations. An abstract simplicial complex is a set K of simplices such that if σ ∈ K, then all the faces of σ also belong to K. The union of the vertices of all the simplices of K is called the vertex set of K. The dimension of a complex is the largest dimension of any of its simplices. A subset L ⊆ K is a subcomplex of K if it is also a complex. Two simplices are adjacent if they share a face and incident if one is a face of the other. If a simplex in K is not a face of a larger simplex, we say that it is maximal. If all the maximal simplices in a complex K of dimension n have dimension n, then the simplicial complex is pure. The star of a vertex p in a complex K is the subcomplex S formed by set of simplices that are incident to p. The link of a vertex p is the union of the simplices opposite of p in S p .

A geometric simplicial complex is an abstract simplicial complex whose faces are materialized, and to which the following condition is added: the intersection of any two faces of the complex is either empty or a face of the complex. Figure 2.5: A simplicial complex (left) and a pure simplicial complex (center). On the right, the star of the white vertex is highlighted in blue, and its link in red.

Delaunay complex

The Delaunay complex has been widely studied and a few equivalent definitions are possible. We choose to stay in an abstract setting, in accordance with the way we introduced simplicial complexes.

A Delaunay ball is a maximal empty ball. Specifically, B = B(x, r) is a Delaunay ball if any empty ball centered at x is contained in B. A simplex σ is a Delaunay simplex if there exists some Delaunay ball B such that the vertices of σ belong to ∂B ∩ P. The Delaunay complex is the set of Delaunay simplices, and is denoted by Del(P).

A cosphericity is the configuration where n+2 points lie on the same (n+1)-sphere. This degenerate configuration must be avoided to preserve the uniqueness of the Delaunay triangulation for a set of points. In the following, we always assume that the vertices in P are in general position, meaning that there is no cosphericity in the point set.

Duality of the Delaunay and Voronoi structures

The nerve of a finite covering C is defined as N (C) := {D ⊆ C | ∩D = ∅}. We follow the definition of Edelsbrunner and Shah [START_REF] Edelsbrunner | Triangulating topological spaces[END_REF] and define the realization of the nerve as a simplicial complex K and a bijection ϕ between N (C) and K that preserves the inclusion, that is τ and σ are simplices of K such that τ ⊂ σ if, and only if, there exists D σ = ϕ(σ) and D τ = ϕ(τ ) in N (C) such that D σ ⊂ D τ . In the following, we identify K and the realization of the nerve.

The nerve of a Voronoi diagram Vor d (P) is given by

N (Vor d (P)) = {{V d (p i )} | ∩ i V d (p i ) = ∅, p i ∈ P}.
Note that there is a complete combinatorial equivalence between N (Vor d (P)) and the Delaunay complex as defined in the previous section. A (partial) geometric realization of N (Vor d (P)) with vertices in P is called a dual of the Voronoi diagram.

If there exists an abstract homeomorphism between the nerve N (C) and the domain, then we say that the realization of the nerve is a triangulation.

Dual of a simplex

The dual of a simplex is the set of centers of empty Delaunay balls. Equivalently, the dual of a k-simplex is a (nk)-Voronoi face defined by the intersection of the k + 1 Voronoi cells of the vertices of the simplex. For example in a 3D setting, the dual of a cell (a 3-simplex) is a Voronoi vertex (a 0-face), the dual of a facet (a triangle) is a Voronoi edge, the dual of an edge is a Voronoi 2-face and the dual of a point is a Voronoi cell.

Riemannian Voronoi diagram

Given a metric field g, the Riemannian Voronoi diagram of a point set P, denoted by Vor g (P), is the Voronoi diagram built using the geodesic distance d g . Formally, it is a partition of the domain in Riemannian Voronoi cells {V g (p i )}, where

V g (p i ) = {x ∈ Ω | d g (p i , x) ≤ d g (p j , x), ∀p j ∈ P \ p i }.
The Riemannian Voronoi diagram has received comparatively little attention as the complexity of computing geodesics makes it often undesirable to use in practice, especially when the manifold is endowed with an arbitrary metric field. Chapters III.6, III.7 and III.8 are devoted to the theoretical and practical study of this particular type of Voronoi diagram.

Riemannian Delaunay triangulations

In this thesis, we will consider both abstract simplices and complexes, as well as their geometric realization in R n with vertex set P. We now introduce two realizations of a simplex that will be useful, one curved and the other one straight.

The straight realization of a n-simplex σ with vertices in P is the convex hull of its vertices. We denote it by σ. In other words,

σ = {x ∈ Ω ⊂ R n | x = p∈σ λ p (x) p, λ p (x) ≥ 0, p∈σ λ p (x) = 1}.
(2.

3)

The curved realization, noted σ is based on the notion of Riemannian center of mass [START_REF] Karcher | Riemannian center of mass and mollifier smoothing[END_REF][START_REF] Dyer | Riemannian simplices and triangulations[END_REF]. Let y be a point of σ with barycentric coordinate λ p (y), p ∈ σ. We can associate the energy functional 2 . We then define the curved realization of σ as

E y (x) = 1 2 p∈σ λ p (y)d g (x, p)
σ = {x ∈ Ω ⊂ R n | x = arg min E x(x), x ∈ σ}.
(2.4)

The edges of σ are geodesic arcs between the vertices. Such a curved realization is well defined provided that the vertices of σ lie in a sufficiently small ball according to the following theorem of Karcher [START_REF] Karcher | Riemannian center of mass and mollifier smoothing[END_REF].

Theorem 2.9.1 (Karcher) Let the sectional curvatures K of Ω be bounded, that is

Λ -≤ K ≤ Λ + .
Let us consider the function E y on B ρ , a geodesic ball of radius ρ that contains the set {p i }. Assume that ρ ∈ R + is less than half the injectivity radius and less than π/4 Λ + if Λ + > 0. Then E y has a unique minimum point in B ρ , which is called the center of mass.

Given an (abstract) simplicial complex K with vertices in P, we define the straight (resp., curved) realization of K as the collection of straight (resp., curved) realizations of its simplices, and we write K = {σ, σ ∈ K} and K = {σ, σ ∈ K}.

We will consider the case where K is Del g (P). A simplex of Del g (P) will simply be called a straight Riemannian Delaunay simplex and a simplex of Del g (P) will be called a curved Riemannian Delaunay simplex, omitting "realization of". In Chapters III.7 and III.8, we give sufficient conditions for Del g (P) and Del g (P) to be embedded in Ω, in which case we will call them the straight and the curved Riemannian Delaunay triangulations of P. Remark 2.9.2 A curved Riemannian Delaunay n-simplex σ also satisfies the empty ball property: σ is circumscribed by a geodesic ball that does not contain any point q ∈ P such that q ∈ Vert(σ).

Power diagram

For a chosen distance and seed set, other diagrams related to the Voronoi diagram can be constructed by enriching the definition of the cell of a seed p i . For example, the farthest Voronoi diagram is defined through the cell

V d (p i ) = {x ∈ Ω | d(p i , x) ≥ d(p j , x), ∀p j ∈ P \ p i },
meaning that a Voronoi cell is now the set of points that are farther from p i than any other seed. Another possibility is to attribute weights to the seeds, either multiplicatively:

V d (p i ) = {x ∈ Ω | ω i d(p i , x) ≤ ω j d(p j , x), ∀p j ∈ P \ p i },

Restricted Delaunay triangulation

or additively:

V d (p i ) = {x ∈ Ω | d(p i , x) + ω i ≤ d(p j , x) + ω j , ∀p j ∈ P \ p i }.
When additive weights are used along with the squared Euclidean distance, one obtains the additively weighted Voronoi diagram, also known as the power diagram or the Laguerre diagram of a set of points, which we denote by PD d (P). The power cell V ω d (p i ) is given by

V d (p i ) = {x ∈ Ω | d(p i , x) 2 + ω i ≤ d(p j , x) 2 + ω j , ∀p j ∈ P \ p i }.
Geometrical objects related to the power diagram are tagged with the power prefix: the distance is called the power distance, a face of the power diagram is called a power face, etc. These new types of Voronoi diagrams can be considered using any distance -including the geodesic distance -but the study of these diagrams goes beyond the scope of this thesis and our use of power diagrams is limited to the Euclidean setting.

Sectional Voronoi diagram

The intersection of an Euclidean Voronoi diagram Vor(P) living in an ambient space Ω with an affine space A ⊂ Ω is a lower-dimensional power diagram PD(P ′ ), where P ′ is obtained by projecting orthogonally P onto A. Indeed, letting Π A be the orthogonal projection onto A and taking p i ∈ P, we have

∀x ∈ A, x -p i 2 = x -Π A (p i ) 2 + Π A (p i ) -p i 2 .
In the ambient space, the Voronoi cell of p i is the set of points x ∈ Ω such that

x -Π A (p i ) 2 + Π A (p i ) -p i 2 ≤ x -Π A (p j ) 2 + Π A (p j ) -p j 2 ,
for p j ∈ P with p j = p i . This inequality can be equivalently seen as the definition of the power cell of the point Π A (p i ) with associated weight ω i = -Π A (p i )p i 2 in the affine space A.

Regular Delaunay triangulation

The dual of a power diagram is a triangulation, called the regular Delaunay triangulation. As the power diagram generalizes the Voronoi diagram, the regular Delaunay triangulation generalizes the Delaunay triangulation.

Restricted Delaunay triangulation

The Delaunay and Voronoi structures presented so far are built from (almost) arbitrary point sets living in R n . It is possible to employ these structures to approximate bounded domains. The restriction of a Delaunay complex Del(P) to a domain Ω is the subcomplex (the restricted Delaunay complex) Del |Ω (P) composed of the simplices of Del(P) whose dual Voronoi face intersects Ω.

Restricted Delaunay triangulations were introduced by Chew [START_REF] Chew | Guaranteed-quality mesh generation for curved surfaces[END_REF] and allow to accurately capture complex geometric objects. For example, it can be shown that under the condition of good sampling of a surface, the restricted Delaunay triangulation and the domain are homeomorphic [START_REF] Amenta | Surface reconstruction by Voronoifiltering[END_REF]. Thanks to these good properties, restricted Delaunay triangulations have often been used to create provably correct refinement algorithms in the case of surfaces [START_REF] Cheng | Dynamic skin triangulation[END_REF][START_REF] Boissonnat | Provably good sampling and meshing of surfaces[END_REF][START_REF] Rineau | Meshing 3Ddomains bounded by piecewise smooth surfaces[END_REF]. It was however proven by Boissonnat, Guibas and Oudot [START_REF] Boissonnat | Manifold reconstruction in arbitrary dimensions using witness complexes[END_REF] that this does not extended to higher-dimensional settings. Nevertheless, restricted Delaunay triangulations will be consistently used in the refinement algorithms considered and presented in this thesis.

Assumptions on point sets

Studying and inferring properties on geometric structures is difficult when using completely random point sets. It is thus natural to assume hypotheses on the point set: for example, one of the most basic assumptions made when building Delaunay complexes is that points are in general position (see Section 2.6). We introduce two different notions to control the quality of the samplings that we consider and of the elements that we generate with such point sets.

Definitions are given here in a Riemannian setting (meaning, with respect to the geodesic distance), but can naturally be applied to simpler distances: the isotropic distance in R n can for example be seen as a Riemannian manifold endowed with a Euclidean metric field.

Nets

Controlling the density and the sparsity of a point set allows to deduce properties on the shape of simplices of the complexes built using the point set. The idea of imposing such constraints on point sets is not recent and appears in various domains: Delone 1 sets, for example, employ a packing radius to ensure that every point of the domain is close to a sample point and are used in coding theory and crystallography. More closely to our topic, nets have notably found use in surface reconstruction [START_REF] Amenta | Surface reconstruction by Voronoi filtering[END_REF][START_REF] Boissonnat | Manifold reconstruction using tangential Delaunay complexes[END_REF] where they are used to create "good" (with respect to the algorithm) samplings of the domain. The concept of nets presented here conveys these requirements through sampling and separation parameters.

1 Delone and Delaunay are in fact the same person.

Sampling

The sampling parameter is used to control the density of a point set: if Ω is a bounded domain, P is said to be an ε-sample set for Ω with respect to a metric field g if d g (x, P) < ε for all x ∈ Ω.

Separation

The sparsity of a point set is controlled by the separation parameter: the set P is said to be µ-separated with respect to a metric field g if d g (p, q) ≥ µ for all p, q ∈ P. We assume that the separation parameter µ is proportional to the sampling parameter ε and thus there exists a positive λ, with λ ≤ 1, such that µ = λε.

If P is an ε-sample set that is µ-separated, we say that P is an (ε, µ)-net. Remark 2.12.1 Every point set is a net for a sufficiently small µ and a sufficiently large ǫ, but the quality of the result is generally increased for stricter conditions.

Building Delaunay triangulations and Voronoi diagrams using nets guarantee properties on the quality of their elements; those properties will be detailed in Chapter 3.

Protection and power protection of point sets

Protection of simplices is a concept formally introduced by Boissonnat, Dyer and Ghosh [START_REF] Boissonnat | Constructing intrinsic Delaunay triangulations of submanifolds[END_REF], which targets Delaunay triangulations. The main idea is that no vertex should lie close to the circumscribing balls of the Delaunay simplices of a triangulation. A similar scheme was first introduced by Funke et al. [START_REF] Funke | Controlled perturbation for delaunay triangulations[END_REF], who perturbed vertices of a Delaunay triangulation away from the Delaunay balls of other simplices to ensure arithmetical robustness of the triangulation. The concept of protection was extended by Boissonnat et al. [START_REF] Boissonnat | Only distances are required to reconstruct submanifolds[END_REF].

We now define the protection of a simplex, and of a point set. Let σ be a Delaunay simplex whose vertices belong to P, and whose (empty) Delaunay ball is noted B(c, r), where c is the circumcenter and r is the circumradius. For 0 ≤ δ ≤ r, we associate to B(c, r) the dilated balls B +δ = B(c, r + δ) and B +δ p = B(c, √ r 2 + δ 2 ). We say that σ is δ-protected (resp. δ-power protected) if B +δ (resp. B +δ p ) is empty of any vertex in P \ Vert(σ). The balls B +δ (resp. B +δ p ) is the power (resp. power-protected) ball of σ. If all the simplices of Del(P) are δ-protected (resp. δ-power protected) then P is δ-protected (resp. δ-power protected). We assume that the protection parameter δ is proportional to the sampling parameter ε, thus there exists a positive ι, with ι ≤ 1, such that δ = ιε. We will prefer power protection to protection, as we often compare squared distances. Figure 2.9 shows a protected point set with the protection zones.

• protected, if d(v, p j ) > d(v, p i ) + δ • power protected, if d(v, p j ) 2 > d(v, p i ) 2 + δ 2
for p j ∈ P ′ . This point of view is also useful when the use of balls is not convenient or adapted to the distance considered. Remark 2.12.2 Similarly to nets, every point set that is not degenerate is protected (or power protected) for a small enough δ.

Assuming that a point set is protected is specifically useful to deduce bounds on the separation of non-adjacent Voronoi entities (and in particular of Voronoi vertices), that is the existence of a lower bound on the distance between two non-adjacent Voronoi entities. These properties are detailed in Chapter 3 and will be essential to prove the theoretical correctness of both the anisotropic Voronoi diagram defined by Labelle and Shewchuk in Chapter II.5 and of our discrete Riemannian Voronoi diagrams in Chapters III.7 and III.8.

Unit mesh

Relating protection and power protection

The concepts of protection and power protection are closely related. Indeed, if we assume δ pprotection, we have by definition that d(c, q) ≥ r + δ p , and d(c, q) 2 ≥ r 2 + δ 2 p + 2rδ, giving δ pp -power protection with δ pp = √ δ 2 + 2rδ = δ 1 + 2r δ . On the other hand, if we assume δ pp -power protection, we have that

d(c, q) 2 ≥ r 2 + δ 2 pp .
Thus

d(c, q) ≥ r 2 + δ 2 pp = r 1 + δ 2 pp r 2 = r 1 + 1 2 δ 2 pp r 2 + o(r 2 ) = r + δ 2 pp 2r + o(r),
and δ p ∼ δ 2 pp 2r . Whether protection or power protection is thus only linked to the other objects being considered. If squared distances are being compared, it is simpler to work with power protection.

Unit mesh

In the case of Delaunay refinement algorithms, the generation of meshes is governed by a set of criteria, arbitrarily-chosen rules that all simplices must satisfy for the refinement to finish. Refinement algorithm traditionally employ a sizing criterion to control the maximal size of simplices, by imposing an upper bound on either the maximal lengths of any edge or the circumradius of a simplex. While this upper bound can be constant over the domain, elements of varying sizes are generally desired (similarly to how a single metric is not sufficient to describe the anisotropy over the domain). A sizing field is naturally defined to provide a scalar map which associates to any point of a domain, the maximal allowed length of edges (or circumradius). For example, Ruppert [START_REF] Ruppert | A new and simple algorithm for quality 2-dimensional mesh generation[END_REF] defines a size function that depends on the distance to the boundary.

Remark 2.13.1 If the sizing criterion applies a maximal value on the length of the circumradius, it is nevertheless possible to compute a bound on the length of edges of the same simplex since the length of an edge of a triangle in a Delaunay triangulation is bounded by twice the circumradius of the triangle.

When the edges of a triangulation have length 1, the mesh is said to be unit [START_REF] Frey | Mesh generation[END_REF]. Naturally, a mesh whose edges are unit is difficult (if it is even physically possible) to achieve. A tolerance ς > 1 is generally introduced to allow the construction of almost-unit meshes whose edges have a length between 1/ς and ς.

In the context of anisotropic meshes, the lengths of edges are computed in the metric and the metric thus naturally encodes a sizing information through its eigenvalues. A sizing field is thus already incorporated within the metric field. A change in the scale of the sizing field can be simply achieved by scaling the eigenvalues.

Unit meshes and distortion

When computing edge lengths in the metric of the edge's endpoints, the distortion between adjacent vertices of a mesh can be bounded when that mesh is unit. Indeed, we know that the distortion ψ(p, q) between two points p and q can be used to relate the distance in the metrics G p and G q (Equation 2.1). Thus if we allow a tolerance ς on the unit mesh, the maximal distortion that is possible in a unit mesh is ς 2 . In various mesh generators, the tolerance is set to √ 2, and thus the distortion between two adjacent vertices cannot be greater than 2, or the mesh is not unit.

When creating metric fields, the sizing field is always reasonably chosen (small enough) such that a unit mesh is physically possible.

Preliminary results

This chapter details properties of the basic notions introduced in Chapter 2 and results inferred using these notions. As it mainly consists of technical lemmas that are stepping stones towards central results in Chapters II.5, III.7 and III.8, it can be skipped on first reading and simply consulted as needed.

The three important notions upon which a majority of our work rests are the notions of distortion, net and power protection. The first part of this chapter is dedicated to a short study of the distortion. We first look into some properties and shortcomings of the classical definition of Labelle and Shewchuk, and introduce an alternate definition for the distortion to remedy these disadvantages. The subsequent sections present properties that are inferred assuming that the point set is a power protected net. We study the Euclidean Voronoi diagram and the Euclidean Delaunay triangulation when built from power protected nets. We expose lower bounds on the distance between non-adjacent Voronoi faces and lower and upper bounds on the dihedral angles between adjacent faces of these structures. The combination of these results allows to deduce the stability of the power protected net assumption when metrics and metric fields are perturbed.

Contributions

All the results detailed in this chapter are new. We explain how to compute the sampling parameter of a sample such that the point set satisfies an upper bound on the distortion between adjacent vertices (for the original definition given by Labelle and Shewchuk). We propose an alternate definition for the distortion that possesses the same properties as the original definition, but is more meaningful geometrically and does not require strong assumptions to be related to the sampling of the points. Some lemmas of the second part of this chapter are close to known results or aim to prove similar properties, for example the stability of the power protection hypothesis with respect to metric perturbation. However, both the assumptions -on the (power) protection and the distortion -as well as the path followed to achieve the result differ sufficiently for us to consider these results new. We nevertheless indicate when it is the case, and where the previous result has been introduced.

Distortion

In previous works on anisotropic mesh generation [START_REF] Labelle | Anisotropic Voronoi diagrams and guaranteed-quality anisotropic mesh generation[END_REF][START_REF] Cheng | Anisotropic surface meshing[END_REF][START_REF] Cañas | Duals of orphan-free anisotropic Voronoi diagrams are embedded meshes[END_REF] as well as in the study of our own algorithms, the good behavior of algorithms, for example the embedding of a triangulation, is generally guaranteed by upper bounds on the density of the point set and on the maximal distortion between adjacent vertices. A bound on the distortion is needed as it is difficult to handle widely changing metric fields, similarly to how it is difficult to handle manifolds with poor sampling.

A requirement on the maximal distortion between adjacent vertices being somewhat abstract, we seek to express a bound on the distortion as a requirement on the sampling of the point set. We first achieve this correspondence for the distortion introduced by Labelle and Shewchuk, but at the cost of unreasonable assumptions on the metric field. Consequently, we introduce a new definition of distortion between two metrics.

Locality of the Labelle-Shewchuk distortion

Given a bound on the maximal distortion in a region, we wish to compute the maximal distance between two points of the sample such that their distortion satisfies the bound. Such a link can be exposed if we assume that the metric field is bi-Lipschitz. Indeed, Assume that there exists

ζ ∈ R such that 1 ζ p -q ≤ g(p) -g(q) ≤ ζ p -q , ∀p, q ∈ Ω.
Lemma 3.1.1 gives the relation between the size of a neighborhood and the maximal distortion between two points of that neighborhood.

Lemma 3.1.1 Let g be a ζ-bi-Lipschitz Riemannian metric field. Let p 0 be a point of Ω and ψ 0 ≥ 1 a distortion bound. If ψ(g(p), g(p 0 )) ≤ ψ 0 , then p -p 0 ≤ ζ 1 + ψ 2 0 g(p 0 ) .
Proof. We have

g(p) -g(p 0 ) = g(p) 1 2 g(p 0 ) -1 2 g(p 0 )g(p 0 ) -1 2 g(p) 1 2 -g(p 0 ) ≤ g(p 0 ) + g(p) 1 2 g(p 0 ) -1 2 g(p 0 )g(p 0 ) -1 2 g(p) 1 2 ≤ g(p 0 ) + g(p) 1 2 g(p 0 ) -1 2 g(p 0 ) g(p 0 ) -1 2 g(p) 1 2 ≤ g(p 0 ) 1 + ψ 2 0
Since the metric field is ζ-bi-Lipschitz, we have

1 ζ p -p 0 ≤ g(p) -g(p 0 ) ,
giving us a condition on pp 0 :

p -p 0 ≤ ζ(1 + ψ 2 0 ) g(p 0 ) .
A bi-Lipschitz requirement is however unrealistic as most metric fields are in fact not bi-Lipschitz: uniform metric fields are, for example, not bi-Lipschitz.

A new definition of the distortion

As we cannot reasonably assume that the metric field is bi-Lipschitz, we introduce a new definition of distortion. A prerequisite to our definition is that the metric field is (only) ζ-Lipschitz, meaning that G p -G q ≤ ζ |p -q| with ζ ∈ R + . Contrary to the bi-Lipschitz assumption that was previously needed, this is perfectly reasonable. Our distortion is given by

ψ(p, q) = ψ(G p , G q ) = max            1 1 - 2ζrp √ λp,max λ p,min , 1 + 2ζr p λ p,max λ p,min            , ( 3.1)
where r p is a bound on the distance between p and q measured with respect to G p , and λ p,min and λ p,max are respectively the smallest and largest eigenvalues of G p .

A first observation is that we have ψ(G p , G q ) ≥ 1 for two metrics G p and G q . However, there is a small difference for the limit case of ψ = 1. Indeed, we do not have that G p = G q implies ψ(G p , G q ) = 1 as Labelle and Shewchuk do. Nevertheless, the distortion goes to 1 with equality in the limit as the neighborhood becomes smaller (i.e. the bound r p goes to 0). That our definition does not automatically attribute a small distortion to metrics that are far (even if they are close) is not an issue and might even be seen as a beneficial trait: a small distortion with the definition of Labelle and Shewchuk can sometimes be misleading, e.g. by concluding that the metric field is relatively constant between two distant points because their distortion is small, even though important variations may exist in between. Our distortion expresses more clearly the convergence of the distortion between two points as they become closer.

We prove in Lemma 3.1.2 that our definition also allows to relate distances in different metrics.

Lemma 3.1.2 Let U be a neighborhood centered on p and of radius r p with respect to G p = g(p). Let q ∈ U . The distances d p and d q can be related by

1 ψ(p, q) d p (x, y) ≤ d q (x, y) ≤ ψ(p, q) d p (x, y)
with ψ(p, q) defined as in Equation 3.1.

Proof. Let G q = G p + E. We have γt (G q -G p ) γ = γt E γ Thus γt (G q -G p ) γ ≤ γt E γ = γ • (E γ) ≤ | γ| |E γ| ≤ E | γ| 2 = E γ • γ.
Because metrics are given by symmetric matrices, the eigenvalues of G p can be used to obtain bounds:

λ p,min γ • γ ≤ γt G p γ ≤ λ p,max γ • γ, (3.2)
where λ p,min and λ p,max are the smallest and largest eigenvalues of G p respectively. We see that

ℓ Gq (γ) -ℓ Gp (γ) = γt G q γ dt - γt G p γ dt = γt (G q -G p ) γ dt ≤ E γ • γ dt ≤ E γt G p γ λ p,min dt = E λ p,min ℓ Gp (γ),
where ℓ Gq (γ) and ℓ Gp (γ) denote the lengths of γ with respect to G q and G p respectively. This means that

1 - E λ p,min ℓ Gp (γ) ≤ ℓ Gq (γ) ≤ 1 + E λ p,min ℓ Gp (γ),
Let us focus on the second inequality, and let γ (x,y),Gp denotes the shortest path with respect to G p connecting x and y. We find

d g (x, y) ≤ ℓ Gq γ (x,y),Gp ≤ 1 + E λ p,min ℓ Gp γ (x,y),Gp = 1 + E λ p,min d Gp (x, y).
A similar statement holds for the first inequality:

1 - E λ p,min d Gp (x, y) ≤ d g (x, y) ≤ 1 + E λ p,min d Gp (x, y).
We assume that any metric field that we consider is ζ-Lipschitz, that is

E = G p -G q ≤ ζ |p -q| .
Note that, because of (3.2) and using similar reasoning as before, we have

λ p,min d Gp (p, q) ≤ |p -q| ≤ λ p,max d Gp (p, q). Which means that 1 - 2ζr p λ p,max λ p,min d Gp (x, y) ≤ d g (x, y) ≤ 1 + 2ζr p λ p,max λ p,min d Gp (x, y),
where r p is a bound on the size of the neighborhood.

Note that our distortion was developed so that both distortions satisfy the same equations, which means that when this property is used, it does not matter which definition of the distortion is used.

Remark 3.1. [START_REF]The Boost Graph Library: User Guide and Reference Manual[END_REF] We have intentionally used geodesic distance expressions (that is, considering γ Gp (t) and not simply d Gp ) despite only considering metrics. This can be seen as abusively considering the two metrics as uniform metric fields over the domain. Additionally, while the relation that was proven concerned d Gp and d Gq , we did not make use of the constancy of G q in the proof. Therefore, we could actually reproduce the proof for a non-uniform metric field g instead of G q , therefore linking the "uniform" distance d p and the geodesic distance d g .

All the core properties of the distortion proposed by Labelle and Shewchuk are thus also present in our definition.

Although slightly more demanding on the metric field and more technical, our definition only requires the metric field to be Lipschitz continuous (and not bi-Lipschitz, as was needed in Section 3.1), follows a more natural geometrical approach, and offers a clear link between sampling and distortion, as proven in the next section.

Locality with our new distortion

For a given distortion bound, we obtain immediately a local upper bound sought on the distance between points. Indeed, if ψ(p, q) ≤ ψ 0 , we must have

1 1 - 2ζrp √ λp,max λ p,min ≤ ψ 0 and 1 + 2ζr p λ p,max λ p,min ≤ ψ 0 .
Equivalently,

r p ≤ 1 - 1 ψ 0 2 λ p,min 2ζ λ p,max and r p ≤ (1 + ψ 0 ) 2 λ p,min 2ζ λ p,max .
Both conditions can be merged, giving

r p ≤ min 1 - 1 ψ 0 2 λ p,min 2ζ λ p,max , (1 + ψ 0 ) 2 λ p,min 2ζ λ p,max . ( 3.3)
Meshes that we consider in this thesis are generated with variations of the classical Delaunay refinement algorithm. There is generally a size constraint that is imposed on elements, through an upper bound on the circumradius of simplices. The bound in Equation 3.3 can be converted into a sizing field constraint by noting that if circumradii are bounded by ℓ, the maximal length of an edge in the complex is bounded by 2ℓ. Thus, if p and q were two adjacent vertices in a triangulation for which we must have ψ(p, q) ≤ ψ 0 , a sizing bound on the sample would be given by ε ≤ r p /2.

In practice We give here an example of the way this relation is used in practice. In the proofs of the good behavior of our anisotropic Voronoi diagram, we will generally consider a neighborhood U around a point p 0 of an ε-sample P and require U to contain at least the Voronoi cell V(p) and the Voronoi cells of the neighbors of p 0 . To achieve results, we will approximate the anisotropic Voronoi cell with a simpler cell, which is only reasonable if the distortion within U is below a given bound ψ 0 . Assuming that the metric field is Lipschitz, we can then translate the distortion bound ψ 0 to a sampling bound on ε, the sampling parameter of P. Indeed, we know that the ball B g (p 0 , r 0 ) with r 0 >= 5ε contains V(p 0 ) and its adjacent Voronoi cells; therefore, we must have ε ≤ r 0 /5. The value of r 0 is obtained from ψ 0 by Equation 3.3.

Geodesic distortion

The concept of distortion was originally introduced to relate distances with respect to two metrics, but, as claimed in Section 2.2.1, this result can be (locally) extended to geodesic distances. Lemma 3.1. 4 Let U ⊂ Ω be open, and g and g ′ be two Riemannian metric fields on U . Let ψ 0 ≥ 1 be a bound on the metric distortion. Suppose that U is included in a ball B g (p 0 , r 0 ), with p 0 ∈ U and r 0 ∈ R + , such that ∀p ∈ B(p 0 , r 0 ), ψ(g(p), g ′ (p)) ≤ ψ 0 . Then, for all x, y ∈ U ,

1 ψ 0 d g (x, y) ≤ d g ′ (x, y) ≤ ψ 0 d g (x, y),
where d g and d g ′ indicate the geodesic distances with respect to g and g ′ respectively.

Proof. Recall that for p ∈ B g (p 0 , r 0 ) and, for any pair x, y of points, we have

1 ψ 0 d g(p) (x, y) ≤ d g ′ (p) (x, y) ≤ ψ 0 d g(p) (x, y).
Therefore, for any curve γ(t) in U , we have that

1 ψ 0 γ, γ g(γ(t)) dt ≤ γ, γ g ′ (γ(t)) dt ≤ ψ 0 γ, γ g(γ(t)) dt.
Considering the infimum over all paths γ that begin at x and end at y, we find that

1 ψ 0 d g (x, y) ≤ d g ′ (x, y) ≤ ψ 0 d g (x, y).
Note that this result is independent from the definition of the distortion and is entirely based on the inequality comparing distances in two metrics (Equation 2.1), which was shown to be fulfilled for both definitions of the distortion (see Section 3.1.2).

Separation of Voronoi entities

Power protected point sets were introduced to create quality bounds for the simplices of Delaunay triangulations built using such point sets [START_REF] Boissonnat | Constructing intrinsic Delaunay triangulations of submanifolds[END_REF]. We will show that power protection allows to deduce additional useful results for Voronoi diagrams. In this section we show that when a Voronoi diagram is built using a power protected sample set, its non-adjacent Voronoi faces, and specifically its Voronoi vertices are separated. This result is essential to our proofs in Chapters II.5, III.7 and III.8 where we approximate complicated Voronoi cells with simpler Voronoi cells without creating inversions in the dual, which is only possible because we know that Voronoi vertices are far from one another.

Separation of Voronoi vertices

The main result provides a bound on the Euclidean distance between Voronoi vertices of the Euclidean Voronoi diagram of a point set and is given by Lemma 3.2.4. The following three lemmas are intermediary results needed to prove Lemma 3.2.4. B = B(c,R) and B ′ = B(c ′ , R ′ ) be two n-balls whose bounding spheres ∂B and ∂B ′ intersect, and let H be the bisecting hyperplane of B and B ′ , i.e. the hyperplane that contains the (n -2)-sphere S = ∂B ∩ ∂B ′ . Let θ be the angle of the cone (c, S).

Lemma 3.2.1 Let

Writing ρ = R ′ R and c -c ′ = λR, we have cos(θ) = 1 + λ 2 -ρ 2 2λ . (3.4) If R ≥ R ′ , we have cos(θ) ≥ λ 2 .
Proof. Let q ∈ S; applying the cosine rule to the triangle △cc ′ q gives

λ 2 R 2 + R 2 -2λR 2 cos(θ) = R ′ 2 , ( 3.5)
which proves Equation (3.4). If R ≥ R ′ , then ρ ≤ 1, and cos(θ) ≥ λ/2 immediately follows from Equation (3.4).

c c ′ θ θ B B ′ B ′+δ q q H H
cos( θ) = cos(θ) - δ 2 2R 2 λ
Proof. Let q ∈ S, applying the cosine rule to the triangle △cc ′ q gives

λ 2 R 2 + R 2 -2λR 2 cos( θ) = R ′ 2 + δ 2 .
Subtracting (3.5) from the previous equality yields δ 2 = 2λR 2 (cos(θ)cos( θ)), which proves the lemma.

′ ) = B(c ′ , R ′ ) be the circumscribing balls of σ and σ ′ respectively. Then σ ′ is δ-power protected with respect to p, that is p ∈ B(σ ′ ) +δ if and only if c -c ′ ≥ δ 2 2D(p,σ) .
Proof. The spheres ∂B and ∂B ′+δ intersect in a (n -2)-sphere S which is contained in a hyperplane H parallel to the hyperplane H = Aff(τ ). For any q ∈ S we have

d( H, H) = d(q, H) = R(cos(θ) -cos( θ)) = δ 2 2 c -c ′ ,
where the last equality follows from Lemma 3.2. 2 andd( H, H) denotes the distance between the two parallel hyperplanes. See Figure 3.1 for a sketch. Since p ∈ ∂B, p belongs to B(σ ′ ) +δ if and only if p lies in the strip bounded by H and H, which is equivalent to

d(p, H) = D(p, σ) < δ 2 2 c -c ′ .
The result now follows.

We can make this bound independent of the simplices considered, as shown in Lemma 3.2.4. Lemma 3.2. 4 Let P be a δ-power protected (ε, µ)-sample. The protection parameter ι is given by δ = ιε. For any two adjacent Voronoi vertices c and c ′ of Vor(P), we have

c -c ′ ≥ δ 2 4ε = ι 2 ε 4 .
Proof. For any simplex σ, we have D(p, σ) ≤ 2R σ for all p ∈ σ, where R σ denotes the radius of the circumsphere of σ. For any σ in the triangulation of an ε-net, we have R σ ≤ ε. Thus D(p, σ) ≤ 2ε, and Lemma 3.2.3 yields cc ′ ≥ δ 2 4ε .

Remark 3.2.5 In this section, we have computed a lower bound on the distance between two (adjacent) Voronoi vertices. Later on in this chapter, we shall show that Voronoi vertices are stable under metric perturbations, meaning that when a metric field is slightly modified, the position of a Voronoi vertex does not move too much. The combination of this separation and stability will then be the basis of many proofs in this thesis.

Separation of Voronoi faces

Similar results can be obtained on the distance between a Voronoi vertex c and faces that are not incident to c, also referred to as foreign faces. Note that we are still in the context of an Euclidean metric.

The following lemma can be found in the context of ordinary protection in [START_REF] Boissonnat | Equating the witness and restricted Delaunay complexes[END_REF]Lemma 3.3].

Lemma 3.2.6 Suppose that c is the circumcenter of a δ-power protected simplex σ of a Delaunay triangulation built from an ε-sample, then all foreign Voronoi faces are at least δ 2 8ε removed from c. We denote by p 0 an (arbitrary) vertex of σ, and by q a vertex that is not in σ but is adjacent to p 0 in Del(P).

Proof. Let x be a point in B(c, r) ∩ V E (p 0 ), with 0 < r < δ 2 /4ǫ. The upper bound for r is chosen with Lemma 3.2.3 in mind: we are trying to find a condition such that x ∈ V E (p 0 ). The notations are illustrated in Figure 3.2.

Because of the triangle inequality, we have that

|d(c, q) -d(x, q)| ≤ d(x, c) |d(c, p i ) -d(x, p i )| ≤ d(x, c).
By power protection, we have that

d(c, q) 2 ≥ d(c, p i ) 2 + δ 2 . Therefore, (d(x, q) + r) 2 ≥ (d(x, p i ) -r) 2 + δ 2 d(x, q) 2 + 2rd(x, q) ≥ d(x, p i ) 2 -2rd(x, p i ) + δ 2 d(x, q) 2 ≥ d(x, p i ) 2 -2r(d(x, p i ) + d(x, q)) + δ 2 . p 0 q p 1 x r p 2 c c ′ c ′′ p 3 p 4 V (p 0 ) σ Figure 3
.2: Illustration of the notations for the proof of Lemma 3.2.6. The simplex σ is dashed in beige and has vertices p 0 p 1 p 2 . The distances cc ′ and cc ′′ are lower bounded by δ 2 /4ǫ.

Without loss of generality, we can assume that q is the seed closest to c and thus d(x, q) < d(x, c).

If P is an ε-net, we have d(x, p i ) + d(x, q) ≤ d(x, p i ) + d(c, q) ≤ ε + 3ε = 4ε, so d(x, q) 2 ≥ d(x, p i ) 2 -8rε + δ 2 .
This implies that as long r < δ 2 /8ε, x lies in a Voronoi object associated to the vertices p i of σ.

Further progressing, we can show that Voronoi faces are thick, with Lemma 3.2.7. This property is useful to construct a triangulation that satisfies the hypotheses of Sperner's lemma (see Chapter III.8). Lemma 3.2.7 Let P be a δ-power protected (ε, µ)-net. Let V 0 be the Voronoi cell of the seed p 0 ∈ P in the Euclidean Voronoi diagram Vor E (P). Then for any k-face F 0 of V 0 with k ∈ [1, . . . , n], there exists x ∈ F 0 such that

d(x, ∂F 0 ) > δ 2 16ε ,
where ∂F 0 denotes the boundary of the face F 0 .

Proof.

All the vertices of F 0 are circumcenters of Vor E (P). Consider the erosion of the face F 0 by a ball of radius δ 2 16ε and denote it F - 0 . If F - 0 is empty, we contradict the separation Lemma 3.2.6.

Dihedral angles

The use of nets allows us to deduce bounds on the dihedral angles of faces of the Delaunay triangulation, as well as on the dihedral angles between adjacent faces of a Voronoi diagram. Those bounds are frequently used throughout this thesis, and specifically to prove stability of Voronoi vertices (see Section 3.4). Since we are interested in dihedral bounds in the Euclidean setting, the point set is first assumed to be a net with respect to the Euclidean metric field. We complicate matters slightly with Lemma 3.3.6 by assuming that the point set is a power protected net with respect to an arbitrary metric field that is not too far from the Euclidean metric field (in terms of distortion), and still manage to expose bounds with respect to the Euclidean distance.

Bounds on the dihedral angles of Euclidean Voronoi cells

Assuming that a point set is an (ε, µ)-net allows us to deduce lower and upper bounds on the dihedral angles between adjacent Voronoi faces when the metric field is Euclidean. Lemma 3.3.1 Let Ω = R n and P be an (ε, µ)-net with respect to the Euclidean distance on Ω. Let p ∈ P and V(p) be the Voronoi cell of p ∈ P. Let q, r ∈ P be two seeds such that V(q) and V(r) are adjacent to V(p) in the Euclidean Voronoi diagram of P. Let θ be the dihedral angle between BS(p, q) and BS(p, r). Then Proof. We consider the plane H that passes through the seeds p, q and r. Notations used below are illustrated in Figure 3.3. Lower bound. Let m pq and m pr be the projections of the seed p on respectively the bisectors BS(p, q) and BS(p, r). Since P is an (ε, µ)-net, we have that

l q = |p -m pq | ≥ µ/2, l r = |p -m pr | ≥ µ/2 and L = |p -c| ≤ ε. Thus θ = arcsin l q L + arcsin l r L ≥ 2 arcsin µ 2 ε = 2 arcsin µ 2ε .
Note that since 0 < µ < 2ε, we have 0 < µ/2ε < 1. Upper bound. To obtain an upper bound on θ, we compute a lower bound on the angle α = qpr at p, noting that θ = πα. Let l qr = |q -r|, and R = |c -r|. By the law of sines, we have

l qr sin(α) = 2R.
Since P is an (ε, µ)-net, we have l qr ≥ µ and R ≤ ε. Finally,

α ≥ arcsin µ 2ε =⇒ θ ≤ π -arcsin µ 2ε .

Bounds on the dihedral angles of Euclidean Delaunay simplices

Bounds on the dihedral angles of simplices guarantee the thickness -the smallest height of any vertex -of simplices, and thus their quality. Additionally, they can be used to show that circumcenters of adjacent simplices are far from one another, thus proving the stability of circumcenters and of Delaunay simplices.

Using power protection with respect to the Euclidean metric field

We first assume that the metric field g is the Euclidean metric field g E and show that the simplices of an Euclidean Delaunay triangulation constructed from a power-protected net are thick.

Recall that the dihedral angle can be expressed through heights as

sin ∠(Aff(σ p ), Aff(σ q )) = D(p, σ) D(p, σ q ) = D(q, σ) D(q, σ p ) .
The bound on dihedral angles is obtained by bounding the height of vertices in a simplex. An obvious upper bound on the height of a vertex p in σ is D(p, σ) < 2ε. A lower bound was already obtained in Lemma 3.2.3: we have that D(p, σ) ≥ δ 2 /2 cc ′ = δ 2 /4ε. The following lemma is more technical but provides a tighter bound. The proof is similar to that of Lemma [START_REF] Boissonnat | The stability of Delaunay triangulations[END_REF]Lemma 3.3], but our notions of metric distortion differ and power protection is here assumed instead of protection.

Lemma 3.3.2 Let P be an (ε, µ)-net with respect to the Euclidean metric field g E . Let σ = q * τ be a simplex of Del(P). Suppose also that τ ≤ σ ′ and that σ is not a face of σ ′ . Denote B = B R n (c, r) and B ′ = B R n (c ′ , r ′ ) the respective Delaunay balls of σ and σ ′ , and H = Aff(∂B ∩ ∂B ′ ). The protection parameter ι is given by δ = ιε and the separation parameter λ is given by µ = λε. If σ ′ is δ-power protected with respect to g E , then

d(q, H) > A λ,ι ε,
where A λ,ι is a constant that depends on the separation and protection parameters λ and ι and will be detailed in the proof. It follows that if P is δ-power protected, then

D(q, σ) > A λ,ι ε.
Proof.

We first look to bound the distance d(q, H). Everything will be performed in the plane Q spanned by q, c and c ′ (see Figure 3.4). This plane is orthogonal to the (n -1)-flat H and thus the projection q * of q onto H is such that d(q, q * ) = d(q, H). If H separates q from c (as in Figure 3.4, left), then ∂B ′ separates q from q * and d(q, q * ) > d(q, ∂B ′ ). Let q B ′ be the point on ∂B ′ that realizes the distance d(q, ∂B ′ ). Since σ ′ is δ-power protected, we have

a b r S c c ′ S ′ q H H c c ′ q * q * q γ α β
d(q, q B ′ ) = d(c ′ , q) -d(c ′ , q B ′ ) ≥ r ′2 + δ 2 -r ′ ≥ r ′ 1 + δ 2 r ′2 -r ′ .
To simplify computations, we wish to find a bound on d(q, q B ′ ) that is proportional to r ′ . Therefore, we seek to express 1

+ δ 2 r ′2 as r + f (δ, r ′ ). By concavity of f (x) = √ 1 + x, we have on [0; x 0 ] that (1 + x) 1 2 ≥ 1 + (1 + x 0 ) 1 2 -1 x 0 x. ( 3.6)
Figure 3.5 illustrates the inequality with a graph of the two functions involved in Inequality 3.6.

1 Since δ = ιε and µ/2 ≤ r ′ ≤ ε, we have

(x 0 , √ 1 + x 0 ) (0, 0) y = √ 1 + x y = 1 + √ 1+x 0 -1 x 0 x
δ 2 r ′2 ≤ 4ι 2 ε 2 µ 2 = 4ι 2 λ 2 .
In the following, we use α = 4ι 2 λ 2 .

Thus,

1 + δ 2 r ′2 1 2 ≥ 1 + √ 1 + α -1 α δ 2 r ′2 . Let ν := 1 α √ 1 + α -1 . We have d(q, q B ′ ) ≥ r ′ 1 + δ 2 r ′2 -r ′ ≥ r ′ 1 + ν δ 2 r ′2 -r ′ = ν δ 2 r ′ .
Finally, since r ′ ≤ ε we have d(q, H) ≥ ν δ 2 ε = νι 2 ε. Assume now that q and c lie on the same side of H (as in Figure 3.4, right). Let S ′ = Q ∩ ∂B ′ and S = Q ∩ ∂B. Let a and b be the points of intersection S ∩ S ′ .

We bound d(q, H) by exhibiting a bound on the angle γ = qab. Without loss of generality, we assume that γ ≥ qba. We can assume that γ ≥ π 2 , otherwise q * = q B ′ and we have immediately

d(q, H) = d(q, ∂B ′ ) ≥ ν δ 2 ε . Since d(a, q) ≥ ν δ 2 ε , we have d(q, q * ) = d(a, q) sin(π -γ) ≥ ν δ 2 ε sin(γ). Let α = qac and β = cab. We have cos(α) = d(a, q) 2r ≥ ν 2 δ 2 ε 2 = νι 2 2 , thus α ≤ arccos ν 2 δ 2 ε 2 ≤ π 2 .
≤ γ = α + β ≤ γ ′ with γ ′ = arccos νι 2 2 + arcsin ι 2 8 . Since π 2 ≥ γ ≥ γ ′ ≥ π, d(q, H) ≥ ν δ 2 ε sin(γ) ≥ ν δ 2 ε sin(γ ′ ) = ν δ 2 ε sin arccos νι 2 2 + arcsin ι 2 8 ≥ ν δ 2 ε sin arccos νι 2 2 cos arcsin ι 2 8 + νι 2 2 ι 2 8 ≥ ν δ 2 ε   1 - νι 2 2 2 1 - ι 2 8 2 + νι 4 16   ≥ A λ,ι ε, with A λ,ι =   1 - νι 2 2 2 1 - ι 2 8 2 + νι 4 16   νι 2 .
Since Aff(τ ) ⊂ H, it follows that D(q, σ) ≥ d(q, H).

This new bound is not always tighter. In fact, A λ,ι is only greater than ι 2 /4 when ι 2 /2 ≤ λ (value obtained by direct computation). In a generic configuration, this condition tends to be satisfied and we therefore shall use the bound using A λ,ι in the rest of this thesis. Note that the choice of the bound has no consequence on the results further deduced. The comparison between both bounds ι 2 /4 and A λ,ι is shown in Figure 3.6. Proof. This is a consequence from Lemma 3.3.2, which gives D(q, σ p ) ≥ D(q, σ) ≥ A λ,ι ε, and from the observation that D(q, σ) ≤ 2ε. We have ϕ = ∠(Aff(σ p ), Aff(σ q )). Recall that

sin(ϕ) = sin ∠(Aff(σ p ), Aff(σ q )) = D(p, σ) D(p, σ q ) = D(q, σ) D(q, σ p ) Therefore sin ∠(Aff(σ p ), Aff(σ q )) ≥ A λ,ι ε 2ε = A λ,ι 2 =: s 0
Note that 0 < s 0 < 1 and thus arcsin(s 0 ) ≤ ϕ ≤ πarcsin(s 0 ).

Using power protection with respect to an arbitrary metric field

When considering a Voronoi diagram built using the geodesic distance induced by an arbitrary metric field g, the assumption of a power protected net is naturally made with respect to this geodesic distance. To prove the stability of the power protected assumption under metric perturbation, we will however need to deduce lower and upper bounds on the dihedral angles between faces of the simplices of the Delaunay complex with respect to the Euclidean metric field . We prove here that if the point set P is a δ-power protected (ε, µ)-net with respect to an arbitrary metric field g and if the distortion between g and the Euclidean metric field g E is small, then the dihedral angles of the simplices of the Euclidean Delaunay triangulation of P can be bounded.

We first give a result on the stability of Delaunay balls which expresses that if two metric fields have low distortion, the Delaunay balls of a simplex with respect to each metric field are close. Naturally, one of those metric fields will then be taken as the Euclidean metric field. A similar result can be found in the proof of Lemma 5 in the theoretical analysis of locally uniform anisotropic meshes of Boissonnat et al. [START_REF] Boissonnat | Anisotropic Delaunay mesh generation[END_REF]. Lemma 3.3.4 Let U ⊂ Ω be open, and g and g ′ be two Riemannian metric fields on U . Let ψ 0 ≥ 1 be a bound on the metric distortion. Suppose that U is included in a ball B g (p 0 , r 0 ), with p 0 ∈ U and r 0 ∈ R + , such that ∀p ∈ B(p 0 , r 0 ), ψ(g(p), g ′ (p)) ≤ ψ 0 . Assume furthermore that g ′ is the Euclidean distance (thus d g ′ = d E ). Let B = B g (c, r) be the geodesic ball with respect to the metric field g, centered on c ∈ U and of radius r. Assume that B E (c, ψ 0 r) ⊂ U . Then B can be encompassed by two Euclidean balls B E (c, r -ψ 0 ) and B E (c, r +ψ 0 ) with r -ψ 0 = r/ψ 0 and r +ψ 0 = ψ 0 r.

Proof. This is a straight consequence from Lemma 3.1.4. Indeed, we have for all x ∈ U that

1 ψ 0 d E (c, x) ≤ d g (c, x) ≤ ψ 0 d E (c, x),
and similarly 1

ψ 0 d g (c, x) ≤ d E (c, x) ≤ ψ 0 d g (c, x).
Thus,

x ∈ B E c, r ψ 0 ⇐⇒ d E (c, x) ≤ r ψ 0 =⇒ 1 ψ 0 d g (c, x) ≤ r ψ 0 , giving us B E (c, r -ψ 0 ) ⊂ B.
On the other hand, we have

x ∈ B g (c, r) ⇐⇒ d g (c, x) ≤ r =⇒ 1 ψ 0 d E (c, x) ≤ r,
giving us B ⊂ B E (c, r +ψ 0 ).

Note that r -ψ 0 and r +ψ 0 go to r as ψ 0 goes to 1. We now use this stability result to provide Euclidean dihedral angle bounds assuming power protection with an arbitrary metric field that is close to g E . We first require the intermediary result given by Lemma 3.3.5. Lemma 3.3.5 Let H be a hyperplane in Euclidean n-space and τ an n -1-simplex whose vertices lie at most η from the H and whose minimum height is h min . Then the angle ξ between Aff(τ ) and H is bounded from above by sin(ξ) ≤ ηd h min .

Proof. By definition, the barycenter of a (n -1)-simplex has barycentric coordinates λ i = 1/d. This means that it has distance a h min /n to each of its faces. So the ball centered on the barycenter with radius h min /n is contained in the simplex. This means that for any direction in Aff(τ ) there exists a line segment of length 2h min /n that lies within τ . Moreover the end points of this line segments lie at most η from H because the vertices of the τ do. This means that the angle ξ is bounded by

sin(ξ) ≤ 2η 2h min /d = ηd h min .
We can now give the main result which bounds Euclidean dihedral angles, assuming power protection with respect to the arbitrary metric field. Lemma 3.3.6 Let U ⊂ Ω be open, and g and g ′ be two Riemannian metric fields on U . Let ψ 0 ≥ 1 be a bound on the metric distortion. Suppose that U is included in a ball B g (p 0 , r 0 ), with p 0 ∈ U and r 0 ∈ R + , such that ∀p ∈ B(p 0 , r 0 ), ψ(g(p), g ′ (p)) ≤ ψ 0 . Let P U be a δ-power protected (ε, µ)-net over U , with respect to g. Let B = B g (c, r) and B ′ = B g (c ′ , r ′ ) be the geodesic Delaunay balls of σ = τ * p and σ ′ = τ * p ′ , with σ, σ ′ ∈ Del g (P U ). Assume that P U is sufficiently dense such that U contains B and B ′ . Then the minimum height of the simplex satisfies

h min = 1 -   n (r 2 + r ′2 ) 1 ψ 2 0 -ψ 2 0 8εh min    2 •           (r 2 + r ′2 ) 1 ψ 2 0 -ψ 2 0 + δ 2 ψ 2 0 4ε - n (r 2 +r ′2 ) 1 ψ 2 0 -ψ 2 0 8εh min 1 -   n (r 2 +r ′2 ) 1 ψ 2 0 -ψ 2 0 8εh min   2 (r + r ′ )          
.

Note that this is the height of p in σ with respect to the Euclidean metric.

We proceed in a similar fashion as the proof Lemma 3.2.1. However, a significant difference is that we are interested here in only proving that power protection with respect to the generic metric field provides a height bound in the Euclidean setting (rather than an equivalence).

Proof. We use the following notations, illustrated in Figure 3.7:

• B ±ψ 0 E and B ′±ψ 0 E
are the two sets of (Euclidean) enclosing balls of respectively B and B ′ defined as in Lemma 3.3.4.

• B ′+δ is the power protected ball of σ ′ , given by

B ′+δ = B(c ′ , √ r ′2 + δ 2 ).
• B ′+δ,±ψ 0 E are the two Euclidean balls enclosing B ′+δ .

• S = ∂B -ψ 0 ∩ ∂B ′+ψ 0 , S = ∂B +ψ 0 ∩ ∂B ′+δ,-ψ 0 and S ′ = ∂B +ψ 0 ∩ ∂B ′-ψ 0 .

• q is a point on S, q is a point on S and q ′ is a point on S ′ .

• H is the geodesic supporting plane of τ , that is {arg min

( v i ∈τ λ i d g (x, v i ))}.
• H E , H E and H E are the two Euclidean hyperplanes orthogonal to [cc ′ ] passing through respectively q, q and q ′ .

• θ = c ′ cq θ = c ′ cq, and λ c = |cc ′ | /r. c c ′ θ B B ′+δ q q H E H E B ′ p p ′ r r ′ √ r ′ 2 + δ 2 θ B -ψ0 B +ψ0 B ′+δ,+ψ0
|cq| = r ψ 0 , |cq| = ψ 0 r, c ′ q = ψ 0 r ′ , and c ′ q = 1 ψ 0 r ′2 + δ 2
Using the law of cosines in the triangles △cc ′ q and △cc ′ q, we find

r ′2 + δ 2 ψ 2 0 = λ 2 c r 2 + ψ 2 0 r 2 -2λ c ψ 0 r 2 cos( θ) ψ 2 0 r ′2 = λ 2 c r 2 + r 2 ψ 2 0 -2 λ c r 2 ψ 0 cos(θ),
where λ c r = |cc ′ |. Subtracting one from the other, we obtain

ψ 2 0 r ′2 - r ′2 + δ 2 ψ 2 0 = r 2 ψ 2 0 -ψ 2 0 r 2 + 2λ c ψ 0 r 2 cos( θ) -2 λ c r 2 ψ 0 cos(θ) ⇐⇒ r ψ 0 cos(θ) -ψ 0 r cos( θ) = r 2 ψ 2 0 -ψ 2 0 r ′2 + r ′2 +δ 2 ψ 2 0 -ψ 2 0 r 2 2λ c r ⇐⇒ r ψ 0 cos(θ) -ψ 0 r cos( θ) = (r 2 + r ′2 ) 1 ψ 2 0 -ψ 2 0 + δ 2 ψ 2 0 2λ c r , so that d(H E , H E ) = r ψ 0 cos(θ) -ψ 0 r cos( θ) = (r 2 + r ′2 ) 1 ψ 2 0 -ψ 2 0 + δ 2 ψ 2 0 2λ c r .
Similarly we can calculate the distance d E (H E , H ′ E ) to be:

d E (H E , H ′ E ) = 1 ψ 2 (r ′ ) 2 + |c -c ′ | 2 -ψ 2 r 2 2|c -c ′ | - ψ 2 (r ′ ) 2 + |c -c ′ | 2 -1 ψ 2 r 2 2|c -c ′ | = (r 2 + r ′2 ) 1 ψ 2 0 -ψ 2 0 2|c -c ′ | . ≤ (r 2 + r ′2 ) 1 ψ 2 0 -ψ 2 0 4ε
Lemma 3.3.5 gives us that the angle ξ between H E and Aff(τ ) is bounded by

sin(ξ) ≤ n d E (H E , H ′ E ) 2h min .
The vertices of τ lie in between H E and H ′ E and inside B E (c ′ , ψr ′ ). Thus, if we restrict to the qcc ′ plane, distance between the point where Aff(τ ) intersects H E and the orthogonal projection π H E (q) of q on H E is at most ψ(r + r ′ ). This in turn implies that the line connecting π H E (q) and q intersects Aff(τ ) at most distance (r + r ′ ) tan(ξ) from H E . This also gives us that the distance from q to its orthogonal projection π Aff(τ ) (q) on Aff(τ ) is bounded by

cos(ξ)(d( HE , H E ) -tan(ξ)(r + r ′ )) = 1 - n d E (H E , H ′ E ) 2h min 2 •     d( HE , H E ) - n d E (H E ,H ′ E ) 2h min 1 - n d E (H E ,H ′ E ) 2h min 2 (r + r ′ )     .
Here we note that h min originally referred to the minimum height of a face, but because the height of a face is always greater than the height in the simplex we may read this in a general way, that is we regard h min as a universal lower bound on the height. Because |qπ Aff(τ ) (q)| bounds the height of the simplex we get the following relation:

h min = 1 - n d E (H E , H ′ E ) 2h min 2     d( HE , H E ) - n d E (H E ,H ′ E ) 2h min 1 - n d E (H E ,H ′ E ) 2h min 2 (r + r ′ )     h min = 1 -   n (r 2 + r ′2 ) 1 ψ 2 0 -ψ 2 0 8εh min    2 •           (r 2 + r ′2 ) 1 ψ 2 0 -ψ 2 0 + δ 2 ψ 2 0 4ε - n (r 2 +r ′2 ) 1 ψ 2 0 -ψ 2 0 8εh min 1 -   n (r 2 +r ′2 ) 1 ψ 2 0 -ψ 2 0 8εh min   2 (r + r ′ )          
To make the expression a bit more readable, we introduce

s 1 = (r 2 + r ′2 ) 1 ψ 2 0 -ψ 2 0 4ε so that h min = 1 -n s 1 2h min 2     s 1 + δ 2 4εψ 2 0 - n s 1 2h min 1 -n s 1 2h min 2 (r + r ′ )     h min + n s 1 2h min (r + r ′ ) = 1 -n s 1 2h min 2 s 1 + δ 2 4εψ 2 0 .
Multiplying with h min and squaring we find:

(h 2 min + n s 1 2 (r + r ′ )) 2 = h 2 min -n s 1 2 2 s 1 + δ 2 4εψ 2 0 2
We note that in the limit ψ → 1, s 1 tends to zero, we therefore expand h min is terms of s 1 . Using a computer algebra system we find

h 2 min = δ 4 2 10 ψ 4 ε 2 + δ 2 128ψ 2 ε -n(r + r ′ ) s 1 - δ 4 16n 2 -1 + 2 14 n 2 ψ 4 ε 2 (r + r ′ ) 2 64δ 4 s 2 1 + O(s 3 1 )
We emphasize that this equation gives h min = δ 2 /4ε as ψ tends to 1. This means that for sufficiently small metric distortion the height of a protected simplex will be strictly positive.

Lemma 3.3.7 Let g be a metric field and P be a point set defined over R n . Let ψ 0 = ψ(g, E). Assume that P is a δ-power protected (ε, µ)-net over R n . Let φ be the dihedral angle between two faces of a simplex τ ∈ Del E (P). Then arcsin(s 0 ) ≤ φ ≤ πarcsin(s 0 ), with s 0 detailed in the proof.

Proof. Denote h min the lower bound on D(q, σ) obtained in the previous lemma. We also immediate have that

D(q, σ) ≤ 2ε.
Let ϕ be the dihedral angle between Aff(σ p ) and Aff(σ q ). Recall that

sin(ϕ) = sin ∠(Aff(σ p ), Aff(σ q )) = D(p, σ) D(p, σ q ) = D(q, σ) D(q, σ p ) Thus sin(ϕ) ≥ h min 2ε =: s 0 .
For s 0 to make sense, we want s 0 > 0, which is bound to happen as ψ 0 goes to 1, as shown in Lemma 3.3.6: h min goes to δ 2 /4ε thus h min /4ε goes to ι 2 /4 > 0.

Stability

The notion of stability designates the conservation of a property despite changes of other parameters. In our context, the main assumptions concern the nature of point sets: we assume that point sets are power protected nets and wish to preserve these hypotheses despite (small) metric perturbations. The stability is important both from a theoretical and a practical point of view. Indeed, if an assumption is stable under perturbation, we can simplify matters without losing information. For example, we will prove that if a point set is a net with respect to a metric field g, then it is also a net (albeit with slightly different sampling and separation parameters) for a metric field g ′ that is close to g (in terms of distortion) In a practical context, the stability of an assumption provides robustness with respect to numerical errors (see, for example, the work of Funke et al. [START_REF] Funke | Controlled perturbation for delaunay triangulations[END_REF] on the stability of Delaunay simplices).

Stability of the protected net hypothesis under metric transformation

The square root of a metric allows us to switch between the embedding space of the domain endowed with the Euclidean metric and the metric space endowed with the Euclidean metric. It is rather immediate that the power protected net property is preserved when the point set is transformed between these spaces, as shown by the following lemma. Lemma 3.4.1 Let P be a δ-power protected (ε, µ)-net in Ω. Let g = g 0 be a uniform Riemannian metric field and F 0 a square root of g 0 . If P is a δ-power protected (ε, µ)-net with respect to g 0 then P ′ = {F 0 p i , p i ∈ P} is a δ-power protected (ε, µ)-net with respect to the Euclidean metric.

Proof. This results directly from the observation that

d 0 (x, y) 2 = (x -y) t g 0 (x -y) = F 0 (x -y) 2 = d(F 0 x, F 0 y) 2 .

Stability of the protected net hypothesis under metric perturbation

Metric field perturbations are small modifications of a metric field in terms of distortion. Since a generic Riemannian metric field g is difficult to study, we will generally consider a uniform approximation g 0 of g within a small neighborhood, such that the distortion between both metric fields is small over that neighborhood. In that context, the perturbation of g is the act of bringing g onto g 0 . Stability of the assumption of power protection was previously investigated by Boissonnat et al. [START_REF] Boissonnat | Only distances are required to reconstruct submanifolds[END_REF] in the context of manifold reconstructions.

Stability of the net property

The following lemma shows that the "net" property is preserved when the metric field is perturbed: a point set that is a net with g is also a net with respect to g ′ , a metric field that is close to g. Lemma 3.4.2 Let U ⊂ Ω be open, and g and g ′ be two Riemannian metric fields on U . Let ψ 0 ≥ 1 be a bound on the metric distortion. Suppose that U is included in a ball B g (p 0 , r 0 ), with p 0 ∈ U and r 0 ∈ R + , such that ∀p ∈ B(p 0 , r 0 ), ψ(g(p), g ′ (p)) ≤ ψ 0 . Let P U be a finite point set in U . Suppose that P U is an (ε, µ)-net of U with respect to g. Then P U is an (ε g ′ , µ g ′ )-net of U with respect to g ′ with ε g ′ = ψ 0 ε and µ g ′ = µ/ψ 0 . Proof. By Lemma 3.1.4, we have that

∀x, y ∈ U, 1 ψ 0 d g ′ (x, y) ≤ d g (x, y) ≤ ψ 0 d g ′ (x, y). Therefore ∀x ∈ U, ∃p ∈ P U , d g (x, p) ≤ ε ⇒ ∀x ∈ U, ∃p ∈ P U , d g ′ (x, p) ≤ ψ 0 ε, and ∀p, q ∈ P U , d g (p, q) ≥ µ ⇒ ∀p, q ∈ P U , d g ′ (p, q) ≥ µ ψ 0 .
And, with ε g ′ = ψ 0 ε and µ g ′ = µ/ψ 0 , P is an (ε g ′ , µ g ′ )-net of U .

Remark 3.4. [START_REF]The Boost Graph Library: User Guide and Reference Manual[END_REF] We assumed that µ = λε. By Lemma 3.4.2, we have ε ′ = ψ 0 ε and µ ′ = µ ψ 0 . Therefore

µ ′ = λε ψ 0 = λ ψ 2 0 ε ′ .

Stability of the power protection property

It is more complex to show that the assumption of power protection is preserved under metric perturbation. Previously, we have only considered two similar but arbitrary Riemannian metric fields g and g ′ on a neighborhood U . We now restrict ourselves to the case where g ′ is a uniform metric field. We shall always compare the metric field g in a neighborhood U with the uniform metric field g ′ = g 0 = g(p 0 ) where p 0 ∈ U . Because g 0 and the Euclidean metric field differ only by a linear transformation, we simplify matters and assume that g 0 is the Euclidean metric field.

We now give conditions such that the point set is also protected with respect to g 0 . A few intermediary steps are needed to prove the main result:

• Given two seeds, we prove that the bisectors of these two seeds in the Voronoi diagrams built with respect to g and with respect to g ′ = g E are close (Lemma 3.4.5).

• We prove that the Voronoi cell of a point p 0 with respect to g, V g (p 0 ) can be encompassed by two scaled versions (one larger and one smaller) of the Euclidean Voronoi cell V E (p 0 ) (Lemma 3.4.12).

• We combine this encompassing with bounds on the dihedral angles of Euclidean Delaunay simplices given by Lemma 3.3.7 to compute a stability region around Voronoi vertices where the same combinatorial Voronoi vertex of lives for both V g (p 0 ) and V E (p 0 ) in 2D (Lemma 3.4.13).

We then extend it to any dimension by induction (Lemma 3.4.14).

The main result appears in Lemma 3.4.16 and gives the stability of power protection under metric perturbation.

We first define the scaled version of a Voronoi cell more rigorously.

Definition 3.4.4 (Relaxed Voronoi cell)

Let ω ∈ R. The relaxed Voronoi cell of the seed p 0 is

V +ω g (p 0 ) = {x ∈ U | d g (p 0 , x) 2 ≤ d g (p i , x) 2 + ω for all i = 0}.
The following lemma expresses that two Voronoi cells computed in similar metric fields are close.

Lemma 3.4.5 Let U ⊂ Ω be open, and g and g ′ be two Riemannian metric fields on U . Let ψ 0 ≥ 1 be a bound on the metric distortion. Suppose that U is included in a ball B g (p 0 , r 0 ), with p 0 ∈ U and r 0 ∈ R + , such that ∀p ∈ B g (p 0 , r 0 ), ψ(g(p), g ′ (p)) ≤ ψ 0 . Let P U = {p i } be a finite point set in U . Let V p 0 ,g denote a Voronoi cell with respect to the Riemannian metric field g.

Suppose that the Voronoi cell V 2ρ 2 (ψ 2 0 -1) g ′ (p 0 ) lies in a ball of radius ρ with respect to the metric g ′ , which lies completely in U . Let ω 0 = 2ρ 2 (ψ 2 0 -1). Then V g (p 0 ) lies in V +ω 0 g ′ (p 0 ) and contains V -ω 0 g ′ (p 0 ).

Proof.

Let BS g (p 0 , p i ) be the bisector between p 0 and p i with respect to g. Let y ∈ BS g (p 0 , p i ) ∩ B g ′ (p 0 , ρ), where B g ′ (p 0 , ρ) denotes the ball centered at p 0 of radius ρ with respect to g ′ . Now d g (y, p 0 ) = d g (y, p i ), and thus

|d g ′ (y, p 0 ) 2 -d g ′ (y, p i ) 2 | = d g ′ (y, p 0 ) 2 -d g (y, p 0 ) 2 + d g (y, p i ) 2 -d g ′ (y, p i ) 2 ≤ d g ′ (y, p 0 ) 2 -d g (y, p 0 ) 2 + d g ′ (y, p i ) 2 -d g (y, p i ) 2 ≤ (ψ 2 0 -1)(d g ′ (y, p 0 ) 2 + d g ′ (y, p i )) 2 ≤ 2ρ 2 (ψ 2 0 -1). Thus d g ′ (y, p 0 ) 2 ≤ d g ′ (y, p i ) 2 + ω and d g ′ (y, p 0 ) 2 ≥ d g ′ (y, p i ) 2
ω with ω = 2ρ 2 (ψ 2 0 -1), which gives us the expected result. Remark 3.4.6 Lemma 3.4.5 does not require g ′ to be a uniform metric field.

We clarify in the next lemma that the bisectors of a Voronoi diagram with respect to a uniform are affine hyperplanes. Lemma 3.4.7 Let U ⊂ Ω be open, and g and g ′ be two Riemannian metric fields on U . Let ψ 0 ≥ 1 be a bound on the metric distortion. Suppose that U is included in a ball B g (p 0 , r 0 ), with p 0 ∈ U and r 0 ∈ R + , such that ∀p ∈ B(p 0 , r 0 ), ψ(g(p), g ′ (p)) ≤ ψ 0 . Let P U = {p i } be a finite point set in U . Let g ′ be a uniform metric field. We refer to g ′ as g 0 to emphasis its constancy. Let p 0 ∈ P U . The bisectors of V ±ω 0 g 0 (p 0 ) are hyperplanes.

Proof. The bisectors of V ±ω 0 g 0 (p 0 ) are given by

BS ±ω 0 g 0 (p 0 , p i ) = x ∈ Ω | d g 0 (p 0 , x) 2 = d g 0 (p i , x) 2 ± ω 0 .
For x ∈ BS ±ω 0 g 0 (p 0 , p i ), we have by definition that

x -p 0 2 g 0 = x -p i 2 g 0 ± ω 0 ⇐⇒ (x -p 0 ) t g 0 (x -p 0 ) = (x -p i ) t g 0 (x -p i ) ± ω 0 ⇐⇒ 2x t g 0 (p i -p 0 ) = p t i g 0 p i -p t 0 g 0 p 0 ± ω 0 .
which is the equation of an hyperplane since g 0 is uniform.

The cells V ±ω 0 g 0 (p 0 ) are unfortunately impractical to manipulate as we do not have an explicit distance between the boundaries ∂ V g 0 (p 0 ) and ∂ V ±ω 0 g 0 (p 0 ). However that distance can be bounded; this is the purpose of the following lemma. Lemma 3.4.8 Let U ⊂ Ω be open, and g and g ′ be two Riemannian metric fields on U . Let ψ 0 ≥ 1 be a bound on the metric distortion. Suppose that U is included in a ball B g (p 0 , r 0 ), with p 0 ∈ U and r 0 ∈ R + , such that ∀p ∈ B(p 0 , r 0 ), ψ(g(p), g ′ (p)) ≤ ψ 0 . Let P U = {p i } be a finite point set in U . Assume furthermore that g 0 is the Euclidean metric field. Let p 0 ∈ P U . We have

d g 0 (∂ V g 0 (p 0 ), ∂ V ±ω 0 g 0 (p 0 )) := min x∈∂ Vg 0 (p 0 ) y∈∂ V ±ω 0 g 0 (p 0 ) d g 0 (x, y) ≤ ρ 2 0 (ψ 2 0 -1) µ 0 ,
with ρ 0 defined as ρ is in Lemma 3.4.5.

Proof. Let m ω 0 be the intersection of the segment [p 0 , p i ] and the bisector BS -ω 0 g 0 (p 0 , p i ), for i = 0. Let m be the intersection of the segment [p 0 , p i ] and ∂ V g 0 (p 0 ), for i = 0. We have

m ω 0 ∈ BS -ω 0 g 0 (p 0 , p i ) ⇐⇒ 2m T ω 0 (p i -p 0 ) = p T i p i -p T 0 p 0 -ω 0 m ∈ ∂ V g 0 (p 0 ) ⇐⇒ 2m T (p i -p 0 ) = p T i p i -p T 0 p 0 Therefore 2(m -m ω 0 ) T (p i -p 0 ) = ω 0 .
Since (mm ω 0 ) and (p ip 0 ) are linearly dependent,

ω 0 = 2 |m -m ω 0 | |p i -p 0 | . P is µ 0 -separated, which implies that ω 0 ≥ 2 |m -m ω 0 | µ 0 ,
and

|m -m ω 0 | ≤ ω 0 2µ 0 = ρ 2 0 (ψ 2 0 -1) µ 0 .
Definition 3.4.9 In the following, we use ρ = 2ε 0 , and therefore ω 0 = 8ε 2 0 (ψ 2 0 -1). We show that this choice is reasonable in Lemma 3.4.15. Additionally, we define

η 0 = ρ 2 0 (ψ 2 0 -1) µ 0 .
We are now ready to encompass the Riemannian Voronoi cell of p 0 with respect to an arbitrary metric field g with two scaled versions of the Euclidean Voronoi cell of p 0 . The notions of dilated and eroded Voronoi cells will serve the purpose of defining precisely these scaled cells. Definition 3.4.10 (Eroded Voronoi cell) Let ω ∈ R. The eroded Voronoi cell of p 0 is the morphological erosion of V g (p 0 ) by a ball of radius ω:

EV -ω g (p 0 ) = {x ∈ V g (p 0 ) | d g (x, ∂ V g (p 0 )) > ω}.
Definition 3.4.11 (Dilated Voronoi cell) Let ω ∈ R. The dilated Voronoi cell of p 0 is:

DV +ω g (p 0 ) = i =0 H ω (p 0 , p i ),
where H ω (p 0 , p i ) is the half-space containing p 0 and delimited by the bisector BS(p 0 , p i ) translated away from p 0 by ω 0 (see Figure 3.8).

The second important step on our path towards the stability of power protection is the encompassing of the Riemannian Voronoi cell, and is detailed below. Lemma 3.4.12 Let U ⊂ Ω be open, and g and g ′ be two Riemannian metric fields on U . Let ψ 0 ≥ 1 be a bound on the metric distortion. Suppose that U is included in a ball B g (p 0 , r 0 ), with p 0 ∈ U and Since the bisectors BS ω 0 g ′ (p 0 , p i ) are hyperplanes, the result follows.

r 0 ∈ R + , such that ∀p ∈ B(p 0 , r 0 ), ψ(g(p), g ′ (p)) ≤ ψ 0 . Let P U = {p i } be a finite point set in U . We have EV -η 0 g 0 (p 0 ) ⊆ V -ω 0 g 0 (p 0 ) ⊆ V g 0 (p 0 ) ⊆ V +ω 0 g 0 (p 0 ) ⊆ DV +η 0 g 0 (p 0 ).

These inclusions are illustrated in

In Figures 3.8 and 3.9, DV +η 0 g 0 and EV -η 0 g 0 are shown in green and V g 0 in yellow. The next step is to prove that we have stability of the Voronoi vertices of V g (p 0 ), meaning that a small perturbation of the metric only creates a small displacement of any Voronoi vertex of the Voronoi cell of p 0 . The following lemma shows that Voronoi vertices are close if the distortion between the metric fields g and g 0 is small. The approach is to use Lemmas 3.4.5 and 3.4.12: we know that each (n -1)-face of the Riemannian Voronoi cell V g (p 0 ) and shared by a Voronoi cell V g (q) is enclosed within the bisectors of DV g 0 (p 0 ) and EV g 0 (p 0 ) (which are translations of the bisectors of V g 0 (p 0 )) for the seeds p 0 and q. These two bisectors create a "band" that contains the bisector BS g (p 0 , q). Given a Voronoi vertex c in V g (p 0 ), c can be obtained as the intersection of n + 1 Voronoi cells, but also as the intersection of n Voronoi (n -1)-faces of V g (p 0 ). The intersection of the bands associated to those n (n -1)-faces is a parallelotopic-shaped region which by definition contains the same (combinatorially speaking) Voronoi vertex, but for V g 0 (p 0 ). Lemmas 3.4.13 and 3.4.14 express this reasoning, which is illustrated in Figure 3.9 for 2D and 3.10 for any dimension.

p 0 η η V g0 (p 0 ) DV +η0 g0 (p 0 ) EV -η0 g0 (p 0 ) V +ω0 g0 (p 0 ) V -ω0 g0 (p 0 ) Figure 3.8:
The different encompassing cells around p 0 . The Riemannian Voronoi diagrams with respect to g and g 0 are traced in dark cyan and black respectively. The Voronoi cell V g 0 (p 0 ) is colored in yellow. The cells DV +η 0 g 0 and EV -η 0 g 0 are colored in green, and the cells V ±ω 0 g 0 (p 0 ) are colored in purple.

Lemma 3.4. [START_REF] Batchelor | A rigorous framework for diffusion tensor calculus[END_REF] We consider here Ω = R 2 . Let U ⊂ Ω be open, and g and g ′ be two Riemannian metric fields on U . Let ψ 0 ≥ 1 be a bound on the metric distortion. Suppose that U is included in a ball B g (p 0 , r 0 ), with p 0 ∈ U and r 0 ∈ R + , such that ∀p ∈ B(p 0 , r 0 ), ψ(g(p), g ′ (p)) ≤ ψ 0 . Let P U = {p i } be a finite point set in U . Assume furthermore that P U is a δ 0 -power protected (ε 0 , µ 0 )-net with respect to g 0 (the Euclidean metric). Let p 0 ∈ P U . Let c and c 0 be the same Voronoi vertex in respectively V g (p 0 ) and V g 0 (p 0 ). Then d g 0 (c, c 0 ) ≤ χ 2 with

χ 2 = 2η 0 1 + µ 0 2ε 0 -1 -µ 0 2ε 0 = 2η 0 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 .
where λ is given by µ 0 = λ ψ 2 0 ε 0 (see Lemma 3.4.3).

Proof. We use Lemma 3.4.12. V g (p 0 ) lies in DV +η 0 g 0 and contains EV -η 0 g 0 . The circumcenters c and c 0 lie in a parallelogrammatic region centered on c 0 , itself included in the ball centered on c 0 and with radius χ. The radius χ is given by half the length of the longest diagonal of the parallelogram (see Figure 3.9). By Lemma 3.4.2, P is an (ε 0 , µ 0 )-net with respect to g 0 . Let θ be the angle of the Voronoi corner of V g 0 (p 0 ) at c 0 . By Lemma 3.3.1, that angle is bounded:

θ m = 2 arcsin µ 0 2ε 0 ≤ θ ≤ π -arcsin µ 0 2ε 0 = θ M .
Since πθ M < θ m , χ is maximal when θ > π/2. We thus assume θ > π/2, and compute a bound on χ as follows:

sin π -θ 2 = η 0 χ =⇒ χ = η 0 sin π-θ 2 ≤ η 0 sin 1 2 arcsin µ 0 2ε 0 ≤ 2η 0 1 + µ 0 2ε 0 -1 -µ 0 2ε 0 =: χ 2 , using sin( 1 2 arcsin(α)) = 1 2 √ 1 + α - √ 1 -α . c ′ c χ EV -η0 g0 (p 0 ) η0 θ c ′ V g0 (p 0 ) DV +η0 g0 (p 0 ) θ η 0 V g0 (p 0 ) EV -η0 g0 (p 0 ) η 0 DV +η0 g0 (p 0 ) c η0 χ Figure 3
.9: Black lines trace Vor g 0 and cyan lines trace Vor g . The cell V g 0 (p 0 ) is colored in yellow and the cell V g (p 0 ) is dashed. The green regions correspond to DV +η g 0 (p 0 ) and EV -η g 0 (p 0 ). On the left, the configuration where θ < π/2; on the right, θ > π/2.

The result obtained in Lemma 3.4.13 can be extended to any dimension using induction and the stability of the Voronoi vertices of facets. Lemma 3.4. [START_REF] Bentley | Multidimensional binary search trees used for associative searching[END_REF] We consider here Ω = R n . Let U ⊂ Ω be open, and g and g ′ be two Riemannian metric fields on U . Let ψ 0 ≥ 1 be a bound on the metric distortion. Suppose that U is included in a ball B g (p 0 , r 0 ), with p 0 ∈ U and r 0 ∈ R + , such that ∀p ∈ B(p 0 , r 0 ), ψ(g(p), g ′ (p)) ≤ ψ 0 . Let P U = {p i } be a δ 0 -power protected (ε 0 , µ 0 )-net with respect to g 0 (the Euclidean metric). Let p 0 ∈ P U . Let c and c 0 be the same Voronoi vertex in respectively V g (p 0 ) and V g 0 (p 0 ). Then

d g 0 (c, c 0 ) ≤ χ with χ = χ 2 sin n-2 ϕ 0 2 .
where χ 2 is defined as in Lemma 3.4.13, and ϕ 0 is the maximal dihedral angle between two faces of a simplex.

Proof. We know from Lemma 3.4.5 that V g (p 0 ) lies in DV +η 0 g 0 and contains EV -η 0 g 0 . The circumcenters c and c 0 lie in a parallelotopic region centered on c 0 defined by the intersection of n Euclidean thickened Voronoi faces. This parallelotope and its circumscribing sphere are difficult to compute. However, it can be seen as the intersection of two parallelotopic tubes defined by the intersection of Figure 3.10: Left, a simplex, the duals of two faces and their respective thickened duals (cylinders); the orange thickened dual is orthogonal to the purple face (and inversely). Right, the intersection of the two tubes, seen from above, illustrates the proof of Lemma 3.4.14.

n -1 Euclidean thickened Voronoi faces. From another point of view, this is the computation of the intersection of the thickened duals of two facets τ 1 and τ 2 incident to p 0 of the simplex σ ∈ Del g 0 (P), dual of c (and c 0 ), see Figure 3.10 (left).

The stability radius χ is computed incrementally by increasing the dimension and proving stability of the circumcenters of the faces of the simplices. We prove the formula by induction.

The radius of each tube is given by the stability of the radius of the circumcenter in the lower dimension of the facet. The base case, R n = R 3 , is solved by Lemma 3.4.13, and gives

χ 2 = 2η 0 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 .
We now consider two facets τ 1 and τ 2 that are incident to p 0 . Denote D 1 and D 2 their respective duals. By Lemma 3.4.5, D 1 and D 2 lie in two cylinders C 1 and C 2 of radius χ 2 . C 1 and C 2 are also orthogonal to τ 1 and τ 2 and c and c 0 lie in C 1 ∩ C 2 . The angle ϕ between C 1 and C 2 is exactly the dihedral angle between τ 1 and τ 2 . By Lemma 3.3.7, we have

arcsin(s 0 ) ≤ ϕ ≤ π -arcsin(s 0 ) with s 0 = 1 2 ι 2 4ψ 2 0 - 1 2 ψ 2 0 - 1 ψ 2 0
Let ϕ 0 = arcsin(s 0 ) = πarcsin(s 0 ). We encompass the intersection of the cylinders, difficult to compute, with a sphere whose radius can be computed as follows (see Figure 3.10, right):

χ 3 = χ 2 cos(α) with α = π 2 - ϕ 0 2 .
Thus,

χ 3 = χ 2 sin ϕ 0 2 . Recursively, χ = χ 2 sin n-2 ϕ 0
We have assumed in different lemmas that we could pick values of ρ 0 or ω 0 that fit our need. The following lemma shows that these assumptions were reasonable. Lemma 3.4.15 Lemmas 3.4.12 and 3.4.14 allow us to characterize the parameter ρ 0 more precisely. Indeed, an assumption of Lemma 3.4.5 was that V ω 0 g 0 (p 0 ) is included in a ball B g 0 (p 0 , ρ 0 ). If the sampling of P is sufficiently dense, such an assumption is reasonable.

Proof.

By definition, the Voronoi cell V ω 0 g 0 (p 0 ) is included in the dilated cell DV +η 0 g 0 (p 0 ). Since the point set is an ε-sample, we have d g 0 (p 0 , x) ≤ ε 0 for x ∈ V g 0 (p 0 ). By Lemma 3.4.14, we have for

x ∈ DV +η 0 g 0 (p 0 ) d g 0 (p 0 , x) ≤ ε 0 + χ. Recall from Lemma 3.4.14 that χ = χ 2 sin 1 2 arcsin (s 0 ) n-2 .
with

η 0 = ρ 2 0 (ψ 2 0 -1) µ 0 and s 0 = 1 2 ι 2 4ψ 2 0 -1 2 ψ 2 0 -1 ψ 2 0 . We require V ω 0 g 0 (p 0 ) ⊂ B g 0 (p 0 , ρ 0 ), which is verified if DV +η 0 g 0 (p 0 ) ⊂ B g 0 (p 0 , ρ 0 ), that is if ε 0 + χ 2 sin 1 2 arcsin (s 0 ) n-2 ≤ ρ 0 ⇐⇒ 4η 0 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 √ 1 + s 0 - √ 1 -s 0 n-2 ≤ ρ 0 -ε 0 ⇐⇒ 4ρ 2 0 (ψ 2 0 -1) µ 0 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 √ 1 + s 0 - √ 1 -s 0 n-2 ≤ ρ 0 -ε 0 ⇐⇒ 4(ψ 2 0 -1) 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 √ 1 + s 0 - √ 1 -s 0 n-2 ≤ µ 0 (ρ 0 -ε 0 ) ρ 2 0 ⇐⇒ 4ψ 0 (ψ 2 0 -1) 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 √ 1 + s 0 - √ 1 -s 0 n-2 ≤ λε(ρ 0 -ε 0 ) ρ 2 0
, by Remark 3.4.3.

The parameter ρ 0 can be chosen arbitrarily as long as it is greater than ε 0 , and we have taken ρ 0 = 2ε 0 (see Definition 3.4.9), which imposes

ψ 2 0 (ψ 2 0 -1) 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 √ 1 + s 0 - √ 1 -s 0 n-2 ≤ λ 16 . (3.7)
Recall that the parameter λ is fixed. By continuity of the metric field, lim ε→0 ψ 0 = 1, therefore the left hand side goes to 0 and Inequality (3.7) is eventually satisfied as the sampling is made denser.

Finally, we can now show the main result: the power protection property is preserved when the metric field is perturbed. Lemma 3.4. [START_REF] Boissonnat | Comparison of algorithms for anisotropic meshing and adaptive refinement[END_REF] Let U ⊂ Ω be open, and g and g ′ be two Riemannian metric fields on U . Let ψ 0 ≥ 1 be a bound on the metric distortion. Suppose that U is included in a ball B g (p 0 , r 0 ), with p 0 ∈ U and r 0 ∈ R + , such that ∀p ∈ B(p 0 , r 0 ), ψ(g(p), g ′ (p)) ≤ ψ 0 . Assume that P U is a δ-power protected (ε, µ)-net in U with respect to g. If δ is well chosen, then P U is a δ 0 -power protected net with respect to g 0 , with

δ 2 0 = 1 ψ 2 0 -ψ 2 0 (ε + χ) 2 - 4εχ ψ 2 0 + δ 2 ψ 2 0 .
Proof. By Lemma 3.4.2, we know that P U is (ε 0 , µ 0 )-net with respect to g 0 . Let q ∈ P U , with q not a vertex in the dual of c. Let c 0 be the combinatorial equivalent of c in V g 0 (P) Since P is a δ-power protected net with respect to g, we have d g (c, q) > √ r 2 + δ 2 , where r = d g (c, p). On the one hand, we have

d g 0 (c 0 , q) ≥ d g 0 (q, c) -d g 0 (c, c 0 ) ≥ 1 ψ 0 d g (q, c) -χ ≥ 1 ψ 0 r 2 + δ 2 -χ.
by Lemma 3.4.13. On the other hand, for any p ∈ P U such that p is a vertex of the dual of c, we have

r 0 = d g 0 (c 0 , p) ≤ d g 0 (c, p) + d g 0 (c 0 , c) ≤ ψ 0 d g (c, p) + χ ≤ ψ 0 r + χ.
Thus δ 0 -power protection of P U with respect to g 0 requires

1 ψ 0 r 2 + δ 2 -χ > χ + ψ 0 r ⇐⇒ r 2 + δ 2 > ψ 0 (2χ + ψ 0 r).
This is verified if

δ 2 > (ψ 0 (2χ + ψ 0 r)) 2 -r 2 = 4χ 2 ψ 2 0 + 4χψ 3 0 r + ψ 4 0 r 2 -r 2 = 4χ 2 ψ 2 0 + 4χψ 3 0 r + (ψ 4 0 -1)r 2 , for all r ∈ [µ/2, ε]. This gives us δ 2 > 4χ 2 ψ 2 0 + 4χψ 3 0 ε + (ψ 4 0 -1)ε 2 . (3.8)
This condition on δ is only reasonable if the right hand side is not too large. Indeed, since P is an ε-sample, we must have d g (c, q) < 2ε. However, we have that d g (c, q) 2 > d g (c, p) 2 + δ 2 by δ-power protection of P with respect to g. Because d g (c, p) < ε, it suffices that δ < ε. We will now show that this is reasonable by examining the limit of the right hand side of Inequality (3.8).

We note, see Lemma 3.4.14, that

χ = χ 2 sin n-2 ϕ 2 = 4η 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 √ 1 + s 0 - √ 1 -s 0 n-2 ,
where ε 0 = ψ 0 ε and µ 0 = µ/ψ 0 = λε/ψ 0 (see Remark 3.4.3). So that

4χ 2 ψ 2 0 + 4χψ 3 0 ε + (ψ 4 0 -1)ε 2 = 4    16εψ 4 0 (ψ 2 0 -1) λ 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 √ 1 + s 0 - √ 1 -s 0 n-2    2 + 4 16εψ 3 0 (ψ 2 0 -1) λ 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 √ 1 + s 0 - √ 1 -s 0 n-2 ψ 3 0 + (ψ 2 0 -1)(ψ 2 0 + 1)ε 2 . (3.9)
This means that the right hand side of (3.8) is of the form f (ψ 0 )(ψ 2 0 -1)ε 2 , where f (ψ 0 ) is a function that tends to a constant as ψ 0 goes to 1:

f (ψ 0 ) = 4    16ψ 4 0 λ 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 √ 1 + s 0 - √ 1 -s 0 n-2    2 + 4 16ψ 6 0 λ 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 √ 1 + s 0 - √ 1 -s 0 n-2 + (ψ 2 0 + 1) ψ 0 →1 -→ 4      16 λ 1 + λ 2 -1 -λ 2 1 + ι 2 4 -1 -ι 2 4 n-2      2 + 4 16 λ 1 + λ 2 -1 -λ 2 1 + ι 2 4 -1 -ι 2 4 n-2 + 2
So the bound given in Equality (3.8) may be easily satisfied if the metric distortion is sufficiently small. We now provide an explicit value for δ 0 in terms of δ. Let ξ = d g (c, q) and ξ 0 = d g 0 (c 0 , q 0 ). We have the following bounds on r 0 and ξ 0 :

1 ψ 0 (r -ξ) ≤ r 0 ≤ ψ 0 (r + ξ) 1 ψ 0 (r -χ) 2 + δ 2 ≤ ξ 0 ≤ ψ 0 (r + χ) 2 + δ 2 .
If we had δ-power protection, we would have

r 2 0 + δ2 ≤ ξ 2 0 ⇐⇒ δ2 ≤ ξ 2 0 -r 2 0 ⇐⇒ δ2 ≤ 1 ψ 2 0 (r -χ) 2 + δ 2 -ψ 2 0 (r + χ) 2 ⇐⇒ δ2 ≤ 1 ψ 2 0 (r + χ) 2 - 4rχ ψ 2 0 + δ 2 ψ 2 0 -ψ 2 0 (r + χ) 2 ⇐= δ2 ≤ 1 ψ 2 0 -ψ 2 0 (ε + χ) 2 - 4εχ ψ 2 0 + δ 2 ψ 2 0 .
Therefore we can take

δ 2 0 = δ 2 ψ 2 0 + 1 ψ 2 0 -ψ 2 0 (ε + χ) 2 -4εχ ψ 2 0
. Note that with this definition, δ 0 goes to δ as ψ 0 goes to 1, which proves that our value of δ 0 is legitimate.

Conclusion

We have proved in this chapter various results on the quality of Delaunay triangulations and Voronoi diagrams built from specific types of point sets, power protected nets. These results form the basis of all the theoretical work on the algorithms presented in other chapters of this thesis.

Part I Anisotropic Delaunay triangulations

Locally uniform anisotropic meshes

The Delaunay triangulation has been extensively studied and is well known to possess useful and well-defined properties (see Preparata and Shamos [START_REF] Preparata | Computational geometry: an introduction[END_REF]). Attempts have been made to extend the notion of Delaunay triangulation to the anisotropic setting either by adapting the famous Bowyer-Watson algorithm (Mavriplis [START_REF] Mavriplis | Adaptive mesh generation for viscous flows using triangulation[END_REF], Borouchaki [START_REF] Borouchaki | Delaunay mesh generation governed by metric specifications. part Ialgorithms[END_REF], Dobrzynski [START_REF] Dobrzynski | Anisotropic Delaunay mesh adaptation for unsteady simulations[END_REF], Alauzet [4]) or as the dual of an anisotropic Voronoi diagram (see Labelle and Shewchuk [START_REF] Labelle | Anisotropic Voronoi diagrams and guaranteed-quality anisotropic mesh generation[END_REF], Du and Wang [START_REF] Du | Anisotropic centroidal Voronoi tessellations and their applications[END_REF]). However, neither class of method offer in all dimensions the theoretical guarantees nor the practical robustness that we are interested in.

A theoretically sound framework for Delaunay-based anisotropic meshes was introduced by Boissonnat et al. [START_REF] Boissonnat | Locally uniform anisotropic meshing[END_REF], called "locally uniform anisotropic meshes". Locally uniform anisotropic meshes are simplicial complexes in which the star of each vertex is Delaunay for the metric attached to the vertex. The use of anisotropic stars, inspired by the works of Shewchuk [START_REF] Shewchuk | Star splaying: an algorithm for repairing Delaunay triangulations and convex hulls[END_REF] and Schoen [START_REF] Schoen | Robust, guaranteed-quality anisotropic mesh generation[END_REF], is combined with the sliver removal techniques proposed by Li and Teng [START_REF] Li | Sliver-free Three Dimensional Delaunay Mesh Generation[END_REF][START_REF] Li | Generating well-shaped Delaunay meshed in 3d[END_REF]. These techniques are adapted to the anisotropic setting to construct a star-based refinement algorithm that cleverly selects refinement points. The algorithm works in any dimension and offers guarantees on its termination and on the quality (size and shape) of the final simplices.

While the theoretical aspect of the approach has been thoroughly studied [START_REF] Boissonnat | Locally uniform anisotropic meshing[END_REF][START_REF] Boissonnat | Anisotropic Delaunay mesh generation[END_REF], its practicality is comparatively not as well explored. This chapter intends to fill this gap and presents a comprehensive empirical study of the algorithm. We first recall the required theoretical basis and detail some minor changes brought to the theory after practical experimentation. We then dive in the heuristic analysis of the behavior of the algorithm and its parameters and propose some improvements. A strong focus is put on the phenomenon of inconsistencies, which turns out to be a real issue of the algorithm.

Contributions

We introduce an implementation of the anisotropic Delaunay refinement algorithm introduced by Boissonnat et al. [START_REF] Boissonnat | Locally uniform anisotropic meshing[END_REF]. We specifically detail the technical issues, and their solution, that arise when aiming for efficiency. This implementation of the star set is completely new and results in significant improvements in terms of computational speed, robustness and genericity over the former implementation that was used in [START_REF] Boissonnat | Anisotropic Delaunay meshes of surfaces[END_REF].

The empirical study of our implementation and of the algorithm is comprehensive and produce (minor) theoretical improvements. We investigate the practicality of the algorithm, analyze its limitations and propose various fixes that attempt to remedy these limitations.

The star set

Many algorithms have been devised to construct Euclidean Delaunay triangulations, but they cannot be simply extended to arbitrary metric fields. Although the computation of a curved Riemannian Delaunay triangulation is difficult, it is easy to compute the Delaunay triangulation of a set of points P with respect to the metric G p (Del p (P)). Indeed, recall from Chapter 2 that

d p (a, b) = (a -b) t F t p F p (a -b) = F p (a -b) ,
where F p is the square root of G p . Any metric-dependent geometric construction on a set of points P, like the Voronoi diagram or a simplex circumcircle, can therefore be obtained for the metric G p by the following set of operations. First, compute the transformed point set F p (P). Then, compute the construction with the Euclidean norm on F p (P) and transform the result back through F -1 p . The triangulation Del p (P) is thus simply the image through the stretching transformation F -1 p of the Euclidean Delaunay triangulation Del(F p (P)) where F p (P) = {F p p i , p i ∈ P}.

As explained in the Section 2.2 of Chapter 2, a sphere in metric space is an ellipsoid in the Euclidean space. Each simplex of a uniformly anisotropic Delaunay triangulation Del p (P) thus possesses an empty circumscribing ellipsoid, the inverse-transformed Delaunay ball from metric to Euclidean space (see Figure 4.1). The central idea of the framework of locally uniform anisotropic meshes is to approximate at each vertex p a given arbitrary metric field g by the uniform metric defined by extending G p over the domain (that is the metric field g 0 : q ∈ Ω → G p ). Similarly to the way affine functions are locally good approximations of a generic continuous function, the approximation of an arbitrary metric field by a uniform metric will be accurate as long we stay in a small neighborhood. At each vertex, a Delaunay triangulation that conforms to the uniform metric field of that vertex is constructed. These independent triangulations can -under some density conditions -be combined to obtain a final triangulation of the domain.

Stars and inconsistencies

The star of a vertex p in a simplicial complex K, denoted by S p , is defined as the subcomplex of K formed by the set of simplices that are incident to p. The idea of considering independent stars at the vertices of a point set was first conceived by Shewchuk [START_REF] Shewchuk | Star splaying: an algorithm for repairing Delaunay triangulations and convex hulls[END_REF] to handle moving vertices in finite element meshes. This structure was also employed by Schoen [START_REF] Schoen | Robust, guaranteed-quality anisotropic mesh generation[END_REF], who introduced anisotropic stars whose connectivity is obtained by building an isotropic Delaunay mesh of a transformed point set. The star S p of p ∈ P is in that case extracted from the complex Del p (P). This construction was described in the previous section and forms the core of the locally uniform anisotropic mesh framework. The collection of all the stars is called the (anisotropic) star set of P and is noted S(P).

As the connectivity of each star is set according to the metric G p at the center of the star, a given n-simplex has n + 1 different Delaunay balls, one with respect to the metric of each vertex of the simplex. Consequently, there are in general inconsistencies among the stars of the sites: a simplex τ , appearing in the stars of some of its vertices, may not appear in the stars of all of them (Figure 4.2). If a simplex is involved in such configuration, it is said to be inconsistent. Stars containing such simplices are inconsistent stars and a star set with at least one inconsistent star is also said to be inconsistent. Oppositely, a star whose simplices are consistent is said to be consistent and a star set is consistent if all of its stars are consistent. The main idea of the algorithm is to refine the set of sites P while maintaining the set of stars S(P) until each star S p in S(P) is composed of simplices that are well shaped and well sized in the metric G p , and until there are no more inconsistencies among the stars. Once a consistent star set is achieved (which is proven to happen), all the stars can be stitched into a single triangulation: a locally uniform anisotropic mesh that conforms to the specified metric field and offers guarantees on the quality of the simplices.

Slivers and quasi-cosphericities

To be able to merge a star set into a triangulation, the stars must have compatible connectivity; in other words, the star set must be consistent.

It can be shown (see Lemma 4.1.2) that once the point set P is dense enough such that the distortion between adjacent points is bounded, inconsistencies are only created by quasi-cosphericities, a degenerate geometrical configuration where n+2 points all lie almost on a n+1-sphere. Some of these quasi-cosphericities are related to slivers, well-known problematic elements of simplicial meshes [START_REF] Li | Sliver-free Three Dimensional Delaunay Mesh Generation[END_REF][START_REF] Shewchuk | What is a good linear finite element? Interpolation, conditioning, anisotropy, and quality measures[END_REF][START_REF] Tournois | Perturbing slivers in 3D Delaunay meshes[END_REF]. Both notions are now recalled and the link between inconsistencies, quasi-cosphericities and slivers is explained.

Sliver

The definition of a sliver with respect to a metric is derived from the isotropic definition of Cheng et al. [START_REF] Cheng | [END_REF]. For a k-simplex τ , the circumscribing G p -ball of τ is given by B p (c p (τ ), r p (τ )) and the shortest edge G p -length is given by e p (τ ). The radius-edge ratio is a classical indicator of the quality of a simplex and is defined as ρ p (τ ) = r p (τ )/e p (τ ). The sliverity ratio σ p (τ ) is given by the ratio Vol p (τ )/e k p (τ )

1 k , where Vol p (τ ) is the G p -volume of τ . Two (positive) constant parameters, ρ 0 and σ 0 , control how degenerate a simplex can be before it is called a sliver. The simplex τ is said to be

• well-shaped for G p , if ρ p (τ ) ≤ ρ 0 and σ p (τ ) ≥ σ 0 ; • a sliver for G p , if ρ p (τ ) ≤ ρ 0 and σ p (τ ) < σ 0 ;
• a k-sliver for G p , if it is a sliver but all its (k -1)-faces are well-shaped.

Slivers are undesirable simplices as they can compromise the convergence and quality of numerical simulations.

Quasi-cospherical configurations Let ψ 0 be a bound on the distortion and G a metric. A subset P ′ of n + 2 points is said to be a (ψ 0 , G)-cosphericity if there exists two metrics G ′ and G ′′ such that

• ψ(G, G ′ ) ≤ ψ 0 , ψ(G, G ′′ ) ≤ ψ 0 and ψ(G ′ , G ′′ ) ≤ ψ 0 ,
• the triangulations Del G ′ (P ′ ) and Del G ′′ (P ′ ) are different.

A quasi-cosphericity involves multiple simplices, some of whom might be slivers. When the values of G and ψ 0 are obvious or irrelevant, the term quasi-cosphericity is used. The following lemma relates quasi-cospherical configurations and inconsistencies.

Lemma 4.1.2 Let τ be an inconsistent simplex of star S p . If ψ(τ ) < ψ 0 , then there exists a site q ∈ P such that the configuration (τ, q) is (ψ 0 , G p )-cospherical.

Proof. This result is a direct consequence from the definition of an inconsistency: an inconsistency is a geometrical configuration in which a simplex τ exists in a star S p , but not in another star S q (with p, q ∈ τ ). In other words, there exists a point r such that r ∈ B q (τ ) but r ∈ B p (τ ), which is the definition of a quasi-cosphericity.

The intent is thus to refine the star set while avoiding the apparition and presence of quasicosphericities in the star set: by contrapositive, the absence of quasi-cosphericities gives us the absence of inconsistencies when the mesh is dense. However, quasi-cosphericities that contain slivery simplices cannot be avoided (see the proof of the Picking Lemma in [START_REF] Boissonnat | Anisotropic Delaunay mesh generation[END_REF]); slivery simplices must therefore be eliminated first.

Refinement algorithm

The simplest idea to refine a simplex τ in a star S p is to insert a new site at the center c p (τ ) of the Delaunay G p -ball of τ . This technique is very common in Delaunay refinement algorithm as the Delaunay ball of the simplex is by construction not empty after the insertion of its center and thus the simplex cannot appear in the new Delaunay triangulation.

This simple strategy may unfortunately lead to cascading occurrences of inconsistencies, for the same reason that the refinement of Delaunay meshes cannot remove slivers. An alternative strategy is devised, inspired by the work of Li and Teng [START_REF] Li | Generating well-shaped d-dimensional Delaunay meshes[END_REF][START_REF] Li | Generating well-shaped Delaunay meshed in 3d[END_REF] to avoid slivers in isotropic meshes. The adaptation of Li and Teng's techniques to the present algorithm and the development of the refinement algorithm are described in detail in the following.

The Pick_valid procedure

The central idea in the work of Li and Teng is to relax the choice of the refinement point of a simplex: the refinement point is no longer the center of the Delaunay ball, but is instead carefully chosen from a small picking region around this center. In the framework of locally uniform anisotropic meshes, the wiggle room in the choice of the refinement point allows to find refinement point who destroy inconsistent simplices without creating new quasi-cosphericities.

The region in which refinement points are picked is called the G p -picking region of a simplex τ in the star S p is defined as the G p -ball B p (c p (τ ), δr p (τ )) and is denoted by P p (τ ). The constant parameter δ < 1 is the picking ratio, which controls the size of this small region. A refinement point picked in the picking region is called a candidate (point). These definitions are illustrated in Figure 4.5.

By construction, a candidate point p in P q (τ ) is included in B q (τ ) since δ < 1. The simplex τ is thus sure to be removed from S q when p is inserted in Del q (P) since τ is not a Delaunay simplex anymore. However, the insertion of p in the star set should not result in the creation of new slivers or inconsistencies. It is, in fact, not always possible to completely avoid the formation of new inconsistencies when choosing a refinement point in the picking region P p (τ ) of a simplex τ of S p . A refinement point p ∈ P q (τ ), is said to be valid if the insertion of p in the star set does not trigger the appearance of small inconsistent facets, where a simplex τ ′ in S q is considered small if the G q -radius r q (τ ′ ) of its Delaunay ball is less than βr q (τ ), for a given parameter β ≥ 1.

The Pick_valid procedure is detailed in Algorithm 1.

Algorithm 1 Pick_valid(τ, G q )

Step (1) Pick randomly a point p in the picking region P q (τ )

Step (2) Avoid small slivers if the insertion of p in some star S r , creates a k-simplex τ ′ , with k ≤ d such that τ ′ is a k-sliver (ρ r (τ ′ ) ≤ ρ 0 and σ r (τ ′ ) ≤ σ d 0 ) with G r -circumradius less than βr, then discard p and go back to step 1.

Step (3) Avoid small quasi-cosphericities if the point p forms an inconsistent d-simplex with distortion less than γ 0 in some star S r , with a G r -circumradius smaller than βr p (τ ), then Discard p and go back to step 1.

Step (4) Return p.

As shown in the next sections, it can be proven that once the distortion of simplices is low enough, valid points exist in the picking region.

Forbidden zones

The Pick_valid algorithm tries to avoid the creation of small slivers and small quasi-cosphericities during the insertion of the refinement point. These bad geometrical configurations are created by combinations of vertices neighboring the refinement point. In R n , a set of n + 1 vertices S creates regions of the domain where the refinement point should not lie in order to not create small slivers or small quasi-cosphericities. This region is called a forbidden region. By definition, the forbidden region of a simplex σ is the union of points in Ω that fall within at least one Delaunay ball of σ but do not fall within all the n + 1 Delaunay balls. Due to the multitude of neighbors around a vertex, many forbidden regions usually exist.

To simplify theoretical purposes, we can encompass a forbidden region within two G-spheres (with G an arbitrary metric), as done in Figure 4.4. These two spheres create a forbidden G-ring of σ, which we denote F G (σ).

p q r c B r (τ ) B q (τ ) B p (τ ) F p (τ ) τ Figure 4.4:
The forbidden region (dashed) and forbidden ring (colored red) of a simplex, illustrated in Euclidean space.

Remark 4.2.1 The notion of forbidden ring depends on the choice of a metric, while the notion of forbidden region does not.

When picking a point p to refine a simplex σ in a star S q , if p does not belong to the G q -ring of σ, then it does not create a quasi-cosphericity with the vertices of σ. The intersection of the forbidden G q -ring and the picking region P q (σ) of a simplex is called a forbidden zone of the picking region. There is by definition no valid point when forbidden zones cover entirely the picking region. B q (τ ) A simplex τ , its Delaunay ball B q (τ ) (in the metric G q ) and the picking region P(τ ), in blue. Two forbidden rings (in red) are created by neighboring vertices, one created by s and t along with a vertex of τ , r; and one created by u, v, w. One possible valid refinement point in P q (τ ) is drawn in green and one possible invalid point in red.

F q (uvw) F q (rst) r t c q (τ )

Thickness of a forbidden zone

Simply applying the definition of a quasi-cosphericity, the forbidden ring associated to a simplex τ is a region of space where points fall in at least one but not al of the Delaunay balls of τ . Therefore, the area of a forbidden ring is proportional to the distortion between the metrics of the vertices of the simplex: the larger the distortion, the larger the difference between the Delaunay balls and the wider the forbidden ring. The Pick_valid procedure is thus unlikely to find a valid point when the distortions between neighboring vertices are large.

To improve the odds of finding a solution, the refinement algorithm ensures that the distortion is low between neighboring vertices before the Pick_valid procedure is called. This is achieved by imposing a maximum value on the distortion allowed within a simplex, where the distortion of a simplex τ -denoted by ψ(τ ) -is the maximum distortion between any two vertices of τ . This maximum distortion is controlled a constant parameter of the algorithm, denoted by ψ 0 .

A proper choice of the algorithm parameters ψ 0 , δ, and β is essential to ensure the existence of valid refinement points in the picking regions (see Section 4.2.4).

Criteria

The refinement algorithm aims to produce a set of stars whose simplices are Delaunay, satisfy quality constraints and are consistent. We detail below the criteria that are used to drive the refinement process. These criteria can be split in two categories depending on their role.

Size and quality

As for classical isotropic refinement algorithms, the anisotropic refinement algorithm includes size and quality criteria.

• The size of simplices is controlled by comparing the circumradius of simplices with a user-defined sizing field sf. A simplex τ ∈ S p is oversized if the G p -circumradius r p (τ ) of its Delaunay G p -ball is greater than sf(c p (τ )).

Remark 4.2.2

The metric field already incorporates a sizing field, rendering this parameter redundant. For this reason, we (almost) always consider sf = 1 and the sizing constraint is modified directly within the metric field (see Section 2.13 in Chapter 2 for further details).

• The quality of a simplex τ with respect to metric G p of a vertex p ∈ τ is estimated through its radius-edge ratio ρ p (τ ), which measures the ratio between the G p -circumradius and the G p -length of the shortest edge of τ . A simplex τ ∈ S p is badly shaped if its radius-edge ratio ρ p (τ ) is greater than a constant parameter ρ 0 .

Consistency

The purpose of the criteria described below is to help the resolution of inconsistencies.

• As we have explained above, inconsistencies are difficult to solve when the distortion is large within simplices. A simplex τ ∈ S p is distorted if its distortion ψ(τ ) is greater than a constant parameter ψ 0 .

• Once the distortion is low in all simplices, only quasi-cosphericities are responsible for the presence of inconsistencies in the star set. Quasi-cosphericities that involve slivers are difficult to deal with and thus removing slivers ensure the removal of this type of quasi-cosphericities and, by extension, of inconsistencies that result from these low-quality configurations (see Section 4.1.2). A simplex τ ∈ S p is slivery if its sliverity ratio σ p (τ ) is greater than σ 0 .

Oversized, badly shaped, distorted, slivery and inconsistent simplices are bad simplices that must be destroyed.

Algorithm

Starting from a small set of initial vertices, points are iteratively inserted until all simplices satisfy a given set of criteria. While there exist bad simplices in the star set, the algorithm selects one such simplex τ and inserts a new point, called the refinement point or Steiner point of τ . Inserting a new point in the star set involves maintaining the connectivity of all the stars in the star set S(P).

For a distorted or oversized simplex τ in some star S p , the refinement point is simply chosen to be the G p -circumcenter c p (τ ) of the simplex. However, to guarantee the termination of the refinement process, the algorithm must carefully choose the refinement point of a slivery or inconsistent simplex in order to avoid the cascading appearance of inconsistent configurations.

The algorithm relies on the Insert procedure (Algorithm 2) to insert a new point in the data structures, and on the Pick_valid procedure (see Section 4.2.1) to select the location of the new site when the refinement point is not the circumcenter.

Algorithm 2 Insert(p)

Create the new star S p Insert p in any star S q ∈ S(P) where p will appear as a vertex A greedy approach is employed: the rules of Algorithm 3 are applied with a priority order, meaning that Rule (i) is applied only if no Rule (j), with j < i, can be applied.

Algorithm 3 Refinement algorithm

Rule (1) Distortion:

If ∃ p ∈ P and τ ∈ S p such that ψ(τ ) ≥ ψ 0 , then Insert(c p (τ ));

Rule (2) Size: If ∃ p ∈ P and τ ∈ S p such that r p (τ ) ≥ sf(c p (τ )), then Insert(c p (τ )); Rule (3) Shape: If ∃ p ∈ P and τ ∈ S p such that ρ v (τ ) > ρ 0 , then Insert(τ, G p );
Rule (4) Sliver elimination:

If ∃ p ∈ P and τ ∈ S p such that τ is a sliver (i.e. ρ v (τ ) ≤ ρ 0 , σ p (τ ) < σ 0 ), then Insert(Pick_valid (τ, G p ));
Rule (5) Consistency:

If ∃ p ∈ P and τ ∈ S p such that τ is inconsistent, then Insert(Pick_valid (τ, G p ));
The algorithm ends when no rule applies anymore, which is proven to happen (see Section 4.2.4). The star S p of any vertex p ∈ P is Delaunay for the metric G p of its central vertex and since the criteria are satisfied, all the simplices of S p have guaranteed size and shape quality with respect to G p . Lastly, the stars are consistent and can be stitched together to form a triangulation D(P), which is thus a locally uniform anisotropic mesh whose simplices have guaranteed quality in the local metric.

Termination

The termination of the algorithm is proved by showing that the radius of insertion, the minimum distance between a point being inserted in the star set and the existing vertices of the star set, is lower bounded and observing that since the domain has finite volume, the number of vertices must be bounded. Since we insert a vertex at each iteration, the refinement process must therefore finish.

An important step to obtain the termination of the algorithm is to show that the Pick_valid cannot fail indefinitely as the mesh gets denser. Recall that the picking region of a simplex, a scaled down version of the Delaunay ball of the simplex, is intersected by forbidden rings, which are composed of candidates points that would create (small) quasi-cosphericities with nearby vertices and are thus invalid (see Section 4.2.1). It can be proven that since refinement points are taken near the circumcenters of simplices, there is only a finite and relatively constant number of forbidden rings that can intersect a given picking region. Additionally, the thickness of a forbidden ring is linked to the distortion of the simplex and vanishes as the distortion goes to 1 (see Section 4.2.1). By another volume argument, the procedure must eventually finds valid points.

Details can be found in the thorough theoretical study of the algorithm by Boissonnat et al. [START_REF] Boissonnat | Anisotropic Delaunay mesh generation[END_REF]. Note that the final step is missing in their analysis: a consistent star set does form an abstract triangulation, but it must be shown that it is a good triangulation of the input domain. This result can nevertheless be obtained using Boissonnat et al. [START_REF] Boissonnat | Geometry and Topology Inference[END_REF]Theorem 7.13].

Mesh generation of domains

We have so far recalled a refinement algorithm (Algorithm 3) that constructs a triangulation satisfying a set of criteria from an initial set of points. However, practical mesh generation must be able to handle bounded domains and to capture the boundary precisely. In the following, we assume that the domain Ω is embedded in R 3 and bounded by a smooth 2-manifold (a surface) M = ∂Ω. This is only done to simplify the presentation and the concepts and algorithms detailed below could be applied to higher dimensions, and even to the case of manifolds of arbitrary co-dimension.

In the context of isotropic mesh generation, the use of restricted Delaunay triangulations combined with a criteria-based meshing algorithm has been proved to create meshes that are faithful approximations of the boundary [START_REF] Chew | Guaranteed-quality mesh generation for curved surfaces[END_REF][START_REF] Boissonnat | Provably good sampling and meshing of surfaces[END_REF]. Additionally, the definition of restriction to a domain allows to easily mesh implicit surfaces, polyhedral surfaces, and any other type of surfaces, provided that we are able to know if a dual entity intersects the domain (or the surface) and to compute the intersection point. This powerful approach is thus employed and adapted here to produce good anisotropic triangulations of domains.

We now describe how to create an anisotropic mesh of Ω, based on the refinement algorithm previously described.

Restricted and surface stars

As we construct at each point a Delaunay triangulation, it is natural to consider the restriction of each of these Delaunay triangulations, and specifically the restriction of stars. The notion of restricted Delaunay complex is thus smoothly applied on the structure of the star set.

To each star S p is associated the volume star S v p , formed by the cells in S p whose dual Voronoi vertex belongs to Ω. The set of volume stars is called the volume star set and is denoted by S v (P). Similarly, we associate to each star S p the surface star S s p , formed by the facets in S p whose dual Voronoi edge intersects the boundary M. Each facet σ of a surface star S s p has a G p -surface Delaunay ball, i.e. an G p -circumscribed ball centered on the surface and including no point of P. The surface G p -circumball of σ is denoted by B p (σ), its radius r p (σ) and its center c p (σ), which is the intersection of the dual of σ with the surface. The set of surface stars is called the surface star set and is denoted by S s (P).

Similarly to the first refinement algorithm that we recalled, there are in general inconsistencies among restricted stars. Indeed, A simplex τ that appears in the volume stars of some of its vertices may not appear in the volume stars of all of them. Likewise, a simplex σ that appears in the surface stars of some of its vertices may not appear in the surface stars of all of them. The sets of stars S v (P) and S s (P) thus do not necessarily form a triangulation of the domain or of the boundary.

Remark 4.3.1

It should be emphasized that to obtain a triangulation, there must be consistency of both the volume and the surface star sets. While it is relatively easy to obtain a consistent surface star set without having a consistent volume star set, it is also possible for a tetrahedron to be consistent and to have a restricted facet that is not consistent. This results from the fact that whether a restricted facet is consistent or not does not depend purely on combinatorics but also whether it is restricted in the stars of all its vertices.

As in Algorithm 3, it is necessary to cleverly select refinement points to obtain the consistency of both star sets. The picking region of a volume star is defined as in Section 4.2.1. The G p -picking region of a facet σ in S s p , denoted by P p (σ), is slightly more complex and is the intersection of the G p -ball B p (c p (σ), δr p (σ)), with 0 < δ < 1, and of the surface M (see Figure 4.6).

D B(σ)

σ c M B s (σ) c M P V (σ)

Algorithm

The refinement process must now handle two different star sets, S v (P) and S s (P). The rules and criteria for volume stars are identical to those defined for Algorithm 3: distortion, size, shape, sliverity, and inconsistency. Some of these rules are identical for the surface star set -size, shape, consistency -but two new rules, specific to the boundary, are also introduced:

• An approximation rule is introduced to control the maximum distance between facets and the surface. The approximation error of a facet σ, denoted by h p (σ) is computed as the Euclidean distance from the barycenter of σ to the surface. As the approximation and size criteria are related, the approximation is incorporated within the sizing criterion.

• The second rule handles topological defects, which are defined as facets σ for whom not all the vertices are on the surface M. This condition is an important indicator of the conformity of the mesh to the topology of the input domain (see Rineau [START_REF] Rineau | Meshing 3Ddomains bounded by piecewise smooth surfaces[END_REF]).

Remark 4.3.2

The sliverity rule does not make sense for facets in the case of a surface embedded in R 3 , but would be required in the case of a manifold of higher dimension.

The refinement algorithm for a domain with smooth boundary is presented in Algorithm 4. Rules are here again applied with a priority order: Rule (i) is applied only if no Rule (j), with j < i, can be applied.

Algorithm 4 Refinement algorithm for a domain with a smooth boundary

Rule (1) Facet distortion:

If ∃p ∈ P and σ ∈ S s p such that ψ(σ) ≥ ψ 0 , then Insert(c p (σ));

Rule (2) Facet size: If ∃p ∈ P and σ ∈ S s p such that r p (σ) ≥ sf(c p (σ)) or h(σ) ≥ h 0 , then Insert(c p (σ));

Rule (3) Facet topology:

If ∃p ∈ P and σ ∈ S s p such that σ has a vertex q not on M, then Insert(c p (σ)); Rule (4) Facet shape:

If ∃p ∈ P and σ ∈ S s p such that ρ p (σ) > ρ 0 , then Insert(c p (σ));

Rule (5) Tetrahedron distortion:

If ∃p ∈ P and τ ∈ S v p such that ψ(τ ) ≥ ψ 0 , then Insert(c p (τ ));

Rule (6) Tetrahedron size:

If ∃p ∈ P and τ ∈ S v p such that r p (τ ) ≥ sf(c p (τ )), then Insert_or_snap(τ, G p )); Rule (7) Tetrahedron shape:

If ∃p ∈ P and τ ∈ S v p such that ρ p (τ ) > ρ 0 , then Insert_or_snap(τ, G p );

Rule (8) Tetrahedron sliver removal:

If ∃p ∈ P and τ ∈ S v p such that ρ p (τ ) ≤ ρ 0 and σ p (τ ) < σ 0 ), then Insert_or_snap_valid(τ, G p );

Rule (9) Facet Consistency:

If ∃p ∈ P and σ ∈ S s p such that σ is inconsistent, then Insert(Pick_valid(σ, G p ));

Rule (10) Tetrahedron consistency:

If ∃p ∈ P and τ ∈ S v p such that τ is inconsistent, then Insert_or_snap_valid(τ, G p );

The Insert_or_snap and Insert_or_snap_valid procedures are explained and detailed below in Section 4.3.3.

Note that the rules -whether surface or volume rules -that rely on the Pick_valid procedure to select the refinement point are assigned the lowest priority, in hope that a slivery or inconsistent simplex is destroyed by a criterion that does not require the use of the costly Pick_valid procedure.

Pure mesh generation Algorithm 4 describes the process that refines both the inner region and the boundary of the domain. It is however possible to ignore the refinement of one of the two types of stars: ignoring volume star rules yields a consistent surface mesh of the domain, and ignoring surface rules yields a triangulation of the domain (but whose boundary is usually roughly approximated). When one of the star set is ignored, we use the keyword pure: either a pure surface, or a pure volume mesh is constructed.

Encroachment

While refining a volume star, a chosen Steiner point p might fall in a surface Delaunay G p -ball of a facet σ ∈ S p . If it is the case, q is said to encroach σ. If a refinement point is to be inserted to destroy a cell and and it encroaches a surface fact, then the facet is refined instead. The insertion of points in volume stars is thus done through two procedures that are modified version of the Insert and Pick_valid procedures to incorporate the possibility of encroachment: Insert_or_snap (Algorithm 5) and Insert_or_snap_valid (Algorithm 6).

Algorithm 5 Insert_or_snap(τ, G q ) Let c = G q -circumcenter of τ if c encroaches some facet σ in some restricted surface star S s r then Insert(c r (σ)) else Insert(c) Algorithm 6 Insert_or_snap_valid (τ, G q ) Let c = Pick_valid (τ, G q ) if c encroaches some facet σ in some restricted surface star S s r then Insert(Pick_valid (σ, G r )) else Insert(c)

Features preservation

In practice, three-dimensional domains are rarely bounded by a smooth surface, but rather possess a piecewise-smooth boundary. A mesh of the domain is then expected to include a faithful representation of the 1-dimensional features of the boundary. A natural idea would be to create a third type of star set, for the edges, with its own set of rules, along with a notion of encroachment between facets and edges, as was done by Rineau [START_REF] Rineau | Meshing 3Ddomains bounded by piecewise smooth surfaces[END_REF]. However, this technique fails in the isotropic setting when small angles exist between these features and this configuration can also occur in our context (with small angles computed in the metric).

To remedy this problem, the technique of protecting balls, inspired by Cheng et al. [START_REF] Cheng | Theory of a practical Delaunay meshing algorithm for a large class of domains[END_REF][START_REF] Cheng | A practical Delaunay meshing algorithm for a large class of domains*[END_REF], was used to handle 1-dimensional features robustly in the isotropic setting. The method could be extended to the framework of locally uniform anisotropic meshes by considering anisotropic balls, but this approach was not pursued in theory nor in practice due to unrelated shortcomings of the algorithm, see Sections 4.7 and 4.8.

Initial sampling

The algorithm requires a few initial points to start the refinement process. We generate a rough isotropic mesh and a sample of its vertices are extracted to form the initial set of sites of the anisotropic star set.

Poles When constructing a pure surface mesh, it was recommended to add a few initial points on the medial axis in addition to the initial points on the surface, called poles, for the sake of numerical robustness [START_REF] Boissonnat | Anisotropic Delaunay meshes of surfaces[END_REF]. A good way to obtain those poles is to use the Voronoi vertices of the initial isotropic mesh; Figure 4.7 shows in yellow the poles corresponding to an isotropic triangulation of the "Dino" surface.

Figure 4.7: The "Dino" surface (leftmost). An isotropic mesh of the "Dino" surface (middle and rightmost) and its poles (yellow).

In practice, experiments show that poles are never required for robustness with our implementation and these degeneracies are thus a theoretical concern. Worse, the use of poles can even be harmful if they are close to the boundary of the domain as this will create a local over-refinement spot due to the shape criterion.

However, poles proved useful when both volume and surface rules are used, as they limit the size of the initial tetrahedra within the domain. Since the surface stars are first refined in Algorithm 4, this plays an important role in the speed of the algorithm: without poles, volume stars might possess an extremely large number of vertices once the size and shape surface rules are satisfied. By employing well-positioned poles within the domain, we can ensure that the number of vertices on the link stays low, thus greatly reducing the running time of the first few insertions, which would otherwise be large. Miller et al. [104] to produce so-called linear-size meshes.

Remark 4.3.3 This insertion of well-spaced interior points to ensure a good run time of the algorithm is not unlike the techniques proposed by

Implementation

The algorithm is straightforward and a naive implementation would be trivial: simply build all the complete Delaunay triangulations at all the vertices, and create the final mesh by extracting each star S p from the triangulation Del p (P). A new point q would be inserted in all the triangulations Del p (P), regardless of the proximity between p and q, and the new star S q is obtained by building Del q (P ∪ q). Such an approach is clearly unreasonable in practice, both in terms of memory and time: the simple insertion of one point in the star set structure would carry an O(n log n) complexity. We therefore aim to implement the locally uniform anisotropic mesh theory efficiently and robustly.

Our code is based on the C++ library CGAL [2], and specifically on the Triangulation packages that provide fast and robust implementations of the Delaunay, weighted Delaunay and constrained Delaunay triangulations. The framework of our implementation is inspired by that of the isotropic mesh generators of CGAL [START_REF] Jamin | Cgalmesh: a generic framework for Delaunay mesh generation[END_REF] and is designed to be as generic as possible and is thus heavily templated. We describe our current implementation in detail, from its general structure to the smaller tricks used to increase the speed of the algorithm.

The algorithm is implemented for planar domains, surfaces and volume domains with smooth boundaries.

General structure of the implementation

The core architecture of the implementation is similar to that of the isotropic mesh generators of CGAL, Mesh_2 and Mesh_3, and can be divided into three large sets of classes:

Data structures

A star is represented through a class called Stretched_Delaunay_Triangulation that derives from the CGAL class Delaunay_Triangulation. It provides the basic operations that a star requires such as the insertion and removal of a point, the computation of cavities and the combinatorial predicates used to answer queries such as "is the simplex σ found in this star?". The star set is, as its name implies, represented by a vector of stars and each star is assigned an index, its position in the star set. A Star_set class handles the insertion and removal of a point in the star set, the verification of consistency between stars, and various miscellaneous tasks such as the input and output functions.

Refinement

Refinement-related classes are largely independent from the classes that implement data structures. A class Criteria is in charge of providing the test functions associated with the different criteria, for example the computation of the circumradius and the comparison of the circumradius with the sizing parameter. Refinement queues are given their own specific classes, which contain the different priority queues for each criterion, and provide the insertion and removal of bad simplices from queues, as well as various query operations such as returning the worst element across all queues (which gives the next simplex to refine). More details are given on the efficient implementation of the refinement queue in Section 4.4.3.

Input parameters

The last set of classes concerns the two principal inputs: the domain and the metric field. The implementations of these inputs provide each one important function to the refinement algorithm, referred to oracles.

The class that implements the domains answers whether a point is inside, on the border or outside of the domain. This oracle is then used to compute whether a volume simplex is restricted, or to compute the intersection of the dual of a facet (either a ray or a segment) with the boundary of the domain, to test whether a facet is restricted.

The class that implements the metric fields computes the metric at any point of the domain. Both classes are made as generic as possible by providing two base classes Domain and Metric_field that implement the basic operations. For example, the Metric_field can compute the stretching transformation of geometrical entities (points, simplices, boxes, etc.). Any domain or metric field is easily constructed by deriving from the respective base classes and only providing the specific oracle. All the metric fields and domains that are used in our experiments are presented in detail in Appendices A and B respectively.

We have so far described a number of classes that implement independent functionalities of the process. A skeleton is needed to link all these parts together; this is the topic of the next section.

Mesher levels

The process of inserting a point in the star set to destroy a simplex can be seen as a cycle of the refinement algorithm. The different rules of the algorithm (see Section 4.3.2) naturally split the set of cycles in surface cycles and volume cycles, depending on the kind of simplex that is refined during the cycle. Surface and volume cycles share a common core of tasks: retrieve the next bad simplex, compute the refinement point, insert the refinement point, maintain the star set S(P) and actualize the list of bad simplices.

These common tasks involve all the classes that were described in the previous section are involved: the simplex to destroy is selected from the refinement queues; the position of the refinement point is computed using the domain and its metric by the metric field; the insertion naturally is performed within the data structure classes; finally, gathering the new bad simplices is done with the help the Criteria classes and the insertion of bad simplices requires once again the refinement queue classes.

In the context of isotropic mesh generation, Rineau and Yvinec [START_REF] Rineau | A generic software design for Delaunay refinement meshing[END_REF] introduced the notion of Mesher level, a class that creates the link between the different classes involved in a refinement algorithm and implements the different tasks shared by all types of cycle.

However, surface and volume cycles differ in the manner in which they perform some of these tasks; for example, the refinement point for a volume cycle is the center of a tetrahedron while the refinement point of a surface facet is the center of its surface Delaunay ball. Furthermore, tasks might need to be performed differently even within the same type of cycle, depending on the rule that is governing the insertion of the point: a tetrahedron that is a sliver calls upon the Pick_valid algorithm to determine the refinement point while an oversized tetrahedron is simply refined with its circumcenter.

It is thus necessary to create multiple mesher levels, each corresponding to a set of rules that perform the different tasks in the same manner. In the case of the rules of algorithm 4, there are thus four mesher levels:

• A facet level that handles the distortion, size and approximation, topology and shape of facets -Rules (1 -4). • A cell level that handles Distortion, size, shape and sliverity of cells -Rules (5 -8).

• A facet consistency level that handles the consistency of facets -Rule (9).

• A cell consistency level that handles consistency of cells -Rule [START_REF] Arsigny | Log-Euclidean metrics for fast and simple calculus on diffusion tensors[END_REF].

The complete refinement algorithms is obtained by stacking and tying together those mesher levels, according to the priority order of the rules: each mesher level can access the first mesher level with higher priority. If a mesher level M 1 is told to process an element (i.e. to perform the tasks of one cycle) and a mesher level M 2 with higher priority still has simplices to refine, M 1 will not start a cycle and M 2 will process an element instead. Note that the mesher level M 2 will itself check if the next mesher level with higher priority has simplices to refine before starting the cycle. The refinement process is started by selecting the mesher level with lowest priority (usually a consistency mesher level) and telling it to process one element.

Communication from a higher priority mesher level to a lower priority mesher level is also sometimes needed, for example during the actualization of the refinement queues at all levels. To avoid problems in the initialization of the mesher levels due to circular dependency, the concept of visitor patternsdescribed in [START_REF]The Boost Graph Library: User Guide and Reference Manual[END_REF] -is used: to each mesher level is associated one visitor that points to the first mesher level with lower priority. Rather than a member of the mesher level, a visitor is passed by argument to the functions of that mesher level. Figure 4.8 shows the connectivity between mesher levels for Algorithm 4. As mesher levels share a large amount of identical functions and a number of tasks with similar purpose but different execution, the usage of virtual functions impose itself naturally. The implementation of the mesher levels is based on the Curiously Recurring Template Pattern (CRTP), described by [START_REF] Coplien | Curiously recurring template patterns[END_REF], to avoid the runtime cost of virtual functions.

Null mesher level

The mesher level framework provides a powerful implementation of the algorithm as one can easily insert, modify, or change the priorities of a rule. For example, a pure surface mesher or a pure tetrahedral mesher can be obtained immediately by linking the mesher levels differently.

Refinement queues

The algorithm uses a greedy approach to refine simplices that do not satisfy the set of criteria. Each rule r is attributed a priority queue Q r of simplices that are bad for this rule and that is sorted decreasingly, such that the simplex that is the worst for the criterion corresponding to r has the highest priority in the queue. For example, oversized simplices (Rule (1)) are sorted by decreasing size of circumradius. Retrieving the next bad simplex to refine is done by finding the top of the refinement queues, that is the worst simplex in the highest priority queue amongst the non-empty queues. The bad simplex is removed from its queue once the insertion has been performed.

While the insertion of a point p that refines a bad simplex σ might destroy additional bad simplices {σ j } j , only σ is removed from the refinement queue at the end of a cycle. The top of the refinement queue might thus be a simplex that does not exist anymore. If that is the case, the top of the refinement queue is removed and we consider the new top of the refinement queue (and so forth until either the top is a valid simplex or the queue is empty). Maintenance functions to retrieve the next element to refine, insert elements or print the state of queues are implemented in a straightforward way.

The simplest implementation of the refinement queues is to use existing data structures and implement each rule using -for example -an std::priority_queue structure. However, the star set is a combination of many triangulations with each simplex living in multiple stars, creating redundancy in these queues. This issue is detailed in the next section, and an improvement to the naive implementation of the refinement queue is sought.

Redundancy

Due to the star-based structure of our algorithm, the same combinatorial simplex usually exists in multiple stars -and even in the star of all its vertices if it is consistent. On the other hand, a bad simplex σ will often be bad in more than one star:

• the distortion of a simplex is the same for all the metrics at its simplices. If the simplex is distorted, it will be immediately distorted for all the stars in which it appears. A similar reasoning can be applied to the topology and consistency criterion.

• if the distortion within a simplex is small, the evaluations of size, shape, approximation or sliverity will yield similar results in all the stars in which the simplex exists. If the simplex is bad for one star, it is likely to be bad for the others.

Furthermore, a bad simplex that is refined in one star (or destroyed by the refinement of another simplex) is probably also destroyed in the other stars of its vertices when the refinement point is inserted in the star set, but is only removed once from the refinement queues. Naively adding all the bad simplices to the corresponding priorities queues thus results in a lot of redundancy at different times. This concern is not only theoretical: running the three dimensional example of a cube of side 3 endowed with a unidimensional shock metric field (see Section A.8 in Appendix A), we observe that after 3000 vertex insertions in the star set, the refinement queue is composed of 112437 differentmaximal -simplices but the insertion of a bad simplex that already existed in the refinement queue has been performed 87064 times.

To prevent superfluous information in the refinement queues, we introduce a set that contains all the bad simplices with a uniqueness condition on the combinatorial information of simplices. We detail this approach and the necessary changes in the refinement queue implementation that go with it.

Data structures and complexity

We detail in this section the data structures and implementation of our improvement refinement queues.

Note first that a bad simplex σ in a star S p is fully characterized by the following variables:

• S p -the star in which it is considered,

• C σ -the indices of its vertices in the star set,

• i σ -the index of the rule for which it is bad,

• b σ -its badness score for that rule. Bad simplex are implemented with a class called Bad_simplex.

To preserve the uniqueness of a bad simplex in the refinement queues, a set of bad simplices Σ is built using an (unordered) set of Bad_simplex. A combinatorial simplex is thus allowed to appear only once. If a simplex is bad in multiple stars, the version that is kept in the refinement queue is the bad simplex that is bad for the rule with the highest priority. If the same simplex is bad for the same rule in multiple star -which often happens -the occurrence with the worst badness score is kept.

In practice, each priority queue Q r (associated to the rule r) is a multiset of iterators sit, each pointing to an element σ in Σ, and is sorted by the values v σ associated to the entry σ. For practical reasons, the position of a bad simplex σ in the queue Q rσ , an iterator qit σ of multiset, is also a member of the class Bad_simplex. The addition and removal of a bad simplex in the refinement queue are detailed in Algorithms 7 and 8 respectively.

Algorithm 7 Insertion of a bad simplex σ(S p , C σ , i σ , b σ ) in the refinement queue if ∃σ ′ ∈ Σ such that C σ = C σ ′ then if r σ < r σ ′ or r σ = r σ ′ and b σ > v σ ′ then Delete σ ′ from the refinement queue Insert σ in Σ Insert σ in Q iσ else insert σ in Σ Algorithm 8 Deletion of a bad simplex σ(S p , C σ , i σ , b σ ) from the refinement queue Remove σ from Σ Remove σ from Q iσ
Using standard structures from the Boost library, our refinement queue enjoys average constant complexity for the insertion and deletion of a bad simplex in the set Σ, and for the deletion of an entry from the refinement queue. The only operation that has non constant -or average constant -complexity is the insertion of an iterator sit σ in the Q rσ . For this operation, the complexity is logarithmic in the size of Q rσ , which is thus also the complexity of the insertion of a bad simplex in the refinement queue.

In the following, we assume that our implementation uses this structure and will explicitly use the term naive when referring to the simpler implementation that ignores duplicates (and was described at the beginning of this section).

Maintaining the refinement queue

Once a point p has been inserted in the star set(s) S v (P) and S s (P), the refinement queue has to be updated. The bad simplex σ 0 that was killed by the insertion of p is removed as explained in algorithm 8. The last step of a cycle is to collect the new bad simplices and insert them in their respective refinement queues. Since it is not reasonable to test all the simplices of all the stars of the star set, we must gather a list (as small as possible) of L of potentially bad simplices. To build the list L, we gather the simplices of the new star and the simplices of the stars that were modified by the insertion of p. Unfortunately it is not sufficient to guarantee that we will find all the new bad simplices.

Tricky situations It might happen that a simplex that was consistent before the insertion of p has been destroyed in at least one -but not all -of the triangulations it appeared in. This simplex is now inconsistent but the stars in which it still appears might not have been modified by the insertion of p and thus has not been collected by L. Note that this issue will appear even if using a naive implementation of the refinement queues.

Imposing the combinatorial uniqueness of elements greatly complicates the task of maintaining the refinement queues. Consider for example a bad simplex σ(S σ , C σ , r σ , v σ ) that is different from σ 0 (the simplex destroyed by the insertion of the new point p), but also has been destroyed by the insertion of p. The same (combinatorial) simplex might still exist and be bad in at least one of the stars of its vertices, giving another bad simplex

σ(S σ ′ , C σ ′ , r σ ′ , v σ ′ ) -with C σ = C σ ′ .
Even though σ is not a valid entry in the queue anymore, it has not been removed from the refinement queue (only σ 0 has been). Therefore, σ ′ will not be inserted since it has lower priority than σ (since σ was in the queue, not σ ′ ). This creates an obvious problem as σ will be discarded (since it doesn't exist anymore) when it is retrieved as the next simplex to refine, but σ ′ might still be an existing bad simplex that has never been marked for refinement. We must therefore preemptively remove the destroyed simplex σ from the refinement queue and add σ' to L.

These two tricky situations are solved by complex -but relatively cheap -combinatorial checks in modified stars.

Finally, all the simplices of L are tested against the criteria of the algorithm, and inserted in the appropriate refinement queues if they are found to be bad.

Naive vs unique implementation of the refinement queues

Unfortunately, only tiny gains in speed were observed in practice as a result of our improved queue. This result is not completely unexpected as operations related to the refinement queue have in average constant or logarithmic complexity and are thus not heavily influenced when the number of elements is lowered by a factor.

In the settings that we usually mesh, these gains in time obtained by enforcing the combinatorial uniqueness of the elements in the queue are probably not worth the complexity of the implementation. However, one might expect that the difference would become more significant in a higher-dimensional setting, or for exceptionally large star sets.

Insertion of a point in the star set

A cycle can be broken down in four important steps: retrieving the next bad simplex to refine, computing the refinement point, inserting the refinement point in the star set and collecting the new bad simplices. The first two steps are described in Sections 4.4.3 and 4.2.1 respectively and the last one in Section 4.4.3. We focus in this section on the implementation details of the tasks performed after the refinement point is known. The two central tasks of the insertion of the point in the star set is the insertion of the point in existing stars, and the creation of the new star.

Efficiently inserting a new point in existing stars

Before describing our insertion algorithm, we first need to define a few notions related to the insertion of a point in a star.

A point p is said to be in conflict with some simplex σ of S q if p is included in the G q -circumball of σ. By extension, we say that a point is in conflict with a star if it is in conflict with one of its simplices. To ease the narration, we symmetrize the relation and say that a simplex (resp. star) is in conflict with a point if a point is in conflict with the simplex (resp. star). The conflict zone of S q , denoted by Z q , is the union of the G q -circumballs B q (σ) of all the simplices σ of S q . A point p is in conflict with a star S q , if it belongs the conflict zone of S q . By definition, a point p will belong to S q after insertion in Del q (P) if p is in Z q . A star S q for whom p ∈ Z q is said to be modified by the insertion of p in Del q (P).

Insertion in a stretched triangulation

The insertion of a refinement point p in a triangulation Del q (P) for q ∈ P and q = p is thus performed by transforming the new point to the metric space and simply using traditional techniques such as the Bowyer-Watson algorithm [START_REF] Bowyer | Computing dirichlet tessellations[END_REF][START_REF] Watson | Computing the n-dimensional Delaunay tessellation with application to Voronoi polytopes[END_REF]. The insertion of a point is described in Algorithm 9.

Algorithm 9 Insertion of p in Del q (P) with the Bowyer Watson algorithm Compute the transformed point T p = F q p (where F q is the square root of G q , the metric at q) Compute the conflict zone of T p in the Delaunay triangulation F q (Del q (P)) Delete all simplices that are in the conflict zone Triangulate the hole with T p , thus obtaining F q (Del q (P ∪ p))

The insertion of a point in a star is illustrated in Figure 4.9.

p q q q p s s p In practice, we store the Delaunay triangulation at each point in its metric space (that is we store and maintain F q (Del q (P))) since almost all operations are easier to perform in the metric space, where Del q (P) is an isotropic triangulation. For efficiency and memory reasons, we do not store the triangulation Del q (P) and only cache the position of the center of the star in Euclidean space, which is sufficient. Insertion in the star set A naive approach would insert a new point p in all the existing triangulations Del q , with q ∈ P. As the number of stars grows, this method quickly becomes too expensive and determining beforehand the stars {S q i } for whom p belongs to S q after the insertion of p in Del q (P) is thus essential to obtain an efficient implementation.

We can observe that a point p will belong in S q only if p is in conflict with the simplices of S q . Rather than inserting the point p in Del q (P), we can thus only test if a point belongs to the conflict zone of a star and only insert the point in Del q (P) if it belongs to Z q , thus preventing many meaningless insertions. However, unions of spheres are difficult to handle swiftly, and traversing the full star set structure with each insertion is still not acceptable complexity-wise. To obtain an efficient detection of the conflicted stars, we use a bounding box-based filter: an AABB tree.

AABB tree To each conflict zone Z q , we associate its Euclidean axis-parallel bounding box that we call simply the bounding box of q and denote by B p . The bounding boxes of the current set of vertices P are maintained in a bounding volume hierarchy, an AABB tree [START_REF] Alliez | 3D fast intersection and distance computation (AABB tree)[END_REF]. When inserting a new site p, we first query the AABB data structure and report all the boxes that contain p. If p belongs to some box B q , we further check whether p belongs to the conflict zone Z q and, in the affirmative, we insert p in the triangulation S q .

A small issue arises from the fact that the bounding box of a star does not always decrease when a point is inserted in the star, see for example Figure 4.11. When this configuration is detected, the AABB tree must be rebalanced. Since this is a O(n log n) operation (with n the number of entries in the tree), it might seem problematic. However, this is a very rare phenomenon that only appears when the domain is not yet well approximated and consequently does not occur when the number of vertices is large.

Creation of a new star

The last step of a cycle is to create the new star S p . The naive idea of building the complete triangulation Del p (P) is once again computationally unreasonable. We must therefore find all points in P that will belong to S p , but not (much) more. The stars {S q i } that are modified by the insertion of p provide a good starting set of points that are likely to belong to S p : {q i }. However, since the metric field is generally non-uniform, there might be other points {r i } whose star was not modified by the insertion of p but still belong to S p . Another filter, a k-d tree, is used to find these points efficiently.

k-d tree

The current point set P is itself maintained in a k-d tree Kd(V ) [START_REF] Bentley | Multidimensional binary search trees used for associative searching[END_REF]. While the AABB provides the knowledge of boxes containing a point, the k-d tree allows to quickly find which points are in a rectangular query. The triangulation Del p (P) of the new site is initialized as the star of p in the Delaunay triangulation of p and of all the vertices q i whose star S q i (P) has been modified by the insertion of p. We then compute the bounding box B p of the current conflict zone Z p , and query the k-d tree Kd(V ) to collect the set of vertices {r i } that fall within the bounding box. Each point r i is inserted in Del p (P) if it belongs to the current conflict zone Z p .

Note that the insertion of a vertex modifies Z p , thus there might exist a point s i in conflict with S p after the insertion of a point r i , despite not being in conflict with S p before insertion of r i . This configuration is illustrated in Figure 4.11, where the point t is not in conflict with S p until s is inserted in S p . Thus, after each insertion, the conflict zone Z p and the bounding box B p must be updated, and the k-d tree queried again. This must repeated until there are no more vertices in conflict with Z p . Individually cheap, this check is very costly over the whole meshing process. For example, in the generation of a mesh of 7000 vertices for a square endowed with a hyperbolic shock metric field, 10 seconds out of a total of 31 seconds are devoted to this check. The running time of this check naturally depends on how often the star set is cleaned (see Section 4.4.5).

Cavity caching

The boundary and internal simplices of the cavity C q are used multiple times each cycle: when checking if a star is modified by the insertion of a point, when inserting a new point in a star, and finally when collecting elements that must be tested against the criteria. The cavity of a star is thus cached throughout a cycle.

Cleaning the star set

Storing all the triangulations of all the vertices would be costly from a memory point of view: if we stored all the triangulations Del p (P), each point would appear as many times as there are points in the star set; and from a computational point of view: some operations, for example finding the location of a point, take longer in large Delaunay triangulations. To merge local triangulations Del p (P) in a consistent triangulation of the domain, we thankfully do not actually need to maintain Del p (P) for all q ∈ P, but simply S p (P), which is a relatively constant number of vertices since we are using a Delaunay refinement algorithm.

In practice, we store for each p ∈ P a triangulation Del ′ p (P) that is kept close to S p by trimming every n c (this value is discussed below) the vertices that are not incident to p, which happens as we insert new vertices in Del ′ p (P), a process referred to as cleaning. To not have to seek which stars must be cleaned, we keep in memory a list of stars that have been modified since the previous time stars were cleaned.

The value n c naturally influences the runtime of the algorithm (but not its result) and must thus be carefully picked: when n c is chosen too small, the cost of regularly rebuilding stars outweighs the benefit of handling small triangulations; the opposite happens when n c is too large. Table 4.1 shows the effect on the runtime for different values of n c . These results are relatively consistent over all our results and we thus use n c = 50, which provides a good balance between both the cost of cleaning and the size of triangulations. Note that except for the degenerate case of a point set with a size smaller than n c , this value is independent of the total size of the mesh as it compares the cost of rebuilding a star (which is a completely local operation if we assume that we keep correct stars at all times) of stars versus the cost of inserting in a local neighborhood.

Parallelization

At first glance, the star structure of the algorithm might seem perfect for parallelization. In practice, it is more difficult: simply parallelizing the insertions of a point in each of the conflicted stars -even including finding the new bad simplices and their insertions in the refinement queues of the new bad simplices -will actually result in a slow down of the algorithm, due to cache issues. Indeed, the class Stretched_Delaunay has a heavy memory footprint caused by a large amount of members: a Delaunay triangulation, a metric, multiple combinatorial information caching structures, filters (see Section 4.4.4), etc.

Another option would be to parallelize the algorithm in a similar fashion to the isotropic mesh generator Mesh_3 [START_REF] Jamin | Cgalmesh: a generic framework for Delaunay mesh generation[END_REF], with each thread handling the refinement of a single simplex at a time. In the parallel version of Mesh_3, the principle of locks are used to avoid refining simplices that are too close from each other. The implementation is however technical and tedious, and the anisotropy of stars makes the locality of locks more difficult to handle. While this technique would potentially accelerate the refinement process, it was not pursued due to other unrelated issues with the algorithm (see Section 4.7).

A parallel approach, based on surface segmentation, is nevertheless investigated in Chapter III.6 where we will need to build inconsistent star sets swiftly.

Discussion on the parameters

The algorithm relies on various parameters: ψ 0 , r 0 , ρ 0 , σ 0 , β, δ... It can be difficult, at first glance, to estimate their influence on the outcome in term of speed, number of vertices or quality of the produced mesh. We investigate each parameter independently.

Parameter ψ 0

The rule with the highest priority in the algorithm is the distortion rule, which bounds the maximal distortion in a simplex to be at most ψ 0 , with the intent of increasing the odds of finding a valid solution when the Pick_valid procedure is called later in the algorithm. The value ψ 0 has naturally a strong impact over both the computation time and the final mesh: if ψ 0 is chosen too large, the Pick_valid procedure will be at first largely unsuccessful, causing many unsuccessful and costly insertions till the sampling increases and valid points are be found. Oppositely, if ψ 0 is chosen too small, simplices might be refined even if they already satisfy all other criteria -including consistency -which is pointless and costly and thus undesirable.

To determine what is the optimal value for ψ 0 , we look at the number of vertices in a final mesh, the number of calls to the Pick_valid procedure and their success percentage, and the computation time for various values of ψ 0 . All the parameters except for ψ 0 are kept constant and the sizing constraint r 0 is chosen large enough as to only be responsible for a negligible number of vertices added. The domain is a square of side 4 and centered on c = (0, 0) endowed with the hyperbolic shock (detailed in Section A.3 in Appendix A). Results are shown in Figure 4.12.

For the sake of completeness, we also consider a three-dimensional domain, a cube of side 3 and centered on c = {1.5, 1.5, 1.5}, endowed with a unidimensional shock metric field (see Section A.8 in Appendix A). Since the goal is to compare the influence of ψ 0 for the refinement of cells, we disable the refinement of surface stars and construct a pure volume mesh. Results can be found in Figure 4. [START_REF] Batchelor | A rigorous framework for diffusion tensor calculus[END_REF].

These experiments provide a lot of interesting and unexpected information:

• The success percentage of the Pick_valid procedure increases when ψ 0 decreases, as the theory predicts. However, a low value of ψ 0 will very quickly be responsible for the insertion of an exceptionally large number of vertices (red curves).

• The final number of points is greater whenever ψ 0 is used than when it is not (blue curves).

• However small ψ 0 is, there are still inconsistencies that appear (the teal curves show the number of vertices inserted to solve inconsistencies), proving that the Pick_valid procedure is a necessary part of the algorithm. Even more interestingly, they add a relatively constant number of vertices, indicating that the distortion rules did not help.

• Despite Rule 1 inserting only the circumcenter, for no value of ψ 0 is time gained by using the distortion criterion: the mesh was generated fastest when no simplex was refined for the distortion (green curves).

1 1.2 1.5 2 2.5 3 ∞ 0 0.5 1 1.5 2 •10 5 ψ 0 N p , N PV , Time (ds)
PV Success (%) Figure 4.12: Influence of the parameter ψ 0 in a two-dimensional domain (shown on the left). In blue, the final number of vertices (N p ). In teal, the number of calls to the Pick_valid procedure (N P V ).

In red, the percentage of success of the Pick_valid procedure. In green, the time (in deciseconds).

The value ∞ means that the distortion queue is disabled.

1 1.2 1.5 2 2.5 3 ∞ 0 1 2 3 4 5 6 •10 5 ψ 0 N p , N PV , Time (s)
PV Success (%) Figure 4.13: Influence of the parameter ψ 0 in a three-dimensional domain (shown on the left). In blue, the final number of vertices (N p ). In teal, the number of calls to the Pick_valid procedure (N P V ).

In red, the percentage of success of the Pick_valid procedure. In green, the time (in seconds). The value ∞ means that the distortion queue is disabled.

Additionally, the comparison between Figures 4.12 and 4.13 shows that while the profiles of all curves are similar in 2 and 3D, the bound below which ψ 0 is responsible for a large increase in the number of vertices in the final mesh is different, making it difficult to choose a value of ψ 0 if the Rule 1 s beneficial.

In conclusion, the distortion queue is -in practice -a rule that is at best not useful, and at worst extremely harmful to the algorithm. We shall modify the general algorithm to take into account these observations, see Section 4.6.1.

Parameters r 0 and ρ 0

The values of r 0 (size criterion) and ρ 0 (shape criterion) naturally affect the number of vertices as additional vertices must be inserted to satisfy these criteria. In isotropic mesh generation, the number of vertices follows roughly the square of the sizing field in 2D and the cube in 3D: if the sizing field is divided by 2, there are 4 times more vertices in 2D and 8 times more vertices in 3D.

As explained in Section 2.13 in Chapter 2 and in Section 4.2.2, the size parameter is usually left at 1 as the size of the elements can be directly encoded in the metric. We exceptionally scale r 0 instead of the metric field in this experiment for the purpose of clarity. The results are shown in Figure 4 This relation is somewhat similar in the case of anisotropic mesh generation. Here again, the number of points added by the inconsistency queue (that can be roughly computed as the difference of the green and blue curve) is more or less constant, even when the number of points inserted for the size rule is important.

The shape parameter ρ 0 and its corresponding rule ensure that all simplices satisfy shape requirements, which is both useful in itself but also improve the odds of finding valid solutions in the Pick_valid procedure. This parameter has, in practice, very little influence and the corresponding rule is very rarely called upon. This can be seen as a consequence from the fact that Rules 1 and 2 (distortion and size) insert the circumcenter, an already appropriate choice to create meshes of good quality (see Ruppert).

Parameters β and δ

Contrary to the parameters ψ 0 and ρ 0 , who serve to satisfy quality requirements on simplices ahead of Pick_valid procedure calls, the parameters β and δ are directly involved in the Pick_valid procedure. Indeed, the parameter β controls the size of acceptable inconsistencies and δ determines the size of the picking region P p (τ ) as its radius is given by δr p (τ ).

We use a cubic domain of side 1, centered on (0.5, 0.5, 0.5) and endowed with a unidimensional shock metric field with maximal anisotropy 3 (see Section A.8 in Appendix A). The number of Pick_valid tries is fixed at 60 but the value of δ varies. We investigate the final number of vertices in the mesh and the quality of the simplices. For planar and surface domains, the quality is estimated with the formula of Zhong et al. [START_REF] Zhong | Particle-based anisotropic surface meshing[END_REF]:

Q = 4 √ 3 A ph .
where A is the area of the triangle, p the perimeter and h the longest edge (all computed in the metric). For cells, we use the quality estimation of Frey and George [START_REF] Frey | Mesh generation: Application to finite elements[END_REF]:

Q = 216 √ 3 V 2 A 3 Σ .
where V is the volume of the tetrahedron, and A Σ the sum of the areas of the four facets (all compute in the metric). Both these quality measures live between 0 and 1, with 1 signaling the highest quality.

Results are detailed in Table 4.2. As expected, more solutions are available in the pick valid algorithm when the picking region is enlarged, resulting in smaller meshes. However, the metric is followed more loosely and the simplices of the meshes have lower quality. Note that in extreme cases -δ close to 1 -the final number of vertices starts to increase again, as the refinement points are often not creating satisfying elements with respect to other criteria, such as the shape.

The parameter β is assigned the value 2.5 by default, but changing this value (within 1 to 5) has barely any influence on the outcome.

Parameters σ 0

The parameter σ 0 controls the maximal sliverity of the simplices (as defined in Section 4.1.2). A majority of inconsistencies do not stem from slivery quasi-cosphericities, and thus this parameter has little influence on the outcome. By increasing its value, one simply trades the removal of inconsistencies for the removal of silvers, but the result stays the same. Furthermore, the slivery and inconsistent queue both rely on the Pick_valid procedure to insert a point and thus there is no difference in the running time of the algorithm either.

On the usage of Pick_valid

Once other criteria are satisfied, it is necessary to solve inconsistencies before the star set can be merged to form a triangulation. The Pick_valid procedure seeks Steiner points that can refine inconsistent simplices without creating new inconsistencies. It is proven both theoretically (see Boissonnat et al. [START_REF] Boissonnat | Anisotropic Delaunay mesh generation[END_REF]) and empirically (see Section 4.5.1) that the procedure is essential to the termination of the algorithm.

Estimating beforehand whether a valid Steiner point can be found by the Pick_valid procedure is difficult. Even if we knew that a valid candidate exists in the picking region, how should we proceed to find the solution quickly? These questions are important from a practical point of view as picking and testing a candidate point is an expensive process (as will be shown in this Section).

Additionally, the algorithm described in Algorithm 1 to test the validity of a candidate is rather theoretical: a valid candidate should not form a (small) quasi-cosphericity with any combination of n vertices in P. Recall that a set of n + 1 points (in dimension R n ) defines a forbidden ring whose geometry is a thickened ellipsoid (or a thickened sphere, in the metric space); the intersection of a forbidden ring with the picking region is called a forbidden zone. Remark 4.6.1 Note that we have assumed that all criteria are now solved: the distortion is sufficiently low, and the slivers have been removed. Thus, all the inconsistencies in the mesh are created by quasi-cosphericities that do not involve any slivers.

In practice, there are many possible combinations, with most of them creating a forbidden ring that does not intersect the picking region and is thus irrelevant. It is thus not reasonable to compute all of the forbidden rings. How should one test the validity of a candidate efficiently ?

Validity of a candidate

Collecting and computing all the quasi-cosphericities around a simplex is difficult and computationally expensive. We proceed instead in a naive approach: we simulate the insertion of a candidate in the star set and scan the newly simplices for bad cosphericities. In the presence of such bad configurations, the insertion is reverted, otherwise, the candidate is a valid point and the insertion has already been performed.

Consequently, testing a single candidate point has the complexity of inserting a point in the star set.

Search for valid candidates

In the description of the Pick_valid procedure, candidate points are randomly selected within the picking region. Using random points might not seem like the optimal choice since forbidden zones of the picking region are predictable geometries determined by neighboring vertices. Indeed, forbidden zones invalidate points along thickened ellipsoids in the picking region (see Figure 4.5) and one could hope to exploit this fact. Three possibilities were investigated to try to improve the speed of pick valid.

Analytical approach A first approach to improve the selection of candidates is entirely analytical and based on the following reasoning: if we could compute closed forms for both the forbidden rings and of the picking region, we could then intersect these regions to determine if a valid candidate exists, and where.

Placing ourselves in the metric, the circumscribing balls of simplices is a sphere, hence the picking region is a sphere and the quasi-cosphericities are thickened spheres (whose thickness can be bounded relatively tightly). It is thus easy to compute each region independently. However, forbidden rings are created by any combination of n + 1 vertices in the neighboring vertices around the simplex being refined (including the vertices of the simplex itself); there is often a large number of forbidden rings that intersect the picking region. Consequently, we must compute the intersection of multiple spheres. It is not easy to do so, and even less to perform it on-the-fly and fast.

A rough evaluation of these sizes is computed in the proof of termination of the algorithm which gives an upper bound on this volume. Unfortunately the bound simply sums the volumes of the thickened spheres of each quasi-cosphericity and this is far too rough to be used in practice.

The analytical approach thus cannot be used efficiently.

Griding the picking region To avoid complicated calculations, a second approach is based on the discretization of the picking region with either a grid or a triangulation. When a candidate point is found to be invalid, the forbidden zone that invalidated the candidate is computed and all the vertices of the grid that fall within the forbidden zone are also invalidated. The next candidate is then picked from the set of remaining non-invalidated points. The discretized pick valid region of a simplex is illustrated in Figure 4.15. This approach performs better than our first idea but is not practical in the end: either few forbidden rings intersect the picking region and a valid point will be rapidly found with random draws, or there are only few solutions and the discretization needs to be dense. In the latter case, the computational cost is shifted from testing points to generating and maintaining the grid; overall, no time is gained compared to a random approach.

Random selection with memory

The last approach tried to capitalize once again on the predetermined geometry (a sphere, in the metric space) of forbidden rings to pick candidates. In the event of a random point p not being valid, the next random point p ′ is picked by moving away from the center(s) of the forbidden ring(s) that invalidated p with the idea that we move away from the thickened sphere that is the quasi-cosphericity.

Estimating a direction using the last k forbidden zones (for variable k) was tested, but this was not effective in practice for similar reasons as the second method. The number of forbidden zones is again the culprit of the impracticality of this approach: if there are only few forbidden rings, a valid random point is likely to be found quickly; but if there is a large number of forbidden zones, it is difficult to take them all into account as we decide of the direction towards which to move after an invalid point.

In conclusion, it is simply easier and quicker to try random points and test whether they are valid or not. However, since there is not necessarily a solution, the number of tries has to be limited. It is not necessarily clear how many times should one try, and we investigate this question next.

Generation of random points

The generation of a random point in the picking region of a simplex of a volume star is performed using the geometric object generator package of CGAL. The picking region of a surface facet τ is defined as the intersection of the manifold M that bounds the domain and a scaled down version B ′ (τ ) of the surface Delaunay ball of the facet. To generate points in this region, we pick two random points in B s (see Figure 4.6) and intersect the segment formed by joining these two points with M.

Number of random tries

Since random tries turn out to be the most convenient approach and knowing that there is not always a valid solution, we must set a maximum number of tries that we should attempt lest we get stuck in the procedure. As no clear value can be guessed, we study the influence of the number of tries on the success of the procedure, and the effects on the final mesh. For consistency, we consider the same input as in previous experiments, a square centered on 0 and of side 1.5 endowed with the hyperbolic metric field (described in Section A.3 of Appendix A). The distortion queue is disabled and the sizing criterion is here again made irrelevant; (almost) every insertion thus requires the Pick_valid procedure. Figure 4.16 shows the results in terms of final number of vertices and computational time for two choices of the maximal number of tries. From the blue curve, we can conclude that the number of vertices required to obtain consistency significantly drops when the amount of tries grows, but only up to a certain point. As a side note, we can observe that the computational time is almost linear with respect to the number of tries (green curve), which confirms that the picking and testing a candidate point in the Pick_valid algorithm is thus as expensive as the insertion of a point. This is not surprising since the testing for validity is literally the insertion of the candidate in the star set. It shows however that all other maintenance related functions have negligible cost compared to the insertion of a vertex in the star set.

In accordance with the result of this experiment -other inputs provide similar results -the maximal number of tries is set to 60.

Improvements to the Pick_valid procedure

As shown by experiments in Section 4.6, the Pick_valid procedure is, from a runtime point of view, the clear bottleneck of the algorithm. Minor modifications were made to the Pick_valid procedure to minimize the amount of calls to this procedure and increase the speed of the test of a candidate's validity. These changes affect both the runtime of the procedure, but also its success rate. The first two modifications are used to avoid calling the Pick_valid procedure if it is unlikely to find a valid point, or if its result is irrelevant, thus preventing useless and expensive computations. The third improvement acts on the order of simplices in the refinement queues, and aims to increase the speed by reducing the number of vertices in the final mesh.

Distortion skip in the Pick_valid procedure

In Section 4.5.1, we have proved that using a distortion criterion was in fact harmful to the algorithm. Nevertheless, we know that in theory the Pick_valid procedure is more likely to fail for large distortions. To measure this success probability, we disable the distortion criterion and observe the outcome of the Pick_valid procedure during a single Delaunay refinement run. In particular, we study the likelihood of the Pick_valid procedure to succeed with respect to the distortion of the simplex being refined. Note that this is slightly different from Figures 4.12 and 4.13 as the distortion queue was then used and ensured that the distortion within all simplices was below a bound, which is not necessarily the case here.

From Figure 4.17, we observe that -as expected -the Pick_valid procedure is unlikely to find valid points for large distortions. A lower percentage of success compared to Figures 4.12 and 4.13 can be explained by the fact that the Pick_valid procedure heavily depends on vertices that neighbor the simplex and that the distortion between all the neighboring vertices might be larger than the distortion of the simplex.

To take into account the results of this experiment in our algorithm, we introduce a "skip" based on the distortion in the Pick_valid procedure: if a simplex σ ∈ S p must be refined through the Pick_valid procedure but its distortion ψ(σ) is larger than a chosen bound ψ 0 , then σ is simply destroyed by inserting its circumcenter c p (σ). While it may seem very similar to the distortion rule that was discarded, this skip is a much better version as it only applies within the Pick_valid procedure and will thus not over-refine the mesh. The improved Pick_valid procedure is presented in Algorithm 10.

The algorithm avoids unnecessary calls to the Pick_valid procedure without the downsides of a distortion queues. Figure 4.18 shows the results obtained with this skip for various values of ψ 0 ; ∞ means that the distortion skip was not used. The modification has a non negligible cost, which can be seen by the slight increase in computational time when activating the skip but using a very large ψ 0 [START_REF] Arsigny | Log-Euclidean metrics for fast and simple calculus on diffusion tensors[END_REF]. However, the skip then allows for increasing gains of speed. As for the original distortion queue (see Section 4.5.1), a value of ψ 0 chosen too low creates a large number of points that are not otherwise required. A small enough bound ψ 0 will eventually cause the cost of adding superfluous points balance to increase and reduce the usefulness of the skip, which can be seen on for values ψ 0 < 1.3 on the graph. In practice, we use ψ 0 = 2 as it reduces significantly the computational time without increasing the number of vertices.

Encroachment skip in Pick_valid

In Section 4.3.3, we have described how a refinement point that encroaches a lower mesher level is discarded, and the lower mesher level is instead called to refine the simplex whose Delaunay ball the refinement fell in. Checking whether a candidate encroaches a lower mesher level before testing its validity is another small change that can avoid costly calls to the Pick_valid procedure. This change is obviously beneficial but the extent of the gain depends on too many criteria (approximation error, sizing of facets and cells, domain) to produce some meaningful comparison. A related but rougher change is to completely bypass the Pick_valid procedure if the center of the picking region encroaches a lower mesher level, and to simply call the Pick_valid procedure directly at the lower mesher level. It is qualified of "rougher" because in theory -and this is confirmed in practice -it might be possible to find non-encroaching valid points in the picking region even if the center of the picking region encroaches a facet Using this "skip" is a way to trade a larger number of vertices for a lower running time.

Temporary rejection in the refinement queues

In the original algorithm, the elements are put in priority queues and sorted such that the worst element of a queue is treated first. In the case of the inconsistency queue, the volume of simplices is used to order elements: the larger the volume, the higher the priority. We focus here on queues that use the Pick_valid procedure to find a refinement point: shape, sliverity and inconsistency rules. From previous experiences, we see that failures in the Pick_valid procedure are costly as they often mean that we end up adding a point -the circumcenter -which creates inconsistencies and we try again on a new simplex (with slightly better odds).

We have seen that increasing the number of tries helps reducing the number of points (see Section 4.6). However, if the maximum number of tries N t is fixed, could simply delaying the refinement of an element for which the Pick_valid procedure failed (instead of adding the circumcenter) and considering the next bad simplex improve the number of points? Indeed, there might exist bad simplices for which the Pick_valid procedure succeeds and the insertion of the (valid) point also destroys a simplex for which we had no solution.

We investigate the effect of delaying the refinement of a simplex for which the Pick_valid procedure does not find a valid point. The bad simplex is moved to the back of the queue by artificially changing its badness score (to that of the last element minus a small value). Moving an element to the bottom of the queue is fast: removal and insertion in the multiset can here be done with hints, thus resulting in average constant complexity. To avoid cyclical failures, the rejection of a simplex to the back of the queue is limited to a maximum of a single rejection.

The final Pick_valid procedure that uses all the modifications of these three sections is presented in Algorithm 11.

Algorithm 11 Final

Comparison

We analyze the improvements brought by our modified Pick_valid procedure by comparing it with the former algorithm. We consider the cube of side c = 1, centered on the (0.5, 0.5, 0.5) and all the default parameters. Table 4.3 shows the difference between the two Pick_valid procedures depending on the amount of tries we fixed. For each procedure, the table lists the final number of vertices in the mesh, the number of calls to the procedure, the time spent in the procedure and the time spent updating the queue. For a constant amount of tries, the rejection trick results in a large number of additional calls to the Pick_valid procedure, and thus a longer run time. However, the number of vertices is significantly cut. While this does not help improving the speed of the algorithm, it is nevertheless interesting that this trick can help reduce the number of vertices in the final mesh, similarly to an increase of the maximal number of tries in the Pick_valid procedure.

Results and limitations

We now present meshes produced by our implementation. Domains and metrics fields are picked as diversely as possible to explore the full capabilities of the algorithm. Details on inputs can be found in Appendices A for metrics and B for domains respectively. Unless explicatively stated otherwise, the parameters are set to their default value: ψ 0 = ∞ (no distortion refinement), r 0 = 1 (for faces, facets, or cells), ρ 0 = 3, β = 2.5 and δ = 0.3. The Pick_valid procedure uses a maximum of 60 random tries, and uses all its improvements. Remark 4.7.1 When aiming to build unit meshes (see Section 2.13 in Chapter 2) with a fixed tolerance (say √ 2), not every metric field is physically possible. We always choose carefully the sizing field parameter of our metric fields such that it is physically possible to construct a unit mesh of the input.

The results are presented in this section with only light commentary; we will provide a deeper analysis in Section 4.8. A table of in-depth statistics for all results is provided in Section 4.7.6 and the speed of the performance of our implementation is described in Section 4.7.7.

Uniform metric fields

A uniform metric field associates to any point of the domain the same metric. Note that since all the metrics are identical, neighboring stars necessarily have compatible connectivities and there can be no inconsistencies. It should be noted that in the setting of uniform metric fields, an anisotropic mesh can simply be obtained by stretching the domain through the usual metric transformation (the square root of the metric), meshing isotropically in the metric space and finally stretching back the constructed isotropic Delaunay triangulation to obtain an anisotropic Delaunay triangulation -which is in fact what is done in each star, but for different metrics in the general case.

This setting is handled without any issue by the algorithm and our implementation, whether in the setting of planar, surface or volume domains: the algorithm terminates, all criteria are honored and we obtain edges that have a length close to 1 (see Section 4.7.6). As the algorithm perform most computations in the metric space -where triangulations are isotropic -the algorithm is extremely robust and can handle anisotropy ratios up to 10 17 ; numerical issues appear in the transformations for higher ratios, which could easily be fixed by changing number types (but no one realistically deals with such ratios).

Shock-based metric fields on planar domains

We depart from uniform metric fields and consider a planar domain -a square -endowed with various metric fields. These artificial metric fields are chosen to exhibit different phenomena:

• Straight shock -A region of high-anisotropy along a relatively constant direction in between two regions of lower anisotropy. This corresponds to a change in the eigenvalues of the metric. Waves along a (straight) shore is a good illustration of such phenomenon.

• Rotational anisotropy -A region where the anisotropy ratio is constant, but the direction of the stretching is changing. This corresponds to a change in the eigenvectors of the metric. We will sometimes say that the metric is rotating to describe such regions.

These two phenomena are the primal blocks and can be combined and scaled to form any more complex or "real-world" metric fields.

Starred

Our first example uses the "Starred" metric field, detailed in Section A.5 of Appendix A. The anisotropy of this metric field varies between 1 and 10. The "Starred" metric field possesses longcompared to the prescribed size of the elements -regions of straight anisotropy, and regions where the metric field is rotating (and the anisotropy ratio is lower) in between, thus providing a good first example of an arbitrary metric field. The domain is a square of side 10, centered on the origin. The algorithm terminates without any issue and the size and shape criteria are solved quickly (4499 vertices are needed). However, the resolution of inconsistencies is difficult and requires around 40000 additional vertices. While regions where the metric field is rotating are clearly suffering from inconsistencies, regions where the metric field is straight fare only slightly better and also require many vertex insertions to solve inconsistencies.

Hyperbolic

The "hyperbolic shock" metric field has already been used several times in previous sections (in Sections 4.5.1 and 4.6, for example) and its definition is detailed in Section A.3 in Appendix A. This metric field is characterized by an anisotropy ratio that varies between 1 and 15 and is interesting as its anisotropy ratio does not vary (too much) along the shock, despite the shock being shaped like a sinusoidal curve. We shall refer to the regions of the shock where the eigenvectors change rapidly as the "turns". In these turns, the process of generating a good anisotropic mesh is difficult as the eigenvectors of the metrics are changing rapidly. As larger meshes have already been produced in other sections and very dense refinement was observed at the turns, we here zoom on one of these regions. The result is shown in Figure 4.20.

The size and shape constraints are quickly satisfied and only require around 414 vertices, but the final mesh is composed of 4621 vertices. Indeed, the resolution of inconsistencies is difficult -especially within the shock -and many vertices are required to obtain a consistent mesh despite a relatively low maximum anisotropy ratio. Consequently, the metric field is honored (and consequently the sizing field is too), but simplices are often much smaller and then resolution of inconsistencies much longer than what we hoped for.

Swirl

The "Swirl" metric field aims to represent a whirling phenomenon and is detailed in Section A.4 of Appendix A. Contrary to the two previous metric fields, the "Swirl" metric field has a relatively constant anisotropy ratio and is rotating almost everywhere. Figure 4.21 shows the mesh obtained by our implementation for a square of side 6 endowed with this metric field.

The result exhibits the same issues as in the previous experiments: the resolution of inconsistencies is difficult and many vertices are required to solve inconsistencies after all other criteria are satisfied.

Curvature-based metrics fields on surfaces

We now consider the setting of domains embedded in R 3 , and the generation of pure surface meshes. The metric field induced by the curvature of the domain is known to prescribe an anisotropy that is -asymptotically -optimal: a mesh whose elements follow this metric field will require the lowest number of element (out of all the meshes) to achieve a given approximation of the domain [START_REF] D'azevedo | On optimal interpolation triangle incidences[END_REF][START_REF] Nadler | Piecewise linear best l2 approximation on triangulations[END_REF]. It is thus interesting to observe the results produced by our algorithm for this specific metric field. The computation of curvature metric fields for implicit and polyhedral surfaces is defined in Section A.2 in Appendix A.

Implicit surface

An ellipsoid with semi-axes lengths a, b and c (see Section B.6 of Appendix B) is endowed with a curvature based metric field. The ellipsoid is a surface where no curvature vanishes (all points are elliptic), clearing us from the issue that arise from the presence of parabolic points (see Section A.2.1 in Appendix A). We study the variation of the number of vertices when this surface is stretched while keeping the approximation error h 0 constant. The anisotropic mesh is also compared to an isotropic mesh for the same approximation error, which is also generated by our mesher.

To be able to compute the area easily, we consider a specific type of ellipsoid -prolate ellipsoids -which are characterized by a > b = c. The surface area of a prolate can be computed exactly, with the following formula:

S = 2πc 2 1 + a ce arcsin(e) ,
where e 2 = 1 -c 2 a 2 . The stretching of the ellipsoid is obtained by varying the ratio r := a/b. Thanks to the robustness of our implementation, we can handle ratios as high as 10 17 and produce meshes that conform to such metric field. The approximation error upper bound is fixed at h 0 = 0.001 and all the other criteria are set to their default value (r 0 = 1.0, ρ 0 = 3.0, 60 tries maximum in the Pick_valid algorithm, etc.). Table 4.4 shows the number of vertices of the final mesh, and the density (vertices per surface unit) for each ellipsoid.

From Table 4.4, we can observe that the size of the anisotropic meshes is barely affected by the stretching: the number of vertices steadily increases as the stretching ratio increases, but this increase is slow. Even for the ellipsoid with a stretching ratio r = 10 17 , fewer than 20000 vertices are required. On the contrary, the density of the isotropic mesh stays relatively constant and consequently the number of vertices greatly increases as the ellipsoid is stretched. One can estimate the number of vertices needed for an isotropic mesh with a ratio of r = 10 17 from Table 4.4: around 10 19 vertices would be required to achieve the same approximation error.

Polyhedral domains

The "Oni" and "Cow" domains (see Appendix B) are rough polyhedral surfaces, with only 1435 and 2904 vertices respectively. We endow both domains with the metric field naturally induced by their respective curvatures. Figures 4. [START_REF] Boissonnat | A coordinate system associated with points scattered on a surface[END_REF] The "Cow" polyhedral surface endowed with its curvature metric field, 512514 vertices.

Both results are visually unpleasant, with countless over-refined local regions where consistency is very difficult to achieve.

The many inconsistencies that appear here are caused by the sensitivity of the algorithm to discontinuities and noise in the metric field. Indeed, stars are built using only the metric of the center of the star and any sudden change in the metric field thus requires a great deal of refining to ease the discontinuity. Since these two inputs are sparse compared to the level of detail of the model, the curvature metric field that was computed is rough, which creates these abrupt changes in the two polyhedral domains. While inconsistencies are once again a problem in these results, this experiment mainly illustrates the need to have a relatively "clean" input metric field. Smoothing the metric field will greatly help in the case of rough inputs, as seen in Section 4.8.2.

Shock-based metric fields on surfaces

The polyhedral surfaces "Oni" and "Elephant" are endowed this time with the hyperbolic shock (Section A.3 in Appendix A). As for planar domains, we now evaluate our implementation with shockbased metric fields. The "Elephant" domain is chosen over the cow because its genus is larger and it contains thin cylinder-like parts which are interesting to mesh for Figure 4.25 shows the two results. Despite a metric field that is not "natural" to the surfaces, the algorithm recovers the topology and achieves the desired approximation, showing the strength of the combination of restricted Delaunay triangulation-based and star-based approaches. As for the number of vertices in the final meshes, the results are similar to those obtained in the setting of a planar domain endowed with a hyperbolic shock: the meshes honor the metric field, but difficulties are encountered in the resolution of inconsistencies, causing a large number of vertices to be required to solve inconsistencies.

Shock-based metric fields in three-dimensional domains

We start our study of the performance of the algorithm of three-dimensional domains with a simple domain, a cube, and a simple metric field, the unidimensional shock metric field. This metric field contains three wave-like shocks, each along a Cartesian axis (but translated away from the origin), with respective maximal anisotropy ratios 10, 3 and 20. The metric field is detailed in Section A.8 in Appendix B.

This configuration has been used in Section 4.5.1 and the result can be seen in Figure 4.13. Similarly to the other experiments, inconsistencies are troublesome as more than 100000 vertices are needed to obtain a consistent mesh, but fewer than 5000 vertices are required to satisfy all the other criteria.

Radial shock

The classical polyhedral domain "Fandisk" represents a mechanical piece and is characterized by flat faces and sharp features. As explained in Section 4.3.4, these sharp features (edges) are not honored by our implementation as this is not our primary concern. The domain is endowed with a radial shock (see Section A.7 in Appendix A) that can be thought of as the propagation of a wave from a singular point, outwards. We set the maximal anisotropy ratio within the shock to 3 and place the center of the shock on one of the faces of the Fandisk. Once again, the sizing, shape and approximation criteria are satisfied very quickly (less than a thousand vertices), but a huge number of vertices is required to obtain consistency (almost 200000), despite a very low maximal anisotropy. If the anisotropy ratio of the shock is doubled (6), achieving consistency requires several millions of vertices.

Mesh quality

We now give detailed statistics for the meshes presented above. The following measures are listed in Table 4.5:

• The edge length. To determine how well the algorithm fares at producing a unit mesh, we compute the lengths of edges with respect to the metric at both endpoints. We list the smallest (ℓ min ), average (ℓ avg ) and largest ℓ max lengths of edges.

• The distortion. As the resolution of inconsistencies is the criterion with lowest priority and generates the largest amount of vertices, the final distortion of simplices is a good indication of the distortion at which inconsistencies are finally solved. We compute the distortion of all simplices and list the smallest (ψ min ) and average (ψ avg ) distortion from all the simplices.

• The smallest angle. Angles are a good measure of the quality of a triangulation. For each simplex, we compute its smallest angle (dihedral angle in the case of three-dimensional domains). We list the minimum (α min ) and average (α avg ) of the smallest angles of all simplices.

• The quality. A second measure of quality is computed. For planar and surface domains, we use the formula presented by Zhong et al. [START_REF] Zhong | Particle-based anisotropic surface meshing[END_REF]:

Q = 4 √ 3 A ph .
where A is the area of the triangle, p the perimeter and h the longest edge (all computed in the metric). For cells, we use the quality estimation introduced by Frey and George [START_REF] Frey | Mesh generation: Application to finite elements[END_REF]:

Q = 216 √ 3 V 2 A 3 Σ .
where V is the volume of the tetrahedron, and A Σ the sum of the areas of the four facets (all compute in the metric). Both these measures live between 0 and 1, with 1 signaling the highest quality. We list the lowest (Q min ) and average (Q avg ) quality over all simplices. We can make the following observations:

• As expected, the meshes have consistently much shorter edge lengths than prescribed by the sizing information of the metric field due to the over-refinement caused by the inconsistencies.

• The distortion within simplices is small, showing once again that the resolution of inconsistencies is difficult for large distortions, especially in the case of three-dimensional domains. The very low distortion for three-dimensional domains is particularly troublesome as many more vertices are required to achieve a given distortion in 3D compared to planar or surface domains -similarly to the way the number of vertices scales with the square of the sizing field in 2D, but with the cube of the sizing field in 3D.

• The minimum angle in planar domains is consistently much higher than in the other settings. This is a consequence from the circumcenter-based refinement algorithm: it is known that Delaunay-based refinement algorithm guarantees a lower bound on the minimum angle in 2D (up to 20 • for Ruppert's algorithm [START_REF] Ruppert | A Delaunay refinement algorithm for quality 2-dimensional mesh generation[END_REF]). Since our minimum angle is much lower than the traditional values obtained for isotropic meshes, we can conclude that the Pick_valid algorithm has a bad influence on the angles, and thus the quality of simplices.

• Finally, while the average quality is decent in all domains, the element with worst quality has very low quality (close to 0), which is very problematic as a single badly shaped element can be enough to ruin simulations (see Shewchuk [START_REF] Shewchuk | What is a good linear finite element? Interpolation, conditioning, anisotropy, and quality measures[END_REF]). However, no particular care has been given to the optimization of the mesh, which is usually needed to obtain high-quality meshes in the isotropic setting.

Overall, the results are thus relatively disappointing, mainly due to inconsistencies. This phenomenon will be investigated in Section 4.8.

Performance

We investigate in this section the run time of our algorithm on various models. Figure 4.27 shows the elapsed times to generate various meshes in the case of planar and pure surface (only facets are refined) and volume meshes (only cells are refined). Figure 4.28 shows the run time for the generation of a complete mesh (both facet and cell refinement) of the "Oni" domain endowed with the hyperbolic shock. Figure 4.27: Timers for the generation of a planar and surface meshes. The red, blue, and green curves correspond to a square endowed with respectively the starred, hyperbolic, and swirl metric fields. In orange, a pure surface mesh of the Oni surface endowed with its curvature metric field.

While our implementation handles planar, surface and volumes domains, Boissonnat et al. [START_REF] Boissonnat | Anisotropic Delaunay meshes of surfaces[END_REF] only presented results in the setting of pure surfaces. In this framework, we are approximately ten times faster than their results (25 seconds to generate the first 10000 vertices compared to 200 seconds). Although this might not seem such a large improvement, our implementation is also significantly more robust as a number of difficult configurations -see Section 4.4 -were not handled. The increased robustness naturally has a non-negligible computational cost. In Chapter III.6, we shall make use of anisotropic star sets for which we do not need consistency and we will be able to discard some of these robustness tests, further increasing the

Linear speed

The graphs in Figures 4.27 and 4.28 reveal that the computational speed is roughly piecewiseconstant: each curve can be broken into two segments. Each segment corresponds to a different types of rules: the rules that insert the circumcenter are cheap and thus the first segment has a low slope; on the other hand, the rules that use the Pick_valid procedure are expensive and the slop is much higher.

That the computational speed is much lower when the Pick_valid procedure is used is no surprise in light of the previous experiments (see Section 4.6), but the fact that the computational speed is roughly constant for each type of rule might be more surprising. This can however be explained by observing that a cycle of the algorithm (the refinement of a bad simplex) actually has roughly constant complexity. Indeed, despite handling a triangulation at each vertex, these triangulations are kept small and thus the insertion of a point in a star is almost constant time. Additionally, the positions of refinement points ensures that a relatively constant number of stars is modified by the insertion of a new point. The computation of a refinement point is either the evaluation of the circumcenter of the bad simplex or a call to the Pick_valid procedure. However, as explained in Section 4.6, finding a valid point is simply simulating the insertion of a random point in the star set and observing whether it creates bad geometrical configurations. Therefore, as expensive as the procedure might be, it also runs in roughly constant time. Finally, the number of faces to test for badness since the points are well spread.

In a cycle, only two steps do not enjoy constant complexity: the creation of a new star (points that belong in the new stars must be found) and the detection of the stars modified by a new point. However, intensive use of filters greatly reduces the cost of these operations (see Section 4.4.4).

An interesting phenomenon appears in practice: as the number of vertices increases, the computational cost of the filters increases naturally; however, the resolution of inconsistencies becomes easier (as illustrated in Figure 4.17) and the average cost of the Pick_valid is thus reduced. While these two phenomena balance each other for a time, the non-linearity created by filter operations can be observed for large meshes -for example on the red curve in Figure 4.27.

Individual cost of functions

Cost-wise, collecting the stars that are in conflict with a candidate or refinement point eclipses all the other procedures: it is by far the most expensive operation in our algorithm. The detection of the stars in conflict with a point p is decomposed in two steps:

• filtering the full star set (using the AABB tree) to obtain a list of stars whose bounding box contains p and have thus a good chance to be in conflict with the point.

• Test if p is actually conflicted with the stars: check for each star if p belongs to a Delaunay ball of a simplex.

Since our refinement algorithm creates a good sampling, the AABB tree returns a roughly constant number of stars potentially in conflict. For similar reasons, there is a relatively constant number of simplices per star. Thus computing whether a star is actually in conflict with the refinement point is a constant approximation. Despite being a constant cost procedure, its cost greatly exceed -in the meshes that we have considered (at most a few millions vertices)-the cost of filtering the stars with the AABB tree, which has non constant cost.

As the percentage of stars in conflict with a point within the set of filtered stars depends on the metric field and the domain as the bounding boxes are axis-aligned. This explains the different computation speeds for different domains and metrics in Figure 4.27.

Comparison with isotropic mesh generators

As our mesher is strongly based on the isotropic mesh generators Mesh_2 and Mesh_3, it is interesting to compare its computational speed with theirs.

We compute the runtime for both algorithms to create meshes of 100000 vertices (the average size of our meshes). The run time of isotropic mesh generators is obtained for very simple domains (a circle and a sphere), with no particular care given to the borders and with parallelism disabled. Mesh_3 takes 91 seconds to generate 96141 vertices, hence a little more than 10000 vertices per second. Mesh_3 (cells only) is slightly slower, with approximately 2000 vertices per second.

When the algorithm destroys simplices by inserting their circumcenter, our implementation has comparatively decent speed and is slightly more than twice slower in 2D and 20 times slower for pure volume meshes. A slower speed is nevertheless expected as each point inserted with our algorithm is the creation of one Delaunay triangulation and the insertion of a point in a roughly constant number of existing triangulations. Additionally, achieving robustness for our algorithm requires combinatorial checks that are not needed when a single triangulation is considered, which naturally takes its toll on the computational speed.

Remark 4.7. [START_REF]The Boost Graph Library: User Guide and Reference Manual[END_REF] The number of stars modified by the insertion of a point naturally depends on the dimension of the mesh. On average (taken over all the results mentioned above), 6.5 stars are modified in 2D and 14 stars in 3D.

These good results must unfortunately be tempered. Indeed, the Pick_valid procedure is a time sink and the algorithm is considerably slowed down as soon as the procedure is used. While the small modifications that we have introduced in Section 4.6.1 do help, testing a candidate has a cost equivalent to the insertion of a point in the mesh. In other words, the call to a single Pick_valid procedure that uses 60 maximal tries (and fails) will cost approximately 60 insertions of circumcenters. (Note that this was already observed in the experiment of Section 4.6.) Worse, since a great number of vertices are required to solve inconsistencies -a rule that requires the Pick_valid procedurethe algorithm is overall very slow. This is especially noticeable in the generation of 3D meshes with boundaries, where the cost of dealing with inconsistencies is extreme.

Conclusion

As proven in theory, the algorithm always terminates and produces a mesh whose anisotropy conforms to the anisotropy prescribed by the metric field. The implementation is robust and reasonably fast when the refinement point is the circumcenter of a bad simplex. However, the presence and resolution of inconsistencies is difficult and requires -consistently over all our experiments -a large number of additional vertices after other criteria are satisfied. This issue is double as the resolution of one inconsistency is much more expensive than the simple insertion of a point.

As explained in Section 2.13 in Chapter 2, a unit mesh with a tolerance of √ 2 is characterized by at most a distortion of 2 between adjacent vertices if the length of an edge is measured in the metric at its endpoints. Inconsistencies generally only can be resolved when neighboring stars have low distortions with experiments showing values of 1.5 for planar surfaces and 1.1 (and lower) for three-dimensional domains (see Section 4.7.6). While it might seem that the difference between a maximum distortion of 1.1 and 2 is not that important, it actually requires a great deal more vertices to achieve. In the context of three-dimensional meshes, this makes it almost impossible to mesh any domain with a metric field whose anisotropy is not completely negligible (say, above 5) without having to insert absurdly large quantities of vertices. For practical purposes, the current state of the algorithm is thus not acceptable.

The next section is devoted to the studies of inconsistencies and of potential ways to remedy this issue.

Inconsistencies

Experiments in the previous section have showed that inconsistencies prevent the practicality of our meshing algorithm. While it is certain that, given enough time and memory, all the refinement algorithms (be it 2D, surface, or 3D) will provide a criteria-abiding triangulation for any given domain and metric field, the resolution of inconsistencies is extremely costly in term of both time and number of vertices required, usually resulting in overly large meshes.

This has problematic consequences:

• We cannot impose a maximal number of vertices as nothing guarantees that the star set will be consistent with this number of vertices. This makes it impossible to reliably use our refinement algorithm with the purpose of increasing the accuracy of a solution for a constant number of vertices. • We cannot guarantee a rough lower bound on the lengths of edge. In the case of isotropic refinement algorithms, the sizing rule is generally the main criterion that drives the algorithm. Thus, the input sizing field gives an expectation of the length of edges of the final mesh. In our case, each star of a consistent star set will satisfy the size criterion, but the resolution of inconsistencies usually creates meshes whose edges are much smaller than what was expected with the sizing field (see Table 4.5).

• As a consequence of inconsistency issues, the algorithm requires many vertices and calls to the Pick_valid procedure and is thus extremely slow.

One might think that the difficult resolution of inconsistency is only due to overly difficult metric fields being considered, but other anisotropic mesh generators, while themselves possessing flaws, have shown to be able to produce close to unit meshes for similar domains and metric fields. For example, the mesh obtained by Liu et al. [73, Figure 1] for a cube endowed with a radial shock metric field with an anisotropy ratio that varies between 1 and 40 (see Section A.6 in Appendix A) is composed of 6554 vertices. For the same domain and metric field, the star set also requires around 6000 vertices for the sizing and shape criteria... and then requires a few millions of additional elements before it becomes consistent. Both cubes are presented in Figure 4.30 with the cube of Liu et al. on the left, and our mesh on the right.

Creation

One might wonder why the inconsistencies are so numerous and difficult to solve. Since the problem of over-refining appears consistently in two-dimensional, surface and three-dimensional domains, it cannot stem from simply the presence of slivery simplices in quasi-cosphericities. Rather, it can be seen as a consequence of both

• the rigidity of the star structure: for two different metrics, the Delaunay balls of a simplex with respect to each metric quickly differs as distortion grows • the isolation of stars: no neighboring metric information is taken into account.

The combination of these two characteristics makes it easy to create inconsistencies, even for relatively low distortions, whose resolution is impossible at distortions that are not close to 1. In comparison, adjacent vertices in the shock region (where the anisotropy is maximal) of the left mesh in Figure 4.30 have distortions up to 5, allowing a much sparser made to obtained.

Remark 4.8.1 The maximal distortion of 5 between two adjacent vertices in the cube on the left in Figure 4.30 implies immediately that this mesh is only a unit mesh with a large tolerance (see Section 2.13 in Chapter 2). Analyzing the length of the edges of their result, we see that indeed the lengths of edges vary between 0.2 and 2.6; the mesh is thus unit with a tolerance of 5, which is thus not completely satisfying either.

Resolution We aim to find heuristical ways to reduce the cost of consistency, and present the various attempts at achieving this goal. Most of the techniques described are applied (possibly multiple times, and even combined) just before starting the refinement of inconsistent simplices. At this point, we are faced with an inconsistent star set that satisfies all the other criteria (size, shape, sliverity, etc.), which we would like to render consistent without any additional point insertion.

Smoothing

Inconsistencies require low distortion between neighboring points to be solved. Consequently, could the metric field be modified (simplified) to help the algorithm in difficult zones ?

The technique of "smoothing" a metric field, introduced in Section 2.2.3 of Chapter 2, allows for such modifications of the metric field. Different smoothing-based approaches are considered.

• The metric field is preemptively smoothed in input as described in Section 2.2.3 of Chapter 2: each point is reassigned the Log-Euclidean interpolation of himself and his first n (variable parameter) rings on the input domain. In the case of a non-discretized domain (e.g. an implicit surface), we first generate a dense-enough isotropic mesh of the domain. This method works very well to smooth out noise: For metric fields that are already smooth (which is the case of most metrics that we have considered), it has however either little influence on the output or massively reduces the anisotropy.

• When the queue of inconsistencies is reached, we smooth the metric field directly on the anisotropic star set: at each point, we attribute a metric defined from a Log-Euclidean interpolation of its k-nearest neighbors (geodesic neighbors in the case of a pure surface mesh). The process is repeated until the distortion between neighbors is below a given bound, consistency is achieved or a maximum number of iterations is reached.

While we can often achieve consistency without inserting new vertices with this method, it generally comes at the cost of an important loss of anisotropy. Additionally, many smaller issues are present: perturbing the metric of a star after construction is costly and each pass requires a full update of the star set. Finally, it is not assured that the distortion will decrease as we smooth and if it does, the number of passes needed to achieve consistency is not clear and .

• The last smoothing-based approach is slightly different from the previous ones and allows the insertion of new vertices after all criteria (but inconsistencies) are satisfied. However, the refinement point p is attributed a metric G ′ p that is not defined as the value of the metric field g at p but as the Log-Euclidean interpolation of the metrics of the stars modified by the insertion of that refinement point. Additionally, the metrics of stars affected by the insertion of p are reciprocally modified slightly by G ′ p . With this new definition, the metric field is still continuous and thus the algorithm terminates. Far fewer vertices are required in the case of implicitlydefined metric fields, but the results are plagued with local over-refinement spots (where g(p) and G ′ p are too different). This is visually unpleasant, and not much more satisfying than a global over-refinement.

In conclusion, the preemptive smoothing of the metric field is effective to remove noise if the metric field was evaluated numerically, but smoothing does not help with respect to the resolution of inconsistencies. These poor results for inconsistencies are somewhat expected: it is difficult to imagine how an implicitly-defined metric field could be simplified. Consider a simple straight shock metric field, for example g(p) = exp(x) 0 0 1 . The distortion between the point p = (0, 0) and q = (10, 0) is exp [START_REF] Alliez | Anisotropic polygonal remeshing[END_REF]. If the endpoints of an edge must have a distortion lower than 1.5, we require a certain amount of vertices along (Ox) (that could be computed, but it is besides the point). The only way to simplify this metric field would be to to reduce the "intensity" of the shock, that is to reduce the distortion between p and q.

Reducing the anisotropy to achieve consistency with a reasonable amount of vertices is often easy to do, but generally results in a complete loss of anisotropy. For example, to obtain a consistent star set of the cube endowed with the radial shock metric field (see Figure 4.30), with 6554 vertices (to match the number of vertices in the cube of Liu et al.), the anisotropy ratio of the shock must be reduced from 40 to... √ 2. (This value was found by simply reducing the maximal anisotropy ratio until the consistent star set had the required number of vertices.) This obviously cannot be considered a viable solution.

Relaxed consistency

We study in this section the effect of relaxing the consistency criterion: what if we only require the final star set to be away from a consistent star set by a known set of operations on the star set?

Flip-consistency

Edge flips offer an easy way to switch between different triangulations and have thus been regularly used in mesh generation and optimization. We incorporate the notion of flips in consistency and consider that a simplex σ is flip-consistent if σ can be found in all of the stars of its vertices if we allow a simple diagonal flip to happen. Assuming that we manage to create a flip-consistent mesh, we can then apply manual flips to obtain a consistent mesh.

Flip-consistency is, by definition, weaker than consistency and the notion of consistency implies flip-consistency. If a simplex is not flip-consistent, it is said to be flip-inconsistent.

We first limit the technique to two-dimensional and pure surface domains, as flip operations in surface stars are simpler to handle than in volume stars. From an implementation point of view, we introduce a flip-inconsistency refinement rule that deals with this relaxed inconsistency: a simplex that is not flip-consistent must be refined. This queue, like the inconsistency queue it replaces, has the lowest priority out of all the queues in the algorithm. The refinement of a flip-inconsistent simplex is similar to an inconsistent simplex: the Pick_valid procedure is called and tries to find vertices that would not create flip-inconsistencies.

Results

In practice, this approach does not have any significant effect and, consistently across all inputs, many inconsistencies are not flip-consistencies. Figure 4.32 shows the progression of the resolution of inconsistencies in a difficult region of the hyperbolic metric field. While many simplices are flip-consistent, the situation does not improve overall as the algorithm solves inconsistencies.

Allowing more than one flip would certainly help, and even potentially solve inconsistencies. We have chosen however to only allow one diagonal simple flip for two reasons:

• We seek a relatively simple method that extends to all inputs. While flipping in planar domain is relatively straightforward, investigating the combinatorial of stars while allowing multiple flips in 3D seems very difficult.

• If we allow too many flips to happen, the locally uniform anisotropic mesh approach is somewhat lost as we obtain an algorithm that is very close to the work of Mavriplis [START_REF] Mavriplis | Adaptive mesh generation for viscous flows using triangulation[END_REF] or Borouchaki [START_REF] Borouchaki | Delaunay mesh generation governed by metric specifications. part Ialgorithms[END_REF].

Therefore, this technique is put aside.

Age-based consistency

We define another type of relaxed consistency with the notion of consistency with stars older than i: a simplex τ is consistent if τ is present in the stars of its vertices whose index (the position in the star set) is smaller than i (thus were created first and are older). This new type of relaxed consistency will be used in the next section.

Perturbing vertices

The modification of a vertex position is a classic method used in mesh generation, usually to improve the quality of meshes [START_REF] Tournois | Optimisation de maillages[END_REF].

We attempt to solve inconsistencies without inserting new points by moving points, with the hope of finding better positions that would reduce the number of inconsistencies. The candidate new position of a point is picked in a small sphere centered on the point and of radius 1/3 of the distance to its closest neighbor. The validity of the move is tested as in the Pick_valid procedure: no small quasi-cosphericities must be created (see Section 4.2.1). This first approach is largely unsuccessful and only removes a negligible percentage of inconsistencies across all the meshes.

A variation using age-based consistency (defined in Section 4.8.3) is considered, with the idea that points are moved such that they do not create problematic configurations with points that have already been moved. The modified algorithm is as follows: A very simple combination of domain and metric field is considered to investigate the performance of this algorithm. The domain is an ellipsoid with a = 10 and b = c = 1 endowed with the curvatureinduced metric field and the same parameters as in Section 4.7.3. This input has very few issues with consistency with the normal refinement algorithm, and requires very few additional points to finish: the final mesh has 6502 and only 212 vertices are required for consistency. We interrupt the algorithm at 6290 vertices (before the inconsistency queue) and try to resolve inconsistency with point displacement. This is successful: moving vertices with the age-based consistency criterion successfully gets rid of inconsistencies. However a number of simplices do not honor other criteria (size, approximation, shape) anymore after their vertices have been moved. Refining these facets to satisfy once again the criteria takes around 200 insertions and we thus obtain the same number of vertices as if we had simply refined inconsistencies.

Algorithm
In the case of more complicated metric fields and domains, point perturbation has barely any effect on the consistency, whether using full consistency or age-based consistency. This is not completely unexpected: the Pick_valid procedure is in a sense already an optimization of the position of points with respect to the consistency criterion.

Weight-based perturbations

Another type of optimization that is often used in mesh optimization is the weighting of vertices: for example, transforming a Delaunay triangulation into a regular triangulation is one of the way slivers can be removed from isotropic meshes [START_REF] Tournois | Perturbing slivers in 3D Delaunay meshes[END_REF][START_REF] Cheng | Quality meshing with weighted Delaunay refinement[END_REF].

We adapt this technique to our context and modify the underlying structure of stars to be regular Delaunay triangulation instead of Delaunay triangulations. Thanks to our CGAL implementation, this change is trivial and is simply changing the base class of our Stretched_Delaunay class to be a weighted Delaunay triangulation instead of a Delaunay triangulation. We then attempt to weight vertices to remove quasi-cosphericities, but results were poor. This result can be explained by the fact that weighting vertices and perturbing their metric (smoothing) are similar operations and by the fact that only for quasi-cosphericities for a low distortion was weighting able to solve an inconsistency without creating another.

Vertices removal

We investigate in this section the necessity of vertices once consistency has been achieved: could it be possible that a large amount of points are simply needed as "scaffolding" and could be discarded afterwards? Removing a point p from the star set is done in two steps, as shown in Algorithm 13.

Algorithm 13 Removing a vertex from the star set

Remove the point p from all the stars S q in which it appears. Remove S p from the set of stars.

Naturally, we must ensure that any star S q in which p belonged and has been removed has the correct connectivity and is not missing any vertex (due to star cleaning, for example -see Section 4.4.5).

We first attempt to remove any point from the star set, on the condition that this does not create any inconsistency. Consistently across domains and metric fields, only a few points are removed, proving that all the points are indeed necessary.

Removal with relaxed consistency

Behind relaxed consistency is the hope of obtaining an inconsistent star set that we can make consistent using simple operations, and in particular without adding any new point. Using the flipconsistency notion defined in Section 4.8.3, we try to remove points from consistent meshes without losing the flip-consistency of the star set. The algorithm devised is presented in Algorithm 14. Heavy caching of the stars can be used to make this algorithm fast.

The results of this new algorithm are barely better than when using full consistency: across various domains and metric fields, only a handful of points are removed from the mesh.

In conclusion, we can see that no vertex is superfluous in the final mesh.

Algorithm 14 Inconsistency solving: removing points attempt for each star S p in the star set do Remove the corresponding center vertex p from the stars that contain it Remove S p from the star set if Any active star is flip-inconsistent then Re-insert S p in the star set

Constrained stars

In an inconsistent configuration, two stars S p and S q disagree on which simplices are Delaunay. What would happen if we decided that one star was "correct", say S p , and somehow forced S q to constrain itself such that no inconsistency exists with S p anymore? The following section describes an heuristic to obtain a triangulation for a given metric field g and a given set of points P. This heuristic is based on rebuilding the star set iteratively, but each star S p only sees a restricted set of points P p that varies for each star; this set is picked such that no inconsistencies will be created with already-rebuilt stars.

The initial point set P can be (and is, in the examples) computed through the classic Delaunay refinement algorithm used in the star set algorithm. The algorithm then iteratively rebuilds the star set as follows: we start by picking one star S p . The connectivity of S p is then imposed to others: for any simplex τ ∈ S p and any q ∈ τ with q = p, we must have τ ∈ S q . Additionally, we must not have any simplex τ ∈ S q with p ∈ τ but such that p ∈ S p . These two conditions ensure that no inconsistency are formed. At each step, we consider a point q ∈ P, and the star S q is rebuilt according to the previous conditions. The simplices of S q are then in turn imposed to other stars. Implementation wise, imposing the simplices of other stars to a star being rebuilt is done by deriving our Stretched_Delaunay class from constrained Delaunay triangulations, which are also available in the CGAL library. As in Section 4.8.4, this is a very simple change, implementation-wise. To ensure that the imposed simplices are not broken by other points, we do not insert (in the star being rebuilt) any vertex that is in conflict with an imposed simplex, that is no point that falls in the Delaunay sphere -in the metric -of an imposed simplex is added to the star.

Although we cannot ensure the termination of this algorithm in all dimensions, the algorithm will terminate since every polygon is decomposable into triangles with only interior edges.

Results Figure 4.33 shows the intermediate steps in the rebuilding of an inconsistent star set. The domain is a square of side 5 endowed with the hyperbolic shock metric field. The final mesh has 7739 vertices; in comparison, the final mesh that had to solve inconsistencies had 43495 vertices.

While this method does provide triangulations, the quality of the final meshes is very low in regions that were inconsistent, for example on the "turns" (the regions where the eigenvectors of the metric are rotating) of the hyperbolic shock metric field. This is especially noticeable when the starting star set is mostly composed of inconsistencies. Figure 4.34 shows an example of such mesh; the domain is almost entirely covered with inconsistencies before we refine for the inconsistency rule. Our algorithm terminates and provides a consistent triangulation, but the simplices hardly conform to the prescribed metric and, even visually, the quality is everywhere very low.

Constraining simplices is the first of the methods that we have investigated that manages to create a consistent star set given a set of points. Unfortunately, the solution cannot be called satisfying.

Using third party vertices

In a last attempt, we considered using points obtained by other Delaunay-based anisotropic mesher generators in the setting of domains and metric fields where a unit mesh was achieved. We extract the position of the vertices from their results, and construct a star set from these points. We generally obtain many inconsistencies. Applying the refinement algorithm to this star set adds a large number of vertices to achieve consistency, as if we had started from scratch.

Conclusion

We have presented an empirical study of the locally uniform anisotropic meshes framework, introduced by Boissonnat, Worsmer, and Yvinec [START_REF] Boissonnat | Locally uniform anisotropic meshing[END_REF]. During this study, we have introduced minor changes to the theory and provided a robust and generic implementation of the algorithm.

While the algorithm is simple to understand, the computation speed of a naive implementation would be unreasonable. We presented an implementation of the algorithm that is both robust and fast, which is more difficult to achieve. Our implementation is slow compared to other (isotropic or anisotropic) mesh generators, but this is inherent to the algorithm as the insertion of a refinement point must be performed in multiple stars. Additionally, the algorithm relies heavily on the Pick_valid procedure to select refinement points, which is extremely costly: testing the validity of a single candidate is more expensive than inserting a vertex in the star set. The large number of invalid candidates generally tested before finding a valid point multiply this cost. While this slowdown can be tolerated in a two-dimensional setting, the additional computational cost becomes important in 3D: inserting a vertex through the Pick_valid procedure can have in 3D the same computational cost as the insertion of up to a thousand points in a standard isotropic mesh like the 3-dimensional isotropic mesh generator Mesh_3 of CGAL. The speed of our implementation might though be improved by dissociating our star class from the use of CGAL's classes and using instead a dictionary data structure, as Shewchuk suggests for stars [START_REF] Shewchuk | Star splaying: an algorithm for repairing Delaunay triangulations and convex hulls[END_REF], as to avoid the redundancy of each point and simplex usually appearing in multiple stars. However, our CGAL-based implementation allows for a robust and powerful implementation. As an example of this, it was trivial to change stars from being Delaunay triangulations to weighted or constrained Delaunay triangulations in Section 4.8.

The effect of the heavy cost of the Pick_valid procedure is amplified by the excessively large number of vertices that must be chosen (using the Pick_valid procedure) and inserted to solve inconsistencies, which forms the major drawback of the algorithm. While the algorithm always terminates and provides an anisotropic triangulation that honors the criteria and the metric field, this will almost always require a much larger number of vertices than expected before the star set becomes consistent. Indeed, the resolution of inconsistencies is generally unsuccessful until very low distortions are achieved between adjacent vertices. Similarly to theoretical bounds on the termination of the algorithm, the theoretical bounds on the quality unfortunately do not translate to good quality meshes either and the lowest and average quality of simplices is generally poor. However, no optimization was performed, which is essential to obtain high quality meshes, even in isotropic settings.

Following these observations, we focused our attention on the resolution of inconsistencies and different approaches were considered to help the resolution of inconsistencies. Unfortunately, no method has been able to significantly improve the situation.

On the bright side, although the algorithm requires low distortion between the vertices of the mesh, it can handle extremely high anisotropy ratios. Additionally, the algorithm is extremely robust to all kinds of input and metric fields, and will provide an anisotropic mesh that conforms to any continuous metric field, given enough time and memory. Finally, despite this shortcoming, the framework of locally uniform anisotropic meshes remains one of the few approaches that offer provable anisotropic mesh generation.

While the approach is not practical to generate anisotropic meshes, we make use of inconsistent anisotropic star sets to help the computation of geodesic Voronoi diagrams. We will then be able to ignore the resolution of inconsistencies, and the refinement algorithm described in this chapter becomes much more useful as it is only a few times slower than an isotropic mesh generator but provides locally Delaunay triangulations whose simplices have good shape and bounded edge size. This use of locally uniform anisotropic meshes will be described in detail in Chapter III.6.

Part II

Anisotropic Voronoi diagrams [START_REF] Schmidt | Interactive decal compositing with discrete exponential maps[END_REF]

On the Labelle and Shewchuk approach to anisotropic Voronoi diagrams

The empirical study of Chapter I.4 has revealed that locally uniform anisotropic meshes are not practical. This can be partially attributed to the rigidity of the stars as a Delaunay star does not take into account any metric but the metric of its center point.

We depart from the structure of independent stars and move towards the definition of triangulations as duals of Voronoi diagrams, with the hope that Voronoi cells being dependent on the metric of their neighbors, the increased amount of metric information taken into account will be beneficial to the output triangulation. Several authors have considered Voronoi diagrams using anisotropic distances to obtain triangulations adapted to an anisotropic metric field.

Du and Wang [START_REF] Du | Anisotropic centroidal Voronoi tessellations and their applications[END_REF] defined the anisotropic Voronoi cell of a point p i in a domain Ω endowed with a metric field g as

V DW g (p i ) = {x ∈ Ω | d g(x) (p i , x) ≤ d g(x) (p j , x), ∀p j ∈ P\ p i }.
Labelle and Shewchuk [START_REF] Labelle | Anisotropic Voronoi diagrams and guaranteed-quality anisotropic mesh generation[END_REF] had independently the same idea of using only discrete metric information of important points, but their definition of Voronoi cell differs slightly:

V LS g (p i ) = {x ∈ Ω | d g(p i ) (p i , x) ≤ d g(p j ) (p j , x), ∀p j ∈ P\ p i }.
Unfortunately, while the dual of an Euclidean Voronoi diagram is a Delaunay triangulation for any point set (in general position), this property does not hold for a generic distance. Canas and Gortler [START_REF] Canas | Orphan-free anisotropic Voronoi diagrams[END_REF][START_REF] Cañas | Duals of orphan-free anisotropic Voronoi diagrams are embedded meshes[END_REF] and Cheng et al. [START_REF] Cheng | Anisotropic surface meshing[END_REF] proved that under sufficient sampling conditions, the dual of the Voronoi diagram using the distance of Du and Wang is a triangulation for planar and surface domains, but no result is known for higher-dimensions. In the case of the distance of Labelle and Shewchuk, the associated theory on the embeddability of the dual covers the planar setting, but its extension to higher dimensions faces inherent difficulties. There are thus no proofs in higher dimensions for either diagrams.

We choose to specifically investigate the definition of Labelle and Shewchuk as it fits best with the rest of our work. Additionally, other authors have previously studied this diagram: Canas and Gortler [START_REF] Canas | Orphan-free anisotropic Voronoi diagrams[END_REF] showed that under some sampling conditions, the Voronoi diagram of Labelle and Shewchuk does not possess any orphans, which are parts of a Voronoi cell that are disconnected from the seed. However, they could not prove that the dual of an orphan-free anisotropic Voronoi diagram is a triangulation. Boissonnat et al. [START_REF] Boissonnat | Anisotropic diagrams: Labelle Shewchuk approach revisited[END_REF] proposed an alternative construction of the anisotropic Voronoi diagram of Labelle and Shewchuk as the intersection of a high-dimensional power diagram with a fixed parametrized surface. They proposed a theoretically sound refinement algorithm using this alternative point of view to construct anisotropic Voronoi diagrams whose dual is a triangulation. Unfortunately, as in the original work of Labelle and Shewchuk, this theory is limited to the case of two dimensional domains.

This chapter is divided in two relatively-independent parts. In the first part, we expose conditions on a set of seeds such that the dual of the Voronoi diagram -for the definition of Labelle and Shewchuk -of these seeds is a triangulation, in any dimension, and introduce an algorithm to generate such point sets. In the second part, we present a refinement algorithm based on the alternate construction introduced by Boissonnat et al. [START_REF] Boissonnat | Anisotropic diagrams: Labelle Shewchuk approach revisited[END_REF]. The refinement algorithm uses a "dual" point of view by constructing a star set, with each star locally approximating the dual of the anisotropic Voronoi diagram of Labelle and Shewchuk. We detail the theoretical issues and investigate its practicality.

Contributions

We first give sufficient conditions such that the straight dual (simplices realized as the convex hull of their vertices) of Labelle and Shewchuk's Voronoi diagram is an embedded triangulations in any dimension. Our proof makes use of power protection which can be shown to be linked to the concept of quasi-cosphericities that appeared in the framework of locally uniform anisotropic meshes in Chapter I.4. We present a refinement algorithm to create such point set. These requirements can incidentally be used to prove that multiplicatively-weighted Voronoi diagrams have an embedded dual when generated with similar point sets.

We use the alternative construction of Boissonnat et al. [START_REF] Boissonnat | Anisotropic diagrams: Labelle Shewchuk approach revisited[END_REF] along with an efficient point set reconstruction algorithm, the tangential complex [START_REF] Boissonnat | Manifold reconstruction using tangential Delaunay complexes[END_REF] to propose a new refinement algorithm that attempts to build a triangulation that is dual of Labelle and Shewchuk's diagram. The tangential Delaunay complex structure is slightly modified in this setting, which allows for an efficient algorithm despite handling high-dimensional entities. We show that under some density condition, our triangulation is the dual of the anisotropic Voronoi diagram of Labelle and Shewchuk, and can thus be made a triangulation. Finally, we provide an experimental study of the algorithm.

Labelle and Shewchuk anisotropic Voronoi diagram

Labelle and Shewchuk [START_REF] Labelle | Anisotropic Voronoi diagrams and guaranteed-quality anisotropic mesh generation[END_REF] introduced an anisotropic Voronoi diagram where each seed sees distances in its own metric. The anisotropic Voronoi cell of a seed p i is defined by

V LS g (p i ) = {x ∈ Ω | d g(p i ) (p i , x) ≤ d g(p j ) (p j , x), ∀p j ∈ P\ p i }.
We denote Vor LS g (P) the corresponding anisotropic Voronoi diagram of a point set P and with the metric field g. The anisotropic Voronoi diagram Vor g (P) is relatively easy to compute as its bisectors are quadric surfaces (or simply conics in a two-dimensional setting). This can be immediately verified by writing down the definition of a bisector:

BS(p, q) = {x ∈ Ω | d p (p, x) = d q (q, x)},
and noting that d p (p, x) = d q (q, x) ⇐⇒ (xp i ) t g(p i )(xp i ) = (xp j ) t g(p j )(xp j ).

Dual of the anisotropic Voronoi diagram

The construction of the dual of a Voronoi diagram must first go through the choice of the geometry of the dual complex: should simplices be drawn using geodesics, segments, piecewise segments? We study here the straight dual of the anisotropic Voronoi diagram, meaning the realization of the nerve that uses the classical definition of simplices as the convex hull of a set of points. Since we do not consider any other dual of the anisotropic Voronoi diagram in this chapter, we shall omit the keyword "straight" in the rest of the chapter. The duality between the Voronoi diagram and the Delaunay triangulation is well known in the Euclidean setting, but, as for most other Voronoi diagrams, the dual of the anisotropic Voronoi diagram Vor g (P) is generally not a triangulation.

A source of potential issues preventing the embeddability of the dual are orphans, region of faces or cells that are disconnected from their seed, which can be present in Vor g (P). While orphans are not always responsible for the non-embeddability of the dual of the diagram, they are symptomatic of a poorly-sampled Voronoi diagram (Figure 5.2). Figure 5.2: Two Voronoi diagrams exhibiting an orphan cell. On the left, the dual is unaffected by the orphan. On the right, the dual is not a triangulation.

In the two-dimensional setting, Labelle and Shewchuk proposed a theoretically sound refinement algorithm that generates a point set for which the dual of the anisotropic Voronoi diagram is a triangulation of the domain. Their proof is based on a visibility argument that ensures that the bisector between two seeds is not too "curved". Unfortunately, the proof cannot be extended to higher dimension -or even surfaces.

We now give sufficient conditions in term of density and quality of the point set for the dual of the anisotropic Voronoi diagram to be an embedded triangulation and introduce a refinement algorithm to point sets that satisfy these requirements. We shall prove the following theorem. Theorem 5.2.1 Let P be a point set over an unbounded n-manifold M endowed with a metric field g. Denote by Vor g (P) If P is a δ-power protected (ε, µ)-net, with δ sufficiently large and ε sufficiently small, then the dual of Vor g (P) using straight simplices is a triangulation of M.

Detailing of the proof of Theorem 5.2.1

We will introduce in Chapter III.6 the discrete Riemannian Voronoi diagram, a structure that approximates discretely the complete Riemannian Voronoi diagram of a set of points -the Voronoi diagram built using shortest paths on a Riemannian manifold -. Chapters III.7 and III.8 are devoted to the theoretical study of this approach and we expose in particular conditions such that the straight dual of our discrete Riemannian Voronoi diagram is an embedded triangulation, in any dimension.

Due to the many similarities in terms of approach, requirements, and intermediary results between the proofs of the embedding of the dual of the anisotropic Voronoi diagram (using Labelle and Shewchuk's distance) and of the embedding of the dual of our discrete Riemannian Voronoi diagram, we do not detail the proofs in this chapter but simply describe the path that is followed.

Precise computations, lemmas and theorems are however presented in Chapters 3 and III.8 to prove the embedding of the dual of our discrete diagram in the setting of Riemannian Voronoi diagrams, which include the necessary tools and results to prove the embedding of the dual of the anisotropic Voronoi diagram of Labelle and Shewchuk. The results of these chapters -some of them mentioned below -assume arbitrary metric fields, but can be translated to the setting of Labelle and Shewchuk's anisotropic Voronoi diagrams.

Overview of the proof of the embeddability of the dual

We consider in this section an unbounded domain Ω endowed with an arbitrary metric field g. Our approach stems from the observation that as the point set P becomes denser, the distortion between neighboring vertices decreases and the bisectors become less and less "curved". At a point p, the anisotropic Voronoi diagram Vor g (P) is thus well approximated by the uniform anisotropic Voronoi diagram Vor Gp (P). Using the notion of power protected nets, we can show that the duals are identical and, by combining this information for all vertices, that the dual of Vor g (P) is a triangulation.

Orphans

Our approach relies on combinatorial information and is slightly complicated by the presence of orphans, which we thus get rid of preemptively.

Canas and Gortler [START_REF] Cañas | Duals of orphan-free anisotropic Voronoi diagrams are embedded meshes[END_REF] introduce samples which are samples specifically designed for the anisotropic distance of Labelle and Shewchuk: a point set P is an asymmetric ε-sample if for all x ∈ Ω, there exists a seed p ∈ P such that d LS Gp (p, x) < ε. Using this type of point set, they show that an anisotropic Voronoi diagram can be made orphan-free if ε is small enough.

The notion of nets (see Section 2.12.1 in Chapter 2) that we employ could also be defined asymmetrically. However, we shall use nets defined with respect to g and for the geodesic distance d g , meaning for example that P is an ε-sample if for all x ∈ Ω, there exists p ∈ P such that d g (p, x) < ε. This choice is made for consistency reasons: most of the results that we achieve in other chapters are obtained with nets. It also allows us to define a common refinement algorithm for point sets used in this chapter and in Chapter III. 6.

This difference of definition is anyway relatively minor as we can easily construct an asymmetric net from a (Riemannian) net by using the distortion to relate the distances d g and d p (see Lemma 3.1.4 in Chapter 3).

Locality

The central idea of our approach is to consider a neighborhood U p around each seed p ∈ P and to approximate over U p the anisotropic Voronoi diagram Vor g (P) by a uniform anisotropic Voronoi diagram, Vor Gp (P) with G p = g(p). The neighborhood U p is chosen large enough to include both V g (p) and V Gp (p).

We then compare the sets of simplices incident to p in the dual of both diagrams -the stars S g (p) and S Gp (p) -with the hope of equating them. Indeed, in the setting of a uniform metric field g 0 , the Voronoi diagram of a point set P with respect to g 0 is simply the affine transformation (by the inverse of the square root of g 0 ) of the Euclidean Voronoi diagram of the point set P transported to the metric space of g 0 . Hence it is clear that the dual of Vor g 0 (P), and specifically the star S g 0 (p) of p, is a triangulation.

Unfortunately, the Voronoi vertices of an arbitrary point set can be arbitrarily close. Consequently, the (obvious) embedding of the dual of an anisotropic Voronoi diagram with respect to a uniform metric field does not guarantee the embedding of the dual of the anisotropic Voronoi diagram with respect to an arbitrary metric field, regardless of its proximity -in terms of distortion -with the uniform metric field.

Separation of Voronoi vertices

The power protection of a set of points P with respect to a metric g 0 enforces that no point in P lives close to the Delaunay ball of a simplex in the Delaunay triangulation Del g 0 (P) (see Section 2.12.2 in Chapter 2). Assuming that our seed set is power protected is the key to making our approach based on local approximations viable.

Indeed, we can show that if the point set P is power protected with respect to G p , then the Voronoi vertices of the Voronoi diagram Vor Gp (P) are separated, meaning that the distance between any two adjacent Voronoi vertices is lower bounded. Additionally, assuming that the point set is also a net, we can prove that Voronoi vertices are stable with respect to metric changes: the distance between a Voronoi vertex of V g (p) and its combinatorial equivalent in V Gp (p) can be upper bounded. The combination of these two results, illustrated in Figure 5.3, allows us to deduce that the Voronoi cells V g (p) and V g 0 (p) have the same combinatorial information.

Under these conditions, the union of the simplices of the dual of Vor g (P) that are incident to pin other words, the star S g (p) -is exactly the star of S Gp (p). Since S Gp (p) is a triangulation, S g (p) also forms a triangulation.

Combinatorial compatibility of the stars

To obtain a triangulation of the domain, we must verify that the connectivity of all the stars is compatible: a simplex must exist in the star in all of its simplices.

We use the continuous aspect of Vor g (P) to show that this is indeed the case. To each k-simplex of the star S Gp (p) corresponds a (nk)-face F in the Voronoi diagram Vor Gp (P). By combinatorial equivalence of the Voronoi diagram with respect to G p and Vor g (P), this (nk)-face is also found in Vor g (P). Using once again the combinatorial equivalence, the (nk)-face F will appear in the local uniform Voronoi diagram Vor Gq (P) with respect to all the seeds q such that F ⊂ V g (q) (that is all the vertices of the simplex dual of F ).

We have now a consistent star set, which can be proven to be a good triangulation of the domain, similarly to the star set studied in Chapter I.4 (see Section 4.2.4).

Intermediary steps

Our proof can be decomposed in a list of successive results that must be obtained. As explained in Section 5.2.1, all the necessary tools are presented in detail in other chapters for the generic setting p ℓ v ℓ s Figure 5.3: The Voronoi diagrams Vor g (P) (orange) and Vor Gp (P) (thick black lines). The blue circles represent the stability regions for the Voronoi vertices. The distance ℓ v is lower bounded when P is power protected. When the distortion is sufficiently low, the radius of the blue circles is small and the distance ℓ s is positive, giving S g (p) = S Gp (p). of Riemannian Voronoi diagrams. We adjoin links to the proofs.

Remark 5.2.2 Since a uniform metric field is only a linear transformation away from the Euclidean metric field, we simplify matters in the proofs by assuming that the local metric G p is the Euclidean metric field g E .

We must:

• Prove that if the point set P is a power-protected net with respect to the arbitrary metric field g, and that g and the Euclidean metric field g E are close, then P is also a power protected net with respect to g E . This is done in Lemmas 3.4.2 and 3.4.16 in Chapter 3 for the net and power protection properties respectively.

• Prove that for a given set of seeds P and a seed p ∈ P, the bisectors of the Voronoi cell V g (p) are close to the bisectors of the Euclidean Voronoi cell V E (p) when the sampling is dense. This is done from Lemma 3.4.5 up to Lemma 3.4.12 in Chapter 3.

• Prove that in an Euclidean Voronoi diagram built from a power protected net, the distance between two adjacent Voronoi vertices is lower bounded. This is done in Lemma 3.2.4 in Chapter 3.

• Prove that when the sampling is dense, the same Voronoi vertex in the cell V g (p) and in the cell V p (p) are much closer than their separation distance in V p (p). This last part is simply combining the previous results, and is done in detail in Section 7.3.3 in Chapter III.7 and in Section 8.3.3 in Chapter III.8.

In these conditions, the star S g (p) is a triangulation equal to S Gp (p) and the dual of the anisotropic Voronoi diagram is a triangulation for the reasons detailed in the previous section.

Protection and quasi-cosphericities

By considering at each seed the connectivity of the diagram using a uniform metric field defined by the metric of the seed, we are in fact bringing the anisotropic Voronoi diagram of Labelle and Shewchuk within the framework of locally uniform anisotropic meshes presented in Chapter I.4, with the small twist that we are here principally looking at the dual of stars (a Voronoi cell and its neighbors).

In the framework of locally uniform anisotropic meshes, the obstacle that prevents a set of stars from being a triangulation of the domain is the presence of inconsistencies in the stars, a configuration where adjacent stars have incompatible connectivities. It can be shown (see Section 4.1.2 in Chapter I.4) that once the distortion between adjacent vertices is small enough, inconsistencies are only created when a point lives outside of the Delaunay G-ball of a simplex σ, but inside the Delaunay G ′ -ball of σ. Denoting ψ 0 the distortion ψ(G, G ′ ), this geometrical configuration is called a ψ 0 -quasi-cosphericity (see Figure 5.4, left). It may seem surprising that we are able to show that the dual of the anisotropic Voronoi diagram is a star set that can be merged to form a triangulation -and is thus consistent -despite not using the notion of quasi-cosphericities. However, we have used the notion of power protection and, as we shall now explain, power protection and quasi-cosphericities are related.

p q r B G (τ ) B G ′ (τ ) s τ τ p s q r B B +δ

Power protection and the absence of quasi-cosphericities

The assumption of power protection in fact implies the lack of quasi-cosphericity for a well-chosen distortion. We first give a rough idea of the proof, before detailing the computations.

By definition, if a point set is power protected with respect to G, then there can be no vertex close to the Delaunay G-ball of a simplex of σ. On the other hand, for a small metric perturbation G ′ of G, the Delaunay G ′ -ball of σ is close to the Delaunay G-ball. Thus there exists a distortion bound ψ 0 that is small enough such that all the Delaunay G ′ -balls are included in the power protected (thickened) Delaunay ball of σ. In other words, there are no ψ 0 -quasi-cosphericities.

We now expose the precise computations. Notations used are illustrated in Figure 5.5. Assume that P is a δ-power protected (ε, µ)-net with respect to a uniform metric field G. Consider a n-simplex σ, with a dual Voronoi vertex c in Vor G (P). By definition of the power protection, we have that for any p ∈ σ and s ∈ P\ Vert(σ),

τ p q c c ′ r s c ′′ B B ′ B ′′ χ B +δ
d G (c, s) 2 > d G (c, p) 2 + δ 2 .
We wish to find a ψ 0 such that σ is involved in no ψ 0 -quasi cosphericities. Consider now a second uniform metric field G ′ such that ψ(G, G ′ ) < ψ 0 , and denote by c ′ the dual Voronoi vertex of σ in Vor G ′ (P). We want to prove that for any s ∈ P\ Vert(σ),

d G ′ (c ′ , p) < d G ′ (c ′ , s), (5.1)
that is s is outside of the Delaunay ball B G ′ (σ), and thus σ is not involved in a ψ 0 -quasi-cosphericity.

The most useful property of the distortion is to relate the distances with respect to two metric fields: for x, y in Ω, we have 5.1 is satisfied. We prove in Chapter 3 (Lemma 3.4.14) that Voronoi vertices are stable with respect to metric perturbations: the distance d G (c, c ′ ) is bounded by a function f that depends on the distortion ψ(G, G ′ ). (The (ε, µ)-net hypothesis is needed specifically to prove Lemma 3.4.14.) The function f is complicated and tedious to manipulate, but its most important property is that it goes to 0 as the distortion goes to 1. Denote by χ the value f (ψ(G, G ′ )), which is the maximal distance between c and c ′ for two metrics with distortion ψ(G, G ′ ). (Note that this corresponds to the radius of the blue circles in Figure 5.3.) It is clear that

1 ψ(G, G ′ ) d G ′ (x, y) ≤ d G (x, y) ≤ ψ(G, G ′ )d G ′ (x, y). Therefore, if we have ψ(G, G ′ )d G (c ′ , p) < 1 ψ(G,G ′ ) d G (c ′ , s) then Equation
d G (c ′ , s) > d G (c, s) -d G (c, c ′ ) = d G (c, s) -χ d G (c ′ , p) < d G (c, p) + d G (c, c ′ ) = d G (c, p) + χ.
Additionally, we have that d G (c, s) > d G (c, p) 2 + δ 2 by δ-power protection of P with respect to G. Thus, Equation 5.1 is verified if

ψ(G, G ′ ) (d G (c, p) + χ) < 1 ψ(G, G ′ ) d G (c, p) 2 + δ 2 -χ .
Equivalently, it suffices that

ψ(G, G ′ ) 2 (d G (c, p) + χ) + χ 2 -d G (c, p) 2 < δ 2 . (5.2)
Since χ goes to 0 as ψ goes to 1, it clear that the left hand side goes to 0 (from above) and that there exists a value ψ 0 > 1 such that Inequality 5.2 is satisfied. For this value of ψ 0 we have thus that

d G ′ (c ′ , p) < d G ′ (c ′ , s)
for any metric G ′ with ψ(G, G ′ ) < ψ 0 and for any s ∈ P\ Vert(σ), hence proving that there are no ψ 0 -quasi-cosphericities involving σ.

Remark 5.3.1 At no point have we used that G and G ′ were metrics (uniform metric fields), and thus this result could be extended trivially to arbitrary metric fields.

Reverse implication

Power-protection implies an absence of quasi-cosphericities, but the converse is not true. This results from the fact that given a distortion bound ψ 0 , the union of all the Delaunay G ′ -balls with ψ(G, G ′ ) < ψ 0 does not create a protecting layer around the Delaunay G-ball. Indeed, a Delaunay G ′ -ball of a simplex σ is an ellipsoid that contains σ and goes through the n + 1 vertices of σ. Consider the pyramidal double cone spanned by a vertex of σ and its opposite facet. By convexity of a Delaunay ball, no point can live in the region of the cone that does not contain the facet (see Figure 5.6). Thus however small ψ 0 is chosen, we can chose a point as close as we wish to the vertex that spans the cone, without creating a quasi-cosphericity. This implies that there does not exist a δ > 0 such that the simplex is δ-power protected.

Generation of power protected point nets

The lemmas used in the proof of the embeddability of the dual of the anisotropic Voronoi diagram impose requirements on the sampling and on the power protection of the seed set. We describe in this section how to generate a point set that fulfills these requirements. Many of the Lemmas used in Chapter 2, III.7 and III.8 also require a bound on the distortion within the neighborhood considered. The vertex s can be picked in the red dashed zones as closely as wanted to B, without ever creating quasi-cosphericities.

The neighborhood is usually centered on a seed p and is large enough to include the Voronoi cell of p and its neighboring Voronoi cells. Section 3.1 in Chapter 3 describes how to translate a bound expressed through distortion as a bound expressed through sampling, under some mild assumptions on the metric field. We thus wish to generate a δ-power protected (ε, µ)-net that satisfies ε < ε 0 and δ > δ 0 = ιε. Remark 5.4.1 It is not a mistake that it reads δ 0 = ιε and not δ 0 = ιε 0 : as the mesh gets denser, the power protection required by our intermediary results can be made weaker as the sampling increases. This is very natural: an increased sampling reduces the difference between the Delaunay balls of a simplex, and the δ coefficient can thus be smaller.

Our algorithm makes use of the similarities between power protection and the lack of quasicosphericities that was exposed in the previous section. Similarly to the locally uniform Delaunay method proposed by Boissonnat et al. [START_REF] Boissonnat | Locally uniform anisotropic meshing[END_REF] (see Chapter I.4), our algorithm refines an initial (small) set of points by iteratively inserting vertices whose position is chosen carefully.

In the framework of locally uniform anisotropic meshes, the refinement point of a simplex σ is picked in a small zone around the circumcenter, called the picking region, denoted by P(σ). Within a picking region, there might exist forbidden zones, formed by the points in P(σ) whose insertion would create quasi-cosphericities with nearby existing points from the point set and must thus be avoided -if possible. In the setting of Boissonnat et al. [START_REF] Boissonnat | Locally uniform anisotropic meshing[END_REF], the thickness of quasi-cosphericities (and thus of forbidden regions) depends on the local distortion and goes to 0 as the distortion becomes small. This allows to prove that for a sufficiently small distortion, the picking region of a simplex is not entirely covered with forbidden zones, and a refinement point that does not create inconsistencies or quasi-cosphericities can be found (Figure 5.7).

As explained in the previous section, the concepts of power protection and quasi-cosphericities are very similar. In the context of a refinement algorithm, avoiding quasi-cosphericities and ensuring power-protection can be achieved with the same idea of inserting vertices away from forbidden zones. p q s u v w τ P q (τ )

B q (τ )

F q (uvw)
F q (rst) r t c q (τ ) Figure 5.7: A simplex τ , its Delaunay ball B q (τ ) (in the metric G q ) and the picking region P(τ ), in blue. Two forbidden rings (in red) are created by neighboring vertices, one created by s and t along with a vertex of τ , r; and one created by u, v, w. One possible valid refinement point in P q (τ ) is drawn in green and one possible invalid point in red.

In our context, the forbidden zones are given by the difference between the power-protected (thickened) Delaunay ball and the Delaunay ball (this corresponds to the rings colored in green in Figures 5.4 and 5.3). The thickness of this new type of forbidden zones is given by the δ 0 coefficient of the power protection.

The key to prove that valid refinements points eventually exist in the framework of locally uniform anisotropic meshes is that the thickness of the forbidden zones goes to 0 as the sampling increases and the distortion goes to 1. Similarly, our bound δ 0 also goes to 0 as the distortion becomes small, which happens as the sampling gets denser. Remark 5.4.2 Not only does δ 0 goes to 0 as ε 0 goes to 0, but δ 0 /ε 0 goes to 0 as ε 0 goes to 0 (see Equation 3.8 in Chapter 3). This means that our theoretical requirements can use a smaller parameter of the power protection as long as the mesh is denser. This is critical: if δ 0 /ε 0 converged to a non-null constant, it would not be possible to prove that there exist a dense enough sampling such that the forbidden zones do not cover the picking region.

The refinement algorithm that prevents quasi-cosphericities in the framework of locally uniform anisotropic meshes can thus be easily adapted to create power protected nets. The set of seeds P is initialized with a few random points on the domain and the refinement algorithm is composed of two main criteria:

• A sizing criterion to obtain an ǫ-sample. Simplices are refined with the insertion of their circumcenter.

• A power protection criterion to obtain a δ-power protected point set. A good refinement point is chosen with a procedure similar to the Pick_valid routine (see Chapter I.4 for details). If no good refinement point exists (yet) in the picking region, the circumcenter is instead inserted, which lowers the sampling parameter of our point set, thus allowing a lower power protection parameter and increasing the probability of finding a valid refinement point at a further step.

We do not detail the proofs that the algorithm terminates and produces the expected result, as those would be very similar to the work of Boissonnat et al. [START_REF] Boissonnat | Anisotropic Delaunay mesh generation[END_REF]. A summary of the proof has been given in Section 4.2.4 in Chapter I.4. The separation of the point set has not been addressed in the description of the algorithm. However, we do not have in theory any hard requirement on the separation parameter µ and a value of µ is implicitly obtained through the lower bound on the insertion radius (which can be computed as in any traditional Delaunay refinement algorithm).

In conclusion, our refinement algorithm allows to obtain a δ-power protected (ǫ, µ)-net with ε < ε 0 and δ > δ 0 .

A star-based construction of the dual of the anisotropic Voronoi diagram

In the case of low-dimensional domains embedded in a high-dimensional spaces, the complexity of traditional algorithms to compute Delaunay triangulations or Voronoi diagrams is not satisfying, due to the curse of dimensionality. We introduce a new algorithm to generate good point sets based on the dual of the anisotropic Voronoi diagram of Labelle and Shewchuk. This algorithm adapts the tangential Delaunay complex, a structure that is derived from the Delaunay complex and is used in manifold reconstruction, to the alternative construction of the anisotropic Voronoi diagram as the restriction of a power diagram restricted to a paraboloid proposed by Boissonnat et al. [START_REF] Boissonnat | Anisotropic diagrams: Labelle Shewchuk approach revisited[END_REF]. The complexity of the algorithm is based almost entirely on the intrinsic dimension of the domain, and not on the dimension of the embedding space.

The alternative construction of the anisotropic Voronoi diagram of Labelle and Shewchuk that was proposed by Boissonnat et al. [START_REF] Boissonnat | Anisotropic diagrams: Labelle Shewchuk approach revisited[END_REF] finds its roots in the view of a multiplicatively weighted Voronoi diagram as the intersection of a power diagram and a (fixed) paraboloidal manifold. We recall this equivalence, first detailed by Aurenhammer [START_REF] Aurenhammer | Power Diagrams: Properties, Algorithms and Applications[END_REF].

Multiplicatively weighted Voronoi diagrams

Multiplicatively weighted Voronoi diagrams are based on the distance

d(p i , x) = ω i x -p i .
In this case, the bisector of two seeds is a sphere:

BS(p i , p j ) : {x ∈ Ω, ω 2 i (x -p i ) 2 = ω 2 j (x -p j ) 2 }. (5.3)
Reformulating the equality in Equation 5.3, we obtain 5.4 is the equation of a sphere centered on c and of radius r, where

ω 2 i (x -p i ) 2 = ω 2 j (x -p j ) 2 ⇐⇒ x 2 -2 2 ω 2 i p i -ω 2 j p j ω i -ω j x + ω 2 i p 2 i -ω 2 j p 2 j ω i -ω j = 0. (5.4) Since (x -c) 2 = r 2 ⇐⇒ x 2 -2cx + (c 2 -r 2 ) = 0, Equation
       c = 2(ω 2 i p i -ω 2 j p j ) ω i -ω j r = 2(ω 2 i p i -ω 2 j p j ) ω i -ω j 2 - ω 2 i p 2 i -ω 2 j p 2 j ω i -ω j
Representing the sphere (c, r) of R n as a point in R n+1 (a traditional technique when handling Delaunay triangulations), it can be shown that a multiplicatively weighted Voronoi diagram in R n can be obtained as the intersection of a (n + 1)-dimensional power diagram with the paraboloid Q : (x, x 2 ), where x ∈ R n (see Boissonnat and Yvinec [START_REF] Boissonnat | Algorithmic geometry[END_REF]). The seeds of this power diagram are the {p ′ i = (ω i p i , -ω i 2 )} with the weight ω ′ i = ω i p 2 i associated to the point p ′ i . This approach can be extended to the distance d g (x, p i ) = (p ix)G i (p ix) used by Labelle and Shewchuk. The construction is slightly more complicated and relies on a high-dimensional space of dimension n(n + 3)/2. It is detailed over the next sections, with the final result produced in Theorem 5.5.2.

The power diagram

As for multiplicatively weighted Voronoi diagrams, the anisotropic Voronoi diagram can be obtained as the restriction of a high-dimensional power diagram to a fixed surface. We first detail how the seeds and weights of this power diagram are computed.

Let M be a smooth m-manifold embedded in R n and endowed with a Lipschitz-smooth metric field g. A finite sample of points P lives on the manifold M. At each point p ∈ P is associated a metric G p = g(p). The metric G p can be represented by a n × n matrix: G p = (G l,m p ) (l,m=1,...,n) . For multiplicatively weighted Voronoi diagrams, the extra dimension can be seen as a way to have a bijection between a point in R n and a weight, and a point in R n+1 . Here, the metric is a n × n matrix, with n 2 entries, but by symmetry of G only n(n + 1)/2 entries are necessary to entirely determine the metric. To each point p are associated:

• the point q p = (q r,s p , 1 ≤ r ≤ s ≤ n) ∈ R n(n+1) 2 with • q r,r p = -1 2 G p r,r , for 1 ≤ r ≤ n and • q r,s p = -G p r,s , for 1 ≤ r < s ≤ n.
• The point p = (G p p, q p ) ∈ R n(n+3) 2 .

• The weight ω i = p 2p t G p p.

In the following, we use N = n(n+3)

2

. Let M = {x, x ∈ M}. We will often need to go from x ∈ M to the corresponding x ∈ M, and reversely. For that purpose, we introduce the transformation h : R n → R N such that h(p) = p = (G p p, q p ). The inverse of h is denoted by Π h .

The point set P and the transformation h define the point set P = { p i , p i ∈ P}. The highdimensional power diagram is now built using the weighted point set P ω = {( p i , ω i ) , p i ∈ P}. Let PD( P ω ) be the power diagram generated by the P ω . The power cell corresponding to the seed p i ( p i ∈ P) in PD( P) is denoted by PC i .

The paraboloid

In the setting of multiplicatively weighted Voronoi diagrams, the power diagram is restricted to the simple paraboloid Q : (x, x 2 ) (where x ∈ R n ). The anisotropic diagram is similarly constructed as the intersection of a power diagram and a quadric surface, that we also refer to as "paraboloid". We now introduce this quadric surface.

To each point x = (x 1 , . . . , x d ) of M are associated :

• the point x = (x r x s , 1 ≤ r ≤ s ≤ n) ∈ R n(n+1) 2 , • the point x = (x, x) ∈ R n(n+3) 2 . For example, if n = 2, x = (x 2 1 , x 1 x 2 , x 2 2 ) ∈ R 3 , and x = x 1 , x 2 , x 2 1 , x 1 x 2 , x 2 2 ∈ R 5 .
Let Q be the n-manifold living in R N and defined by the parametrization x = (x, x). We denote {x, x ∈ M} by M. Observe that the manifold M is a subset of Q.

As for x and x, we will often need to switch from x to x, and reversely. The transformation t : R n → R N is given by x = t(x) = (x, x). The inverse of t is denoted by Π t . Remark 5.5.1 The notation Π used for the inverses of h and t is not accidental: the transformations Π t and Π h are projections to lower dimensional spaces. These projections are peculiar in the sense that they are also bijections, as it will be shown in Section 5.7.1. Proof. We have

Equivalence of the constructions

d p i (x, p i ) 2 = x t G i x -2p t i G i x + p t i G i p i = -2q t i xG i x + p t i G i p i = -2 p i t x + p t i G i p i This implies that d p i (p i , x) < d p j (x, p j ) if, and only if, x -p i 2 -p i 2 -p t i G i p i < x -pj 2 -pj 2 -p t j G j p j Figure 5
.8 illustrates the different notions with n = 1 (and thus N = 2). The metric field considered is g(p) = g(x) = 1 + cos 2 (x) and M is thus parametrized by x(1 + cos 2 (x)), -0.5(1 + cos 2 (x)) .

Refinement algorithm and proofs

Using their alternative construction, Boissonnat et al. [START_REF] Boissonnat | Anisotropic diagrams: Labelle Shewchuk approach revisited[END_REF] proposed a theoretically sound refinement algorithm to obtain a point set for which the Voronoi diagram has a dual triangulation. However, as in the original work of Labelle and Shewchuk, the approach cannot be extended from 2D.

The tangential complex

We now recall the definition of the tangential Delaunay complex, a subcomplex of the Delaunay complex introduced by Flötotto [START_REF] Flötotto | A Coordinate System associated to a Point Cloud issued from a Manifold: Definition, Properties and Applications[END_REF][START_REF] Boissonnat | A coordinate system associated with points scattered on a surface[END_REF] that we will modify and combine with the alternative construction of the anisotropic Voronoi diagram.

The restricted Delaunay triangulation (see Section 2.11 of Chapter 2), another subcomplex of the Delaunay complex, is an effective tool to accurately capture a domain and its boundary when the domain is known. However, this is not always the case (for example in the context of surface reconstruction). The tangential Delaunay complex aims to approximate the restricted Delaunay complex by considering the restriction not to the domain, but to the tangent spaces of the domain passing through each sample point, which are generally either known or easily computable. The restriction of the ambient Delaunay complex to a tangent space produces a lower-dimensional Delaunay complex, which is locally a good approximation of the domain. Under certain conditions, the local connectivities of all lower-dimensional Delaunay complexes can be merged together to form a provably good triangulation of the domain.

M Q M O p q r p q r q r p Π h h t Π t
By computing mostly in the tangent spaces of the manifold, the algorithm has the advantage of having a complexity that depends almost exclusively on the intrinsic dimension of the manifold rather than the dimension of the ambient space, making it ideal for the reconstruction of low-dimensional manifolds embedded in high-dimensional spaces.

Star and inconsistencies

In the rest of this chapter, we consider an m-manifold M embedded in a n-dimensional ambient domain and

The tangential complex approximates at each point p ∈ M the restriction to the manifold M of the exact Delaunay triangulation Del(P) by the restriction to the tangent plane T p M. Note that this tangent space is purely geometrical and there is no direct use of Riemannian geometry in this chapter.

The restriction at each sample point p i ∈ P of the ambient n-Delaunay complex Del(P) to the tangent plane T p i M, denoted by Del p i (P), is formed by the simplices of Del(P) whose dual intersects T p i M. If the tangent plane is close to the manifold, the triangulations Del p i (P) are -locally -good approximations of the manifold. Consequently, only a local subset of each Delaunay triangulation Del p i (P) is kept, the star, formed by the set of simplices that are incident to p i . The star of p i ∈ P is denoted by S i and the set of stars is denoted by S(P).

Remark 5.6.1 From the dual point of view, the subcomplex Del p i (P) is the dual of the intersection of the ambient Voronoi diagram Vor(P) -the dual of Del(P) -and T p i M. It is known that the intersection of a Voronoi diagram with an m-affine space is an m-dimensional weighted Voronoi diagram with seeds in the affine space (see Section 2.10). Each restricted triangulation Del p i (P) is thus the computation of a regular triangulation from a set of (weighted) seeds that are the projections of P onto T p i M.

As for locally uniform anisotropic meshes (see Chapter I.4), the hope is to merge these stars to obtain a good triangulation of the domain. However, inconsistencies between stars might here as well exist: a simplex might not appear in the star of all of its vertices, which prevents the merging of the stars in a triangulation (Figure 5.9).

While introducing the tangential Delaunay complex, Flötotto [START_REF] Flötotto | A Coordinate System associated to a Point Cloud issued from a Manifold: Definition, Properties and Applications[END_REF] showed that when the dimension m of the manifold is 1, it was possible to refine an input point set such that merging the stars would create a triangulation of the domain. Boissonnat and Ghosh [START_REF] Boissonnat | Manifold reconstruction using tangential Delaunay complexes[END_REF][START_REF] Boissonnat | Triangulating smooth submanifolds with light scaffolding[END_REF] extended the proof to any dimension m, and proposed a refinement algorithm based on the tangential Delaunay complex that is provably correct and produces a triangulation of a manifold, starting from a rough sampling of the manifold. The triangulation is proven to be isotopic to the manifold and to be close in term of Hausdorff distance. Except for the computation of the refinement point, the complexity of their algorithm only depends on the dimension of the manifold.

Combined works

The last sections have been devoted to introducing the necessary notions, and we are now ready to combine both approaches. We want to construct a point set P such that the dual of the anisotropic Voronoi diagram of P is a triangulation. Summarizing the notions introduced so far, we know that:

• the anisotropic Voronoi diagram can be reformulated as the intersection of a power diagram restricted to a low-dimensional manifold embedded in a high-dimensional space;

• the tangential Delaunay complex and the refinement algorithm of Boissonnat and Ghosh [START_REF] Boissonnat | Triangulating smooth submanifolds with light scaffolding[END_REF] allow to efficiently compute and refine a star set and obtain, in fine, a triangulation that is isotopic to the manifold.

We shall apply the tangential Delaunay complex to the paraboloid Q defined in Section 5.5.3, with the idea that tangent planes are locally a good approximation of the domain. The two methods cannot be immediately combined for two reasons. Firstly, we do not have an ambient Voronoi diagram, but a power diagram; this is however a minor concern. A more serious departure from previous works is that the basic tangential Delaunay complex assumes that the seeds are on the manifold. Additionally, the tangent planes are taken at the seed of the ambient Voronoi diagram. In our setting, the ambient power diagram is generated by seeds that live on M, but the manifold that we want to construct a triangulation of is Q and thus the tangent planes are near Q.

In the following sections, we present our modified tangential Delaunay complex. We first introduce its theoretical aspect and the issues that arise when trying to prove its soundness, and then study the practical behavior of the algorithm.

Formulation

We combine both the alternative construction of the anisotropic Voronoi diagram with the tangential complex structure by dissociating the points at which we evaluate the tangent spaces and the seeds of the ambient Voronoi diagram: the tangent spaces are defined as tangent spaces of points chosen on the paraboloid Q and the ambient diagram will be generated by points on M. We detail now our construction.

The ambient diagram

The ambient diagram whose intersection with Q we shall approximate with tangent planes, is the power diagram of the seeds P ω (see Section 5.5.2). In the original tangential Delaunay complex, the ambient diagram is an Euclidean Voronoi diagram. Here, we are considering an ambient diagram that is already a power diagram (the seeds are weighted). Construction-wise, this is not an issue as the intersection of a power diagram with an affine space is simply another power diagram. These computations will be detailed in Section 5.7.1. We denote by PD( P) the ambient power diagram and by Del ω ( P) the ambient regular complex. Recall that P is a set of weighted points.

Center of the star and tangent planes

In the original tangential Delaunay complex, a tangent space at a point p aims to locally approximate the manifold in the neighborhood of the point. Tangent planes are not defined as clearly in our setting since the seed pi do not lie on Q, and we must thus choose meaningful tangent planes to approximate Q. Denote by T xQ the tangent space of Q at x ∈ Q. We now show that considering the tangent plane T p i Q at pi , where p i is a seed in P, is a good idea.

In the following, we will simply refer to the tangent spaces T p i Q as T i . The projection on T i is denoted by Π T i , or simply Π i . Recall that for each p i ∈ P, we have defined p i = h(p i ) and p i = t(p i ) (see Section 5.5.2).

The restriction of Del ω ( P) to T i is denoted by Del ω T i ( P), or Del ω i ( P), and the intersection of the power diagram PD( P) with T i is noted PD T i ( P), or PD i ( P). We know that the intersection PD i ( P) can be obtained as a m-dimensional power diagram of a set of seeds living in T i . These seeds are computed by projecting P onto T i , and are denoted by p j i ∈ P i , with associated weight ω i j . The computations of the p j i and their weights are detailed in Section 5.7.1. We have thus the alternative notations Del ω ( P i ) for Del ω i ( P), and PD( P i ) for PD i ( P). Figure 5.10 illustrates the various notations.

Star

The star S i is formed by the simplices that are incident to the vertex p i , with p i ∈ P, in the regular complex Del ω i ( P). The choice of T i is reasonable since p i belongs to the region t(V(p i )) of the paraboloid. Indeed, we have

d G i (p i , p i ) = 0 and therefore t(p i ) = p i ∈ PC i ∩Q = t(V(p i )).
In other words, the center of the star will always appear in the star.

To obtain the final mesh of our input point, the connectivity of each star S i is extracted and applied to the point set P.

Computing the tangent spaces T i

Contrary to the manifold reconstruction setting in which the tangential Delaunay complex can be used, the manifold Q is here fully known. This allows the tangent places to be accurately computed, rather than approximated.

A basis B of the tangent space at x ∈ Q can be obtained through the partial derivatives of the parametrization of Q evaluated at x. For example, if n = 1, the paraboloid Q is given by the parametrization (x, x 2 ). The partial derivative is here a full derivative, giving (1, 2x). A basis of the tangent plane at x = (0, 0) is then B 0 = {(1, 0)}.

Computation of the points and weights on the tangent space

Due to the high dimensionality of the ambient space, we cannot afford to compute the regular triangulation Del ω ( P) nor the power diagram PD( P). Thankfully, the intersection of PD( P) with the tangent space T i is simply another power diagram, PD i ( P), whose seeds are given by the orthogonal projections of the seeds of PD(P) on T i . Indeed, we have:

∀x ∈ T i , x -p j 2 = x -Π i ( p j ) 2 + Π i ( p j ) -p j 2 .
The power cell of p j in the ambient space is the set of points x such that for p k ∈ P with p k = p j . This can be equivalently seen as the definition of the power cell of the seed Π i (p h ) with weight ω ′ j = ω jp j -Π i ( p j ) 2 , where ω j is the weight of p j given by ω j = p i 2 -p t i M p i p i , in the affine space T i .

x -Π i ( p j ) 2 + Π i ( p j ) -p j 2 -ω p j ≤ x -Π i ( p k ) 2 + Π i ( p k ) -p k 2 -ω p k , M Q M T q Q p q q q r r r r q q q p q O p
The coordinates of Π i ( p ℓ ) can be obtained by taking the scalar product of p ℓ with a basis B i of the tangent space. We compute B i through the partial derivatives of the parametrization of the paraboloid (see Section 5.7.1). Figure 5.11 illustrates the anisotropic Voronoi diagram of a set of seeds and the power diagram in two tangent planes.

Projections and transformations

We now prove that the transformations h and t are homeomorphisms, which will be useful in our theoretical analysis of the algorithm.

Lemma 5.7.1 Both transformation t and h are nice:

• h| M is a homeomorphism from M to M.

• t| M is a homeomorphism from M to M. Proof. We prove each property independently.

• The point h(p) is given by (G p p, q p ) =: (y p , y q ). The point q p lives in R n(n+1) 2

and, by construction, its coordinates entirely determine G p . Once G p is known, G -1 p can be computed and p = G -1 p y p . On the other hand, it is trivial that if p 0 = p 1 then h(p 0 ) = h(p 1 ) because G p is a positive symmetric definite matrix. Thus h is a bijection between M and M.

The metric field g is smooth, therefore all the coordinates of x are smooth functions or can be decomposed as sums or products of smooth functions. We need to also prove that the inverse Π h | M is continuous. Let P ∈ M = (P 1 , . . . , P D ). (P n+1 , . . . , P D ) determine fully G P . Since G P is a metric (definite positive symmetric matrix), its inverse exists and Π h ( P ) = G -1 P .(P 1 , . . . , P n ). We can compute G -1 P using the matrix of cofactors. All the coefficients are continuous, and 1/ |det(G P )| > 0 is continuous too. Again, by sums and products of continuous functions, Π h | M is continuous and h : M → M is a homeomorphism.

• t is a homeomorphism because Π t is a bi-continuous bijective vertical projection.

This proves that M, Q and M are homeomorphic.

Refinement algorithms

Along with the alternate construction of the anisotropic Voronoi diagram, Boissonnat et al. [START_REF] Boissonnat | Anisotropic diagrams: Labelle Shewchuk approach revisited[END_REF] proposed a theoretically sound refinement algorithm. This algorithm comes with guarantees in the setting of planar domains, but these guarantees do not extend to higher-dimensional settings.

A refinement algorithm was presented for the tangential Delaunay complex by Boissonnat and Ghosh [START_REF] Boissonnat | Triangulating smooth submanifolds with light scaffolding[END_REF][START_REF] Boissonnat | Constructing intrinsic Delaunay triangulations of submanifolds[END_REF]. This algorithm is relatively similar to the refinement algorithms introduced in Chapter I.4 and in Section 5.4: the refinement point of a simplex σ is chosen as the intersection of the manifold and of the normal space passing through the dual of σ in the tangent space, or through a point close to that dual.

There are two difficulties in the original refinement algorithm. Firstly, the dual of a simplex might intersect the tangent plane, but not the domain itself. Secondly, the Voronoi cell of the refinement

M M T p M T p M p p q q r r s Figure 5
.12: The simplex pq in the star S p is refined by the insertion of its dual and the manifold M.

The ambient power diagram is drawn with thin black lines. The circles represent the weights of the points (the radius of the circle is the squared weight).

point might not intersect the tangent plane. Boissonnat and Ghosh show that if the sampling of the point set is sufficiently dense, then those two issues do not appear and the refinement process terminates and produces a good triangulation.

In our context, the normal space does not necessarily approaches the dual of the simplices correctly and the refinement points computed by the original refinement algorithms would not be useful. Instead, we refine bad simplices in the stars by computing the intersection of the dual of the simplex (in the ambient space) with the domain. These computations will be detailed in Section 5.7.5. A theoretical analysis of the refinement algorithm in our context is carried out in Section 5.7.3.

Domains and boundary

We have so far considered domains without boundaries. If we wish to compute a mesh for a bounded domain Ω ∈ R n (for example a 3D surface), it is necessary to know how to compute a refinement point on the domain -and on the boundary. The notion of restricted Delaunay triangulation will once again be applied: the domain and its boundary are lifted to the paraboloid with the map t (see Section 5.5.2) and a simplex is restricted to the domain if the intersection of its dual with the paraboloid is within t(Ω). If we wish to compute a refinement point on the boundary (for example, to refine only the boundary), the point will be chosen as the intersection of the dual with the boundary lifted onto the paraboloid Q.

Theoretical aspect

We now look towards the theoretical side of our algorithm and would like to prove that the refinement algorithm terminates, that under sufficient conditions the star set is consistent, and that the resulting triangulation is homeomorphic to Q.

We present a detailed road map that could be developed into a complete proof with a fair bit of technical work. We first give an overview of the difficulties that appear due to our modifications of the tangential Delaunay complex.

The difficulties

Two modifications have been made to the original tangential complex algorithm, each complexifying the theory.

Firstly, the ambient diagram is a weighted Voronoi diagram and not a Voronoi diagram. Since the restriction of a power diagram to an affine (tangent) space is a power diagram, this change has no consequence from a construction point of view. However, it is much harder to prove that a refinement point kills the simplex that it is supposed to. Even in the simpler setting where seeds of the ambient power diagram are on the manifold that we are triangulating, it is not clear that a new point should have a weight that is large enough for the new power cell to intersect the tangent space (and thus the simplex is not refined on the tangent plane). This situation is illustrated in Figure 5.13, where the new point (in orange) has a weight so small that its power cell does not intersect the tangent plane. This is however a relatively minor concern: assuming continuity of the weights in the ambient space -which is the case since our weights derive from the metric field, which is continuous -we can show that there exists a lower bound on the sampling such that a refinement point will insert a point that refines the simplex, as done by Boissonnat et al. [START_REF] Boissonnat | Delaunay stability via perturbations[END_REF]. The second modification creates more serious issues. Indeed, we are ultimately interested in a triangulation of the point set P, but our construction builds a star set with vertices P. Admitting that we have obtained a consistent star set, which was merged in a triangulation D, we would like to carry the connectivity of D onto P. However, while we know that the map Π h is a homeomorphism between M and M, the simplices of D are not necessarily sent nicely onto the simplices obtained by applying the connectivity of D to the point set P: inversions could be created and the embedding of the dual would subsequently be lost. Remark 5.7.2 If we had a triangulation with vertices in Q that was homeomorphic to Q since Π t is a real projection in the sense that an n-simplex with seeds in { pi } would project onto the n-simplex defined as the convex hull of the {p i } := {Π t ( pi )}.

M M T p M T p M p p q q r r s
We now present the detailed layout of our proof.

A star-based proof

To prove that the connectivity of the star set brought back to P is a good triangulation of the input domain, we shall prove that at each point p ∈ P, the star of p in the star set S(P) has the same connectivity as the star of p in the dual of the anisotropic Voronoi diagram Vor(P). We are thus going to almost completely ignore the points pi and pi and consider the ambient power diagram PD( P ω ) and its restriction PD p ( P) to the tangent space T pQ.

Consider a point p in P. Let {q i } be the seeds of the Voronoi cells adjacent to V g (p) in Vor g (P) and let S LS g (p) be the star of p in the dual of Vor g (P), that is the set of simplices incident to p in the dual of Vor(P). Denote by S p (p) the star of p in the star set S(P) (that is the star of p with connectivity given by PD p ( P)) We thus want to show that S LS g (p) and S p (p) have the same connectivity. We shall again make use of power protected point sets. Recall that the support of the dual of a simplex σ is Aff(σ ⋆ ), with σ ⋆ the dual of σ. Our result will stem from the combination of a few observations. Assuming that the sampling is dense, we have that:

• The map h (see Section 5.5.2) is smooth and the image of M by h (denoted by M earlier) is a smooth manifold (see Lemma 5.7.1 below). Thus if two points in P are close, then their lifted equivalents are close in the ambient space.

• The anisotropic Voronoi cells in Vor g (P) are not too large. This is a direct consequence of Equation 2.1 as the distortion bounds the difference between the anisotropic distance of Labelle and Shewchuk and the uniform distance using the metric of p. Simplices of the stars S LS g (p) and S p (p) are thus formed with vertices in P that are close to p.

• The duals of the maximal simplices of the star S LS g (p) (which are (Nn)-dimensional power cells in the ambient Voronoi diagram) are roughly parallel to one another because the vertices of the stars are close (and thus are close on M. Note that the support of those duals intersect Q at the Voronoi vertices of V g (p) and, if the dual (and not simply its support) also intersects the tangent plane, the intersections are the Voronoi vertices of the power cell of p in PD p (P). Additionally, note that the duals do not become orthogonal to the tangent plane as the sampling increases, but we only need to know that they are more or less parallel from one another.

• The region of interest in the tangent plane (the neighborhood that includes the power cell of p in PD p (P)) is small and is thus close to the paraboloid.

• The Voronoi cell V g (p) of p in Vor g (P) is close to the Voronoi cell V Gp (p). If P is a power protected net, the Voronoi vertices of V Gp (p) are separated (see Lemma 3.2.4 in Chapter 3) and thus the Voronoi vertices of V g (p) are separated.

The combination of these observations result in the following statement: if P is a dense power protected net, then the intersections of the supports of the duals of the simplices in S LS g (p) with T pQ are far from one another. Moreover, the orientation is preserved. This is illustrated in Figure 5.14: the supports of the duals of the simplices of the star S LS g (p) ("vertical" black lines) are roughly parallel. Since the tangent plane is close to Q and the Voronoi vertices of V g (p) (red circles) are separated, then the red squares (the intersection of the supports of the duals with T pQ) are separated.

Remark 5.7. [START_REF]The Boost Graph Library: User Guide and Reference Manual[END_REF] We have drawn in Figure 5.14 the setting of a two-dimensional paraboloid. By definition, when the intrinsic dimension is n = 2, we have an ambient dimension N = 5. As we cannot draw five-dimensional objects, we have drawn duals as one-dimensional objects instead of three-dimensional objects. This is a harmless change as the objects of interest are the intersections of the duals with Q and T pQ and both are always points (we ignore degenerate cases). It remains to ensure that the duals actually intersect the tangent plane to have the equivalence between the stars. This is not trivial and points arbitrarily far can have power cells that are very close to the paraboloid in ambient space, despite a good sampling of the domain. As we do not have a solution to this issue, we modify slightly our definition of star.

Local stars

We wish to ensure that the dual of a maximal simplex in S LS g (p) (the star of p in the dual of the anisotropic Voronoi diagram of Labelle and Shewchuk) also intersects the tangent plane T pQ.

Consider a bisector BS, dual of a maximal simplex of S LS g (p). We know that when points are close, they form simplices whose duals are roughly parallel from one another, that the tangent space and the paraboloid are close and that the Voronoi vertices on Q are separated. For the bisector BS not to intersect T pQ, it means that it is intersected by another bisector somewhere "between" Q and T pQ. The simplex corresponding to such dual must involve points that are far from p, otherwise its bisector would be relatively parallel to BS and since the manifold and the tangent plane are close and the Voronoi vertices are separated, they cannot intersect "between" Q and T pQ. Thus, if we only build the star S p (p) with points that are close to p in P, we ensure that the dual BS will also intersect T pQ.

Gathering the points close to p can be done through nearest neighbor techniques with respect to the uniform metric field g 0 = g(p), for example.

Conclusion

Using these modified stars, we have that the stars S LS g (p) and S p (p) have equal combinatorics when the point set is a dense power protected net. Thus if the dual of the anisotropic Voronoi diagram is a triangulation (as done in Section 5.2.1), our star set is also a triangulation.

Computing refinement points

We now investigate the practical side of the algorithm. In their two-dimensional refinement algorithm, Boissonnat et al. [START_REF] Boissonnat | Constructing intrinsic Delaunay triangulations of submanifolds[END_REF] compute Voronoi vertices directly in the planar domain as the intersection of the bisectors (conics). This does not extend easily to higher dimensions and we propose alternative methods, based on the alternative construction of the anisotropic Voronoi diagram and our new modified tangential Delaunay complex. In this section, we explain how to compute refinement points of a simplex in any dimension.

Problem statement

Consider a maximal simplex σ, living in a star of S(P), with vertices Vert(σ) = { p i }. Its dual σ * is the intersection of the power face obtained by intersecting the power cells of the vertices of σ. In our refinement algorithm, the refinement point of σ is, equivalently to a Voronoi vertex in Vor g (P), the intersection of a (Nn) power face (σ * ) and the manifold Q. To simplify computations, we firstly consider the intersection of Q with the support of σ * , Aff(σ * ). The solutions are then filtered to keep the one(s) that belong to σ * . The vectors --→ p 0 p 1 ,. . . , --→ p 0 p n form a basis of the supporting plane of σ, Aff(σ). Denote by c the power center of the simplex σ that lives in Aff(σ). Writing X i for the i-th coordinate of the point or vector X, the points x in the support of the dual must satisfy :

N i=1 --→ p 0 p j i x i = N i=1 --→ p 0 p j i c i , ∀j = 1 . . . n.
Each equation simply describes the dual of the edge [p 0 p j ]: an hyperplane orthogonal to [p 0 p j ] that passes through c. If we additionally impose that x ∈ Q, x must satisfy :

N i=1 --→ p 0 p j i (t(x)) i = N i=1 --→ p 0 p j i c i , ∀j = 1 . . . n. (5.5)
This is a non-linear system of n equations and n unknowns. We explain how to solve it in the case of n = 2, but this method can be extended to higher dimensions.

Bivariate polynomials

Let us rename, for visibility, --→ p 0 p 1 i and --→ p 0 p 2 i respectively to k i and ℓ i , and the right hand side to respectively f 1 and f 2 . Proceeding by substitution, the system is given by two equations:

k 1 x 1 + k 2 x 2 + k 3 x 2 1 + k 4 x 1 x 2 + k 5 x 2 2 -f 1 = 0 ℓ 1 x 1 + ℓ 2 x 2 + ℓ 3 x 2 1 + ℓ 4 x 1 x 2 + ℓ 5 x 2 2 -f 2 = 0 (5.6)
Note that we could potentially have ℓ 3 = 0, and more generally there is no reason for a coefficientbe it a simple k i , l i , or a sum and product of k i and l i -not to be null. We solve this system using a resultant-based approach, which is based on Bézout's theorem. The approach of Busé [START_REF] Busé | Resultant-Based Methods for Plane Curves Intersection Problems[END_REF] is employed almost entirely as a black box, and we thus do not go in detail. Nevertheless, we specify the necessary matrices below.

The resolution is based on the computation of the generalized eigenvalues and eigenvectors of the companions matrices of the Bézout matrix of the system 5.6. In our case, the matrix can be computed analytically: the Bézout matrix BM = (BM ) i,j is here a 2 × 2 matrix given by

BM 0,0 = -k 3 ℓ 5 x + k 5 ℓ 3 x -k 2 ℓ 5 + k 5 ℓ 2 BM 0,1 = -k 4 ℓ 5 x 2 + k 5 ℓ 4 x 2 -k 1 ℓ 5 x + k 5 ℓ 1 x -k 0 ℓ 5 + k 5 ℓ 0 BM 1,0 = -k 4 ℓ 5 x 2 + k 5 ℓ 4 x 2 -k 1 ℓ 5 x + k 5 ℓ 1 x -k 0 ℓ 5 + k 5 ℓ 0 BM 1,1 = k 3 ℓ 4 x 3 -k 4 ℓ 3 x 3 -k 1 ℓ 3 x 2 + k 2 ℓ 4 x 2 + k 3 ℓ 1 x 2 -k 4 ℓ 2 x 2 -k 0 ℓ 3 x -k 1 ℓ 2 x + k 2 ℓ 1 x + k 3 ℓ 0 x -k 0 ℓ 2 + k 2 ℓ 0 .
The two companions matrices A = (A) i,j and B = (B) i,j are computed from the Bézout matrix and are 6 × 6 matrices:

A =          0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 a 4,0 a 4,1 a 4,2 a 4,3 a 4,4 a 4,5 a 5,0 a 5,1 a 5,2 a 5,3 a 5,4 a 5,5         
, where

a 4,0 = -k 2 ℓ 5 + k 5 ℓ 2 , a 4,1 = -k 0 ℓ 5 + k 5 ℓ 0 , a 4,2 = -k 3 ℓ 5 + k 5 ℓ 3 , a 4,3 = -k 1 ℓ 5 + k 5 ℓ 1 , a 4,4 = 0, a 4,5 = -k 4 ℓ 5 + k 4 ℓ 4 , a 5,0 = -k 0 ℓ 5 + k 5 ℓ 0 , a 5,1 = -k 0 ℓ 2 + k 2 ℓ 0 , a 5,2 = -k 1 ℓ 5 + k 5 ℓ 1 , a 5,3 = -k 0 ℓ 3 -k 1 ℓ 2 , +k 2 ℓ 1 + k 3 ℓ 0 a 5,4 = -k 4 ℓ 5 + k 5 ℓ 4 , a 5,5 = -k 1 ℓ 3 + k 3 ℓ 1 -k 4 ℓ 2 + k 2 ℓ 4 ,
and

B =         
1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 -k

3 ℓ 4 + k 4 ℓ 3         
Computing the generalized eigenvalues of A and B, that is finding the eigenvalues λ i and corresponding eigenvectors v i such that Av i = λ i Bv i , is the last computational step. Each eigenvalue is then the x-coordinate of a solution of the system. The associated y-coordinate is given -with the matrix expressions above -by the quotient of the last two coordinates of the eigenvector associated to the eigenvalue that we have picked as x-coordinate.

Finally, we test whether the solution is within σ * .

A simpler approach The approach explained above is complicated and can be prone to numerical errors, which pushed us to seek a simpler method to compute the intersection of the dual with the paraboloid. A first observation is that the intersection of the support of the dual Aff(σ * ) and the paraboloid can be reformulated so that we do not need to know the power center; instead of the system 5.5, we use the system:

p 0 -t(x) 2 -ω p 0 = p j -t(x) 2 -ω p j , ∀j = 1 . . . n. ( 5.7)
We describe an algorithm based on the system 5.7 to compute an approximation of the intersection. While being simpler, this algorithm also makes use of our tangential complex-based construction.

There are two steps in the algorithm: we first compute the intersection with the dual and the tangent space, and from this first approximation, attempt to find the real one on the manifold Q.

We first consider the intersection of the support of the dual Aff(σ * ) with one of the tangent planes corresponding to a vertex of σ, say T p 0 Q (noted simply T 0 in the following). We have now a linear system with N equations: the support of the dual is given by the intersection of n hyperplanes and the tangent plane is given by the intersection of (Nn) hyperplanes.

To compute the hyperplanes whose intersection gives T 0 , we note that the equation of the tangent plane is given similarly to the first order of a Taylor expansion:

f (x) = f (a) + i ∂f ∂x i (a)(x -a) i .
The linearization of the parametrization of Q gives (Nn) equations and takes two different forms for a given n ≤ k < N ,

• if x k = x 2 i , the linearization is p 0 2 i + 2 p 0i (x i -p 0i ); • if x k = x i x j with i = j, the linearization is p 0i p 0j + p 0j (x i -p 0i ) + p 0i (x j -p 0j ).
The system possesses thus n equations to express that the intersection belongs to the dual of σ and (Nn) equations to express that the intersection lives on the tangent space. For example, if the intrinsic dimension n is 2, the intersection is given by:

       2( p 0 -p 1 ) 1 . . . . . . . 2( p 0 -p 1 ) 5 2( p 0 -p 2 ) 1 . . . . . . . 2( p 0 -p 2 ) 5 2 p 01 0 -1 0 0 p 02 p 01 0 -1 0 0 2 p 02 0 0 -1               x 1 x 2 x 3 x 4 x 5        =         ω p 1 -ω p 0 -p 1 2 + p 0 2 ω p 2 -ω p 0 -p 2 2 + p 0 2 p 0 2 1 p 01 p 02 p 0 2 2 .        
. This is a linear system, which can be solved easily by conventional means. Note however that it is not guaranteed that the determinant of A should be non-null and it might be necessary to change the tangent plane T 0 to obtain a non-degenerate system. A weighted sums of tangent planes T i (with p i ∈ σ) can also be used if needed. This is a theoretical concern and this issue never occurs in practice.

Once the system is solved, the solution is a point s ∈ R N and can be moved to Q by changing its (Nn) last coordinates to match the parametrization. For example, if n = 2, we take s Q := (x, y, x 2 , xy, y 2 ). This approximation can either be kept (but can be really rough), or the real Voronoi vertex can be sought.

Resolution To find the real Voronoi vertex, we solve the system presented in Equation 5.7 with Newton's method, using s Q as our initial guess. For the system of equations E of Equation 5.7, the update at each iteration is

x ←-x -J(x) -1 H(x),
where J is the Jacobian of the system E (an n × n matrix).

As for any gradient descent method, one must avoid det(J) ≈ 0, which might happen in our case. We monitor the determinant of the Jacobian matrix, and use the classical technique of weighting its diagonal if its determinant becomes too small.

Since the system 5.7 expresses the intersection of Aff(σ * ) -and not σ * -with Q, we must check that the solution of the system belongs to σ * , which is always the case in practice.

Inserting a point

We have detailed how to compute efficiently the intersection of the dual of a simplex of the ambient regular Delaunay triangulation with the paraboloid.

The refinement point that we consider in our algorithm is computed from the intersection of the (Nn)-flat with Q, or computed similarly to the picking point in the original tangential complex algorithm. This gives a p point on Q, and its corresponding p = h(Π t (p)) is added to the seeds P.

Results

The implementation of our algorithm is similar to our implementation of locally uniform anisotropic meshes (see Section 4.4 in Chapter I.4). A Star class represents the local triangulation and a system of refinement queues and mesher levels take care of the refining process.

To compute the star of pi efficiently, we project only a subset of P of points that are close to pi on the tangent plane T i and build a local regular triangulation on this plane. This subset is computed through filters to be large enough to ensure that the star of p i is correct.

As the projected points are still N -dimensional entities, the construction of the n-dimensional regular triangulation on T i is done by creating local points whose coordinates are the coordinates of Π i ( P) in the basis B chosen for T i .

Brute force approach

To verify that the computations of duals are correct, we first implement a "brute force" approach that constructs the ambient regular Delaunay triangulation dual of PD( P) and computes its restriction to the paraboloid Q. The connectivity of the restriction of the Del( P) applied to P is expected to be the exact the dual of the anisotropic Voronoi diagram Vor g . Note however that the restriction to Q is a triangulation embedded in R N , and it is the action of transferring its connectivity to P that creates inversions. By nature, the tangential complex introduces inconsistencies, which are -with inversionsanother type of problematic configurations that prevent the . Computing the brute force result is thus also a good way to observe issues for a given point set that are not linked to the use of the tangential complex.

Regular Delaunay triangulations in arbitrary dimension are available in the CGAL [2] library. For planar cases (n = 2), the dimension of the ambient space is 5 and thus the computational time is still reasonable (as long as the number of vertices is not too large). Additionally, while P lives in R N , the regular triangulation's dimension can have an intrinsic dimension lower than N as P can live on a k-flat (with n ≤ k < N ); for example, if the metric is uniform, then the Nn last coefficients of all the points in P are identical.

We firstly compare the anisotropic Voronoi diagram for the distance of Labelle & Shewchuk with the result obtained through the brute force implementation. A random point set is generated over a square endowed with the metric field defined at a point p(x, y) by M (x, y) = exp(x) 0 0 1 . This point set is intentionally sparse to create orphans and degenerate configurations. The result is shown in Figure 5.15; as expected, the two structures are dual.

Tangential complex results

We now present some results obtained with the star set based refinement algorithm. Due to the issues previously mentioned (see Section 5.7.3 and Figure 5.13), the refinement algorithm will often fail to destroy simplices in the tangent planes if the sampling is not already dense. We thus start with relatively dense point sets, generated by our implementation of the locally uniform anisotropic framework (see Chapter I.4) for the same domain and metric field.

Figure 5.16 shows the star set obtained for a square endowed with two different metric fields, a two-dimensional version of the unidimensional shock and the hyperbolic shock metric fields (see Sections A.7 and A.3 in Appendix A). These two examples are sufficient to obtain a good idea of the potential of the method as they exhibit various anisotropic configurations. In the case of the unidimensional shock metric field (left, in the figure), the star set was initially inconsistent, but was refined and eventually achieved consistency. Similarly to locally uniform anisotropic meshes, many insertions were needed to solve inconsistencies. The result on the right in Figure 5.16 is left unrefined to show the state of the star set after the insertion of the initial vertices. Despite a relatively dense and well positioned point set, the star set contains many inconsistencies in regions where the algorithm described in Chapter I.4 also had issues.

In conclusion, this algorithm suffers unfortunately from the same issues that were encountered in the empirical study of the locally uniform anisotropic mesh framework, in Chapter I.4: consistency is hard to achieve between the stars of the tangential complex and many insertions are required. Similar issues were observed using point sets generated with other anisotropic mesh generators.

As for locally uniform anisotropic meshes, we attempted to improve the resolution of inconsistencies from other means than point insertion (through the perturbation of the weight and position of vertices, for example), but with no success here either.

Conclusion

Our interest for the anisotropic Voronoi diagram introduced by Labelle and Shewchuk stemmed from the its simple definition and computations.

In this chapter, we have introduced requirements on a set of seeds which guarantee that the dual of the anisotropic Voronoi diagram built from these seeds is a triangulation. We require that the seed Figure 5.16: Two results obtained with the tangential complex. On the left, a result obtained by refining a point set; a consistent star set is obtained. On the right, the inconsistencies (in red) in the star set before the refinement algorithm finishes. set forms a net of the domain, meaning that it is a good sampling of the domain and the seeds are not too close from one another. More importantly, we require that the seed set is power protected. Indeed, a consequence of power protection is that the Voronoi vertices are separated, allowing us to locally approximate the anisotropic Voronoi diagram of Labelle and Shewchuk with a Voronoi diagram built using a uniform metric field. We presented alongside a refinement algorithm to construct power protected nets and exposed the similarities between power-protection and quasi-cosphericities. The construction of anisotropic Voronoi diagrams from actual power protected nets was not investigated in practice and this should be the topic of future research. One could hope that the theoretical requirements do not need to be met in practice.

In a second part, we have introduced an alternative way to construct the dual of the Labelle and Shewchuk's Voronoi diagram using the tangential Delaunay complex. The modifications brought to the original Delaunay triangulation, and specifically the fact that the seeds of the ambient diagram do not belong to the manifold, make it hard to extend the original theory. The issues preventing the theory from being extended are well known and their resolution will be the topic of future work. In practice, this approach yields results that are similar to those of Chapter I.4: meshes that honor the metric field, but are over-refined. As for locally uniform anisotropic meshes, this is not satisfying.

In the following chapters, we shall completely abandon star set-based approaches and take interest in the Riemannian Voronoi diagram. Often considered as too expensive to compute, we propose a new discrete structure that captures its nerve. Our algorithm is theoretically sound and some positive results are obtained.

Part III

Riemannian Voronoi diagrams

Discrete Riemannian Voronoi diagrams

Several authors have considered Voronoi diagrams based on anisotropic distances to obtain triangulations adapted to an anisotropic metric field. These authors hoped to build upon the well-established concepts of the Euclidean Voronoi diagram and its dual structure, the Delaunay triangulation, for which many theoretical and practical results are known [START_REF] Aurenhammer | Voronoi diagrams[END_REF].

The Voronoi diagram of a set of points P = {p i } in a domain Ω with respect to a distance d is a partition of Ω in a set of regions {V d (p i )}. The region V(p i ) is called the Voronoi cell of the seed p i and is defined by

V(p i ) = {x ∈ Ω | d(p i , x) ≤ d(p j , x), ∀p j ∈ P\ p i }.
Du and Wang [START_REF] Du | Anisotropic centroidal Voronoi tessellations and their applications[END_REF] defined the anisotropic Voronoi cell of a point p i in a domain Ω endowed with a metric field g as

V DW g (p i ) = {x ∈ Ω | d g(x) (p i , x) ≤ d g(x) (p j , x), ∀p j ∈ P\ p i }.
Canas and Gortler [START_REF] Canas | Orphan-free anisotropic Voronoi diagrams[END_REF][START_REF] Cañas | Duals of orphan-free anisotropic Voronoi diagrams are embedded meshes[END_REF] and Cheng et al. [START_REF] Cheng | Anisotropic surface meshing[END_REF] proved that under sufficient sampling conditions, the dual of this Voronoi diagram is a triangulation for planar and surface domains. With the same idea, Labelle and Shewchuk [START_REF] Labelle | Anisotropic Voronoi diagrams and guaranteed-quality anisotropic mesh generation[END_REF] introduced slightly different Voronoi cells:

V LS g (p i ) = {x ∈ Ω | d g(p i ) (p i , x) ≤ d g(p j ) (p j , x), ∀p j ∈ P\ p i }.
While the diagram obtained is easier to trace since bisectors are quadrics, the associated theory only covers the planar setting and its extension to higher dimensions faces inherent difficulties. In Chapter II.5, we have shown that this theory could be extended to any dimension using a specific type of point sets, power protected nets, and proposed a refinement algorithm to generate such point sets. Both these diagrams aim to approximate the Riemannian Voronoi diagram (Vor) whose cells are defined by

V g (p i ) = {x ∈ Ω | d g (p i , x) ≤ d g (p j , x), ∀p j ∈ P\p i }.
where d g (p, q) is the geodesic distance on the Riemannian manifold. Riemannian Voronoi diagrams have been previously considered when the surface is endowed with the natural Euclidean metric field. Peyré and Cohen [START_REF] Peyré | Geodesic remeshing using front propagation[END_REF] use isotropic Riemannian Voronoi diagrams on surfaces and devise a farthest point refinement algorithm to achieve isotropic adaptive remeshing. Similarly, Liu et al. [START_REF] Liu | The duality of geodesic Voronoi / Delaunay diagrams for an intrinsic discrete Laplace-Beltrami operator on simplicial surfaces[END_REF] employ the Riemannian Voronoi diagram to obtain the intrinsic Delaunay triangulation of a surface. Riemannian Voronoi diagrams with polyline sources are considered by Xu et a. [START_REF] Xu | Polyline-sourced geodesic Voronoi diagrams on triangle meshes[END_REF] and methods to draw three-dimensional Riemannian Voronoi diagrams are introduced by Naß [START_REF] Naß | Computation of geodesic Voronoi diagrams in riemannian 3-space using medial equations[END_REF]. Judged too expensive to consider, the Riemannian Voronoi diagram of a manifold endowed with a metric field has not been the subject of any practical work. However,the Riemannian Voronoi diagram comes with the benefit of providing a more favorable framework to develop a theoretically sound method. For example, it is devoid of orphan cells, which are regions of the domain disconnected from their seed. These orphans, who might prevent the dual from being a triangulation, appear in the other anisotropic Voronoi diagrams previously mentioned. Finally, the Riemannian Voronoi diagram is by definition the diagram that captures best the variations of metrics and we wish to study the quality of the approximation of other anisotropic Voronoi diagrams.

The discrete Riemannian Voronoi diagram

The computation of geodesic path lengths in any domain is a difficult task as there is generally no closed form available. The wide range of domain can be shrunk, through mesh generation, to consider only piecewise-linear domains. Even in this simpler setting, the computation of geodesic distances and paths is still a complex problem to which much work has been dedicated in the last decades. Despite many studies, geodesic distances still cannot be obtained exactly for most domains endowed with an arbitrary metric field. Nevertheless, we introduce a discrete structure that is, under some conditions, combinatorially equivalent to the Riemannian Voronoi diagram and whose duals are triangulations.

Computation of geodesic distances

Historically, geodesic distances were first evaluated with respect to the Euclidean metric naturally derived from the embedding of the domain in R n . In this context, many approaches are available depending on the expectations on the geodesic distance: exact or approximate, heuristical or with theoretical guarantees, ... (see Peyré [START_REF] Peyré | Geodesic methods in computer vision and graphics[END_REF]).

Algorithms have more recently been introduced to compute geodesic distances when the domain is endowed with a prescribed metric field that exhibits anisotropy. We describe some of these methods, which we have empirically evaluated.

Konukoglu et al. [START_REF] Konukoglu | A recursive anisotropic fast marching approach to reaction diffusion equation: Application to tumor growth modeling[END_REF] proposed a heuristical method to extend the fast marching method to the anisotropic setting by inserting a recursive correction scheme in the standard algorithm. However, this causes the loss of theoretical convergence of the fast marching method and the added recursivity induces a heavy computational cost. Mirebeau [START_REF] Mirebeau | Anisotropic fast-marching on cartesian grids using lattice basis reduction[END_REF] introduced a grid-based variation of the fast marching method. The algorithm comes with theoretical guarantees, but the underlying grid structure does not extend easily to manifolds. A very different approach was considered by Crane et al. [START_REF] Crane | Geodesics in heat: A new approach to computing distance based on heat flow[END_REF], who solve linear elliptic equations to compute a global geodesic distance map, obtaining an approximate distance between any two points of the domain. The algorithm is much faster than front propagationbased methods, but its parameters require delicate tuning and the approximation is generally much worse, making it unattractive for our work. Campen et al. [START_REF] Campen | Practical anisotropic geodesy[END_REF] proposed a heuristical approach based on a modified Dijkstra algorithm, which we shall use, and describe in more detail in the section.

Short-term vector Dijkstra

The algorithm of Campen et al. [START_REF] Campen | Practical anisotropic geodesy[END_REF] is inspired by the concept of vector-Dijkstra introduced by Schmidt et al. [START_REF] Schmidt | Interactive decal compositing with discrete exponential maps[END_REF], who measure the geodesic distance between the endpoints of a path L (composed of edges of a triangulation) as the length of the segment e between the endpoints of the path, rather than the sum of the lengths of the edges {l i } that compose the path. This technique is adapted to the anisotropic setting by Campen et al. by subdividing the segment e between the endpoints of the path into smaller segments {e i } whose length is computed in a metric. Specifically, the subsegments {e i } are obtained by projecting the edges l i of the path L onto the segment e. The length of e is then defined as the sum of the lengths of the edges e i computed with the metric l i . This process is illustrated in Figure 6.1. This method of estimating lengths is then combined with a traditional Dijkstra approach, with the nuance that the distance at the neighbor n of a fixed point p is computed not by simply adding the The triangulation is drawn with black edges and the path between p and q with thickened black edges.

distance d(n, p) to the distance between p and the source s, but by finding the point p k that minimizes the sum d(n, p k ) + d(p k , s), where d(n, p k ) is computed with the vector approach explained above. Additionally, not every p k is eligible to be the minimizer: p k must be at most the k-th ancestor of p, where an ancestor of a point p is the neighbor of p from which the distance between p and its closest seed is minimum (and recursively, a k-th ancestor of p is the ancestor of the (k -1)-th ancestor of p).

The value of k is a parameter of the algorithm and must be appropriately chosen.

Although the short-term vector Dijkstra algorithm does not offer guarantees, it is nevertheless fast and precise, with little requirement on the quality of the discrete domain. This method additionally is well defined for surfaces, and does not require an embedded triangulation to compute geodesic distances, which will be particularly useful in our work. For these reasons, we shall principally use this method to compute geodesics.

Canvas

We refer to the discretization of the domain Ω upon which geodesic distances are computed as the canvas, and denote it C. Notions related to the canvas will explicitly carry canvas in the name (for example, an edge of C is a canvas edge). By default, the canvas is assumed to be a good isotropic triangulation of the domain, based on the notion of restricted Delaunay triangulations (see Section 2.11 in Chapter 2). From Section 6.2 on, we will also make use of anisotropic canvasses, but we assume that the canvas is an isotropic triangulation until then. The generation of canvasses is detailed in Section 6.1.6.

Generation of the Discrete Riemannian Voronoi Diagram

Extending the metaphor, we now describe the process of "painting" the canvas, that is the attribution of a color -which corresponds to a seed of the diagram -to all of its vertices. We assume in this section that the canvas and the seed set are known and fixed. The generation of the set of seeds will be the topic of Section 6.1.7. The canvas is colored with a process that is similar to the classic Dijkstra algorithm, which we now describe.

Initialization

Three fields are associated to each vertex of the canvas:

• a color: the color of the closest Voronoi seed (represented with an integer and initialized at -1).

All the geodesic distance computation algorithms described in Section 6.1.1 can be adapted for use in Algorithm 16, with varying degrees of difficulty and practicality to compute the discrete Riemannian Voronoi diagram.

Termination

Since one vertex is switched from trial to known every iteration, the queue is eventually empty and the vertices of the canvas are all colored. An example of fully colored canvas is exposed in Figure 6.2.

From the completely colored canvas, we build our discrete Riemannian Voronoi diagram, defined below. Definition 6.1.2 (Discrete Riemannian Voronoi diagram) Consider a point set P and a canvas C. To each seed p i , we associate its discrete cell V d g (p i ) defined as the union of all canvas simplices with at least one vertex of the color of p i . We call the set of these cells the discrete Riemannian Voronoi diagram of P, and denote it by Vor d (P).

Note that, by construction, a vertex can only take the color of one of its known neighbors, and thus a discrete cell is connected. Observe additionally that, contrary to typical Voronoi diagrams, our discrete Riemannian Voronoi diagram is not a partition of the domain. Indeed, there is a 1 canvas simplex-thick overlapping due to each canvas simplex belonging to all the Voronoi cells whose color appears in its vertices. This is intended and allows for a natural definition of the nerve of this diagram (see Section 6.1.4).

Extraction of the nerve of the discrete diagram

Since our main interest resides in anisotropic triangulations, we are interested in the dual of discrete Riemannian Voronoi diagrams. To construct this dual, the combinatorial information of the diagram must first be extracted from the canvas.

The nerve of the discrete Riemannian Voronoi diagram is given by

N (Vor d g (P)) = {V d g (p i )} | ∩ i V d g (p i ) = ∅, p i ∈ P .
Using a triangulation as canvas offers a very natural way to construct the nerve N (Vor d g (P)) since each canvas k-simplex σ of C has k + 1 vertices {v 0 , . . . , v k } with respective colors {c 0 , . . . , c k }, which correspond to seeds {p c 0 , . . . , p c k } ∈ P. Indeed, a canvas σ simplex belongs to each Voronoi cell whose color appears in the vertices of σ. The intersection of the Voronoi cells whose color appears in the vertices of σ is thus non-empty and the set D of these Voronoi cells belongs to the nerve. In that case, we say that the simplex σ witnesses (or is a witness of) D. By extension, if (K, ϕ) is a realization of N (Vor d g (P)), we also say that σ witnesses the simplex ϕ(D). For example, if the vertices of a 3-simplex τ have colors red-blue-blue-red, then the intersection of the discrete Voronoi cells of the seeds p red and p blue is non-empty and D := {V d g (blue), V d g (red)} belongs to N (Vor d g (P)). The simplex τ thus witnesses the (abstract, for now) edge between p red and p blue .

For all D ∈ N (Vor d g (P)), if there exists σ ∈ C such that σ witnesses ϕ(D), and ∀σ ∈ C the simplex witnessed by σ belongs to ϕ(N (Vor d g (P))) then we say that C captures N (Vor d g (P)). A Voronoi cell is said to be captured if all its Voronoi vertices are witnessed by the canvas. Figure 6.2 illustrates a canvas, the discrete Voronoi cells, and the notable witnesses of the nerve. ). As we shall use this remark for an unbounded domain endowed with an Euclidean metric field, this assumption will be satisfied.

Geometric realizations of the nerve

Once the nerve of the diagram is known, a mesh can be obtained by tracing classical simplices (defined as the convex hull of the vertices) between the seeds, accordingly to the combinatorial information of the nerve. This yields the straight Riemannian Delaunay triangulation, which we denote by Del g (P).

Although we are primarily focused on the generation of "straight" anisotropic triangulations, it should be noted that we have constructed an approximation of the Riemannian Voronoi diagram, and the curved realization of the dual is in a way more natural since the diagram is after all computed using geodesic distances.

Curved Riemannian Delaunay triangulations (see Section 2.9 in Chapter 2) have received some theoretical attention [START_REF] Leibon | Delaunay triangulations and Voronoi diagrams for Riemannian manifolds[END_REF][START_REF] Dyer | Surface sampling and the intrinsic Voronoi diagram[END_REF][START_REF] Dyer | Riemannian simplices and triangulations[END_REF], but there is no work on the practical side of the subject. To investigate this practical side, we are required to know how to trace curved Riemannian simplices. In the case of planar and surface domains, simply computing the geodesic paths between the vertices of a simplex provides the complete curved Riemannian simplex. However, drawing curved Riemannian simplices in higher dimensions is far more complicated since curved Riemannian simplices are defined through a minimization process at each point.

We will consider both realizations of the nerve in our theoretical and practical studies.

Generation of the canvas

We now detail the process of generating the canvas, the underlying structure upon which geodesics are computed.

Observe that if the canvas is too sparse or badly approximates the domain, the discrete Riemannian Voronoi diagram of a set of seeds might be combinatorially notably different from the Riemannian Voronoi diagram, as illustrated for example in Figure 6.3. Our algorithm aims to be a discrete yet accurate version of the Riemannian Voronoi diagram. The canvas must therefore be adapted to our input domain, metric field and set of seeds. Figure 6.3: Two discrete Riemannian Voronoi diagram in the simple case of a plane endowed with the Euclidean metric field. The seeds are drawn with squares, the canvas with thin black segments and the canvas vertices with circles. The Riemannian Voronoi diagram is drawn with thick black segments. On the left, the canvas is not dense enough to capture the combinatorial information of the Riemannian Voronoi diagram.

For now, we limit the nature of the canvas to an isotropic triangulation of the domain, generated by a classical isotropic refinement Delaunay algorithm that is driven by a sizing constraint. The main unknown is the necessary value of sizing field for the canvas to capture the nerve of the Riemannian Voronoi diagram. To simplify matters, we assume that the sizing field is constant.

Two possibilities arise, depending the knowledge of the set of seeds.

Known seeds

Firstly, consider the case where the seeds are known before the generation of the canvas. The sizing field of the canvas must then be a factor smaller than the minimum distance between two Voronoi vertices of the Riemannian Voronoi diagram. Although this value could be computed, seeds are almost never known beforehand: using seeds obtained through simpler (to compute) diagrams, such as Labelle and Shewchuk's, or from other anisotropic methods (for example using a locally uniform anisotropic mesh) do not in practice yield "good" Riemannian Voronoi diagrams in term of embeddability of the dual nor in term of quality of the simplices. Therefore, we skip the computation of the required sizing field of the canvas in this (pointless) case.

Unknown seeds

The more complicated case, but also the realistic one, is that we do not know the seeds in advance and use the canvas to generate well-positioned seeds. The canvas must thus be generated preemptively and be adapted to the set of seeds that is going to be generated upon this very same canvas.

In theory In Chapters III.7 and III.8, we shall prove that if the set of seeds is a δ-power protected (ε, µ)-net (see Sections 2.12.1 and 2.12.2 in Chapter 2 for the respective definitions), then we can compute an upper bound on the sizing field of the canvas such that the canvas captures the combinatorial information of the Riemannian Voronoi diagram if the sizing field is honored. A rough understanding of these requirements is that the net assumption gives us a dense and separated point set, and the power protection ensures that the Voronoi vertices are far from one another, making it possible to compute a bound on the sizing field of the canvas such that issues like the one illustrated in Figure 6.3 do not happen.

In practice

The theoretical upper bound on the sizing field of the canvas is extremely small, but thankfully does not need to be honored in practice. In practice, we estimate the required sizing field by computing the smallest potential edge length, as detailed below.

Similarly to the generation of the canvas, the generation of our anisotropic triangulations is driven by a sizing constraint, with the purpose of creating meshes whose edge lengths are close to unit (see Section 2.13 in Chapter 2). The seed set thus honors a sizing field with a constant parameter r 0 , meaning that the shortest path between a seed and a Voronoi vertex is at most r 0 . In the discrete context, this means that the distance between any vertex of a canvas simplex witnessing a Voronoi vertex of the Riemannian Voronoi diagram and the corresponding closest seed it smaller than r 0 . As explained in Section 2.13 in Chapter 2, it is more convenient to encode the sizing field directly into the metric field and we thus always use r 0 = 1.

If the seeds are well spread, there exists a lower bound ℓ on the distance between two seeds. By definition, a unit ball in the metric G p at a point p is an ellipsoid with semi-axis lengths 1/ λ i p , thus the smallest distance (in Euclidean space) between a seed and a point on the unit ball is given by min i 1/ λ i p = 1/ max i λ i p . The sizing field of the canvas is then taken as:

h C = min p∈P ℓ 10 max i λ i p .
This ensures that we have at least 10 canvas simplices between two Voronoi seeds, which is generally enough to guarantee that the Riemannian Voronoi diagram of the set of seeds is captured. The generation of the seeds is the topic of the next section. Remark 6.1. 4 As we need to compute accurate geodesic distances, the sizing field should also be sufficiently low with respect to metric distortion. If the canvas is extremely sparse, the sizing field will be thus determined by this criterion. However, in the common case, this constraint is automatically satisfied because the set of seeds is sufficiently dense with respect to metric distortion.

Generation of the seeds

For the reasons explained in the previous section, we generally do not know the seeds beforehand.

In theory Our theoretical analysis of our discrete structure (in Chapters III.7 and III.8) shows that if the set of seeds is a δ-power protected (ε, µ)-net (with known bounds on δ and ε), then the discrete diagram has exactly the same combinatorial structure as the (exact) Riemannian Voronoi diagram, as long as the canvas is dense enough. We have presented in Section 5.4 in Chapter II.5 an algorithm to generate such point sets. However, this algorithm is undesirable in practice as it relies on finding "valid" points through trial and error, similarly to the Pick_valid algorithm used in the locally uniform anisotropic meshes (see Chapter I.4). The heavy cost of this algorithm greatly contributed to the non-practicality of the framework of locally uniform anisotropic meshes.

In practice Fortunately, we obtain good results for 2D domains and surfaces when seed sets are generated through a simple farthest point refinement algorithm. A farthest point refinement algorithm iteratively inserts in the diagram the circumcenter that is farthest from its seed until the prescribed sizing field r 0 is satisfied. Using such refinement algorithm, the dual of our discrete Riemannian Voronoi diagram rapidly becomes an embedded triangulation, even for a relatively small number of vertices (see Section 6.4 and specifically Figure 6.9).

Since we do not enforce power protection for our actual set of seeds, two adjacent Voronoi vertices can be in theory arbitrarily close. This situation also occurs in practice, but while this might seem very problematic, the spreading aspect of our algorithm ensures that only a single diagonal is capturedeven if two Voronoi vertices (for the Riemannian Voronoi diagram) are located within the same simplex (see Figure 6.4). Figure 6.4: As a consequence of not enforcing power protection, Voronoi vertices can be arbitrarily close. The color code is the same as in Figure 6.2. to simplify the comprehension, we have drawn the color at some canvas vertices. This does however not create any issue in the dual triangulation.

The question of the generation of a three-dimensional set of seeds is trickier as a farthest point refinement algorithm is not sufficient to create embedded duals. We will further discuss this issue in Section 6.4.2.

Location of a new seed

Both our theoretical and practical refinement algorithms insert new seed near Voronoi vertices (circumcenters). However, a Voronoi vertex c on the discrete Riemannian Voronoi diagram is actually a canvas simplex σ C whose vertices have all different colors. This is not punctual information and therefore cannot be inserted. Three options are possible to extract a Voronoi vertex from the canvas simplex, ordered below in decreasing amount of simplicity:

• Choose as Voronoi vertex c the canvas vertex of σ C that is farthest from its closest seed.

• Choose as Voronoi vertex c the barycenter of the canvas simplex.

• Recursively break down the canvas simplex σ C into smaller simplices (typically with a barycentric subdivision) and compute the colors of the vertices of these new canvas simplices. Continue until the simplex is under a certain size and pick one of the first two options.

From empirical observations, there is no significant difference between any of the methods and we therefore use the first option since it is the lightest, from a computational point of view.

Insertion of a new seed

A new seed p is easily inserted into an existing discrete diagram: the Voronoi cell of a p is obtained by locating p on the canvas and spreading from the initial canvas simplices with a single front propagation algorithm. The discrete Voronoi cell of p is found when no point reached has a lower distance to p than to its current closest seed.

When the sampling of the seed set is dense on the domain, the insertion of a new seed is a local operation since only a relatively small number of canvas simplices carry the color of any seed.

Canvas adaptation

The evaluation of geodesic distances is well known to be a computationally expensive (and thus slow) process. To make things worse, the canvas must be composed of a large number of vertices for multiple reasons:

• The canvas needs to be dense with respect to the desired sizing field of the final mesh: the main justification behind the use of geodesics is that the metric field provides significant information that is relevant to the position of vertices and to the combinatorics of the anisotropic triangulation, and which is lost when we only consider the values of the metric field at the seeds.

• The canvas needs to be sufficiently dense with respect to the variations of the metric field and to the reach of the manifold, so that geodesic lengths are accurately estimated.

• The canvas needs to be sufficiently dense so that the nerve is captured.

The requirements mentioned in the second and third items will be precisely described in the theoretical chapters III.7 and III.8.

Remark 6.2.1

The first item also implies that the metric field must be known in much finer manner compared to the size of the final anisotropic triangulation or the metric field will simply be interpolated between known values, greatly reducing the usefulness of geodesics.

The combination of the high computational cost of computing geodesic distances and of the required large size of the canvas makes the coloring of the discrete Riemannian Voronoi diagram the (expected) bottleneck of the algorithm. This cost could be reduced in two independent ways: improving the speed of geodesic distance computations and decreasing the amount of geodesic distance estimations. We rely on previous work for the estimation of the geodesic distances and improving the current methods goes beyond the scope of this work. However, we significantly decrease the number of geodesic computations required by changing the nature of the canvas, as we shall now explain. Figure 6.5: Example of a difficult metric field for the local Delaunay algorithm. The algorithm required 4430 vertices to achieve consistency, a number considerably higher than our method as can be seen on the results produced in Section 6.4. from building a star set which follows the (anisotropic) input metric field. For these reasons, a canvas based on a star set is called an anisotropic canvas. The theoretical study presented in Chapters III.7 and III.8 generally assumes that the canvas is an isotropic triangulation for simplicity, but these results can be extended, under some conditions, to anisotropic canvasses. [START_REF] Mirebeau | Anisotropic fast-marching on cartesian grids using lattice basis reduction[END_REF], which we have described in Section 6.1.1, if one thinks of stars as non-uniform stencils. Although stars offer fewer guarantees than Mirebeau's stencils, they are more flexible and allow one to handle easily the case of (curved) manifolds.

Remark 6.2.2 The usage of star-based canvasses is not unlike the stencil-based geodesic distance computation method of Mirebeau

Orientation of the graph

An anisotropic star in the locally uniform anisotropic mesh framework reflects a local connectivity that is computed according to the metric at the center of the star. An edge that is incident to the center of a star thus possesses a natural orientation: from the center of the star to its other endpoint, on the link. While merging stars, two choices are available:

• Keep the orientation of edges, according to the local connectivities of the stars. One then obtains a directed graph, but this is not a problem in Algorithm 16: spreading from one known canvas vertex p is only done to its neighbors, the vertices of the link of the star S p .

• Reciprocate the ownership relations and create an undirected graph by considering that p ∈ S q and q ∈ S p are equivalent. In that case the neighbors of p are the vertices on the link of S q but also all points q such that p ∈ S q . The consequence is a slightly heavier computational cost, but more directions are available from each point, thus improving the accuracy of geodesic distance computations.

The use of reciprocal neighbors (see Section 6.2.3) has in practice no significant impact on the quality of the computation of geodesic distances. This can be explained by observing that we compute geodesics with the algorithm by Campen et al. [START_REF] Campen | Practical anisotropic geodesy[END_REF], which uses a vector-valued Dijkstra approach (see Section 6.1.1. With their method, the length of a path over a mesh is estimated by (vectorially) summing edges before measuring the length of the sum. Consequently, the most accurate geodesic distance between two canvas points is not necessarily obtained for the path that is as close as possible to the geodesic between both points. In conclusion, there is no need to maintain an oriented graph.

Nerve of an anisotropic canvas

The extraction of the nerve in the case of anisotropic canvasses is achieved similarly to the case of isotropic canvasses: we traverse the star set and consider the simplices of all the stars. Each simplex is processed by considering the different colors of the vertices of the simplex, and adding the set of corresponding discrete Voronoi cells to the nerve.

Star set canvas generation

Similarly to the isotropic canvas generation, theoretical bounds on the necessary sizing field of the canvas exist, but thankfully do not need to be honored. In practice, the generation of a good star set canvas is even easier than the generation of isotropic canvasses: we simply scale down by a constant factor the sizing field that is chosen for the goal triangulation. Due to the regularity of the point set implied by its the power protected net assumption, this ensures a relatively constant number of canvas edges between two vertices of the final triangulation. The value 0.1 is chosen for this scaling factor and the sizing field of the canvas is thus 0.1r 0 (with r 0 the sizing field of the set of seeds). Once the refinement process has terminated, we obtain an (anisotropic) star set with Delaunay stars that conforms to the metric field.

As in the case of an isotropic canvas, an issue arises: will the lack of power protection on the point set not create any issue due to Voronoi vertices being too close from one another? This problem is made worse for anisotropic canvasses by the fact that star sets are generally not consistent. Nevertheless, the answer is fortunately here again negative for planar and surface domains and we always obtain embedded duals.

Advantages over isotropic canvasses

To ensure that the nerve of the Riemannian Voronoi diagram is captured in the case of an isotropic triangulation used as canvas, the (uniform) sizing field of the canvas must be small enough such that Voronoi bisectors are clearly distinct (see Section 6.1.6). As the anisotropy ratio increases, Voronoi cells become thinner and the number of canvas vertices required to capture the nerve rapidly grows (Figure 6.6, left and center).

On the other hand, the placement of vertices in an anisotropic canvas is by construction not uniform and does not suffer from the same issue: as the anisotropy of the metric field grows, Voronoi cells and canvas simplices become thinner in tandem. The number of canvas vertices in a Voronoi cell is thus relatively constant regardless of the anisotropy. Figure 6.6: Isotropic and anisotropic canvas sampling. In the case of an isotropic canvas, increasing the anisotropy of a cell increases the number of vertices required to properly capture it (left and middle). This is not the case if the canvas can be anisotropic (left and right).

As the star set satisfies a sizing field of 0.1r 0 , the canvas edges are roughly 10 times smaller than the distance between seeds. Consequently, the canvas is composed of approximately 10 n more vertices than seeds, with n the intrinsic dimension of the domain.

The use of an anisotropic canvas greatly decreases the computational time as the number of vertices in the canvas is drastically reduced, without any change in the extracted nerve (see Section 6.4). Figure 6.7 shows an example of the same region of a domain with a triangulation (left) and a star set (right) used as canvasses.

Implementation

Our implementation is generic: the two types of canvas and the various geodesic distance computation procedures are modules that can be easily swapped in the main algorithm. The CGAL library [2] is used to generate isotropic Delaunay canvases and our implementation (see Section 4.4 in Chapter I.4) of the locally uniform anisotropic mesh framework for the generation of star sets. The algorithm was implemented for planar, surfaces and 3D domains.

Geodesic distance computations

The different geodesic distance computation algorithms described in Section 6.1.1 were implemented and evaluated, with practicality in mind. Although the method proposed by Campen et al. [START_REF] Campen | Practical anisotropic geodesy[END_REF] does not offer any theoretical guarantee, its accuracy and convergence were in practice satisfactory: on all the domains considered, increasing the density of the mesh yielded similar geodesic distance maps, meaning that converge is already achieved. The accuracy was estimated by running the method in simple cases where the result is known in advance. Furthermore, the speed of Campen's et al.'s algorithm a significant advantage over other methods. Finally, it requires practically no change to be used in the setting of non-embedded and directed graphs, while still providing accurate results.

Computational speed of the construction of the star set

The computational speed of our implementation of the locally uniform anisotropic mesh framework is low (see Section 4.7 in Chapter I.4), for multiple reasons: the inherent redundancy that comes with a star set (a point is inserted and lives in multiple stars), the necessary combinatorial checks for robustness, and, mainly, the resolution of inconsistencies. Since we do not care about the consistency of our star set here, the meshing algorithm is much faster. Additionally, it is possible to discard all inconsistency-related combinatorial checks (see the maintenance of the refinement queues in Section 4.4.3 in Chapter I.4).

Robustness

The algorithm can be accelerated furthermore by trading robustness for speed. Indeed, a number of checks were required in the implementation of the algorithm of Chapter I.4 to guarantee that we are building the correct anisotropic star set. For example, the combinatorial structure of a new star repeatedly uses a filtering structure (a k-d tree) to find nearby points that we might have missed during the construction of the star (see Section 4.4.4 in Chapter I.4). These checks carry a non-negligible computational cost at each iteration but, although they rarely have an impact, are needed if we wish to construct a consistent star set. Since we are now manipulating inconsistent star sets with no care for consistency, we can allow ourselves to not build the exact star set of a set of vertices: a missing vertex never makes a significant difference in the accuracy of the computation of geodesic distances over a large canvas. These tests are thus disabled, and computational speed is increased.

With no particular care needed to be given to inconsistencies, almost all the downsides of the locally uniform anisotropic meshes framework are eliminated: the slow computational time and the large number of vertices were indeed direct consequences of the tedious resolution of inconsistencies.

Parallelization

Parallelization of the locally uniform anisotropic mesh refinement algorithm is difficult (see Section 4.4.6 in Chapter I.4) and was not pursued due to the non practicality of the algorithm.

The results obtained by our approach are much better, renewing the interest in a fast locally uniform anisotropic meshes. Additionally, our method makes uses of geodesic computations, which are notoriously slow, thus making any gain in the algorithm attractive (even if the generation of the canvas is relatively cheap compared to the computation of geodesic distances).

The fact that we can get away with approximate anisotropic star sets (thanks to the vector-Dijkstra method used by Campen et al. [START_REF] Campen | Practical anisotropic geodesy[END_REF]) allows us to use a lazy approach to parallelism. Instead of using the local insertion coupled with a lock system, as done for example in the parallel version of the isotropic mesh generator Mesh_3 [START_REF] Jamin | Cgalmesh: a generic framework for Delaunay mesh generation[END_REF] of cgal, we simply split the domain in zones that are independently meshed. Each zone is made to have a small overlap with the nearby zone, of thickness 0.4r 0 (meaning an overlap of around two canvas simplices). Remark 6.3.1 The partition of the input mesh is computed with the METIS library [START_REF] Karypis | A fast and high quality multilevel scheme for partitioning irregular graphs[END_REF]. Another possibility would be to use the Scotch library [START_REF] Chevalier | Pt-scotch: A tool for efficient parallel graph ordering[END_REF]. Note that these libraries compute non-overlapping partitions, but it is trivial to enlarge a subdomain with neighboring elements until we are satisfied of its size. In the case of an implicit surface, we first generate a (relatively rough) isotropic mesh of the domain.

Once a size-abiding star set has been created for each subdomain, we stitch them together by inserting the center of the stars within the overlap region in the stars that are nearby the border in (both regions) region. This is a local and thus swift process.

This approach to parallelism is qualified of lazy because there is no control on the correctness of the stars at the borders and we thus might not building the proper star set. But once again, this is not important here as we only seek a relatively dense and anisotropic star set.

Limitations This subdivision is naturally most efficient when the partition is adapted to our domain. For example, if we are considering a cube of side 10 endowed with the radial shock metric field (see Section A.7 in Appendix A), dividing the cube in 8 smaller identical cubes is not a good partition as most of the anisotropy is only contained in one of the small cubes. This issue was not resolved automatically, but a possible solution would be to use the adapted partitioning algorithm of METIS.

Extraction of the nerve

The extraction of the nerve is performed on the fly during the coloring the canvas: when a canvas simplex is first fully colored, its combinatorial information is extracted and added to the nerve. Since capturing the Voronoi vertices is sufficient to extract all the combinatorial information of the nerve (see Remark 6.1.3), we tag canvas simplices as soon as they have two vertices with identical colors so that their combinatorial information is ignored.

Geodesic paths

To compute curved Riemannian Delaunay triangulations, one must be able to draw geodesic paths and simplices. Geodesic paths are traced by backtracking along the gradient of the geodesic distance map, as described by Yoo et al. [START_REF] Yoo | A triangulationinvariant method for anisotropic geodesic map computation on surface meshes[END_REF]. Note that the gradient must be orthogonal to the level sets with respect to the metric field. Figure 6.10 (right) illustrates the gradient map of five Voronoi cells on a discrete Riemannian Voronoi diagram of the "Chair" surface, illustrated on the left.

Results

In this section, we present results obtained by our discrete Riemannian Voronoi diagram structure and its refinement algorithm. We first exhibit discrete Voronoi diagrams and their corresponding duals for our typical metric fields, before investigating the computational speedup induced by our use of anisotropic canvasses. We compare this new approach to our previous approach, to other definitions of anisotropic Voronoi diagram, and to other anisotropic meshing algorithms. Finally, we expose and discuss issues that arose in the three-dimensional setting.

Duals of the discrete Riemannian Voronoi diagram

As our structure is a close approximation of Riemannian Voronoi diagrams, we can construct two different duals: the curved dual (see Section 2.9 in Chapter 2) and the straight dual whose simplices are defined as the convex hull of the vertices in the domain. We present results for both of these duals, and detail some issues that appeared during the experiments.

We will first consider two-dimensional and surface domains; the case of three-dimensional domains is discussed at the end of the section. The metric fields and domains employed in these results are detailed in Appendices A and B respectively.

Straight Riemannian Delaunay triangulation

By definition, the Riemannian Voronoi diagram captures the metric field more accurately than other methods that typically only consider the metric at the vertices. This additional input of information allows us to construct curved Riemannian Delaunay triangulations, but also has a positive influence on the straight realization of the diagram. Figure 6.8 shows the different structures involved in our algorithm during the generation of an anisotropic meshes for the sphere endowed with a hyperbolic shock metric field. On the left is the canvas (an isotropic triangulation here); the middle sphere shows the discrete Riemannian Voronoi diagram computed upon this canvas; finally, the right picture shows the dual of the discrete diagram, an anisotropic triangulation. Contrary to the previous approaches introduced and investigated in Chapters I.4 and II.5, no over-refinement is observed, including in the regions where the eigenvectors of the metric field are rotating (where the shock "turns"). The final mesh has slightly fewer than 4000 vertices, which is the number of vertices that was required by our locally uniform anisotropic mesher (Chapter I.4) to generate a mesh of a only small region of that domain (see Figure 6.5). Figure 6.9 shows the polyhedral surface "Fertility" that we endow with a curvature induced metric field. As for the sphere, the dual rapidly becomes a triangulation during the refinement process: as few as 200 vertices are needed to obtain a triangulation (that is also visually pleasing). Comparatively, our previous algorithms required more than 13000 points to obtain a consistent star set.

Across various experiments, meshes are obtained in a reasonable amount of vertices, often giving close to unit meshes (see Table 6.1).

curved Riemannian Delaunay triangulation

The large amount of additional information that is provided by the canvas allows to construct curved Riemannian Delaunay triangulations, which have not been produced before. Figure 6.10 shows the discrete diagram and the curved Riemannian Delaunay triangulation for the "Chair" surface endowed with a curvature-induced anisotropic metric field. In the computation of the curvature metric field, the value ǫ = 0.7 is used (see Section A.2.1 in Appendix A). The curvature of the simplices is noticeable and the metric field is well captured with only few curved Riemannian simplices. Comparatively, a straight dual would require more elements to obtain the same approximation Figure 6.11 shows the curved Riemannian Delaunay triangulation dual of the Riemannian Voronoi diagram for the hyperbolic shock metric field. We obtain an aesthetically pleasing curved mesh that conforms closely to the metric field.

The computation of geodesics is relatively expensive as it requires a gradient descent to draw each geodesic edge. Instead, one can follow the list of ancestors between the two seeds, where an ancestor a is a point of the canvas that provided the minimum of the distance d(s, a) + d(a, p) from a seed s to a point p (see Section 6.1.1 for further details) during the geodesic distance computations. Figure 6.10: On the left, the discrete Riemannian Voronoi diagram of 1020 seeds on the "Chair" surface, with a curvature induced metric field; the edges of the curved Riemannian Delaunay triangulation are traced in black. On the right, the geodesic gradient map used to compute geodesics (for 5 adjacent Voronoi cells picked from the complete diagram). The center of the cells is marked with a red dot and each red line is the gradient at a vertex of the canvas. Figure 6.12 shows the approximation of the curved Riemannian Delaunay triangulation in Figure 6.11 using segments between ancestors rather than geodesic. Despite only using around 5 segments per geodesic, we obtain a close approximation, at only a fraction of the cost since ancestors can be stored during the process of coloring the canvas.

Three-dimensional setting

The results for three-dimensional domains are more mixed. In the setting of planar and surface domains, it was not necessary for the seed set to be a power protected net as our theory imposes: a farthest point refinement algorithm was enough to create good triangulations. This pleasant result does not extend to the three-dimensional setting: the straight duals of our discrete diagrams generated with a farthest point refinement algorithm are never embedded, due to a low percentage of simplices intersecting nearby elements (see the tetrahedra colored in red in Figure 6.13, right).

Investigating more closely, this is always caused by quasi-cosphericities (the presence of two Voronoi vertices close from one another). The use of power protected nets would entirely prevent such occurrences, and we are thus hopeful that anisotropic meshes could be created this way. Unfortunately, the cost of generating power protected nets in the context of Riemannian Voronoi diagrams is far beyond reasonable and we have thus not progressed farther in this direction.

It should nevertheless be noted that there are fewer issues in three-dimensional triangulations created as duals of discrete Riemannian Voronoi diagrams than in the star set-based approaches, for the same number of vertices. Indeed, the mesh obtained in Figure 6.13 (left) is composed of only 1350 vertices, but is much closer to being a good triangulation than a star set created using the framework of locally uniform anisotropic meshes -which required more than 110000 vertices to create a consistent star set for this same input (see Section 4.7 in Chapter I.4).

Computational speed

The computational speed of geodesics has always been the justification to approximate Riemannian Voronoi diagrams. We first investigate the computational speed of our algorithm, and specifically at 182

Results

the gain allowed by the use of a star set canvas. For consistency, the seed set is (exceptionally) assumed to be known beforehand. Note that in all cases, the construction of the nerve and of the geometric realizations of the duals have a negligible cost compared to the computation of geodesic distances. Figure 6.14 uses an isotropic canvas of a square of side 4 and centered on the origin, endowed with a "Swirl" metric field (see Section A.4 in Appendix A). The canvas is composed of 1, 286, 862 vertices and took 29 seconds to generate with Mesh_2. The computation of the curved Riemannian Delaunay triangulation and of the straight Delaunay triangulation then took around 40 minutes. Comparatively, the same results were obtained using a star set of only 101, 264 stars (vertices) in around a minute and a half, including 50 seconds to generate the star set. For the same input, increasing the number of seeds to 15000 (see Figure 6.20) yields similar results: the isotropic mesh is generated in 53 seconds and contains 2509300 vertices. Coloring this mesh takes slightly more than an hour. Comparatively, the anisotropic requires 151274 vertices, which were generated in 118 seconds, and the coloring takes less than a minute. This improvement becomes even more significant as the anisotropy increases.

Finally, an isotropic mesh is not even conceivable for larger cases: in our three-dimensional experiments (see Section 6.4.2), we use an anisotropic canvas composed of 1179017 vertices. With our choice of sizing field, the smallest edge has length 0.001, meaning that the isotropic mesh generator would be given the task of meshing a unit cube with an a maximal edge length of 0.0001 (see Section 6.1.6). This would generate a mesh with hundreds of millions of vertices whose coloring would take days.

Generation of seeds

We have so far compared the running times of our algorithms for different canvasses, assuming that the seeds are known.

In reality, we generate the seeds through a farthest point refinement algorithm, as seeds obtained from other means do not produce satisfying Riemannian Voronoi diagram -at least for small seed sets. This generation of seeds is a major downside of the algorithm, from a computational point of view. Indeed, the insertion of a new seed obliges us to compute its cell, which is done by growing the cell of a new seed from the canvas simplex that contains the seed until it reaches vertices of the canvas that are closer to their seed than to the new seed (see Section 6.1.7). If the seed set is already dense, this is a fast operation as we are only changing the color of a small number of canvas vertices. However, for a certain number of insertions at the beginning (variable depending on the input), large amounts of vertices change colors, which takes a considerable amount of time.

Quality

The quality of a mesh can be evaluated through the measure (in the metric) of its angles and of the lengths of its edges. We evaluate the edge lengths and the angles of the point set shown in Figure 6.19 (the straight Riemannian Delaunay triangulation is shown) for both the curved and straight Riemannian Delaunay triangulations. The angle of a curved Riemannian simplex at a vertex p is given by the angle between the two geodesic edges sent to the tangent space at p using the exponential map (both geodesic edges are then straight edges), which is equivalent to the angle between the tangent of the geodesic edges at a.

The point sets are generated with a sizing criterion intended to create unit meshes, that is curved Riemannian Delaunay triangulations whose geodesic edges have a length close to 1. Results on the lengths of the edges of the curved Riemannian Delaunay triangulation and on the angles of the straight Riemannian Delaunay triangulation are shown in Figure 6.15 and show good control on both the edge lengths and the angles. We also observe that while the results are naturally better for the curved Riemannian Delaunay triangulation since the point set is generated with respect to the geodesic distance, the quality of the elements of the straight Riemannian Delaunay triangulation stays relatively close to that of the curved Riemannian Delaunay triangulation.

Comparison

Despite great gains brought by the use of anisotropic meshes, the algorithm is still slow. We investigate in this section the benefits of using a geodesic approach by comparing our results with other methods.

The heavy cost of computing geodesic distances is the fundamental reason behind the approximation of the distance with respect to a metric field with simply a distance with respect to a metric. It is thus particularly interesting to compare our results to anisotropic meshes created for other anisotropic Voronoi diagram, namely using the distance of Labelle and Shewchuk, and the distance of Du and Wang.

We first consider the two-dimensional setting. The hyperbolic shock metric field is a good example of metric field that can be difficult for the anisotropic Voronoi diagrams of Labelle and Shewchuk and Du and Wang. Indeed, other anisotropic Voronoi diagrams who only consider the metric at a single point are prone to inverted elements when the (eigenvectors of the) metric field is rotating, which is the case for the hyperbolic shock metric field. On the contrary, our discrete Riemannian Voronoi diagram takes metric information into account continuously, and is thus not as heavily affected by change in eigenvectors. Consequently, the dual of our diagram becomes a triangulation with fewer seeds than the other anisotropic Voronoi diagram. This is illustrated on Figures 6.16 and 6.17. The number of seeds is fixed for a given example, and the seeds are generated by each algorithm specifically for its distance. Although our diagram does reach the state of having an embedded dual much faster, this advantage is only limited as other anisotropic Voronoi diagrams also reach this state very quickly. The triangulations produced in that short window are also often under-sampled and the result is thus not pleasing visually nor from a quality point of view (for example in Figure 6.16).

Surface Discrete Riemannian Voronoi diagrams produce much better results than other anisotropic Voronoi diagram-based methods on surfaces. Indeed, the geodesic distance captures the geometry of a surface much more accurately and generating an anisotropic triangulation with very few points, Figure 6.17: Duals of anisotropic Voronoi diagram for a planar domain endowed with a radial shock metric field (discrete Riemannian Voronoi diagram on the left, V LS in the middle and V DW on the right). All Voronoi diagrams contain the same number of seeds. Issues preventing the dual from being a triangulation are drawn in red. such as the "Fertility" surface composed of 220 vertices in Figure 6.9 (left), is impossible with other anisotropic diagrams.

Star set-based approaches

Two star set-based approaches have been studied previously in this thesis: the framework of locally uniform anisotropic meshes (Chapter I.4) and the use of a modified tangential Delaunay complex to construct the dual of the Labelle and Shewchuk anisotropic Voronoi diagram. In practice, both meshes suffered greatly from inconsistencies, requiring large numbers of vertices to obtain triangulations.

We present below (Table 6.1) statistics on our straight meshes obtained from discrete Riemannian Voronoi diagrams. The following measures are listed in Table 6.1:

• The edge length. To determine how well the algorithm fares at producing a unit mesh, we compute the lengths of edges with respect to the metric at both endpoints. We list the smallest

Results

(ℓ min ), average (ℓ avg ) and largest ℓ max lengths of edges.

• The distortion. As the resolution of inconsistencies is the criterion with lowest priority and generates the largest amount of vertices, the final distortion of simplices is a good indication of the distortion at which inconsistencies are finally solved. We compute the distortion of all simplices and list the smallest (ψ min ) and average (ψ avg ) distortion from all the simplices.

• The smallest angle. Angles are a good measure of the quality of a triangulation. For each simplex, we compute its smallest angle (dihedral angle in the case of three-dimensional domains). We list the minimum (α min ) and average (α avg ) of the smallest angles of all simplices.

• The quality. A second measure of quality is computed. For planar and surface domains, we use the formula presented by Zhong et al. [START_REF] Zhong | Particle-based anisotropic surface meshing[END_REF]:

Q = 4 √ 3 A ph .
where A is the area of the triangle, p the perimeter and h the longest edge (all computed in the metric). For cells, we use the quality estimation introduced by Frey and George [START_REF] Frey | Mesh generation: Application to finite elements[END_REF]:

Q = 216 √ 3 V 2 A 3 Σ .
where V is the volume of the tetrahedron, and A Σ the sum of the areas of the four facets (all compute in the metric). Both these measures live between 0 and 1, with 1 signaling the highest quality. We list the lowest (Q min ) and average (Q avg ) quality over all simplices.

For each result, we reproduce the statistics of the corresponding mesh that we had obtained in Chapter I.4 as a locally uniform anisotropic mesh.

The anisotropic triangulations obtained with our new method are much better: thanks to a lower number of vertices required to obtain a triangulation, the edge length is closer to the goal of a unit mesh. A second observation is that despite the visually pleasing results that we obtain with our new method, the angle and the quality of the meshes is lower than the anisotropic meshes produced by Chapter I.4. This is a testament to the rigorousness of the locally uniform anisotropic meshes as every simplex must be a good quality Delaunay simplex in its star for the algorithm to finish. It is however also due to the fact that we have build an anisotropic Voronoi diagram with respect to a geodesic distance but taken the dual with straight simplices, and the position of the seeds might not be optimal for that dual.

Other anisotropic mesh generators

As a first observation, it is clear that our mesher is much slower than most anisotropic mesh generation methods.

The meshes produced by our algorithm do have some benefits compared to other meshing algorithms, for example our planar experiments produce visually pleasing results with decent quality. The most notable advantage is however that the metric field is thoroughly satisfied. Preprocessing the metric field, typically with a Laplacian smoothing, is a technique often used (see for example [START_REF] Fu | Anisotropic simplicial meshing using local convex functions[END_REF]), which lowers the fidelity to the input metric field and can even nullify the anisotropy, thus resulting in isotropic elements. This is noticeable for example in the "turns" of hyperbolic shock metric field, that is where the eigenvectors of the metrics rotate (pictured for example in Figure 6.5). It is quite common to see meshing algorithms then produce close to isotropic elements in these regions. On the contrary, our algorithm produces a Voronoi diagram that honors the metric field closely and produces triangulations with anisotropic elements that conform much more closely to the metric field.

Optimization

The optimization of a mesh is often a necessary step in the creation of high-quality meshes. The main tools of mesh optimization are vertex perturbations and combinatorial changes.

Many different optimization methods are known [START_REF] Tournois | Optimisation de maillages[END_REF], but the concept of centroidal Voronoi tessellations is particularly useful when optimizing structures linked to Voronoi diagrams [START_REF] Du | Anisotropic centroidal Voronoi tessellations and their applications[END_REF]. Centroidal Voronoi tessellations (CVT) are Voronoi diagrams whose seeds are also the centers of mass (centroids) of their respective cells. The famous Lloyd algorithm [START_REF] Lloyd | Least squares quantization in pcm[END_REF] iteratively moves the seeds to the center of mass of their respective cell and recomputes the Voronoi diagram of this new seed set. In the Euclidean context, if a Voronoi cell V is partitioned with simplices {t i }, the center of mass can be obtained with the formula:

c = i c i |t i | i |t i | , ( 6.1)
where t i is the Euclidean area of the simplex t i . Many variations have been made to include density fields or using different distances (including anisotropic distances) [START_REF] Du | Centroidal Voronoi tessellations: applications and algorithms[END_REF][START_REF] Du | Tetrahedral mesh generation and optimization based on centroidal Voronoi tessellations[END_REF][START_REF] Du | Anisotropic centroidal Voronoi tessellations and their applications[END_REF][START_REF] Liu | On centroidal Voronoi tessellation, energy smoothness and fast computation[END_REF]. Wang et al. [START_REF] Wang | Intrinsic computation of centroidal Voronoi tessellation (CVT)on meshes[END_REF] used CVTs in the context of isotropic geodesic Voronoi diagrams on surfaces: the center of mass of the geodesic Voronoi cell is computed by sending the Voronoi cell to the tangent space via the exponential map, optimizing in that space, and sending the new centroid back to the surface. Their approach is robust and produces visually pleasing results.

Anisotropic Riemannian CVT

Since our method is based upon the Voronoi diagram, it is natural to try and extend centroidal Voronoi tessellations to our context.

The first idea is to simply use the formulation of Wang et al. [START_REF] Wang | Intrinsic computation of centroidal Voronoi tessellation (CVT)on meshes[END_REF]: send the Voronoi vertices to the tangent space via with the exponential map, and compute the Euclidean center of mass there. It is however not completely painless as our geodesics are approximated upon a piecewise linear domains, and two different geodesics can sometimes have the same tangent vector at the seed (which cannot happen if geodesics are exactly computed).

While this method gives acceptable results, we introduce a second method, which does not require the exponential map and makes use of the canvas. We approximate the Riemannian Voronoi center of mass of a cell V that corresponds to a seed s with colors c s with the following formula:

c g = i c i |t i | g i i |t i | g i , ( 6.2)
where |t i | g i is the area of the triangle t i in the metric g i and the t i are canvas simplices whose vertices have color c s Remark 6.5.1 We have also considered including triangles t i that have at least one vertex of color c s . This does not change produce any significant change in the output. Equation 6.2 is exactly the formula of the Euclidean setting (Equation 6.1), except that the area is computed with respect to the local metric. The canvas conveniently provides the decomposition of a geodesic Voronoi cell in small triangles, making the approximation of c g accurate.

As its Euclidean counterpart, this algorithm comes with no guarantees (not even for termination) but works well in practice. Figure 6.18 shows the optimization of five seeds in a square centered on the origin and of side 4, endowed with the swirl metric field (see Section A.4 in Chapter A). Three seeds are initially grouped together in the bottom left region. The formula in equation (6.2) does not extend to surfaces as the result of the weighted sum might not lie on the domain. Projecting the canvas simplices to the tangent planes and computing the center of mass there (or variations of this idea) unfortunately do not yield results as good as for twodimensional domains. In this setting, we must thus use a process similar to Wang et al. [START_REF] Wang | Intrinsic computation of centroidal Voronoi tessellation (CVT)on meshes[END_REF], that is to consider the exponential map.

Results

A first observation is that our optimization is functional, despite not relying on the explicit computation of the center of mass through the exponential map. Additionally, there are no noticeable difference in the result of the optimization whether an isotropic canvas or a star set canvas is used (see Figure 6.18).

In Figure 6.19, the initial straight Riemannian Delaunay triangulation of 320 seeds has been optimized with 100 iterations. (Note however that only the first 10 iterations made significant changes to the position of vertices).

With only few elements, the metric field is well captured and aesthetically pleasing. Observe that the elements stay anisotropic in the rotational region, a region that is often smoothed and rendered isotropic by other methods, or is very difficult for the other algorithms introduced in this thesis (see Chapters I.4 and II.5). Figure 6.20 illustrates a denser version of the mesh shown in Figure 6.14, obtained by reducing the sizing field within the metric field. The final mesh has 15000 vertices and was then optimized with 10 iterations of our optimizer (which was enough to converge). The final mesh has 15000 vertices. On the left, the optimized mesh after 10 iterations. On the right, the quality measure of the facets at three different iterations.

Conclusion

In this chapter, we have introduced a new approach to create anisotropic meshes based on a discrete structure that approximates the Riemannian Voronoi diagram of a set of seeds. This approach allows to consider duals composed of straight simplices, but also of curved Riemannian simplices, which has never been considered previously. Our farthest point refinement algorithm generates good results for planar and surface domains and we achieve great improvements over the results we had obtained using the star set-based approaches of locally uniform anisotropic meshes and tangential Delaunay complex (Chapter I.4 and II.5). Finally, we proposed a simple yet effective optimization algorithm that extends the concept of centroid Voronoi tessellations to (anisotropic) Riemannian Voronoi diagrams and produce visually pleasing meshes with good edge and size control. It should also be noted that the points of our diagram are placed for the geodesic distance, and the straight dual is not the most "natural" realization of the nerve.

Comparing our results with other anisotropic Voronoi diagrams, we observe that our diagram requires fewer vertices to possess an embedded dual, notably in regions where the metric field rotates. This advantage only lasts for a relatively small amount of time, and there is -unsurprisingly -no difference between all diagrams as the set of seeds becomes denser.

Locally uniform anisotropic meshes, which produced disappointing results in practice due to overrefinement, provide here a powerful tool to generate anisotropic canvas and allow to greatly reduce the computational cost of computing our diagram by lowering the number of geodesic distance computations. However, the computational time is the obvious limiting factor in our algorithm and the runtime of our algorithm is still large, specifically in 3D, which limits the interest in practical applications. Nevertheless, various improvements are still possible to increase the speed: a natural albeit complicated parallelism can be applied to the coloring of of the canvas, for example.

Our results in 3D are disappointing: the computational time is unreasonable and a farthest point refinement algorithm does not produce embedded duals. Nevertheless, there are fewer issues than for our older methods, and there is good hope that if we could generate power protected nets in reasonable time, we would obtain good results. Additionally, there is little doubt that this type of seed sets could be used by other anisotropic Voronoi diagrams to create good triangulations: we have even already proved that under certain conditions a power protected net would produce a diagram whose dual is embedded. However, the generation of protected point nets is currently tedious and this is thus not an option.

We shall show in Chapters III.7 and III.8 that under some conditions on the quality of the point set and on the density of the canvas, we can prove that our structure captures the structure of the Riemannian Voronoi diagram and that our duals -both Riemannian and straight -are embedded.

Theoretical study of 2-dimensional discrete Riemannian Voronoi diagrams

The discrete Riemannian Voronoi diagram, introduced in Chapter III.6, is a structure that aims to build an accurate approximation of Riemannian Voronoi diagrams of manifolds endowed with an arbitrary metric field. As its name indicates, we consider discrete information by coloring the vertices of an underlying triangulation called the canvas and extracting the combinatorial information from the simplices of the canvas to build the dual of the diagram.

Our interest residing in anisotropic triangulations, we have investigated in Chapter III.6 two possible duals of our diagram, using either curved or "straight" Riemannian simplices. With the former, we obtain the curved Riemannian Delaunay complex, more intuitive since a discrete Riemannian Voronoi diagram is defined using the geodesic distance but also a mostly theoretical realization. With the latter, we obtain a more classical complex that is both easier to construct and to use. For either realization, these complexes are not necessarily triangulations, in the sense that they are not necessarily embedded. We investigate in this chapter the theoretical aspect of our structure and specifically under which conditions the duals can be proven to be embedded.

Curved Riemannian Delaunay triangulations have previously received some theoretical attention: Leibon studied the curved dual of the Riemannian Voronoi diagram in 2D [START_REF] Leibon | Random Delaunay triangulations, the Thurston-Andreev theorem, and metric uniformization[END_REF] and gave conditions such that the curved Riemannian Delaunay complex is a triangulation. Together with Letscher [START_REF] Leibon | Delaunay triangulations and Voronoi diagrams for Riemannian manifolds[END_REF], he extended this study to curved Riemannian Delaunay triangulations of any dimension, but their analysis was shown to be flawed and corrected by Boissonnat et al. [START_REF] Boissonnat | Constructing intrinsic Delaunay triangulations of submanifolds[END_REF], at the expense of additional conditions. Dyer et al. [START_REF] Dyer | Surface sampling and the intrinsic Voronoi diagram[END_REF] improved the two-dimensional and surface work of Leibon, with better bounds.

In this chapter, we restrain ourselves to the setting of two-dimensional manifolds. This allows us to present proofs that are simpler and to obtain slightly better bounds than in the next chapter, which will extend results to any dimension. Results on Euclidean Voronoi diagrams and Riemannian geometry presented in Chapter 3 provide us the tools necessary to prove the theoretical soundness of our approach.

Contributions

We prove the theoretical soundness of our discrete Riemannian Voronoi diagram structure (introduced in Chapter III.6) in the settings of a 2-manifold embedded in either R 2 (planar domain) or R 3 .

We exhibit sampling conditions such that the discrete and Riemannian Voronoi diagrams have combinatorially equivalent nerve, such that the dual of the Riemannian Voronoi diagram is a triangulation and, finally, such that the geodesic edges of a curved Riemannian Delaunay triangulation can be "straightened" without losing the embeddability of the dual, thus obtaining the embeddability of the straight dual of our diagram.

While results on the embeddability of the dual of a curved Riemannian Voronoi diagram in a two-dimensional setting are already known, we offer a new point of view by using an approach based upon Whitney's lemma rather than Edelsbrunner and Shah's topological ball property [START_REF] Edelsbrunner | Triangulating topological spaces[END_REF] (as was done by Dyer et al. [START_REF] Dyer | Surface sampling and the intrinsic Voronoi diagram[END_REF]). Along the way, we fix a small flaw in Dyer et al. [START_REF] Dyer | Surface sampling and the intrinsic Voronoi diagram[END_REF] in a result on the intersection of convex bodies.

Background

We first recall some concepts introduced in the previous chapter which will be useful in this theoretical work. Details can be found in Chapter III.6.

We consider a set of seeds P in a domain Ω, and each seed is attributed a color. The domain is endowed with an arbitrary metric field g, and the geodesic distance between two points, denoted by d g , is the length of the shortest path between these two points. The Voronoi diagram constructed with the geodesic distance is the Riemannian Voronoi diagram Vor g (P). As this diagram is difficult to compute, we approximate the geodesic distance and the diagram Vor g (P) by considering a discrete underlying structure, the canvas C, whose vertices are colored according to their closest seed. This coloring is obtained through a multiple-front Dijkstra algorithm from the seeds. The discrete Voronoi cell of a seed is the set of simplices that possess at least one vertex colored with the color of the seed. The discrete Riemannian Voronoi diagram Vor d g (P) is the set of discrete Voronoi cells. An example of such a diagram is illustrated on Figure 7.1. The nerve of a Voronoi diagram Vor d (P) is a formal way to express its combinatorial structure and is defined by

N (Vor d (P)) = {{V d (p i )} | ∩ i V d (p i ) = ∅, p i ∈ P}.
The straight and curved duals of a Voronoi diagram are realizations of the nerve with vertices in P and using respectively straight and curved Riemannian Delaunay simplices (see Sections 2.7 and 2.8 in Chapter 2 for additional details on the definition). If a dual is embedded in the domain, we say that it is a triangulation.

Overview

Contrary to the Euclidean setting, the dual of a Riemannian Voronoi diagram is generally not a triangulation, even if the points are in general position. To prove the embedding of both the curved and straight duals, one might first think of working directly on the discrete Riemannian Voronoi diagram and exposing sufficient conditions, similarly to the work of Cao et al. [START_REF] Cao | Proof of correctness of the digital Delaunay triangulation algorithm[END_REF] on digital Euclidean 2D Voronoi diagrams. Although Cao et al. are able to provide conditions such that the dual of their digital Voronoi is a triangulation, the case of a Riemannian manifold endowed with a metric field is much more complicated.

Instead, we follow a less direct path. We first give requirements such that the discrete and Riemannian Voronoi diagrams have the same nerve (combinatorial structure). This result is then combined with known results on curved Riemannian Delaunay triangulations [START_REF] Boissonnat | Constructing intrinsic Delaunay triangulations of submanifolds[END_REF][START_REF] Leibon | Random Delaunay triangulations, the Thurston-Andreev theorem, and metric uniformization[END_REF][START_REF] Dyer | Riemannian simplices and triangulations[END_REF]] -which we reformulate with a new approach -to provide sampling requirements for the curved dual to be a triangulation. Finally, we prove that under some sampling conditions, "straightening" geodesic edges will not cause the loss of the embedded property of the realization. The fact that the curved dual is a triangulation will therefore be both a result and a step in the proof that the straight dual is a triangulation.

We first give an overview of the three parts of this chapter.

Equivalence of the nerves of the discrete Riemannian Voronoi diagram and the Riemannian Voronoi diagram

The first part of the theory aims to show that while our discrete Riemannian Voronoi diagram uses by definition only discrete information, its combinatorial structure can be under sufficient conditions identical to the one of the Riemannian Voronoi diagram. When this is the case, we say that the nerves of the diagrams are equivalent and write N (Vor d g (P)) ∼ = N (Vor g (P)). As noted in Remark 6.1.3 in Chapter III.6, the combinatorial structure of the discrete Riemannian Voronoi diagram can be extracted by only looking at the maximal canvas simplices whose vertices have all different colors, as long as the dual complex is pure (but we shall not consider the degenerate case where it is not). To have equivalence between the nerves of the diagrams, we must ensure that (1) for every Voronoi vertex in the Riemannian Voronoi diagram, there is at least one canvas simplex that possesses the corresponding colors;

(2) no canvas simplex witnesses combinatorial information that does not belong to the nerve (that is, no canvas simplex has vertices whose colors are those of non-adjacent Riemannian Voronoi cells).

Requirements on the canvas

To satisfy Condition (1), the density of the canvas must depend on the smallest distance between Voronoi vertices to ensure the equivalence. Figure 7.2 illustrates this observation: on the left, the canvas is too sparse to capture accurately N (Vor E (P)): the canvas simplices marked in red will create simplices that do not belong to the dual of the (exact) Riemannian Voronoi diagram; on the right, the canvas is sufficiently dense and the green simplices correctly capture the combinatorial information of the Riemannian Voronoi diagram. To satisfy Condition (2), it is sufficient to prevent any canvas Figure 7.2: Two discrete Riemannian Voronoi diagram in the simple case of a plane endowed with the Euclidean metric field. The seeds are drawn with squares, the canvas with thin black segments and the canvas vertices with circles. The Riemannian Voronoi diagram is drawn with thick black segments. edge from having endpoints in two non-adjacent Voronoi edges. Both conditions are thus satisfied, provided that the canvas is sufficiently dense.

Requirements on the set of seeds

Using seeds generated by other methods yields in practice unsatisfactory results. Consequently, the canvas is also used to generate seeds (see Section 6.1.6 in Chapter III.6). Since the canvas is generated before the seeds, seeds cannot be -in theory -in arbitrary position, otherwise the distance between Voronoi vertices could be arbitrarily small and it would be impossible to preemptively construct a canvas that reliably captures the nerve. The concept of power protected nets, recalled in Sections 2.12.1 and 2.12.2 of Chapter 2, will provide these guarantees for the seed set as we have shown in Chapter 3 that a Voronoi diagram built from a power protected set of seeds has separated adjacent Voronoi vertices (see specifically Lemma 3.2.4).

Equivalence of the nerves of the discrete and Riemannian Voronoi diagrams

The first step on the path to proving that the dual of our discrete Riemannian Voronoi diagram is a triangulation is to show that the discrete and Riemannian Voronoi diagrams have combinatorially equivalent nerve. Our analysis is divided in four parts.

• We first consider at the most basic case of a flat domain endowed with the Euclidean metric field. Results from Chapter 3 on the shape of Euclidean Voronoi cells and the separation of Voronoi vertices allow conditions to be deduced on P and C such that the nerves are equivalent.

• The requirements exposed in the basic setting can be transported to the setting of a uniform metric field through the use of a stretching transformation computed from the metric.

• An arbitrary Riemannian metric field is considered over the plane, and the fact that a metric field can be locally well approximated by a uniform metric field is used to extend the results from the previous cases.

• We solve the case of a general surface by locally approximating the manifold at a point with its tangent plane.

We start with the setting of a flat domain endowed with the Euclidean metric field in the next section.

Euclidean metric field

The setting of a planar domain endowed with the Euclidean metric field is the simplest setting possible. As explained in Section 7.2, we must ensure that Voronoi vertices cannot be arbitrarily close to each other, otherwise we cannot guarantee that canvas simplices capture the correct nerve. We show that the notions of net and power protection can be employed for the seed set and give conditions on the density of the canvas such that the nerves of the diagrams built from these points sets are equivalent.

The main result is given by Theorem 7.

Proof of Lemma 7.3.2

Assume that the Voronoi cell V E (p 0 ) has at least 3 vertices, otherwise we are done as any Voronoi edge of V E (p 0 ) is adjacent to the other Voronoi edges. Let {F i } be the set of faces (edges) of the Voronoi cell V E (p 0 ). We seek a lower bound on the distance between non-adjacent faces

d(F j , F k ) = min x∈F j ,y∈F k d E (x, y),
where F j and F k are not adjacent. Since a Voronoi cell is a convex polytope, the minimum of this distance will be attained at a vertex of a face. We thus obtain the following result:

Lemma 7.3.4 Assume that P is a δ-power protected (ε, µ)-net. Let ℓ = min i,j d E (v i , F j ) where F j is a
Voronoi edge whose endpoints are not v i . The length ℓ can be bounded from below by Therefore,

ℓ ≥ ℓ m = δ 2 µ 8ε 2 1 - µ 2ε 2 . v 0 v 1 p θ ℓ s v 2 v 3 v 4 v 5
ℓ = sin(θ)v ≥ sin 2 arcsin µ 2ε δ 2 4ε = δ 2 µ 4ε 2 1 - µ 2ε 2 , using sin(2α) = 2 sin(α) 1 -sin 2 (α). Since µ ε 1 - µ 2ε 2 ≤ 1,
the minimum is attained when θ ≤ π/2 and we have

ℓ m = δ 2 µ 4ε 2 1 - µ 2ε 2 .
Proof. If h C is the sizing field of C, then any edge of C has its length bounded by 2h C . Since we have assumed δ-power protection of the Delaunay simplices, the Voronoi vertices are separated by δ 2 /4ε by Lemma 3.2.4 in Chapter 3. Therefore, if h C < δ 2 /8ε then every Voronoi vertex falls in a different canvas simplex.

Recall that for a given v i , σ C,i is the associated canvas simplex that contains v i . Assume that not every σ C,i is also a witness of v i (otherwise we are done since we have a bijection between {v i } and {σ C,i } by Lemma 7.3.6). Without loss of generality, we can assume that v 0 is such vertex (hence we assume that σ C,0 is not a witness of v 0 ). We will show that if h C ≤ ℓ m /2, there exists a canvas simplex that witnesses of v 0 , and that we can find it by walking on the canvas as illustrated on Figure 7.6.

q 0 q 2 q 1 q 3 q 4 q 5 q 6 v 0 Figure 7.6:
The Riemannian Voronoi diagram is traced with thick black lines, the canvas is shown with thin black lines. The algorithm starts in the triangle ∆q 0 q 1 q 2 and eventually finds the witness ∆q 4 q 5 q 6 of v 0 .

We now detail the walking algorithm that starts at the simplex σ C,0 and eventually finds the witness of v 0 in C. An preliminary result is needed to prove that our starting simplex only has two colors.

Lemma 7.3.7

The vertices of σ C,0 are colored with exactly two different colors.

Proof.

In this two-dimensional setting, a canvas simplex is colored with at most three different colors. Since we have assumed that σ C,0 does not witness v 0 and that h C is small enough such that the Voronoi vertices fall in different canvas simplices, σ C,0 is not colored with three different colors. The vertices cannot either have all the same colors because v 0 is located in σ C,0 and Voronoi cells are convex. Therefore, the vertices of σ C,0 are painted with two different colors.

Walking process Assume that the conditions of Lemma 7.3.2 are fulfilled. Consequently, no canvas edge can intersect two non-adjacent Voronoi faces. Let q 0 , q 1 and q 2 be the vertices of σ C,0 . Without loss of generality, we can assume that q 0 is the vertex that has a different color (see Figure 7.6 for an illustration). Let c 0 and c 1 be the colors at respectively q 0 and q 1 . Let c 2 be the color that is "missing" to capture v 0 . Let p 0 , p 1 and p 2 be the seeds of the cells V 0 , V 1 and V 2 (whose respective colors are c 0 , c 1 and c 2 ).

Begin by picking the edge e 0 of σ C,0 that is closest to the seed p 2 . This is an edge e 0 = [p 0 , p i ] with i = 1 or 2. Again without loss of generality, assume that i = 1. Consider the neighboring canvas simplex σ C,1 that shares the edge e 0 with σ C,0 . Let q 3 and c 3 be the vertex of σ C,1 that does not belong to e 0 and its color. There are three possibilities:

• c 3 = c 2 . We are done: σ C,1 witnesses v 0 .

• c 3 = c 0 or c 3 = c 1 . The same process is repeated: pick the edge of σ C,1 that is closest to p 2 and has two different colors; find the adjacent σ 2 and look at the color of its third vertex. This will eventually finishes since we move closer to p 2 with every step (and the mesh is finite).

• c 3 = c 4 with c 4 = c 0 , . . . , c 2 . This is impossible because it implies that one of the edges of σ C,1 crosses two non-adjacent Voronoi edges, which contradicts our density assumption.

Therefore, we eventually reach a σ C,i that has three different colors, and witnesses v 0 . The algorithm is illustrated in Figure 7.6. This proves Lemma 7.3.3 and ensures that ∀D ∈ N (Vor E (P)), there exists D ′ ∈ N (Vor d E (P)) with the same combinatorial information. Thus if

h C < min ℓ m 2 , δ 2 8ε = ℓ m 2 = δ 2 µ 8ε 2 1 - µ 2ε 2 ,
then both lemmas are proven and thus Theorem 7.3.1 is proven, and N (Vor E (P)) ∼ = N (Vor d E (P)).

Uniform metric field

We now consider the setting of Ω = R 2 endowed with a uniform metric field g 0 and use the results obtained in the Euclidean case to give density conditions on the sampling of the point set and on the canvas such that the nerves of Vor d g 0 (P) and Vor g 0 (P) are combinatorially equivalent. By Lemma 3.4.1 in Chapter 3, we have stability of the net and power protection assumption through a metric transformation. That is, if a point set P in R 2 is a δ-power protected (ε, µ)-net with respect to a uniform metric field g 0 (for all x ∈ Ω, g 0 (x) = G 0 ), then the point set P ′ = {F 0 p i , p i ∈ P}, where F 0 is the square root of G 0 , is a δ-power protected (ε, µ)-net with respect to the Euclidean metric. We can deduce from this result an upper bound on the sizing field of C in the case of a uniform metric field using the results of Section 7.3.1 in the Euclidean setting. Theorem 7.3.8 Let g 0 be a uniform metric field on Ω (for all x ∈ Ω, g 0 (x) = G 0 ). Assume that P is a δ-power protected (ε, µ)-net in Ω with respect to g 0 . Denote by C the canvas, and h C its sizing field. Let {λ i } and {v i } be respectively the eigenvalues and the normalized eigenvectors of the matrix G 0 . If

h C < min i λ i   δ 2 µ 8ε 2 1 - µ 2ε 2   ,
then N (Vor g 0 (P)) ∼ = N (Vor d g 0 (P).

Proof.

Consider R = Vor d g 0 (P) over C. Let F 0 be a square root of G 0 . The matrix F 0 provides a stretching operator between the Euclidean and the metric spaces. Let P 0 = {F 0 p, p ∈ P} be the transformed point set and C 0 be a canvas (an isotropic Delaunay triangulation) of the transformed space. Denote by R 0 the discrete Riemannian Voronoi diagram of P 0 with respect to g E over C 0 . Let h C 0 be the upper bound on the sizing field of C 0 provided by Theorem 7.3.1 such that Del E (P 0 ) is captured by C 0 .

Since P 0 is a δ-power protected net with respect to g E , we can invoke Theorem 7.3.1 and we must thus have

h C 0 < δ 2 µ 8ε 2 1 - µ 2ε 2 ,
for the canvas C 0 to capture N (Vor E (P 0 )). Let C ′ 0 be the image of C by F 0 . Note that C ′ 0 and C 0 are two different triangulations of the same space. If any edge of C ′ 0 is smaller (with respect to the Euclidean metric) than 2h C 0 , then C ′ 0 satisfies

h C ′ 0 < δ 2 µ 8ε 2 1 - µ 2ε 2
and thus C ′ 0 captures N (Vor E (P 0 )). Recall that given an eigenvector v i of G 0 with corresponding eigenvalue λ i , a unit length in the direction v i in the metric space has length 1/ √ λ i in the Euclidean space. Therefore, if the sizing field h C of C is smaller than αh C 0 , with

α = 1 max i 1 √ λ i = min i λ i ,
then every edge of C ′ 0 is smaller than 2h C 0 . This implies that C ′ 0 captures N (Vor E (P 0 )) and therefore C captures N (Vor g 0 (P)). This settles the case of a uniform metric field.

Arbitrary metric field

We now consider an arbitrary metric field g over the domain Ω = R 2 . The key to proving the equivalence in this setting is to locally approximate the arbitrary metric field with a uniform metric field, a configuration that we have dealt with in the previous section. We shall always compare the metric field g in a neighborhood U with the uniform metric field g ′ = g(p 0 ) where p 0 ∈ U . Because g ′ and the Euclidean metric field differ by a linear transformation, we can simplify matters and assume that g ′ is the Euclidean metric field g E . The main argument of the proof will be once again that a power protected net has stable and separated Voronoi vertices.

We now introduce the main result of this section, Theorem 7.3.9.

Theorem 7.3.9 Let g be an arbitrary metric field on Ω. Assume that P is a δ-power protected (ε, µ)-net in Ω with respect to g. Denote by C the canvas, and h C its sizing field. If

h C < min p∈P h C,p ,
where h C,p is given in Lemma 7.3.10 below, and if ε is sufficiently small and δ is sufficiently large (both values will be detailed in the proof), then N (Vor g (P)) ∼ = N (Vor d g (P)). We will prove Theorem 7.3.9 by computing for each point p ∈ P the necessary sizing field of the canvas such that the Voronoi cell V g (p) is captured correctly. Conditions on ε and δ shall emerge from the intermediary results on the stability of power protected nets. Lemma 7.3.10 Let ψ 0 ≥ 1 be a bound on the metric distortion and g be a Riemannian metric field on U . Let U be an open neighborhood of Ω = R 2 that is included in a ball B g (p 0 , r 0 ), with p 0 ∈ U and r 0 ∈ R + such that ∀p ∈ B(p 0 , r 0 ), ψ(g(p), g E (p)) ≤ ψ 0 . Let P U be a finite point set in U and let p 0 ∈ P U .

Suppose that P U is a δ-power protected (ε, µ)-net of with respect to g. Let V g (p 0 ) be the Voronoi cell of p 0 in Vor d g (P U ). If

h C,p 0 < 1 2 min i λ i sin(θ)   L 0 - 2η tan θ 2   ,
with {λ i } the eigenvalues of g 0 , and if ε is sufficiently small and δ is sufficiently large (both values will be detailed in the proof), then the cell V g (p 0 ) is captured.

Approach

Our approach is composed of essentially two steps: we first bring ourselves back to a setting that we have solved and then use the previous results. For readability, the many intermediary results needed to prove Theorem 7.3.9 are moved to Chapter 3. We refer to them at appropriate times.

We consider a seed p ∈ P and first prove that the Voronoi cell V g (p) is close to the Euclidean Voronoi cell V E (p). Specifically, we show (Lemma 3.4.12 in Chapter 3) that the Riemannian Voronoi cell can be encompassed into two scaled versions of the Euclidean Voronoi cell: an eroded cell EV -η E (p) and a dilated cell DV +η E (p), defined respectively by

EV -η E (p 0 ) = {x ∈ V E (p 0 ) | d E (x, ∂ V E (p 0 )) > η},
and

DV +η E (p 0 ) = i =0 H η (p 0 , p i ),
where H η (p 0 , p i ) is the half-space containing p 0 and delimited by the bisector BS(p 0 , p i ) translated away from p 0 by η. The constant η is the thickness of this encompassing and depends on the bound on the distortion ψ 0 in the neighborhood, and on the sampling and separation parameters ε and µ.

We have that η goes to 0 as ψ 0 goes to 1. Figure 7.7 illustrates the notations. We then show that if P is a power protected net with respect to g then P is locally a power protected net with respect to g E (Lemmas 3.4.2 and 3.4.16 in Chapter 3). From this conclusion, the separation and stability of the Voronoi vertices of V E (p) can be obtained. We then expose conditions on the quality of the seed set such that the Voronoi vertices of EV -η g (p) are separated (Lemma 7.3.12 of this chapter).

Remark 7.3.11 There is so far no involvement of the canvas whatsoever, and hence this procedure can be almost exactly used to prove the embedding of the dual of the anisotropic Voronoi diagram of Labelle and Shewchuk (see Chapter II.5).

Finally, we expose conditions such that EV -η g (p) -and thus V g (p) -is captured by the canvas through density requirements. Considering the minimum for all points p ∈ P, we obtain the final metric field.

p 0 η V E (p 0 ) DV +η E (p 0 ) EV -η E (p 0 ) η Figure 7.7:
The different encompassing cells around p 0 . The Riemannian Voronoi diagrams with respect to g and g E are respectively traced in dark cyan and black. The Voronoi cell V E (p 0 ) is colored in yellow. The cells DV +η E and EV -η E are colored in green.

Proof of Lemma 7.3.10

As recalled above, Lemma 3.4.5 in Chapter 3 gives us that V g (p 0 ) lies in DV +η E (p 0 ) and contains EV -η E (p 0 ). Since V g (p 0 ) contains EV -η E (p 0 ), if h C is small enough such that EV -η E (p 0 ) is captured by C, then V g (p 0 ) is also captured.

In the Euclidean setting (see Section 7.3.1), we have used the power protection of P with respect to g E to deduce a lower bound on the distance between two adjacent Voronoi vertices (see Lemma 3.2.4 in Chapter 3). Since we know that P is a power protected net for g E by stability, we can apply the separation bound to the vertices of V E (p 0 ), but not to those of EV -η E (p 0 ). Nevertheless, we can still extract the critical property that the Voronoi vertices are separated, as shown in the next lemma. Lemma 7.3.12 (Separation of the Voronoi vertices of the eroded Voronoi cell) Let U , g and ψ 0 be defined as in Lemma 7.3.10. Assume that the point set P U is a δ-power protected (ε, µ)-net with respect to the Riemannian metric field g. Then the Voronoi vertices of EV -η E (p 0 ) are separated, under sufficient conditions on δ and ε. (Those values will be made explicit in the proof.)

Proof. The notations used in this proof are illustrated in Figure 7.8. By Lemmas 3.4.2 and 3.4.16, P is δ 0 -power protected (ε 0 , µ 0 )-net with respect to g E . The δ 0 -power protection property of P U induces a separation bound L 0 := δ 2 0 /4ε 0 between the Voronoi vertices of V E (p 0 ) (see Lemma 3.2.4). Denote by ℓ be the distance between any two adjacent Voronoi vertices of EV -η E (p 0 ). When a seed set is a net, we can deduce a bound on the angle of a corner of the Voronoi cell V E (p 0 ) (using Lemma 3.3.1 in Chapter 3); denote this bound by θ = 2 arcsin (µ 0 /2ε 0 ). Note that the lower bound on the smallest angle θ in a Voronoi cell is unchanged by the erosion of the Voronoi cell. We have

ℓ = L -2ℓ 0 , with ℓ 0 = η tan θ 2 .
Observing that tan (arcsin(

x)) = x √ 1 -x 2 = 1 1 x 2 -1 , we obtain ℓ = L -2 η tan θ 2 ≥ L 0 -2 η tan arcsin µ 0 2ε 0 = L 0 -2η 2ε 0 µ 0 2 -1 ≥ δ 2 0 4ε 0 -2 (2ε 0 ) 2 (ψ 2 0 -1) µ 0 2ε 0 µ 0 2 -1, (7.1) since η = ρ 2 0 ((2ε 0 ) 2 -1) µ 0
(see Definition 3.4.9 and Lemma 3.4.15 in Chapter 3). To have separation of the Voronoi vertices of EV -η E (p 0 ), we need ℓ to be positive. This can be achieved by enforcing that the lower bound is positive:

δ 2 0 4ε 0 > 2 (2ε 0 ) 2 (ψ 2 0 -1) µ 0 2ε 0 µ 0 2 -1.
By Lemma 3.4.2, we have that ε 0 = ψ 0 ε, µ 0 = λε/ψ 0 and ρ 0 = 2ψ 0 ε. Using this notation we see that ℓ > 0 if

δ 2 0 > 32 λ (ψ 2 0 -1)ε 2 ψ 4 0 2ψ 2 0 λ 2 -1. (7.2)
This condition is easy to satisfy when ψ 0 goes to 1, because the right hand side of Inequality (7.2) is proportional to (ψ 2 0 -1)ε 2 . The intermediary results that we use already impose some conditions on δ and ε, and we thus would like to give the condition in Equation 7.2 in terms of δ, so that it may be compared with Inequality (3.8) (this will be done in Remark 7.3.13). In Lemma 3.4.16, we have seen that

δ 2 0 = δ 2 ψ 2 0 + 1 ψ 2 0 -ψ 2 0 (ε + χ 2 ) 2 - 4εχ 2 ψ 2 0 ,
with, by Lemma 3.4.13 in Chapter 3,

χ 2 = 8ψ 3 0 ε(ψ 2 0 -1) λ 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 . Thus δ 2 ψ 2 0 + 1 ψ 2 0 -ψ 2 0 (ε + χ 2 ) 2 - 4εχ 2 ψ 2 0 > 32 λ (ψ 2 0 -1)ε 2 ψ 4 0 2ψ 2 0 λ 2 -1, which is equivalent to δ 2 > 32 λ (ψ 2 0 -1)ε 2 ψ 6 0 2ψ 2 0 λ 2 -1 -1 -ψ 4 0 (ε + χ 2 ) 2 + 4εχ 2 .
After simplifying the (ε + χ 2 )-term, we find

δ 2 > 32 λ (ψ 2 0 -1)ε 2 ψ 6 0 2ψ 2 0 λ 2 -1 + 32ψ 3 0 (ψ 2 0 -1)ε 2 λ 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 + ψ 2 0 -1 ε 2 ψ 2 0 + 1 . (7.3)
When this bound is satisfied, the Voronoi vertices of EV -η E (p 0 ) are separated, which concludes our proof.

Remark 7.3.13 Proving Lemma 3.4.12 in Chapter 3 required us to prove various intermediary lemmas, which already introduced requirements on the sampling. If we compare Equation 7.3 to the bound given by Inequality (3.8) (made explicit in Inequality (3.9)) in the proof of Lemma 3.4.16, namely

δ 2 > 256(ψ 2 0 -1)ψ 2 0 λ 2 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 2 (ψ 2 0 -1)ε 2 + 32ψ 3 0 λ 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 (ψ 2 0 -1)ε 2 +(ψ 2 0 + 1)(ψ 2 0 -1)ε 2 . (7.4)
We see that the two final terms in the sum in Inequalities (7.3) and (7.4) are of equal magnitude. The final terms would in fact agree if we would not have simplified the equation, because χ 2 is of order ε(ψ 2 0 -1). The first term disappears for Inequality (7.4) in the limit where ψ 0 tends to 1, while this is not the case for the first term in Inequality (7.3).

This means that -at least when ψ 0 goes to 1 -Equation 7.3 provides the tougher bound.

We can now provide a bound on the sizing field h C of the canvas such that EV -η E (p 0 ) is captured and prove Lemma 7.3.10. Similarly to the Euclidean case (see Theorem 7.3.1 and Lemmas 7.3.2 and 7.3.3), the bound on the sizing field is computed by combining the separation distance ℓ (given in Equation 7.1) and the lower bound θ on the angle of a corner of an Euclidean Voronoi cell, giving the requirement

h C,p 0 < 1 2 sin(θ)   L 0 - 2η tan θ 2   .
We should not forget that we have assumed that g 0 is the Euclidean metric field, which is generally not the case, we must in fact proceed like for the case of a uniform metric field (Theorem 7.3.8):

h C,p 0 < 1 2 min i λ i sin(θ)   L 0 - 2η tan θ 2   ,
with {λ i } the eigenvalues of g 0 . Therefore, if the seed set satisfies the previous conditions on ε and δ and the canvas honors the sizing field h C , then EV -η E (p 0 ) is captured, and thus V g (p 0 ) is captured, which proves Lemma 7.3.10.

Proof of Theorem 7.3.9

Taking the minimum of all the sizing field values over all p ∈ P, we obtain a sizing field such that all the Voronoi cells are captured. If the canvas C satisfies

h C < min p∈P   1 2 min λ i ∈ev(g(p)) λ i sin(θ)   L 0 - 2η tan θ 2     ,
where ev(g(p)) are the eigenvalues of the matrix G p = g(p), then every cell is captured properly and N (Vor d g (P)) ∼ = N (Vor g (P)) in the general setting, when the geodesics are exactly computed.

Extension to surfaces

The previous results may be generalized to surfaces embedded in R 3 . We shall assume that, apart from the metric induced by the embedding of the domain in Euclidean space, there is a second metric g defined on M. Let π p : M → T p M be the orthogonal projection of points of M on the tangent space T p M at p. For a sufficiently small neighborhood U p ⊂ T p M, π p is a local diffeomorphism (see Niyogi [START_REF] Niyogi | Finding the homology of submanifolds with high confidence from random samples[END_REF]).

Denote by P Tp the point set {π p (p i ), p i ∈ P} and P Up the restriction of P Tp to U p . Assuming that the conditions of Niyogi [START_REF] Niyogi | Finding the homology of submanifolds with high confidence from random samples[END_REF] are satisfied (which are simple density constraints on ε compared to the reach of the manifold), the pullback of the metric with the inverse projection (π -1 p ) * g defines a metric g p on U p such that for all q, r ∈ U p , d gp (q, r) = d g (π -1 p (q), π -1 p (r)).

Lemma 7.3.15 Let U , ψ 0 , g, g 0 and P U be defined as in Theorem 7.3.9. Then we can find η ′ 0 and ω ′ 0 such that

EV -η ′ 0 g 0 (p 0 ) ⊆ V -ω ′ 0 g 0 (p 0 ) ⊆ V -ω g (p 0 ) ⊆ V g (p 0 ) ⊆ V +ω g (p 0 ) ⊆ V +ω ′ 0 g 0 (p 0 ) ⊆ DV +η ′ 0 g 0 (p 0 ).
These inclusions are illustrated in Figure 7.9.

p 0 V g 0 (p 0 ) DV +η ′ 0 g 0 (p 0 ) EV -η ′ 0 g 0 (p 0 ) V +ω ′ 0 g 0 (p 0 ) V -ω ′ 0 g 0 (p 0 ) ∂ V g (p 0 ) ∂V -ω g (p 0 )
∂V +ω g (p 0 ) The subsequent lemmas and proofs are similar to what was done in the case of exact geodesic computations and we do not detail them.

Curved Riemannian Delaunay triangulation

In the previous section, we have given sufficient conditions for the nerves of the discrete and Riemannian Voronoi diagrams to be equivalent. The next step is to prove that the curved Riemannian Delaunay complex is homeomorphic to the manifold. Several works have been dedicated to conditions that guarantee this, see for example Edelsbrunner and Shah [START_REF] Edelsbrunner | Triangulating topological spaces[END_REF] and Boissonnat et al. [START_REF] Boissonnat | The stability of Delaunay triangulations[END_REF][START_REF] Boissonnat | Delaunay stability via perturbations[END_REF]. We shall be relying on the latter ones for many results.

In two dimensions, the Delaunay complex is homeomorphic to the surface under very light conditions: it is sufficient for three points not to lie on a geodesic, see Rustamov [START_REF] Rustamov | Barycentric coordinates on surfaces[END_REF], Dyer et al. [START_REF] Dyer | Riemannian simplices and triangulations[END_REF], or Wintraecken [START_REF] Wintraecken | Ambient and Intrinsic Triangulations and Topological Methods in Cosmology[END_REF]. We prove the same results using a more geometrical approach where we "paint" the Delaunay simplex on the manifold in an intrinsic manner and, along the way, fix a flaw in Dyer et al. [START_REF] Dyer | An investigation of the spectral robustness of mesh Laplacians[END_REF]. The main result is given in Theorem 7.4.18.

Lemma 7.4.8 (Small circle intersection -Dyer et al. [START_REF] Dyer | An investigation of the spectral robustness of mesh Laplacians[END_REF], Leibon [START_REF] Leibon | Random Delaunay triangulations, the Thurston-Andreev theorem, and metric uniformization[END_REF]) All geodesic disks whose radius is strictly smaller than the strong convexity radius are pseudo-disks.

We assume that there are at least two intersection points of the two circles, and want to prove that there are not more than 2. We refer to the work of Dyer et al. [START_REF] Dyer | An investigation of the spectral robustness of mesh Laplacians[END_REF] for the other cases. However, this is precisely where the proof of [START_REF] Dyer | An investigation of the spectral robustness of mesh Laplacians[END_REF] has a hole. Indeed, it is claimed that given two convex bodies C 1 and C 2 in dimension 2, the boundary of ∂C 1 ∩ ∂C 2 consists of 2 connected arcs, one on ∂C 1 and one on ∂C 2 . This is not true as can be seen by taking two ellipses and rotating one by π.

Proof. Assume that two geodesic circles of radius r and 1 intersect twice on one side of the extended geodesic between the two centers c 1 and c 2 . Denote the intersection points by A and B. Two of the geodesics between A and B and c 1 and c 2 respectively must intersect in the point p, because of the uniqueness of geodesics. Without loss of generality, we can assume that Ac 2 and Bc 1 intersect. Denote the lengths of the geodesics Ap by a 1 , the length pc 2 by a 2 , the length Bp by b 1 , and the length pc 1 by b 2 . By definition, we have that a 1 + a 2 = 1 and b 1 + b 2 = r, thus a 1 + a 2 + b 1 + b 2 = 1 + r. Because p does not lie on the geodesic Bc 2 or Ac 1 , we have a 1 +b 2 > 1 and a 2 +b 1 > r and a 1 +a 2 +b 1 +b 2 > 1+r. The latter inequality yields a contradiction. We want to prove that the curved realization of the Delaunay complex induces a homeomorphism from the complex to the surface. Corollary 7.4.9 Two curved Riemannian Delaunay triangles t 1 and t 2 lying within a disk of radius less than the convexity radius on a Riemannian surface, of which no three vertices lie on a geodesic, that share an edge intersect only in this edge.

Proof.

Let v 1 and v 2 be the two vertices that are shared by t 1 = {v 1 , v 2 , v 3 } and t 2 = {v 1 , v 2 , v 4 }, and denote by γ v 1 v 2 E the extended geodesic between v 1 and v 2 . If v 3 and v 4 lie on either side γ v 1 v 2 E , there is nothing to prove. If v 3 and v 4 lie on the same side side of γ v 1 v 2 E (say the left), we consider the geodesic circumscribing circles of t 1 and t 2 , the boundaries of the disks D v 3 and D v 4 . Lemma 7.4.8 implies that these circles only intersect in v 1 and v 2 . Moreover, the arc given by the part of ∂D v 3 on the left side of γ v 1 v 2 E is contained in D v 4 or vice versa the arc given by the part of ∂D v 4 on the left side of γ v 1 v 2 E is contained in D v 3 . This contradicts the empty ball property of Delaunay ball, so this configuration cannot occur. Corollary 7.4.10 Let t 1 and t 2 be two curved Riemannian Delaunay triangles lying within a disk of radius less than the strong convexity radius on a Riemannian surface. Suppose that no three vertices lie on a geodesic, and that t 1 and t 2 share a vertex. Then the intersection of the interiors of t 1 and t 2 is empty.

Proof.

Assume that this is not the case and consider the Delaunay disks for both triangles. The Delaunay disks contain the triangles because of convexity. By hypothesis, the Delaunay circles intersect in a common vertex, but since they must contain no vertices, they must intersect in at least two more points, contradicting Lemma 7.4.8.

Proof.

Because of Remark 7.4.11, there exists a neighborhood U of p such that all Delaunay triangles with empty intersection with U have p as a vertex. Corollary 7.4.10 implies that the pairwise intersections of the interiors of the simplices that have p as a vertex is empty. The statement now follows.

Remark 7.4.13 Suppose that all the Voronoi cells of a Voronoi diagram Vor({p i }) are contained in a geodesic disk of radius less than a sixth of the convexity radius. Then for any p i the Delaunay simplices that have p i as a vertex are contained in a geodesic disk of radius less than a third of the convexity radius. Lemma 7.4. [START_REF] Bentley | Multidimensional binary search trees used for associative searching[END_REF] The Voronoi cells included in a convex disk are star shaped, and in particular they are topological disks.

Proof.

Let p be the center of the Voronoi cell, and b a point on the boundary. Then the geodesic between b and p is completely contained in the Voronoi cell. If it were not the case, then there would exist a point on the geodesic between p and q that is closer to another Voronoi center q than to p. By definition of a geodesic, then b would also be closer to q. more connected components and singular points). Remark 7.4.13 implies that the boundary on the surface lies at least a distance of 2/3ε times the convexity radius from the center of the geodesic disk. By Lemma 7.4.3, we now have that -with exception of the skeleton -the number of covers is constant. Applying Corollary 7.4.12, that number is one. This means that f is locally a piecewise smooth homeomorphism. Due to Remark 7.4.13 and because the point has been chosen arbitrarily, it follows that f is a global piecewise smooth homeomorphism. This concludes our work on curved Riemannian Delaunay triangulations in a two-dimensional setting. We now have conditions on the sampling such that the dual of the Riemannian Voronoi diagram is an embedded triangulation. Assuming that the requirements of Section 7.3 are fulfilled, the curved dual of our discrete Riemannian Voronoi diagram is a triangulation.

Straight realization of the Riemannian Voronoi diagram

We now investigate the embedding of the "straight" dual of the Riemannian Voronoi diagram. Our approach is to assume that the conditions of the previous section are satisfied -the curved dual is embedded -and to give conditions such that "straightening" the geodesic edges of the curved Riemannian Delaunay triangulation preserves the property of being a triangulation. The main step towards our goal is to show that under sufficient sampling conditions, the geodesic path and the straight edge between two seeds are close from one another (Lemma 7.5.1). We then prove that straightening edges creates no inversion of simplices or self-intersections (Theorem 7.5.3). Lemma 7.5.1 (Distance bound between a geodesic path and a straight segment) Let ψ 0 ≥ 1 be a bound on the metric distortion, and g be an arbitrary metric field on U . Let U be an open neighborhood of Ω = R 2 that is included in a ball B g (p 0 , r 0 ), with p 0 ∈ U and r 0 ∈ R + such that ∀p ∈ B(p 0 , r 0 ), ψ(g(p), g E (p)) ≤ ψ 0 , where g E is the Euclidean metric field.

Let x and y be two points in the domain. and denote the geodesics with respect to g and g E connecting x and y by γ g and γ

E . If z ∈ γ g then d E (z, γ E ) ≤ a, where a = 1 2 ψ 2 0 - 1 ψ 2 0 d g (x, y).
Remark 7.5.2 Lemma 7.5.1 and its proof could be extended painlessly to a uniform metric field g 0 instead of the Euclidean metric field g E . For this reason, we denote the Euclidean distance by d E .

Proof.

Denote by π(z, γ E ) the point on γ E that is closest to z. Note that since g E is uniform, this point is unique. Additionally, if π(z, γ E ) does not equal x or y, one can use Pythagoras' theorem:

d E (x, z) 2 = d E (x, π(z, γ E )) 2 + d E (π(z, γ E ), z) 2 d E (z, y) 2 = d E (z, π(z, γ E )) 2 + d E (π(z, γ E ), y) 2 .
On the other hand, we have by triangular inequality that the Euclidean length L E (x, z, y) of any curve from x to y via z is at least d

E (x, z) + d E (z, y). Let c ∈ R such that d E (π(z, γ E ), x) = 1 2 d E (x, y) -c and d E (π(z, γ E ), y) = 1 2 d E (x, y) + c. If π(z, γ E ) does not equal x or y, then L E (x, z, y) > a 2 + 1 2 d E (x, y) -c 2 + a 2 + 1 2 d E (x, y) + c 2 . (7.5)
It is apparent from symmetry, but it can also easily be verified by hand that the right hand side of Inequality (7.5) is minimized with respect to c when c = 0, thus

L E (x, z, y) > 2 a 2 + 1 2 d E (x, y) 2 .
Using the fundamental property of the metric distortion (Equation 2.1 in Chapter 2), we see that

L g (x, z, y) > 2 ψ 0 a 2 + 1 2 d E (x, y) 2 ,
for all curves that go through z. In particular, we have assumed that z ∈ γ g , therefore

d g (x, y) > 2 ψ 0 a 2 + 1 2 d E (x, y) 2 ⇐⇒ ψ 2 0 4 d g (x, y) 2 > a 2 + 1 4 d E (x, y) 2 ≥ a 2 + 1 4ψ 2 0 d g (x, y) 2 .
Finally, bringing the metric terms to one side, we obtain

1 4 ψ 2 0 - 1 ψ 2 0 d g (x, y) 2 > a 2 . We know that if π(z, γ E ) is x or y, then L E (x, z, y) ≥ a + d E (x, y) 2 + a 2 .
This can be easily seen as we are in Euclidean space, and π(z, γ E ) is x or y, z lies on one of the two semi-circles around x and y. It now follows that L E (x, z, y) ≥ L E (x, z, y) where z is one of the end points of the semi circle. By Pythagoras' theorem,

L E (x, z, y) = a + d E (x, y) 2 + a 2 .
We are ready to give the main theorem of this section. Proof. Consider a curved Riemannian triangle σ of the curved Riemannian Delaunay triangulation with vertices p, q and r. Notations used in this proof are illustrated in Figure 7.12.

By Lemma 3.3.1 in Chapter 3, we have bounds on the value θ v of the angle at a Voronoi corner of the Euclidean Voronoi diagram:

2 arcsin µ 0 2ε 0 ≤ θ v ≤ π -arcsin µ 0 2ε 0 .
We can thus deduce bounds on the (straight) triangle angles θ t :

θ m = arcsin µ 0 2ε 0 ≤ θ t ≤ π -2 arcsin µ 0 2ε 0 = θ M .
Using the definition of a given in Lemma 7.5.1, we have at a corner of the (straight) triangle ∆pqr sin(θ) = a l ⇐⇒ l = a sin(θ) .

We seek a lower bound on the length of the straight edge RQ eroded by the protecting tubes of the edges pq and pr. If we let the metric tend to the constant metric the curved Riemannian Delaunay triangle goes to the straight Riemannian Delaunay triangle. This is a homotopy and the orientation of the triangles 7.6. Construction of power protected nets remains constant if l is strictly positive. Hence, we require l > 0, which is verified if

l = L -(l R + l Q ) ≥ µ 0 - a R sin(θ R ) + a Q sin(θ Q ) ≥ µ 0 - ψ 2 0 -1 ψ 2 0 d g ′ (p, q) 2 sin(θ R ) - ψ 2 0 -1 ψ 2 0 d g ′ (p, r) 2 sin(θ Q ) ≥ µ 0 - ε 0 ψ 2 0 -1 ψ 2 0 sin arcsin µ 0 2ε 0 ≥ µ 0 - 2ε 2 0 ψ 2 0 -1 ψ 2 0 µ 0 . P l R Q l R l Q θ R θ Q a Q a R
l ≥ µ 0 - 2ε 2 0 ψ 2 0 -1 ψ 2 0 µ 0 > 0 ⇐⇒ µ 2 0 > 2ε 2 0 ψ 2 0 - 1 ψ 2 0 ⇐⇒ λ 2 ψ 2 0 ε 2 > 2ψ 2 0 ε 2 ψ 2 0 - 1 ψ 2 0 ⇐⇒ λ 2 > 2ψ 4 0 ψ 2 0 - 1 ψ 2 0
, using ε 0 = ψ 0 ε, µ 0 = µ/ψ 0 and µ = λε. The left hand side is fixed and the right hand side goes to 0 as ε goes to 0 (and ψ 0 goes to 1), proving that once the sampling is dense, no issue appears when the two edges pq and pr are straightened. The same reasoning can then be applied to the other pairs of edges in ∆pqr, giving us the existence of a point in the interior of the triangle ∆pqr "eroded" by the protection zones. Straightening thus preserves the orientation of the triangle. As this can be done to all the simplices of the curved Riemannian Delaunay triangulation, the straight Riemannian Delaunay triangulation is also a triangulation of the domain.

Construction of power protected nets

Our theory introduces requirements on the canvas C (through its sizing field) and on the point set P such that the two duals of the discrete Riemannian Voronoi diagrams are triangulations. The canvas must be sufficiently dense, and the seed set a δ-power protected (ε, µ)-net with specific values of δ and ε. The former requirement is easily achieved through refinement. A refinement algorithm to construct power protected nets was described in Section 5.4 in Chapter II.5, but it is impractical. Thankfully, neither the sampling nor the canvas need to be as dense in practice as our theory requires them to be and a farthest point refinement can be used to generate the point set.

Conclusion

We have proved in this chapter that the discrete Riemannian Voronoi diagram and the related algorithms introduced in Chapter III.6 are theoretically sound. These guarantees come in the shape of a quality requirement on the point set, through the power protected net assumption, and on the density on the canvas.

This chapter also offered a detailed approach of the reasoning that is only sketched in Chapter II.5 to prove the embeddability of the Labelle and Shewchuk anisotropic Voronoi diagram for a power protected net. Up until the involvement of the canvas, the reasoning is exactly the same with only slightly different proofs due to the non-continuous metric field that is used in the anisotropic Voronoi diagram of Labelle and Shewchuk.

It is often desirable to expose quality bounds on the simplices, which we have not presented here. Additionally, it would be interesting to estimate the loss of quality that results from straightening Riemannian simplices into straight simplices: we have seen in practice that this can be quite significant (see Chapter III.6).

In the next chapter, we shall investigate the theoretical soundness of our algorithm with the assumption of a domain of arbitrary dimension. Most of the proofs that we have used in this chapter do not extend to that setting or are not sufficient. For example, proving that the geodesic edges and straight edges are close is not sufficient to prove that there is no inversion when straightening a curved Riemannian Delaunay triangulation into a straight Delaunay triangulation. We shall introduce more complex notions, but worse bounds are often obtained.

Theoretical study of n-dimensional discrete Riemannian Voronoi diagrams

This chapter is devoted to the theoretical study of the discrete Riemannian Voronoi diagram, introduced in Chapter III.6, in the setting of a manifold of arbitrary dimension. We have studied in Chapter III.7 the theoretical aspect of the structure in the context of two-dimensional manifolds and exposed sufficient conditions on the quality of the point set and the density of the canvas such that the duals of our discrete Riemannian Voronoi diagram using both curved and straight Riemannian simplices simplices are triangulations. Unfortunately, the proofs of Chapter III.7 do not extend to higher dimensions.

In this chapter, we extend the results of Chapter III.7 to the setting of manifolds of arbitrary dimension. The skeleton of this chapter is similar into three parts. We first obtain the combinatorial equivalence between the nerves of the discrete Riemannian Voronoi diagram and the Riemannian Voronoi diagram. Contrary to the previous chapter, we do not introduce any new result on the embeddability of the curved Riemannian Delaunay complex (the dual the Riemannian Voronoi diagram using curved Riemannian simplices) and fully rely on existing work, which is sufficient to obtain conditions this embeddability. Finally, we prove that while "straightening" curved Riemannian simplices to obtain a classical straight Delaunay triangulation we do not lose the embedding of the complex.

As both Chapters III.7 and III.8 seeks to prove identical results -albeit with a large difference in the assumption of the dimension -and follow a similar approach, it might seem strange to split these chapters, or to even detail the two-dimensional case. However, Chapter III.7 has the benefit of much simpler proofs and better bounds, thus offering a clear presentation of our approach. Additionally, the overlap in the goals and the global approach is not carried over to the results and the actual proofs.

Contributions

In this chapter, we extend the theoretical study of our algorithm from the setting of 2-manifolds to any dimension. This is not straightforward and often results in an increased complexity and worse bounds over the two-dimensional setting. A number of intermediary results are very technical and were presented in Chapter 3 for clarity.

A number of results are direct generalizations of results presented in the two-dimensional setting in Chapter III.7. These however sometimes require significantly different proofs. For example, the embedding of the straight Delaunay triangulation is also achieved by bounding the distance between a Riemannian and straight facet of a simplex, but the approach is unlike that of Chapter III.7. The proof of the combinatorial equivalence between the nerves of the discrete Riemannian Voronoi diagram and the Riemannian Voronoi diagram in a flat domain endowed with an Euclidean metric field is the most significant change and is achieved with an elegant coloring result by Sperner.

Background

We begin by recalling notations introduced in the previous chapter that shall be employed in this chapter. Details can be found in Chapter III.6.

We consider a set of seeds P in a domain Ω, and each seed is attributed a color. The domain is endowed with an arbitrary metric field g, and the geodesic distance between two points, denoted by d g , is the length of the shortest path between these two points. The Voronoi diagram constructed with the geodesic distance is the Riemannian Voronoi diagram Vor g (P). As this diagram is difficult to compute in practice, we approximate the geodesic distance and the diagram Vor g (P) by considering a discrete underlying structure, the canvas C, whose vertices are colored according to their closest seed. This coloring is obtained through a multiple-front Dijkstra algorithm from the seeds. The discrete Voronoi cell of a seed is the set of simplices that possess at least one vertex colored with the color of the seed. The discrete Riemannian Voronoi diagram Vor d g (P) is the set of discrete Voronoi cells. An example of such a diagram is illustrated on Figure 8.1. The nerve of a Voronoi diagram Vor d (P) is a formal way to express its combinatorial structure and is defined by

N (Vor d (P)) = {{V d (p i )} | ∩ i V d (p i ) = ∅, p i ∈ P}.
The straight and curved duals of a Voronoi diagram are realizations of the nerve with vertices in P and using respectively straight and curved Riemannian Delaunay simplices (see Sections 2.7 and 2.8 in Chapter 2 for additional details on the definition). If a dual is embedded in the domain, we say that it is a triangulation.

Overview

As is the case for most Voronoi diagrams, the (Riemannian or straight) duals of a discrete Riemannian Voronoi diagram is generally not an embedded complex (triangulation). To prove the embeddability of the duals of the discrete Voronoi diagram, we follow the same indirect path as in the previous chapter: we first expose conditions such that the discrete Riemannian Voronoi diagram and the Riemannian Voronoi diagram have the same nerve (combinatorial structure). We then expose conditions such that the curved dual of the discrete Riemannian Voronoi diagram is a triangulation. Finally, we straighten the curved Riemannian simplices of the curved dual and show that -under sufficient conditions -no inversion can appear in the triangulation, thus preserving an embedded dual.

We now give an overview of the approaches followed and the theoretical results achieved in this chapter.

Nerves of the discrete and Riemannian Voronoi diagrams

Although the discrete Riemannian Voronoi diagram by definition only relies on discrete information, we show that its combinatorial structure can be precisely that of the Riemannian Voronoi diagram. When this is the case, we say that the nerves of the diagrams are equivalent and write N (Vor d g (P)) ∼ = N (Vor g (P)). Our approach is largely identical to that of Chapter III.7; we seek to satisfy the same two sufficient conditions that, when combined, give the equivalence, namely:

(1) for any Voronoi vertex v in the Riemannian Voronoi diagram, there is at least one canvas simplex that possesses the colors of the Voronoi cells incident to v;

(2) no canvas simplex witnesses combinatorial information that does not belong to the nerve (that is, no canvas simplex has vertices whose colors are those of non-adjacent Riemannian Voronoi cells).

As in Chapter III.7, requirements are necessary on both the nature of the set of seeds and the density of the canvas to guarantee that N (Vor d g (P)) ∼ = N (Vor g (P)). A recurring theme throughout this thesis, power protected nets (defined in Sections 2.12.1 and 2.12.2 of Chapter 2) will once again show their strength in these proofs. We discuss the generation of such seed sets in Section 8.6.

Approach

The equivalence of the nerves for a generic manifold of arbitrary dimension endowed with a generic Lipschitz-continuous metric field is shown in Section 8.3.4 and specifically in Theorem 8.3.11.

Our analysis is divided in four parts. We first prove the equivalence at the most basic case of a flat domain endowed with the Euclidean metric field. The conditions exposed in the basic setting can be transported to the setting of a uniform metric field by using the stretching transformation given by the square root of a metric. An arbitrary Riemannian metric field is then considered over a flat domain, and the fact that a metric field can be locally well approximated by a uniform metric field is used to extend the results from the previous cases. Finally, we solve the general setting by locally approximating the manifold at a point with its tangent plane.

Sperner's lemma One of the most significant changes from Chapter III.7 concerns the manner in which the combinatorial equivalence of the nerves is achieved in the setting of a flat domain endowed with an Euclidean metric field significantly differs from the two-dimensional setting. To obtain N (Vor d g (P)) ∼ = N (Vor g (P)), it is clearly sufficient to show that Conditions (1) and ( 2) are satisfied. The latter condition is easily satisfied once a bound is known on the distance between Voronoi vertices, but the former requires more work. In the two-dimensional setting, we have proved that, starting from the canvas simplex that contains a Voronoi vertex, walk on the canvas and eventually find a canvas simplex that would witness the Voronoi vertex. This method does not extend to higher dimensions, and we employ a completely different approach.

We use Sperner's lemma [START_REF] Sperner | Fifty years of further development of a combinatorial lemma. Numerical solution of highly nonlinear problems[END_REF], a classical result of combinatorics, which can be seen as the discrete analog of Brouwer's fixed point theorem and gives the existence of a simplex that is colored with a complete set of colors within a triangulation, provided that this triangulation fulfills a set of topological and color-related assumptions. We shall apply this lemma to our canvas C and show that for every Voronoi vertex v of the Riemannian Voronoi diagram, we can construct from a subset C v of C a (triangulated) simplex that fulfills the assumptions of Sperner's lemma, thus obtaining the existence of a canvas simplex that witnesses v.

Embeddability of the curved Riemannian Delaunay triangulations

Once it is proven that our discrete diagram has the same combinatorial structure as the Riemannian Voronoi diagram, we build upon known theoretical results on the curved Riemannian Delaunay triangulation to show that the curved dual of a discrete Riemannian Voronoi diagram can be -under sufficient conditions -embedded as a triangulation of the point set using curved Riemannian simplices. For this part, we entirely rely on previous results on the embeddability of curved Riemannian Delaunay triangulations. The main result is given by Theorem 8.4.4.

Embeddability of the straight Riemannian Delaunay triangulations

The last part of this chapter gives conditions such that the curved Riemannian simplices of the curved Riemannian Delaunay triangulation can be straightened to form the straight dual of the discrete Riemannian Voronoi diagram and that this dual is also embedded. Here, the key intermediary result is the computation of a bound on the distance between a point on a Riemannian facet and its equivalent on the straightened facet. This bound depends on the quality of the set of seeds and on the local distortion of the metric field. We then prove that when this point to point distance is sufficiently bounded, no inversion can happen while deforming from a curved Riemannian simplex to a straight simplex. We will apply this lemma to our canvas C and show that for every Voronoi vertex v of the Riemannian Voronoi diagram, we can find a subset C v of C that is a triangulation of a simplex that fulfills the assumptions of Sperner's lemma, thus obtaining the existence of a canvas simplex (in C v and thus in C) that witnesses the Voronoi vertex.

The construction of C v is detailed in the following sections and illustrated in Figure 8.3: starting from a colored canvas (left), we subdivide σ v , the dual of v, to obtain T v (middle). We then deduce a set of simplices C v whose central elements are canvas simplices. C v is shown to form the triangulation of a simplex that satisfies the hypotheses of Sperner's lemma, giving the existence of a canvas simplex (in green, right) that witnesses the Voronoi vertex within the union of the simplices, and therefore in the canvas.

Building the triangulation T v

Consider the simplex σ v dual of v. As explained in the introduction of this section, it is not possible to ensure that a face τ v of σ v lives in the union of the Voronoi cells of the vertices of τ v . Instead, we apply a barycentric subdivision to σ v (see Figure 8.4). To each face τ v of σ v with dual F , we associate a point c F in F which is not necessarily the geometric barycenter. We randomly associate to c F the color of any of the sites whose Voronoi cells intersect to give F . For example, in a two-dimensional setting, if τ v is an edge then the face F is a Voronoi edge that is the intersection of V red and V blue , and c F is colored either red or blue.

Figure 8.5 illustrates the process of breaking down a facet of a tetrahedron through barycentric subdivision: the facet prs is broken down in 6 green triangles that all live within the union of the (Euclidean) Voronoi cells V(p), V(r) and V(s). Then, the subdivision of σ v is computed by associating to all possible sequences of Voronoi faces {F 0 , F 1 , . . . F n-1 , F n } such that F 0 ⊂ F 1 • • • ⊂ F n = V and dim(F i+1 ) = dim(F i ) + 1 the simplex with vertices {c F 0 , c F 1 , . . . , c F n-1 , c Fn }. These barycentric subdivisions are allowed since Voronoi cells are convex polytopes. The triangulation T v is illustrated in Figure 8.6 in dimension 3.

As shall be proven in Lemma 8.3.5, T v can be used to define a combinatorial simplex that satisfies the assumptions of Sperner's lemma. Remark 8.3.4 Choosing a Voronoi (k + 1)-face F k+1 that contains a Voronoi k-face F k is simply removing a vertex from the set P |k of seeds such that F k = q(∩ p i ∈P |k V (p i )). Since F k is of dimension Lemma 8.3.7 Suppose that c is the circumcenter of a δ-power protected simplex σ of a Delaunay triangulation built from an ε-sample, then all foreign Voronoi faces are at least δ 2 /8ε far from c. This lemma is proved in Section 3.2.2 of Chapter 3.

In almost all cases, this result gives us the distance bound we require: we can assume that vertices {c F 0 , c F 1 , . . . , c F n-1 , c Fn } on the Voronoi faces, which we used to construct T v , are well placed, meaning there is a minimum distance between these vertices and foreign Voronoi objects.

However it can still occur that foreign Voronoi entities are close to a face τ S of σ S . This occurs even in two dimensions where a Voronoi vertex v ′ can be very close to a face τ S because of obtuse angles, as illustrated in Figures 8. After piecewise linear deformation, this issue is resolved, as seen by the green segments (right).

Because of power protection we know that v ′ is removed from foreign Voronoi objects. We can therefore deform σ S (in a piecewise linear manner) in a neighborhood of v ′ such that the distance between v ′ and all the faces of the deformed σ S is lower bounded.

In general, the deformation of σ S is performed by "radially pushing" simplices away from the foreign Voronoi faces of v with a ball of radius r = min µ/16, δ 2 /64ε . The value µ/16 is chosen so that we do not move any vertex of σ v (the dual of v): indeed, P is µ-separated and thus d E (p i , p j ) > µ. The value δ 2 /64ε is chosen so that σ S and its deformation stay isotopic (no "pinching" can happen), using Lemma 8.3.7. In fact it is advisable to use a piecewise linear version of "radial pushing", to ensure that the deformation of σ S is a polyhedron. This guarantees that we can triangulate the intersection, see Chapter 2 of Rourke and Sanderson [START_REF] Rourke | Introduction to piecewise-linear topology[END_REF]. After this deformation we can follow the steps that we have given above to arrive at a well-colored simplex. Lemma 8.3.8 Let P be a δ-power protected (ε, µ)-net. Let v be a Voronoi vertex of the Euclidean Voronoi diagram Vor E (P), and T v as defined above. If the length e C of the longest canvas edge is bounded as follows: e C < r = min µ/16, δ 2 /64ε , then there exists a canvas simplex that witnesses v and the corresponding simplex σ v in Del E (P).

Extreme deformation of faces An extreme configuration can have a sphere in Figure 8.8 separating entirely a zone from the Voronoi vertex. In that case, we can chose different spheres to "push away" faces. Figure 8.9 shows the construction. We do not detail the computations.

Conclusion

So far, we have only proven that Condition (1), that is if there exists D ∈ N (Vor g (P)), then there exists D ′ in N (Vor d g (P)) with the same combinatorial information. The other inclusion, which corresponds to Condition (2) mentioned above, is much simpler: as long as a canvas edge is shorter than the smallest distance between a Voronoi vertex and a foreign face of the Riemannian Voronoi diagram, then no canvas simplex can witness a simplex that is not in N (Vor d g (P)). Such a bound is already given by Lemma 8.3.7 and thus, if h C < δ 2 /16ε then we have the other inclusion. Observe that this requirement is weaker than the condition imposed in Lemma 8.3.8 and it was thus already satisfied. It follows that N (Vor d g (P)) ∼ = N (Vor g (P)) if h C < min µ/32, δ 2 /128ε , which concludes the proof of Theorem 8.3.1.

This concludes the proof of Theorem 8.3.1.

Remark 8.3.9 As expected, a low separation criterion µ or a low power protection criterion δ must be compensated with a smaller sizing field for the canvas to ensure that the nerves are equivalent.

Uniform metric field

We now investigate the setting of a flat domain endowed with a uniform metric field. By Lemma 3.4.1 in Chapter 3, if a point set P in R n is a δ-power protected (ε, µ)-net with respect to a uniform metric field g 0 then the point set P ′ = {F 0 p i , p i ∈ P}, where F 0 is the square root of g 0 , is also a δ-power protected (ε, µ)-net, but with respect to the Euclidean metric. We can deduce an upper bound on the sizing field of C for a uniform metric field using the results of Section 8.3.1 for the Euclidean setting.

Arbitrary metric field

Finally, we consider an arbitrary metric field g over the domain R n . The key to proving the equivalence in this setting is to locally approximate the arbitrary metric field with a uniform metric field, a configuration that we have dealt with in the previous section. We shall always compare the metric field g in a neighborhood U with the uniform metric field g ′ = g(p 0 ) where p 0 ∈ U . Because g ′ and the Euclidean metric field differ by a linear transformation, we can simplify matters and assume that g ′ is the Euclidean metric field. The main argument of the proof will be once again that a power protected net has stable and separated Voronoi vertices.

We now introduce the main result of this section, Theorem 8.3.11. Theorem 8.3.11 Let g be an arbitrary metric field on Ω. Assume that P is a δ-power protected (ε, µ)-net in Ω with respect to g. Denote by C the canvas, and h C its sizing field. If

h C < min p∈P h C,p ,
where h C,p is given by Lemma 8.3.12, and if ε is sufficiently small and δ is sufficiently large (both values will be detailed in the proof), then N (Vor d g (P)) ∼ = N (Vor g (P)).

We prove Theorem 8.3.11 by computing for each point p ∈ P the necessary sizing field of the canvas such that the Voronoi cell V g (p) is captured correctly. Conditions on ε and δ shall emerge from the intermediary results on the stability of power protected nets. Lemma 8.3.12 Let ψ 0 ≥ 1 be a bound on the metric distortion and g be a Riemannian metric field on U . Let U be an open neighborhood of Ω = R n that is included in a ball B g (p 0 , r 0 ), with p 0 ∈ U and r 0 ∈ R + such that ∀p ∈ B(p 0 , r 0 ), ψ(g(p), g E (p)) ≤ ψ 0 . Let P U be a finite point set in U and let p 0 ∈ P U .

Suppose that P U is a δ-power protected (ε, µ)-net of with respect to g. Let V g (p 0 ) be the Voronoi cell of p 0 in Vor g (P U ). If

h C,p 0 < min i λ i min µ 6 , ℓ 0 4 ,
with {λ i } the eigenvalues of g 0 and ℓ 0 made explicit in the proof, and if ε is sufficiently small and δ is sufficiently large (both values will be detailed in the proof), then N (Vor d g (P) U ) ∼ = N (Vor g (P) U ).

Approach

For readability, the many intermediary results needed to prove Theorem 8.3.11 are moved to Chapter 3. We refer to them at appropriate times.

Our approach is identical to the one used to prove the equivalent result in the two-dimensional setting, but the intermediary steps demand a lot more work. As in Chapter III.7, we use the fact that a Riemannian Voronoi cell V g (p 0 ) can be encompassed into two Euclidean Voronoi cells DV +η E (p 0 ) and EV -η E (p 0 ) that are scaled up and down versions of V E (p 0 ) (Lemma 3.4.12 in Chapter 3). Specifically, EV -η E (p 0 ) and DV +η E (p 0 ) are defined by

EV -ω E (p 0 ) = {x ∈ V E (p 0 ) | d E (x, ∂ V E (p 0 )) > ω},
and

DV +ω E (p 0 ) = i =0
H ω (p 0 , p i ),

where H ω (p 0 , p i ) is the half-space containing p 0 and delimited by the bisector BS(p 0 , p i ) translated away from p 0 by ω 0 . The constant η is the thickness of this encompassing and depends on the bound on the distortion ψ 0 in the neighborhood, and on the sampling and separation parameters ε and µ.

We have that η goes to 0 as ψ 0 goes to 1. The (local) stability of the power protected nets assumption is proved here again (Lemmas 3.4.2 and 3.4.16 in Chapter 3). From this observation, we can deduce that the Voronoi vertices of the Euclidean Voronoi cell V E (p 0 ) are separated, and thus that the Voronoi vertices of EV E (p 0 ) are separated. A bound on the sizing field can then be computed such that EV E (p 0 ) is captured and thus V g (p 0 ) is captured.

Difficulties

The increased difficulty almost entirely comes from proving the stability of the assumption of power protection under metric perturbation in any dimension, that is proving that if we assume that P is δ-power protected with respect to the arbitrary metric field g, then, in a small neighborhood around p 0 , the point set P is δ 0 -power protected with respect to g 0 = g(p). In the two-dimensional case, the stability is obtained by proving that the Voronoi vertices are stable (Lemma 3.4.13), which is itself proved by using separation bounds between Voronoi vertices (Lemma 3.2.4) and bounds on the smallest angles of simplices (Lemma 3.3.1). However, while in 2D we can obtain bounds on such angles simply through the assumption that the point set is a net, this does not extend to higher dimensions due to slivers: we cannot bound the dihedral angles of simplices built from a net. Nevertheless, assuming a power protected net does give us some bounds, but creates a tricky circular dependency as the coefficient δ appears in the dihedral angles (Lemma 3.3.2). We remedy this issue by proving that Euclidean dihedral angles are bounded assuming power protection with respect to the arbitrary metric field, with Lemmas 3.3.6 and 3.3.7.

Proof of Lemma 8.3.12 Lemma 3.4.5 in Chapter 3 gives us that V g (p 0 ) lies in DV +η E (p 0 ) and contains EV -η E (p 0 ). Since V g (p 0 ) contains EV -η E (p 0 ), if h C is small enough such that EV -η E (p 0 ) is captured, then V g (p 0 ) is also captured. Proving that EV -η E (p 0 ) is captured is done similarly to the Euclidean setting. While we do not explicitly have the power protected net property for the relaxed Voronoi cells (and specifically, EV -η E (p 0 )), we can still extract the critical property that the Voronoi vertices are separated, as shown by the next lemma. Lemma 8.3.13 Assume U , g, and ψ 0 as in Lemma 8.3.12. Assume that the point set P U is a δ 0power protected (ε, µ)-net with respect to the Riemannian metric field g. Then the Voronoi vertices of EV -η E (p 0 ) are separated.

Proof. By Lemmas 3.4.2 and 3.4.16 in Chapter 3, we have local stability of the power protection and net properties. Hence, P is δ 0 -power protected (ε 0 , µ 0 )-net with respect to g E in U .

Let L 0 = δ 2 0 4ε 0 be the separation bound induced by the δ 0 -power protection property of P U (see Lemma 3.2.4 in Chapter 3). Let l be the distance between any two adjacent Voronoi vertices of EV -η E (p 0 ). We know by Lemma 3.4.14 that the parallelotopic region around a Voronoi vertex is included in a ball centered on the Voronoi vertex and of radius χ. The protection parameter ι is given by δ = ιε. We have that

l ≥ L -2χ ≥ δ 2 0 4ε 0 -2 χ 2 sin n-2 ϕ 2 ≥ δ 2 0 4ε 0 -2 4η 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 √ 1 + s 0 - √ 1 -s 0 n-2 =: ℓ 0 , ( 8.1)
where ϕ represents the dihedral angle and

s 0 = 1 2 ι 2 4ψ 2 0 -1 2 ψ 2 0 -1 ψ 2 0
. For the stability regions not to intersect, we require l to be positive. This can be ensured by enforcing that the lower bound is positive:

δ 2 0 4ε 0 > 8η 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 √ 1 + s 0 - √ 1 -s 0 n-2
Recall that ε 0 = ψ 0 ε, µ 0 = λε/ψ 0 and ρ 0 = 2ψ 0 ε. Using these notations, we see that l > 0 if

δ 2 0 > 32ε 0 ρ 2 0 (ψ 2 0 -1) µ 0 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 √ 1 + s 0 - √ 1 -s 0 n-2 δ 2 0 > 128ε 2 ψ 4 0 (ψ 2 0 -1) λ 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 √ 1 + s 0 - √ 1 -s 0 n-2 . (8.2)
This condition is easy to satisfy when ψ 0 goes to 1 because the right hand side of Inequality (8.2) is proportional to (ψ 2 0 -1)ε 2 . The intermediary results that we use already impose some conditions on δ and ε, and we thus would like to give the condition in Equation 8.2 in terms of δ, so that it may be compared with Inequality (3.8) (as was done in Remark 7.3.13 in Chapter III.7). In Lemma 3.4.16, we have seen that

δ 2 0 = δ 2 ψ 2 0 + 1 ψ 2 0 -ψ 2 0 (ε + χ) 2 - 4εχ ψ 2 0 , Thus δ 2 ψ 2 0 + 1 ψ 2 0 -ψ 2 0 (ε + χ) 2 - 4εχ ψ 2 0 > 128ε 2 ψ 4 0 (ψ 2 0 -1) λ 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 √ 1 + s 0 - √ 1 -s 0 n-2 ,
which is equivalent to

δ 2 > 128ε 2 ψ 6 0 (ψ 2 0 -1) λ 1 + λ 2ψ 2 0 -1 -λ 2ψ 2 0 √ 1 + s 0 - √ 1 -s 0 n-2 + 4εχ
+ (ψ 4 0 -1)(ε + χ) 2 . ⇐⇒ δ 2 > 8εψ 3 0 χ + 4εχ + (ψ 4 0 -1)(ε + χ) 2 . (8.3) This bound is again proportional to (ψ 2 0 -1)ε and is very similar to the bound given by Inequality (3.8), made explicit in Inequality (3.9), but Inequality (8.3) provides the tougher bound due to the (ε + χ) coefficient (see Remark 7.3.13 in Chapter III.7).

We can now provide a bound on the sizing field so that it captures EV -η E (p 0 ) and prove Lemma 7.3.10. From Section 8.3.1, we have that a sizing field h C = min{ µ 0 32 , δ 2 0 128ε 0 } ensures the capture of V E (p 0 ) as P is a δ 0 -power protected (ε 0 , µ 0 )-net with respect to the Euclidean metric field. As we want to capture EV E (p 0 ), we cannot directly use this result. We have nevertheless obtained the separation between the Voronoi vertices of the eroded Voronoi cell (Equation 8.1). It is then straightforward to modify the result of Theorem 8.3.8 by using the separation bound provided in Lemma 8.3.13 instead of the one provided by Lemma 3.2.4. We thus choose h 0 C,p 0 = min µ 6 , ℓ 0 4 .

We should not forget that we have assumed that g 0 is the Euclidean metric field, which is generally not the case, we must in fact proceed like for the case of a uniform metric field (Theorem 7.3.8): h C,p 0 < min j λ i (h 0 C,p 0 ), with {λ i } the eigenvalues of g 0 . Therefore, if the seed set satisfies the previous conditions on ε and δ and the canvas honors the sizing field h C,i , then EV -η E (p 0 ) is captured, and thus V g (p 0 ) is captured, which proves Lemma 7.3.10. Taking the minimum of all the sizing field values over all p i ∈ P, we obtain an upper bound on the sizing field, h C = min

p i ∈P h C,p i ,
such that all the Voronoi cells are captured. In all the Lemmas necessary to obtain the local results, we have imposed conditions on ε and δ. Similarly to h C , the domain-wide bounds on ε and δ are computed from the local values of ε and δ.

Finally, this proves that N (Vor d g (P)) ∼ = N (Vor g (P) U ) in the general setting (Theorem 8.3.1), when geodesics are exactly computed.

Extension to surfaces

The previous results may be generalized to n-manifolds embedded in R m . We shall assume that, apart from the metric induced by the embedding of the domain in Euclidean space, there is a second metric g defined on M. Let π p : M → T p M be the orthogonal projection of points of M on the tangent space T p M at p. For a sufficiently small neighborhood U p ⊂ T p M, π p is a local diffeomorphism (see Niyogi [START_REF] Niyogi | Finding the homology of submanifolds with high confidence from random samples[END_REF]).

The pullback of the metric g with the inverse projection π -1 p defines a metric on U p . We have a metric on a subset of a n-dimensional space, in this case the tangent space, giving us a setting that we have already solved. Boissonnat et al. [START_REF] Boissonnat | Constructing intrinsic Delaunay triangulations of submanifolds[END_REF]Lemma 3.7] give bounds on the metric distortion of the projection on the tangent space. This result allows to translate the δ-power protected (ε, µ)-net properties between the tangent space and the manifold. Details can be found in Section 7.3.4 in Chapter III.7, where the reasoning is similar.

Approximate geodesic distance computations

We have so far assumed that geodesics are computed exactly, but this is not the case in practice. Nevertheless, once the error in the approximation of the geodesic distances is small enough, the computation of the discrete Riemannian Voronoi diagram with approximate geodesic distances can be equivalently seen as the computation of a second discrete Riemannian Voronoi diagram with a slightly different metric field and using exact geodesic distances. This is achieved exactly as in Section 7.3.5 in Chapter III.7 and we thus do not reproduce it here.

Curved Riemannian Delaunay triangulation

For each simplex σ in the Delaunay complex, we can consider its curved realization (see Section 2.9 in Chapter 2). The definition of the curved realization is based on the Riemannian center of mass [START_REF] Karcher | Riemannian center of mass and mollifier smoothing[END_REF][START_REF] Dyer | Riemannian simplices and triangulations[END_REF], also known as a Karcher mean [START_REF] Kendall | Probability, convexity, and harmonic maps with small image I: Uniqueness and fine existence[END_REF]. This step of our theory fully relies on the work of Dyer et al. [START_REF] Dyer | Riemannian simplices and triangulations[END_REF], and we only summarize here their results.

We first prove that, under some sampling conditions, the facet of a curved Riemannian simplex and its straight equivalent are close from one another. This is a generalization of a result that we have established in the planar and surface settings in Chapter III.7. The proof of Lemma 8.5.1 employs however a different approach. The proximity between a curved Riemannian simplex and its straight equivalent allows to then prove that "straightening" simplices creates no inversion of simplices or self-intersections. This is achieved in Theorem 8.5.2.

Proximity between straight and curved Riemannian simplices

We now prove that two points p and q with the same barycentric coordinates on respectively the geodesic facet and the straight facet are close. Lemma 8.5.1 Let {p i } be a set of n + 1 vertices in Ω such that D = ∩ p i ∈P V (p i ) = ∅. Let σ and σ be the straight and curved Riemannian simplices that realize D. Let x g be a point on the curved Riemannian simplex σ g determined by the barycentric coordinates {λ i } (see Section 2.9). Let x e be the point uniquely determined by {λ i } as x e = i λ i p i . If the geodesic distance d g is close to d E , then

|x g -x e | ≤ 2 • 4 3 (ψ 0 -1)ε 2 .

Proof.

The key observation is that given a convex function f and a function f ′ that is close, that is ff ′ < α with α small, then the minimum value of f ′ is at most of min f + α. If we observe that at any point x where f (x) > min f + 2α, we also have f ′ (x) > min f + α so x is not a minimum of f ′ , we see that the minima of f and f ′ can not be far apart. In particular, we have that if x f ′ ,min is the point where f ′ attains its minimum, then f ′ (x f ′ ,min ) ≤ min f + α. The precise argument goes as follows.

We again assume that (possibly after a linear transformation) the metric is close to the Euclidean one, that is: This bounds the distance between x g and x e . An explicit bound can be found by observing that

d g (x,
i λ i |x -p i | 2 = i λ i x 1 -p 1 i 2 + . . . + (x n -p n i ) 2 = i λ i x 1 -p 1 i 2 + i λ i x 2 -p 2 i 2 + . . . + i λ i (x n -p n i ) 2 = x 1 - i λ i p 1 i 2 - i λ i p 1 i 2 + i λ i p 1 i 2 + . . . + x n - i λ i p n i 2 - i λ i p n i 2 + i λ i (p n i ) 2 = x - i λ i p i 2 + j   - i λ i p j i 2 + i λ i p j i 2   . ( 8.5)
Then, applying Equation 8.5 for both both x = x g and x = x e = j λ j p j in Equation (8.4), we obtain:

x g - i λ i p i 2 + j   - i λ i p j i 2 + i λ i p j i 2   -    j λ j p j - i λ i p i 2 + j   - i λ i p j i 2 + i λ i p j i 2      = x g - i λ i p i 2 ≤ 2 • 4 3 (ψ 0 -1)ε 2 .
which yields a distance bound of 2 • 4 3 (ψ 0 -1)ε 2 .

As expected, the bound goes to 0 when the distortion goes to 1 or when the sampling gets dense.

Although we have formulated this metric distortion result for simplices, the same proof extends almost verbatim to continuous distributions. By this we mean that the barycenter with respect to a metric g of a continuous distribution is close to the barycenter with respect to the Euclidean metric, if g is close to the Euclidean metric. Furthermore, note that the proof does not depend on the weights being positive.

Embeddability of the straight Riemannian Delaunay triangulation

We apply Lemma 8.5.1 to the facets of the simplices of Del g (P). Recall that the altitude of p i in σ is noted D(p i , σ). Theorem 8.5.2 Let {p i } be a set of n + 1 vertices in Ω that define D = ∩ p i ∈P V(p i ) = ∅. Let σ and σ g be the straight and curved Riemannian simplices that realize D. Let τ g be a facet of σ g , opposite of the vertex p i . If for all x g ∈ τ g , |x gx e | ≤ D(p i , σ), then there is no inversion created when σ g is straightened onto σ.

If this condition is fulfilled for all σ g ∈ Del g (P), then Del g (P) is embedded.

Proof.

The lower bound on D(p, σ) given in Lemma 3.3.2 in Chapter 3 is proportional to ε. The proximity (upper) bound of Lemma 8.5.1 is proportional to (ψ 0 -1)ε, therefore going to 0 much faster. The embeddability is thus satisfied once

2 • 4 3 (ψ 0 -1)ε 2 < A ι νι 2 ε ψ 0 < 1 + A ι νι 2 2 2 • 4 3 ,
where A ι and ν are constants whose definitions can be found in Lemma 3.3.2 in Chapter 3.

Construction of power protected nets

Our theory introduces requirements on the canvas C (through its sizing field) and on the point set P such that the two duals of the discrete Riemannian Voronoi diagrams are triangulations. The canvas must be sufficiently dense, and the seed set a δ-power protected (ε, µ)-net with specific values of δ and ε. The former requirement is easily achieved through refinement. A refinement algorithm to construct power protected nets was described in Section 5.4 in Chapter II.5.

In the two-dimensional setting, neither the sampling nor the canvas needed to be as dense in practice as the theory required them to be. Instead, a farthest point refinement was used to generate the point set. Results in Chapter III.7 have shown that this is not the case in higher dimensions. The lack of power protection was shown to be the culprit of inverted elements and power protection is thus necessary. Unfortunately, the refinement algorithm proposed in Section 5.4 in Chapter II.5 is mostly theoretical and the runtime of such algorithm would be unreasonable.

Conclusion

We have proved in this chapter that the discrete Riemannian Voronoi diagram and the related algorithms introduced in Chapter III.6 are theoretically sound in any dimension. These guarantees come in the shape of a quality requirement on the point set, through the power protected net assumption, and on the density on the canvas. Although we followed the same approach to prove the theoretical soundness as the previous chapter, many new intermediary results were required.

As in the two-dimensional setting, it would be desirable to expose quality bounds on the simplices and to estimate the loss of quality that results from straightening curved Riemannian simplices into straight Riemannian simplices. Finally, devising a practical algorithm to generate power protected nets ought to be an interesting subject of research, with various areas of applications.

Conclusion and perspectives

This thesis has studied, introduced and investigated a number of anisotropic mesh generation algorithms, all based on the well-known structures of the Delaunay triangulation and the Voronoi diagram. We have sought approaches that combine theoretical soundness, that is the capacity to prove that the desired result is obtained under certain conditions, and practicality. Our results are mixed: while we have proposed a number of methods that were all provably correct, none of these methods were universally practical.

The practical side of locally uniform anisotropic meshes, a framework of theoretical mesh generation that precedes this thesis, has been thoroughly investigated. We have proposed a generic, robust, and fast implementation based on the CGAL library. Although we obtain anisotropic meshes that conform to the metric field, the lack of control on the resolution of inconsistencies generally created unreasonably large -and thus impractical -meshes. This shortcoming was attributed to the inherent rigidity in the construction of the stars as only one metric is considered. We attempted to weaken this rigidity and improve the results by modifying and combining another star-based approach, the tangential Delaunay complex, with an alternative construction of the anisotropic Voronoi diagram of Labelle and Shewchuk. Unfortunately, the results were similar to those obtained in the study locally uniform anisotropic meshes. Finally, increasing again the quantity of metric information considered in our algorithms, we have looked to Riemannian Voronoi diagrams, an expensive but the most accurate diagram with respect to the metric field. We introduced a discrete structure on top of which we compute geodesics to accurately capture the combinatorial information of the Riemannian Voronoi diagram. From a quality point of view, we obtained much better results for two-dimensional manifolds than we have with our previous approaches. We are able to build visually pleasing meshes that are closely conforming to the metric field, especially in difficult regions where other mesh techniques would fail or create isotropic elements. Additionally, the use of a Riemannian Voronoi diagram allowed us to build curved Riemannian Delaunay triangulations. Although Riemannian Voronoi diagrams require fewer points to have an embedded dual than other anisotropic Voronoi-based methods, this advantage only lasts for a time before every method yields similar results. Despite the use of anisotropic star sets generated from locally uniform anisotropic meshes, the running time of our diagram is unreasonably slow for large meshes and three and higher-dimensional domains. Finally, our farthest point refinement algorithm does not generate seed set whose dual is a triangulation in the setting of three-dimensional domains, and the use of power protected seed sets seems necessary.

The quintessence of the proofs of our algorithms has been to ensure that adjacent Voronoi vertices are far from one another by assuming that we use power protected nets. We also proposed a refinement algorithm to generate such point sets in any dimension. The strength and versatility of power protected nets allowed us to give conditions such that the anisotropic Voronoi diagram of Labelle and Shewchuk (and by extension multiplicative Voronoi diagrams) have an embedded dual. Proving the theoretical soundness of our algorithms required a large number of interesting intermediary results, for example on the stability of the hypothesis of power protection and net under metric perturbations and on the quality of the Delaunay and Voronoi structures created from power protected nets.

Future work

Different paths can be followed to extend this work. Firstly, all of our theoretical work has relied on power protected nets and the generation of such point sets is in practice a difficult task as it is generally complicated to estimate problematic configurations beforehand. In our implementation of the framework of locally uniform anisotropic meshes, we have used a trial and error approach to construct such point sets, but although this method did (eventually) construct good point sets, the running time was a big factor in the impracticality of the algorithm. Devising a practical way to construct power protected nets would provide a major improvement to all of our methods. Additionally, we are optimistic that their use could generate good anisotropic triangulations as dual of discrete Riemannian Voronoi diagrams and even as duals of anisotropic Voronoi diagram using the distance of Labelle and Shewchuk.

Still from a theoretical point of view, various tasks require more work. First of all, our proofs do not at the moment handle manifolds with boundaries, which an arbitrary "real" domain contains. A comprehensive study of the quality of the elements produced by our algorithms is also lacking. As most of our methods are based on Delaunay refinement and the insertion of points near the circumcenter of a simplex, it would be interesting to investigate theoretical bounds on the angle and shape of simplices.

Further away from our work is the question of the feasibility of a metric field: when is a unit mesh physically possible? Our choice of sizing field in the metric fields that we have considered has always been an estimation, and a value based on solider theoretical grounds would be useful.

Tangential complex embedding

The original tangential Delaunay complex has shown to be an effective structure in the context of (isotropic) manifold reconstruction. It can thus be concluded that the impracticality of our tangential complex-based approach lies entirely within our modifications of the original structure to the anisotropic setting. Despite this shortcoming, the tangential Delaunay structure could still be potentially used for the generation of anisotropic meshes by embedding or transforming the input domain to a new domain where an isotropic mesh is required.

The Nash's embedding theorem -which provides an isometric embedding -naturally comes to mind. However, the embedding introduced by Nash is very theoretical: the concept of infinitely small and recursive twists to the manifold do not form a domain that can be easily meshed. Authors have previously considered the idea of embedding the input domain to ease the process of meshing: Zhong et al. [START_REF] Zhong | Anisotropic surface meshing with conformal embedding[END_REF] used conformal embedding and Panozzo et al. [START_REF] Panozzo | Frame fields: anisotropic and non-orthogonal cross fields[END_REF] warped input surfaces to produce anisotropic quadrangulations. However, these methods are limited by the dimension of the embedding spaces to keep a reasonable runtime. The use of the tangential complex would lift such limitation as the complexity of the tangential complex almost entirely depends on the intrinsic dimension of the embedded manifold and not the dimension of the embedding space.

Finite element analysis

Finite element method (FEM) is a renowned numerical technique to solve partial differential equations that makes use of meshes. Recent developments have extended the use of these methods to curved meshes, whose faces are often described by Bézier curves and patches. Another line of research could be the adaptation of the finite element method to curved Riemannian elements. Indeed, curved Riemannian simplices are defined through a pointwise minimization process based on a (λ i ) barycentric coordinate vector and we thus immediately have a pointwise deformation between a curved Riemannian simplex and the traditional reference simplex of the finite element. Since curved Riemannian

Fζ

  Square root of a metric λ i , v i Eigenvalues and eigenvectors of a metric ψ(G 1 , G 2 ) Distortion between two metrics G 1 and G 2 Lipschitz coefficient (of a Lipschitz-continuous metric field) d G Distance with respect to the metric G • G Norm with respect to the metric G d E Distance with respect to the Euclidean metric E d g Geodesic distance with respect to the metric field g S g (x, r) Geodesic sphere centered on x and of radius r B g (x, r) Geodesic ball centered on x and of radius r xv

Figure 1 :

 1 Figure 1: Two applications of meshes: the simulation of the pressure around the Orion capsule and its launch escape system (left, [1]) and a video game (right, [109]).

Figure 3 :

 3 Figure 3: Delaunay triangulation (white) and Voronoi diagram (blue).

Contents 2 . 1 2 . 2 2 . 4 2 . 7 2 . 9 24 2. 10

 21222427292410 Basic notions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Metric tensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.1 Metric field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.2 Distortion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.3 Operations on metric fields . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3 Riemannian geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Voronoi diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.4.1 Euclidean Voronoi diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.5 Simplices and complexes . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.5.1 Simplicial complexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.6 Delaunay complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Duality of the Delaunay and Voronoi structures . . . . . . . . . . . . 22 2.7.1 Dual of a simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.8 Riemannian Voronoi diagram . . . . . . . . . . . . . . . . . . . . . . . . 23 Riemannian Delaunay triangulations . . . . . . . . . . . . . . . . . . . Power diagram . . . . . . . . . . . . . . . . . . . . . . . . . . .

Figure 2 .

 2 Figure 2.1: Representation of a 3D metric with eigenvalues λ 1 , λ 2 and λ 3 as an ellipsoid.

Figure 2 . 2 :

 22 Figure 2.2: Isotropic (left) and anisotropic (right) 2D metric fields. The metric at each sample point is expressed by its (2) eigenvectors, each scaled by its respective eigenvalue.

  Figure 2.3 the Log-Euclidean interpolation of three random metric tensors defined at the vertices of a triangle and their interpolation at various points of the triangle.

Figure 2 . 3 :

 23 Figure 2.3: Log-Euclidean interpolation of three random metric tensors (colored red, green and blue).

Figure 2 . 4 :

 24 Figure 2.4: Acute and obtuse dihedral angles

Figure 2 . 6 :

 26 Figure 2.6: Delaunay triangulation (white) and Voronoi diagram (blue).

Figure 2 .

 2 Figure 2.7: a 2D Delaunay triangulation of a set of vertices (black) restricted to a curve (blue). Voronoi edges are represented in teal, and in pink if they intersect the curve. The Voronoi vertices are marked with orange circles. Restricted Delaunay edges are drawn in yellow, and restricted Delaunay triangles are drawn in green.

Figure 2 .

 2 [START_REF] Amenta | Surface reconstruction by Voronoi filtering[END_REF] shows an Euclidean net with λ = 1/3.

Figure 2 . 8 :

 28 Figure 2.8: An Euclidean net with ε/µ = 3. The red circles represent the separation and the green circles the density of the sample.

Figure 2 . 9 :

 29 Figure 2.9: A protected point set. The (Euclidean) Delaunay triangulation is drawn in white. The circumcenters are red circles. For each Delaunay simplex, the Delaunay ball is the black circle, the green zone the protection zone and the dotted circle the protected Delaunay ball. Adopting the point of view of the Voronoi diagram, we can define protection and power protection as follows. If v, a Voronoi vertex, is the intersection of n+1 Voronoi cells {V d (p i )} with {p i } := P ′ ⊂ P, then the simplex dual of v is

Contents 3 .

 3 1 Distortion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1.1 Geodesic distortion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.2 Separation of Voronoi entities . . . . . . . . . . . . . . . . . . . . . . . 36 3.2.1 Separation of Voronoi vertices . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2.2 Separation of Voronoi faces . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.3 Dihedral angles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.3.1 Bounds on the dihedral angles of Euclidean Voronoi cells . . . . . . . . . . 40 3.3.2 Bounds on the dihedral angles of Euclidean Delaunay simplices . . . . . . 41 3.4 Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.4.1 Stability of the protected net hypothesis under metric transformation . . . 50 3.4.2 Stability of the protected net hypothesis under metric perturbation . . . . 51 3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Figure 3 . 1 : 2 . 3 . 2 . 2

 312322 Figure 3.1: Construction used in Lemmas 3.2.1 and 3.2.2.

Lemma 3 . 2 . 3

 323 Let σ = p * τ and σ ′ = p ′ * τ be two Delaunay simplices sharing a common facet τ . (Here * denotes the join operator.) Let B(σ) = B(c, R) and B(σ

Figure 3 . 3 :

 33 Figure 3.3: Construction and notations used in Lemma 3.3.1.

Figure 3 . 4 :

 34 Figure 3.4: Construction and notations for the Lemma 3.3.2.

Figure 3 . 5 :

 35 Figure 3.5: Illustration of Inequality 3.6.

Figure 3 . 6 :

 36 Figure 3.6: Comparison between the bounds provided by Lemmas 3.2.3 and 3.3.2. ι 2 /4 is drawn in blue, and A λ,ι in orange.

Figure 3 . 8 .

 38 Proof. Using the notations and the result of Lemma 3.4.8, we have|mm ω 0 | ≤ η 0 .

Contents 4 . 1 68 4. 2

 41682 The star set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.1.1 Stars and inconsistencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.1.2 Slivers and quasi-cosphericities . . . . . . . . . . . . . . . . . . . . . . . . . Refinement algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.2.1 The Pick_valid procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.2.2 Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.2.3 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.2.4 Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Figure 4 . 1 :

 41 Figure 4.1: An anisotropic uniform Delaunay triangulation (orange) and the corresponding stretched Delaunay balls and circumcenters (black circles).

Figure 4 . 2 :

 42 Figure 4.2: Two stars S p and S q forming an inconsistent configuration.

Figure 4 Figure 4 . 3 :

 443 Figure 4.3: A quasi-cosphericity involving the simplex τ and the point s: s belongs in the B G (τ ), but not in B G ′ (τ ).

Remark 4 . 1 . 1

 411 In the definition of a cosphericity, all points play a symmetric role.

Figure 4 .

 4 5 illustrates all the notions used in the Pick_valid algorithm.

Figure 4 . 5 :

 45 Figure 4.5: A simplex τ , its Delaunay ball B q (τ ) (in the metric G q ) and the picking region P(τ ), in blue. Two forbidden rings (in red) are created by neighboring vertices, one created by s and t along with a vertex of τ , r; and one created by u, v, w. One possible valid refinement point in P q (τ ) is drawn in green and one possible invalid point in red.

Figure 4 . 6 :

 46 Figure 4.6: The picking region of a surface facet σ in the case n = 2 and m = 1. D is the dual of σ, B its surface Delaunay ball, and c M the center of B. The scaled down ball B s has radius δr B where r B is the radius of B.

Figure 4 . 8 :

 48 Figure 4.8: Pipeline of the hierarchical refining algorithm presented in Algorithm 4. "Null" mesher levels are empty mesher levels that are only needed for consistency. The dashed arrows signify that the functions of the mesher level are provided the corresponding visitor.

Figure 4 . 9 :

 49 Figure 4.9: A star, its conflict zone (light blue), the refinement point (s) is in conflict with 2 Delaunay balls (red). The cavity computed during the Bowyer-Watson is dashed in orange with its borders in yellow.

Figure 4 .

 4 [START_REF] Arsigny | Log-Euclidean metrics for fast and simple calculus on diffusion tensors[END_REF] shows the bounding boxes of a planar star and of a surface star.

Figure 4 . 10 :

 410 Figure 4.10: In blue, the mesh and the domain. In yellow, the Delaunay balls. In green, the box. On the right, yellow points are centers of the surface Delaunay balls and red points are facet circumcenters.

Figure 4 . 11 :

 411 Figure 4.11: The box of S p is growing after the insertion of s. The point t is an imaginary troublesome point used in Section 4.4.5.

Figure 4 . 14 :

 414 Figure 4.14: Influence of the parameter r 0 on the final number of vertices. N r 0 is the number of points added by the sizing criterion. N p is the total number of points in the final mesh.

Figure 4 . 15 :

 415 Figure 4.15: Discrete point set of the pick region of a simplex. Invalid points are marked in red and orange, and valid points in green. The geometry of the two forbidden rings is clearly distinguishable.

Figure 4 . 16 :

 416 Figure 4.16: Influence of the parameter N t over the final number of vertices and the computational time. The domain is a square of side 3, endowed with the hyperbolic shock (the mesh is shown on the left). The blue curve shows the final number of vertices and the green curve the time, in seconds.

Figure 4 . 17 :

 417 Figure 4.17: Success of the Pick_valid procedure for 60 and 1000 tries. On the graph, circular entries are obtained using N tries = 60, and triangular entries are obtained using N tries = 1000. Entries referring to the percentage are linked together with black segments. Unlinked entries indicate how many tries were needed on average for success. A green entry indicates that the Pick_valid procedure usually succeeded, while a red entry means that the procedure almost always failed.

Figure 4 . 18 :

 418 Figure 4.18: Influence of the distortion skip for various values of ψ 0 .

Figure 4 .

 4 Figure 4.19: A square of side 10 and centered on the origin, endowed with the "Starred" metric field (left). The final mesh is composed of 47126 vertices and 94366 triangles. On the right, a zoom on one of the rotating regions.

Figure 4 . 20 :

 420 Figure 4.20: Anisotropic triangulation of a rectangle endowed with the hyperbolic shock metric field. The final mesh is composed of 4621 vertices.

Figure 4 .

 4 Figure 4.21: A square of side 6 and centered on the origin, endowed with the "Swirl" metric field. The final mesh is composed 28157 vertices and 56342 triangles.

Figure 4 .

 4 [START_REF] Boissonnat | Only distances are required to reconstruct submanifolds[END_REF] shows two sections of one of the anisotropic meshes.

Figure 4 . 22 :

 422 Figure 4.22: Anisotropic Delaunay mesh of an ellipsoid a = 100, b = c = 1 with r 0 = 0.1, ρ 0 = 3.0 and h 0 = 0.001. The green and red rectangles show a zoom on middle and end sections respectively.

  and 4.24 show the results. Table 4.4: Isotropic and anisotropic meshes obtained by stretching an ellipsoid with h 0 constant. r = 10 r = 50 r = 100 r = 200 r = 500 r = 1000 r = 10000 Surface area

Figure 4 . 23 :

 423 Figure 4.23: The "Oni" polyhedral surface endowed with its curvature metric field, 179214 vertices.

Figure 4 .

 4 Figure 4.24: The "Cow" polyhedral surface endowed with its curvature metric field, 512514 vertices.

Remark 4 . 7 . 2

 472 The extension of two-dimensional metric to a three-dimensional metric is achieved by adding a third (null) coordinate to all vectors and points and defining a third eigenvector orthogonal to the first two with associated eigenvalue 1.

Figure 4 .

 4 Figure 4.25: The "Oni" (left) and "Elephant" (right) surfaces endowed with the same hyperbolic shock metric field.

Figure 4 .

 4 [START_REF] Boissonnat | Manifold reconstruction in arbitrary dimensions using witness complexes[END_REF] shows the result.

Figure 4 .

 4 Figure 4.26: The "Fandisk" domain endowed with a radial shock. The mesh is composed of 199283 vertices and 1170393 tetrahedra.

Figure 4 . 28 :

 428 Figure 4.28: Timers for the generation of a surface mesh (blue) and for a three-dimensional domain with boundary (red).

Figure 4 . 29 :

 429 Figure 4.29: An inconsistent region during the refinement process. Inconsistent simplices are drawn in red, consistent simplices are drawn in teal. The blue and orange simplex illustrate one inconsistent configuration.

Figure 4 .

 4 Figure 4.30: 6554 are necessary to produce an almost unit mesh with Liu et al's algorithm. For the same domain and metric field, more than 2 millions vertices are needed for our implementation.

Figure 4 .

 4 [START_REF] Boissonnat | Anisotropic Delaunay mesh generation[END_REF] shows the same domain as in Section 4.7 but the curvature metric field has been smoothed beforehand. Comparing with Figure4.23, all the over-refined spots created by abrupt metric changes are gone.

Figure 4 . 31 :

 431 Figure 4.31: The "Oni" domain endowed with a smoothed curvature metric field. The mesh has 8172 vertices and 16097 triangles. Comparatively, 179214 were necessary when the curvature induced metric field was not smoothed (Figure 4.23).

Figure 4 . 32 :

 432 Figure 4.32: Flip-inconsistency and consistency. The consistent facets are in blue, the flip-consistent facets are in green and the inconsistent facets that are not flip-consistent are in red. The domain is the square centered on the origin and of side 1.5, but the images are zoomed in on a difficult part of the hyperbolic metric field. The full star sets possess 1000 (top), 2000 (middle) and 8450 (bottom) vertices. Note that the bottom picture is slightly zoomed out to give a larger view of the difficult region.

Figure 4 . 33 :

 433 Figure 4.33: Progression of the sweeping (1000, . . . , 7000) points and final mesh (bottom right).

Figure 4 . 34 :

 434 Figure 4.34: Sweeping process with a radial shock metric field. The result has very poor quality.

Contents 5 . 1 129 5. 2 132 5. 3 134 5. 4 136 5. 5 A 139 5. 5 . 1 141 5. 6 141 5. 6 . 1 143 5. 7 144 5. 7 . 2 5 . 8 5 . 9

 511292132313441365139511416141611437144725859 Labelle and Shewchuk anisotropic Voronoi diagram . . . . . . . . . . Dual of the anisotropic Voronoi diagram . . . . . . . . . . . . . . . . . 130 5.2.1 Detailing of the proof of Theorem 5.2.1 . . . . . . . . . . . . . . . . . . . . 131 5.2.2 Overview of the proof of the embeddability of the dual . . . . . . . . . . . 131 5.2.3 Intermediary steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Protection and quasi-cosphericities . . . . . . . . . . . . . . . . . . . . Generation of power protected point nets . . . . . . . . . . . . . . . . star-based construction of the dual of the anisotropic Voronoi diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multiplicatively weighted Voronoi diagrams . . . . . . . . . . . . . . . . . 139 5.5.2 The power diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 5.5.3 The paraboloid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 5.5.4 Equivalence of the constructions . . . . . . . . . . . . . . . . . . . . . . . . 141 5.5.5 Refinement algorithm and proofs . . . . . . . . . . . . . . . . . . . . . . . The tangential complex . . . . . . . . . . . . . . . . . . . . . . . . . . . Star and inconsistencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . Combined works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 5.7.1 Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Refinement algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 5.7.3 Theoretical aspect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 5.7.4 A star-based proof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 5.7.5 Computing refinement points . . . . . . . . . . . . . . . . . . . . . . . . . 152 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 5.8.1 Brute force approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 128 5.1. Labelle and Shewchuk anisotropic Voronoi diagram 5.8.2 Tangential complex results . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

Figure 5 .

 5 1 shows an example of such a diagram for the hyperbolic shock metric field (see Section A.3 in Appendix A). Although different definitions are possible for an anisotropic Voronoi diagram, we will make almost-exclusive use of this definition and shall therefore refer to the anisotropic Voronoi diagram using the Labelle and Shewchuk distance as simply anisotropic Voronoi diagram and will often discard the superscript LS in the rest of this chapter. When considering any other type of anisotropic Voronoi diagram, we shall explicitly indicate which distance is used.

Figure 5 .

 5 Figure 5.1: Anisotropic Voronoi diagram using the distance of Labelle and Shewchuk.

Figure 5 . 4 :

 54 Figure 5.4: A quasi-cosphericity (left) and a simplex τ that is not δ-protected (right).

Figure 5 . 5 :

 55 Figure 5.5: The simplex τ is power-protected, which implies no quasi-cosphericities for a distortion bound ψ 0 sufficiently small.

5. 4 .Figure 5 . 6 :

 456 Figure 5.6: Illustration of the fact that an absence of quasi-cosphericities does not imply consistency.The vertex s can be picked in the red dashed zones as closely as wanted to B, without ever creating quasi-cosphericities.

Theorem 5 .

 5 5.2 proves the equivalence of the constructions. Theorem 5.5.2 The anisotropic diagram of P is the image by Π t of the intersection of the power diagram of P ω and the manifold Q.

Figure 5 . 8 :

 58 Figure 5.8: Illustration of the notations and concepts (n = 1). The manifold is here a straight line, identified with y = 0 in the ambient space. The colored areas are the power cells of the power diagram. The black lines are the bisectors of the ambient power diagram. The metric field is g(x) = 1 + cos 2 (x).

Figure 5 . 9 :

 59 Figure 5.9: An inconsistent tangential complex. Tangent planes are drawn in green, the Voronoi diagram in blue and the stars in red. Inconsistencies are indicated with dotted red arrows.

Figure 5 . 10 :

 510 Figure 5.10: Illustration of the notations and concepts (n = 1). The colored areas are the power cells of the power diagram. The lines are the bisectors. The metric field is g(x) = 1 + cos 2 (x).

Figure 5 . 11 :

 511 Figure 5.11: Anisotropic Voronoi diagram for the hyperbolic shock metric field (left). Middle and right, the power diagram PD i ( P) for two adjacent seeds; the nerves are different, creating an inconsistency.

Figure 5 . 13 :

 513 Figure 5.13: The insertion of s (the intersection of the dual of the simplex pq with M) does not refine the simplex pq in the star T p M. The circles represent the weights of the points (the radius of the circle is the squared weight).

Figure 5 . 14 :

 514 Figure 5.14: The paraboloid Q and a tangent plane T pQ. The Voronoi vertices of V g (p) are marked with red circles and the intersections of the support of the duals (black lines) of the maximal simplices of S LS g (p) with T pQ are marked with red squares. Since the supports of the duals are roughly parallel and the Voronoi vertices are far from one another, the red squares are also far from one another.

Figure 5 . 15 :

 515 Figure 5.15: Anisotropic Voronoi diagram of a set of seeds (left) and the restriction of the highdimensional regular Delaunay triangulation to the paraboloid Q (right).

6. 5 . 1

 51 Anisotropic Riemannian CVT . . . . . . . . . . . . . . . . . . . . . . . . . 188 6.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

5 Figure 6 . 1 :

 561 Figure 6.1: Computation of the distance between the vertices p and q. The triangulation is drawn with black edges and the path between p and q with thickened black edges.

Figure 6 . 2 :

 62 Figure 6.2: The canvas simplices colored in red are witnesses of Voronoi vertices. The canvas simplices colored in grey are witnesses of Voronoi edges. Canvas simplices whose vertices all have the same color are colored with that color.

Figure 6 . 7 :

 67 Figure 6.7: Discrete Riemannian Voronoi diagram of the same seed set on two different canvas. On the left, an isotropic triangulation (1M vertices). On the right, an inconsistent star set (40k vertices). The nerves of both discrete Riemannian Voronoi diagrams are identical. The canvas simplices colored in red are witnesses of Voronoi vertices. The canvas simplices colored in grey are witnesses of Voronoi edges.

Figure 6 . 8 :

 68 Figure 6.8: The unit sphere endowed with the hyperbolic metric field (approximately 4000 vertices). Isotropic canvas (left), discrete Riemannian Voronoi diagram (center), and straight Riemannian Delaunay triangulation (right).

Figure 6 . 9 :

 69 Figure 6.9: the "Fertility" surface endowed with a curvature induced metric field, straight Riemannian Delaunay triangulation with 220 seeds (left), discrete Riemannian Voronoi diagram (center) and straight Riemannian Delaunay triangulation with 6020 seeds (right).

Figure 6 . 11 :

 611 Figure 6.11: Discrete Riemannian Voronoi diagram (top) and curved Riemannian Delaunay triangulation (bottom) of 751 vertices on a planar region endowed with the hyperbolic shock metric field.

Figure 6 . 12 :

 612 Figure 6.12: Approximating geodesics with segments between ancestors (black dots). Far fewer points are required in comparison with Figure 6.11.

Figure 6 . 13 :

 613 Figure 6.13: Dual of the discrete Riemannian Voronoi diagram for the unidimensional shock metric field. The simplicial complex is composed of 1350 vertices but is not embedded. Problematic elements are drawn in red on the exploded view (faces are scaled down) on the right.

Figure 6 . 14 :

 614 Figure 6.14: On the left, the discrete Riemannian Voronoi diagram of 4000 seeds in a square endowed with a swirly metric field. On the right, the straight dual of the discrete Riemannian Voronoi diagram.

Figure 6 . 15 :

 615 Figure 6.15: Histograms for the optimized mesh shown in Figure 6.19. On the left, edge lengths of the curved Riemannian Delaunay triangulation; on the right, angles values for the straight Riemannian Delaunay triangulation.

Figure 6 . 16 :

 616 Figure 6.16: Duals of anisotropic Voronoi diagram for a planar domain endowed with the hyperbolic shock metric field (discrete Riemannian Voronoi diagram on the left, AVD of Labelle and Shewchuk on the right). Both Voronoi diagrams contain 250 points by farthest point refinement. Issues preventing the dual from being a triangulation are drawn in red.

Figure 6 . 18 :

 618 Figure 6.18: Optimization of 5 seeds in a square endowed with a swirl metric field. The canvas is a star set. Colors show the distance from to the closest seed. (Seeds are thus in the middle of the deep blue regions). The algorithm converges quickly and produces a well-spread output.

Figure 6 . 19 :Figure 6 . 20 :

 619620 Figure 6.19: The optimized straight Riemannian Delaunay triangulation of 4000 seeds in a planar domain endowed with a hyperbolic shock induced metric field (left). On the right, a zoom on a rotational region of the metric field shows the difference between pre-(above) and post-(bottom) optimization.

Figure 6 . 21 :

 621 Figure 6.21: Zoom on a region of the optimized swirl surface, after 10 iterations of optimization.

Contents 7 . 1

 71 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Figure 7 .

 7 Figure 7.1: Discrete Riemannian Voronoi diagram over an isotropic canvas.

Figure 7 . 3 :

 73 Figure 7.3: The geodesic edges between seeds P -R and P -Q lie in their respective protection tubes (colored in beige) around the straight edges

Figure 7 . 4 :

 74 Figure 7.4: Corner of a Voronoi cell. ℓ is the minimal distance between two non-adjacent edges.

Figure 7 . 8 :

 78 Figure 7.8: Eroded Voronoi cell and a zoom on one of the corners.

Figure 7 . 9 :

 79 Figure 7.9: Illustration of the different encompassing cells around p 0 in the context of an approximate geodesic distance. The RVDs with respect to g and g 0 are respectively traced in red and black. The dilated Voronoi cells are traced in blue and green. The Voronoi cell V g 0 (p 0 ) is colored in yellow. The cells DV +η ′ 0 g 0 and EV -η ′ 0 g 0 are colored in green, and the cells V ±ω ′ 0 g 0 (p 0 ) are colored in purple.

2 c 1 c 2 r 1 r 2 A B Figure 7 . 10 :

 222B710 Figure 7.10: Illustrations for the proof of Lemma 7.4.8

t 1 t 2 Figure 7 . 11 :

 2711 Figure 7.11: The curved Riemannian Delaunay triangles t 1 and t 2 and their respective Delaunay balls.

Theorem 7 . 5 . 3 (

 753 Embedding of the straight Riemannian Delaunay complex) If the curved dual of the Riemannian Voronoi diagram is a triangulation and if the sampling criterion ε is small enough, then the straight dual is also a triangulation.

Figure 7 . 12 :

 712 Figure 7.12: The curved Riemannian Delaunay triangulation is shown in red and the straight Riemannian Delaunay triangulation in black. The geodesic edges p-r and p-q lie in their respective protection tubes (colored in beige) around the straight edges.

Contents 8 . 1 8 . 3 8 . 4 8 . 5 8 . 6 8 . 7

 818384858687 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 8.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2228.2.1 Nerves of the discrete and Riemannian Voronoi diagrams . . . . . . . . . . 223 8.2.2 Embeddability of the curved Riemannian Delaunay triangulations . . . . . 224 8.2.3 Embeddability of the straight Riemannian Delaunay triangulations . . . . 224 8.2.4 Nature of the canvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Equivalence of the nerves of the discrete and Riemannian Voronoi diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 8.3.1 Euclidean metric field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 8.3.2 Uniform metric field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 8.3.3 Arbitrary metric field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 8.3.4 Extension to surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 8.3.5 Approximate geodesic distance computations . . . . . . . . . . . . . . . . . 236 Curved Riemannian Delaunay triangulation . . . . . . . . . . . . . . . 236 Straight realization of the Riemannian Voronoi diagram . . . . . . . 237 8.5.1 Proximity between straight and curved Riemannian simplices . . . . . . . 238 8.5.2 Embeddability of the straight Riemannian Delaunay triangulation . . . . . 240 Construction of power protected nets . . . . . . . . . . . . . . . . . . . 240 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

Figure 8 . 1 :

 81 Figure 8.1: Slice of a three-dimensional discrete Riemannian Voronoi diagram over an isotropic canvas. The discrete cells are drawn on the left, and the geodesic distance maps on the right.

Figure 8 . 2 :

 82 Figure 8.2: Illustration of Sperner's lemma in 2D. The green triangle is colored with all 3 colors.

Figure 8 . 3 :

 83 Figure 8.3: Illustration of the construction of C v . The Riemannian Voronoi diagram is drawn with thick orange edges and the sites are colored squares. The canvas is drawn with thin gray edges and colored circular vertices. The middle frame shows the subdivision of the dual simplex σ v with think black edges and the triangulation T v is drawn in yellow. On the right frame, the set of simplices C v is colored in purple (simplices that do not belong to C) and in dark yellow (simplices that belong to C).

Figure 8 . 4 :

 84 Figure 8.4: Illustration of the barycentric subdivision of an edge, a triangle and a tetrahedron.

Remark 8 . 3 . 3 Figure 8 . 5 :

 83385 Figure 8.5: Subdivision of the facet prs of the tetrahedron pqrs (blue) into 6 triangles (green). Voronoi vertices are indicated with white circles and Voronoi edges are drawn in red.

7

 7

Figure 8 . 7 :

 87 Figure 8.7: The point v ′ can be arbitrarily close to T v , as shown by the red segments (left and center).After piecewise linear deformation, this issue is resolved, as seen by the green segments (right).

Figure 8 . 8 :

 88 Figure 8.8: Deformation of T v that clips a c F (this does not create any issue). Dashed parts show T v before deformation.

3 Figure 8 . 9 :Theorem 8 . 3 . 10

 3898310 Figure 8.9: Limit case of the deformation of T v where the pushing away would create multiple connected components in T v . Instead, we apply different degrees of "pushing" to preserve the isotopy between T v and its deformed version. Theorem 8.3.10 Let P be a finite point set in Ω. Let g be a uniform Riemannian metric field on Ω (∀x ∈ Ω, g(x) = g 0 ). Let C be the canvas, and h C its sizing field. Ifh C < min i

  . . . . . 24 2.10.1 Regular Delaunay triangulation . . . . . . . . . . . . . . . . . . . . . . . . 25 Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.12.2 Protection and power protection of point sets . . . . . . . . . . . . . . . . 27 Unit meshes and distortion . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.11 Restricted Delaunay triangulation . . . . . . . . . . . . . . . . . . . . . 25 2.12 Assumptions on point sets . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.12.1 2.13 Unit mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.13.1

  On the other hand, we have |cc ′ | ≥ δ 2

	4ε by Lemma 3.2.4. Similarly, we
	deduce that β ≤ arcsin ι 2 8 ≤ π 2 . Combining both results, we have π 2

  The separation between the hyperplanes H E and H E provides a lower bound on the distance d E (p, τ ), thus on the height D E (p, σ). We therefore seek to bound d E (H E , H E ).

	B ′+δ,-ψ0
	B ′+ψ0
	B ′-ψ0
	H
	Figure 3.7: Construction and notations used in the proof of Lemma 3.3.6
	While the vertices of τ live on H, Aff E (τ ) is not necessarily orthogonal to [cc ′ ] and consequently
	d E (p, H E ) ≤ d E (p, τ ).
	By definition of the enclosing Euclidean balls, we have that

Table 4 .

 4 1: Influence of cleaning on the computational time. The final mesh has 22731 vertices.

	Cleaning every	1	5	10	50	75	100
	Time (s)	617.86 593.80 544.23 556.49 572.33 588.49
	Cleaning every	250	500	1000	5000	10000	20000
	Time (s)	595.14 599.39 615.86 648.98 705.17 1060.69

Table 4 .

 4 2: Comparison of the number of vertices and quality of the mesh for different values of δ.

	δ	0.1	0.2	0.3	0.4	0.5	0.6	0.7	0.8	0.9	1.0
	Points	1173	734	497	364	356	368	427	490	678	720
	PV success	345	204	146	92	95	118	148	194	310	354
	PV failures	635	386	231	161	158	156	177	178	234	228
	Quality (min) Quality (max) 0.993 0.989 0.976 0.980 0.984 0.986 0.975 0.980 0.987 0.05 0.02 0.01 0.03 0.03 0.02 0.04 0.08 0.001 2 × 10 -3 0.993
	Quality (avg) 0.703 0.704 0.684 0.678 0.648 0.631 0.610 0.600 0.566	0.549

  Pick_valid algorithm Let number_of _tries = 0 if ψ(τ ) > ψ 0 then Return c p (τ ) while number_of _tries < N t do Pick randomly a point p in the picking region P p (τ ) if p encroaches a lower mesher level then Continue if p is valid then Return p. if τ is not the last element in the queue AND τ has not already failed a pick valid test then Move τ to the bottom of the queue Try to refine the next element of the queue else Return c p (τ )

Table 4 . 3 :

 43 Effectiveness of the modified Pick_valid algorithm. "OPV" stands for Origin Pick_valid and "NPV" for New Pick_valid.

	Tries	1	15	30	60	125	250	500	1000	2000
	Points (OPV)	6396	1594	1167	823	640	575	452	481	397
	Calls of PV	6380	1578	1151	807	624	559	436	465	381
	Time in PV	59.38	32.18	34.03 36.624	44.11	80.69 117.32	244.11 370.80
	Total Time	154.20 42.173 40.84	41.06	46.58	82.81 118.84	245.76 372.12
	Points (NPV)	1774	585	562	452	391	319	338	234	245
	Calls of PV	20730	4933	4607	3606	3144	2552	2940	1636	1842
	Rejections	14972	4364	4061	3170	2767	2249	2618	1418	1612
	Time in PV	46.96 65.773 120.47 183.49 317.82 499.7 1144.43 1166.25 1216.3
	Time Updating	0.02	0.01	0.01	0.01	0.01	0	0	0	0
	Total Time	61.14	67.98 122.68 185.41 319.042 500.7 1145.48 1166.81 1216.7

Table 4 . 5

 45

		ℓ min	ℓ avg	ℓ max ψ min ψ avg α min α avg	Q min	Q avg
	Square (Sw) Square (St)	6.1 × 10 -5 0.04	0.08 0.27	1.38 1.8	1 1	1.19 10.92 41.35 1.20 10.78 26.99	0.27 0.31	0.76 0.77
	Square (Hy) Fertility (Cu)	5 × 10 -4 0.01	0.03 0.50	0.06 1.9	1 1.02 1.82 1.17 39.92 1.07 12.56 45.50	0.31 0.03	0.80 0.69
	Oni (Cu) Oni (Smooth-Cu) 3.2 × 10 -3 1.2 × 10 -4 5 × 10 -3 0.97 0.04 1.49 1.01 1.39 1.61 41.91 1 1.42 0.26 18.78 4 × 10 -2 0.74 0.05 0.77 Cube 3D (UD) 0.03 0.13 1.01 1 1.08 1.89 43.15 3 × 10 -3 0.73 Oni 3D (Hy) 0.02 0.32 1.96 1 1.08 1.8 42.7 2 × 10 -3 0.73 Fandisk 3D (Ra) 1.8 × 10 -5 0.01 0.07 1 1.03 1.25 40.1 0 0.71

: Statistics on the results shown in the previous sections. The following metric fields are used: Swirl (Sw), Starred (St), Hyperbolic shock (Hy), Curvature (Cu), Smoothed curvature (Sm-Cu) (detailed later), Unidimensional shock (UD) and Radial shock with a maximal anisotropy of 3 (Ra). Definitions can be found in Appendix A.

Table 6 .

 6 1: Statistics on the results shown in the previous sections and comparisons with previous results obtained in Table4.5 (indicated by "LU"). The following metric fields are used: Swirl (Sw), Starred (St), Hyperbolic shock (Hy), Curvature (Cu) (detailed later), Unidimensional shock (UD). Definitions can be found in Appendix A.

		ℓ min	ℓ avg ℓ max ψ min ψ avg α min α avg	Q min	Q avg
	Square (Sw) -LU Square (Sw)	6.1 × 10 -5 0.08 1.38 0.89 1.58 3.25	1 1	1.19 10.92 41.35 1.25 7.2 44.23	0.27 0.15	0.76 0.80
	Square (Hy) -LU Square (Hy)	5 × 10 -4 0.64	0.03 0.06 0.93 1.67	1 1	1.07 12.56 45.50 1.25 9.78 46.3	0.31 0.16	0.80 0.82
	Fertility (Cu) -LU	0.01	0.50 1.9	1.02 1.82 1.17 39.92	0.03	0.69
	Fertility (Cu)	0.18	0.75 6.9	1	1.61 2.17	42	0.02	0.74
	Cube 3D (UD) -LU Cube 3D (UD)	0.03 0.32	0.13 1.01 0.65 1.56	1 1	1.08 1.89 43.15 3 × 10 -3 0.73 1.44 0.1 36.86 2 × 10 -3 0.67

Straight realization of the Riemannian Voronoi diagram . . . . . . . 7.6 Construction of power protected nets

  7.2.1 Equivalence of the nerves of the discrete Riemannian Voronoi diagram and the Riemannian Voronoi diagram . . . . . . . . . . . . . . . . . . . . . . . Nature of the canvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Euclidean metric field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.2 Uniform metric field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.3 Arbitrary metric field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.4 Extension to surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.5 Approximate geodesic distance computations . . . . . . . . . . . . . . . . .

	7.2.2 Embeddability of the curved Riemannian Delaunay triangulations . . . . .
	7.2.3 Embeddability of the straight Riemannian Delaunay triangulations . . . .
	7.2.4 7.3 Equivalence of the nerves of the discrete and Riemannian Voronoi
	diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
	7.3.1 7.4 Curved Riemannian Delaunay triangulation . . . . . . . . . . . . . . .
	7.5

. . . . . . . . . . . . . . . . . . . 7.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

  This equivalence is only combinatorial: the nerve of a Voronoi diagram being a set of sets of Voronoi cells, it is impossible for both nerves to be equal since the Voronoi cells of the same seed is different in each diagram. However, there is a natural equivalence between a set {V g (p i )} and a set {V d g (p i )} (where V d g (p i ) is the cell of p i in the discrete Voronoi diagram, see Definition 6.1.2 in Chapter III.6) of the same seeds. For this reason, we use the ∼ = notation.

	Remark 7.2.1

  3.1. Assume that P is a δ-power protected (ε, µ)-net of R 2 with respect to g E . Denote by C the canvas, a Delaunay triangulation of R 2 , with sizing field h C . If Assume that P is a δ-power protected (ε, µ)-net of R 2 with respect to the Euclidean metric field g E . Consider a seed p 0 ∈ P and let V E (p 0 ) be its corresponding Voronoi cell in Vor E (P).Observe that, Lemma 7.3.2, by preventing canvas simplices from capturing combinatorial information that is not in N (Vor E (P)), ensures that for every element (a set of Voronoi cells) in N (Vor d E (P)) there exists a combinatorial equivalent in N (Vor E (P)). Conversely, Lemma 7.3.3 ensures that for every element in N (Vor E (P)), there exists a combinatorial equivalent in N (Vor d E (P)) since every Voronoi vertex of Vor E (P) is witnessed by the canvas (the contrapositive). Their combination therefore proves Theorem 7.3.1.The rest of this section is dedicated to proving Lemmas 7.3.2 and 7.3.3; we start by proving the former.

	Theorem 7.3.1 h C <	δ 2 µ 8ε 2 1 -	µ 2ε	2	,
	then	N (Vor d g (P)) ∼ = N (Vor g (P))
	.
	Lemmas 7.3.2 and 7.3.3 are intermediary results used to prove Theorem 7.3.1, which correspond
	nicely to Conditions (1) and (2).
	Lemma 7.3.2 If
		h C <	δ 2 µ 8ε 2 1 -	µ 2ε
	If
		h C <	δ 2 µ 8ε 2 1 -	µ 2ε

2

, then no edge of C intersects two non-adjacent Voronoi faces of V E (p 0 ). Lemma 7.3.3 Assume that P is a δ-power protected (ε, µ)-net of R 2 with respect to the Euclidean metric field g E . Consider a seed p 0 ∈ P and let V E (p 0 ) be its corresponding Voronoi cell in Vor E (P). 2 , then every Voronoi vertex of V E (p 0 ) is witnessed by a canvas simplex.

  Recall that x g is the point where the functionalE λ (x) = d g (x, p i ) 2attains its minimum.Using the bounds above, we find that δd 2 g (x, p i ),where i λ i δd 2 g (x, p i ) ≤ 4 3 (ψ 0 -1)ε 2 . We also see that |x gp i | 2 ≤ 4 3 (ψ 0 -1)ε 2 . 238 8.5. Straight realization of the Riemannian Voronoi diagramTaking f ′ to be i λ i d g (x g , p i ) 2 in the explanation above, we find thati λ i d g (x g , p i ) 2 -≤ 4 3 (ψ 0 -1)ε 2 ,because the Euclidean barycenter x e = i λ i p i is where the function i λ i |x gp i | 2 attains its minimum. Combining these results yieldsi λ i |x gp i | 2 -

					2
	i	λ i	j	λ j v j -p i
				2
	i	λ i	j	λ j v j -p i	≤ 2 • 4 3 (ψ 0 -1)ε 2 .	(8.4)

y) = |x -y| + δd g (x, y), with |δd g (x, y)| ≤ (ψ 0 -1) |x -y|. If we assume that |x -y| ≤ 4ε and ψ 0 ≤ 2, it follows that

d g (x, y) 2 = |x -y| 2 + δd 2 g (x, y), with δd 2 g (x, y) ≤ 4 3 (ψ 0 -1)ε 2 . i λ i i λ i d g (x, p i ) 2 = i λ i |xp i | 2 + i λ i i λ i d g (x g , p i ) 2i λ i

Remark 8.3.[START_REF] Bentley | Multidimensional binary search trees used for associative searching[END_REF] We here ignore the consequences of Remark 8.3.1 as they just complicate formulas without changing the logical steps.

Acknowledgments Acknowledgment

The use of Sperner's lemma was suggested by Ramsay Dyer.

Voronoi and Delaunay

N (C)

Nerve of a covering C K Simplicial complex

Vor d (P) Voronoi diagram of P using the distance d

Vor g (P)

Riemannian Voronoi diagram of P with respect to g

Vor d g (P) Discrete Riemannian Voronoi diagram of P with respect to g Del(P) Abstract Delaunay complex of the point set P Del G (P) Delaunay complex of the point set P with respect to G Del g 0 (P) Delaunay complex of the point set P with respect to g 0 (uniform metric field)

Del ω (P)

We approach the Riemannian Voronoi diagram and its dual with a focus on both practicality and theoretical robustness and introduce an algorithm to compute a discrete Riemannian Voronoi diagram. The idea of building Voronoi diagrams in a discrete manner has been studied before in the isotropic setting by Hoff [START_REF] Hoff | Fast computation of generalized Voronoi diagrams using graphics hardware[END_REF]. Cao et al. [START_REF] Cao | Proof of correctness of the digital Delaunay triangulation algorithm[END_REF] studied the digital Voronoi diagram, a discrete structure diagram obtained by flooding from the seed and proved that they obtain a geometrically and topologically correct dual. Their work is however limited to the 2D isotropic setting.

The theoretical study of the algorithm will be the topic of Chapters III.7 and III.8.

Contributions

This chapter presents a first step towards practical Riemannian Voronoi diagrams.

We introduce a novel structure to approximate Riemannian Voronoi diagrams, along with a refinement algorithm that is generic with respect to the choice of the method used to compute geodesic distances. We obtain a significant speed up over standard geodesic distance computations by using locally uniform anisotropic meshes (presented in Chapter I.4) as the underlying structure upon which geodesic distances are computed. Additionally, our method produces meshes that do not suffer from the overrefinement that was observed in Chapters I. 4 and II.5. Consequently, we obtain thus an algorithm that produces good results (albeit with some other defaults) and is provable, as shall be seen in Chapters III. [START_REF] Alliez | 3D fast intersection and distance computation (AABB tree)[END_REF] and III.8. The structure and the implementation are described and the practicality is investigated.

Contents

• a distance: the current smallest geodesic distance to a seed (initialized at ∞),

• a status: known, trial or far (initialized at far),

The initialization of the canvas is described in Algorithm 15. It is assumed that the canvas is sufficiently dense for multiple seeds to not fall within the same canvas simplex.

done by locating each seed on the canvas, that is Algorithm 15 Initialization of the canvas for each seed s i ∈ P do Find a canvas simplex σ C which contains the seed for each vertex pof σ C do Set the status of p to trial Set the color to the color of the seed s i Set the distance to the distance to the seed Remark 6.1.1 If a seed belongs to the boundary of the domain, it is possible that the seed does not fall within an interior canvas simplex. In this case, it will nevertheless fall within a surface Delaunay ball and the canvas simplex whose surface Delaunay ball contains the seed is chosen as the canvas simplex that "contains" the seed.

Propagation

Colors are spread from the vertices of the canvas simplices that were initialized to the rest of the canvas through simultaneous front propagations. For this purpose, trial canvas vertices are kept in a priority queue R that is sorted by increasing distance to the vertex's closest seed. At each iteration, the vertex v with lowest distance to a seed p is removed from the queue and its status is changed to known. For each neighbor n of v whose status is not known, the distance d to the seed p is evaluated. If d is smaller than the current distance d old between n and its current closest seed p old , the fields of n are modified accordingly (the status becomes trial, the color that of p, the distance is set to d), and the priority queue R is updated. The full procedure is detailed in Algorithm 16.

Algorithm 16

Anisotropic canvasses

To illustrate the reasoning behind our approach, let us consider a short thought experiment. Assume that a number of consecutive canvas edges form a line in the domain; if the metric were constant along this line, the accuracy of the computation of the geodesic distance would not be improved by a larger number of (smaller) edges. Extrapolating from that simple example, one can intuit that it is not ideal to use an isotropic discretization of the domain as canvas: directions in which the metric field does not vary much could be discretized only sparsely -as long as the canvas honors other constraints (detailed in the bullet points above). In other words, one would rather use an anisotropic canvas. Unfortunately, an anisotropic mesh is exactly what we want to construct.

Salvation comes from the fact that for most geodesic computation methods, a triangulation of the domain is used as canvas but is in fact not necessary: a graph is sufficient. Even better, the embedding of the graph is not required. Both these observations mean that we can use inconsistent star sets obtained from locally uniform anisotropic meshes -a concept introduced and discussed extensively in Chapter I.4 -to construct easily such (anisotropic) graphs. We briefly recall in the next section the framework of locally uniform anisotropic meshes.

Locally uniform anisotropic meshes

The framework of locally uniform anisotropic meshes, introduced by Boissonnat, Wormser, and Yvinec [START_REF] Boissonnat | Locally uniform anisotropic meshing[END_REF], and studied in Chapter I.4, is an attempt at extending the concept of Delaunay triangulation to non-Euclidean settings by computing independently at each vertex its connectivity to other vertices. The algorithm constructs at every vertex p ∈ P the Delaunay triangulation in the metric G p of p, which is the image through the stretching transformation F -1 p of the Euclidean Delaunay triangulation Del(F p (P)), with F p a square root of G p . The star S p of p in Del p (P) is the subcomplex of Del p (P) formed by the simplices that are incident to p. The collection of all the stars is called the (anisotropic) star set of P, noted S(P).

Since the connectivity of each star is set according to the metric at the center of the star, inconsistencies may exist amongst the stars of the sites: a simplex σ that appears in Del p (P) might not appear in Del q (P) with p, q ∈ σ. The algorithm refines the set of sites P until each simplex conforms to a set of a criteria (size, quality, etc.) and there are no more inconsistencies amongst the stars, which is proven to happen.

Unfortunately, the algorithm requires in practice a large number of vertices to solve inconsistencies when dealing with non-uniform metric fields, making it impractical (see Section 4.8 of Chapter I.4). Figure 6.5 shows an example of metric field for which the resolution of inconsistencies is difficult. The algorithm required 4430 vertices to achieve consistency, a number considerably higher than our method, as can be seen on the results produced in Section 6.4.

Anisotropic star set canvasses

Despite the generation of locally uniform anisotropic meshes not being competitive, a graph can be obtained by merging the stars and extracting the 1-dimensional skeleton. Due to the potential presence of inconsistencies in a star set, this graph is not necessarily embedded: the edges of the graph do not necessarily only intersect at endpoints. Nevertheless, it can be used to compute geodesic distances and we are thus able to follow exactly the same algorithm as for the case of an isotropic canvas (Algorithm 16): the seeds are located on the canvas, the vertices of a star set are colored by spreading from the seeds, and the discrete Voronoi diagram is eventually obtained. Although a star set can be created using an isotropic metric field, the advantage of this type of canvasses will come

Approach

We obtain the equivalence of the nerves incrementally, observing that a manifold with an arbitrary metric field is locally well approximated by a flat domain with a uniform metric field, which is only a linear transformation away from considering the Euclidean metric field. In this simpler setting, sufficient conditions to obtain the equivalence of the nerves are exposed (Theorem 7.3.1) using the separation of the Voronoi vertices induced by the power protected net hypothesis. These conditions are finally pulled back to the general setting, and the equivalence of the nerves for an arbitrary 2-manifold endowed with an arbitrary Lipschitz-continuous metric field is shown in Section 7.3.3.

Embeddability of the curved Riemannian Delaunay triangulations

Once it is proven that our discrete diagram has the same combinatorial structure as the Riemannian Voronoi diagram, we can simply build upon known results that have been introduced on the Riemannian Voronoi diagram and the curved Riemannian Delaunay triangulation. We show that, under sufficient conditions, the dual of the Riemannian Voronoi diagram -and thus of our discrete diagram, assuming that sufficient conditions are satisfied -can be embedded as a triangulation (mesh) of the point set, with edges drawn as geodesic arcs (Section 7.4). Although the results we use on the embeddability of the curved Riemannian Delaunay triangulation are known, our approach and proofs are based on Whitney's lemma instead of Edelsbrunner and Shah's closed ball property [START_REF] Edelsbrunner | Triangulating topological spaces[END_REF]. The main result is given in Theorem 7.4.18.

Embeddability of the straight Riemannian Delaunay triangulations

The last part of the chapter is devoted to exposing requirements such that the straight dual of a Riemannian Voronoi diagram is a triangulation. We assume that conditions are met for the curved Riemannian Delaunay triangulation to be embedded and give conditions such that "straightening" the curved simplices into straight simplices does not produce any inversion.

The key intermediary result is the computation of a bound on the distance between a point on a geodesic edge and its equivalent on the straightened edge. This bound depends on the quality of the seed set and on the local distortion of the metric field and is computed in Section 7.5. With the knowledge of this bound, we encompass the geodesic edges within "tubes" (in beige in Figure 7.3). These tubes can be shown to not cover simplices entirely, thus proving that no inversion appear when deforming the curved Riemannian Delaunay triangulation into a straight Riemannian Delaunay triangulation (Theorem 7.5.3).

Nature of the canvas

To simplify computations, we assume in this chapter that the canvas is an isotropic Delaunay triangulation of the domain. We further assume that this triangulation is generated through a Delaunay refinement algorithm driven by a uniform sizing field h C that bounds the circumradius of Delaunay simplices. This assumption does not reduce the genericity of the approach: these proofs can be easily extended to star set canvasses as a star set canvas eventually becomes a consistent triangulation using well-chosen canvas vertices (see Chapter I.4).

As the canvas C is an isotropic Delaunay mesh driven by a sizing field h C that bounds the length of the circumradius of a Delaunay simplex, if C honors a uniform sizing field h C , all the canvas edges e in C have length |e| < 2h C . Thus if h C < ℓ m /2, then no edge crosses two non-adjacent Voronoi edges. This ensures that for all D ∈ N (Vor d E (P)), there exists D ′ ∈ N (Vor E (P)) with the same combinatorial information, which proves Lemma 7.3.2.

Proof of Lemma 7.3.3

We now prove Lemma 7.3.3, that is, if h C is small enough then every Voronoi vertex is witnessed by a at least one canvas simplex.

Since C is a partition of the domain Ω ⊂ R 2 , every Voronoi vertex of Vor E (P) is located in a maximal canvas simplex σ C,i ∈ C.

Remark 7.3.5 A Voronoi vertex v i might be located on a canvas edge (or even a canvas vertex) and belong to more than one canvas simplex. This does not create any issue in the following proofs, and when we refer to the canvas simplex that contains v i , any canvas simplex that contains the Voronoi vertex can be arbitrarily -but consistently -chosen.

If the canvas is not dense enough, multiple Voronoi vertices might share a canvas simplex, which is troublesome. Additionally, even if there are no two Voronoi vertices in the same canvas simplex, the canvas simplex σ C,i in which v i is located might not witness v i . This happens when a canvas edge crosses over two adjacent Voronoi edges, which is not prevented by Lemma 7.3.2. This geometric configuration is illustrated in Figure 7.5. The following lemmas prove that these two issues do not appear when the canvas is dense enough. This implies immediately that if P is a δ-power protected (ε, µ)-net on M with respect to g then P Up is a δ-power protected (ε, µ)-net on U p . We have thus a metric on a subset of a two-dimensional space, in this case the tangent space, giving us a setting that we have already solved.

v v v

It is left to translate the sizing field requirement from the tangent plane to the manifold M itself. Note that the transformation π p is completely independent of g. Boissonnat et al. [START_REF] Boissonnat | Constructing intrinsic Delaunay triangulations of submanifolds[END_REF]Lemma 3.7] give bounds on the metric distortion of the projection on the tangent space. This result allows to carry the canvas sizing field requirement from the tangent space to M.

Approximate geodesic distance computations

We have so far assumed that geodesics are computed exactly, which is generally not the case in practice. Nevertheless, once the error in the approximation of the geodesic distances is small enough, the computation of the discrete Riemannian Voronoi diagram with approximate geodesic distances can be equivalently seen as the computation of a second discrete Riemannian Voronoi diagram using exact geodesic distances but for a slightly different metric field.

Denote by d g the geodesic approximation and d g the exact geodesic distance with respect to the metric field g. Assume that in a small enough neighborhood U (see Lemma 3.1.4 in Chapter 3), the distances can be related as

where ξ is a function of x that goes to 0 as the sampling parameter ε goes to 0. We can formulate a lemma similar to Lemma 3.4.5 in Chapter 3 to bound the distance between the same bisectors between seeds for the exact and the approximate diagrams.

Lemma 7.3.14 Let ψ 0 ≥ 1 be a bound on the metric distortion and g and g ′ be two Riemannian metric fields on U . Let U be an open neighborhood of Ω = R 2 that is included in a ball B g (p 0 , r 0 ), with p 0 ∈ U and r 0 ∈ R + such that ∀p ∈ B(p 0 , r 0 ), ψ(g(p), g ′ (p)) ≤ ψ 0 . Let P U = {p i } be a finite point set in U and let p 0 ∈ P U . Let V p 0 ,g denote a Voronoi cell with respect to the approximate geodesic distance.

Suppose that the Voronoi cell V +2ξ ρ g (p 0 ) lies in a ball of radius ρ with respect to the metric g, which lies completely in U . Then V p 0 ,g lies in V +2ξ ρ g (p 0 ) and contains V -2ξ ρ g (p 0 ).

Proof. Let BS g (p 0 , p i ) be the bisector between p 0 and p i with respect to the approximate geodesic distance. Let y ∈ BS g (p 0 , p i ) ∩ B g (p 0 , ρ), where B g (p 0 , ρ) denotes the ball centered at p 0 of radius ρ with respect to the exact geodesic distance. Now d g (y, p 0 ) = d g (y, p i ), and thus 2 ω with ω = 2ξ ρ2 , which gives us the expected result.

Denote by V (p 0 ) the Voronoi cell of p 0 with the approximate metric. We can then incorporate Lemma 7.3.14 to obtain a result similar to Lemma 3.4.12.

For each simplex σ in the Delaunay complex, we consider its curved realization (see Section 2.9 in Chapter 2 for the exact definition). As in the work of Dyer [START_REF] Dyer | Riemannian simplices and triangulations[END_REF], we can define the non-degeneracy of a geometric simplex as follows Definition 7.4.1 The curved realization of a Delaunay simplex, σ, is said to be non-degenerate if, and only if, it is homeomorphic to ψ, where ψ n is the n-dimensional standard simplex with coordinates λ = (λ i ), that is

We are interested in conditions that guarantee that the curved realization of the Delaunay complex gives a homeomorphism between the Delaunay complex Del and the manifold M. The homeomorphism is in fact a piecewise smooth homeomorphism where the homeomorphism per simplex σ is given by the maps B σ . It is of course necessary that all simplices σ in the complex are non-degenerate.

We first recall some definitions: Definition 7.4.2 A mapping f of an oriented simplicial complex K that is a n-manifold (with boundary), into Euclidean space E n endowed with an orientation, is called simplex-wise positive if for each top dimensional simplex σ n i , f is smooth and bijective in σ n i (the partial derivatives being continuous on the boundary), as well as orientation preserving. For any simplicial complex L, let L k , or (L) k , denote the subcomplex containing all cells of L of dimension ≤ k. With f in K as above, any point q of E n \ f (K n-1 ) is in the image of a certain number of h of n-simplices of K; we say that q is covered h times.

Lemma 7.4.3 (Whitney's lemma [139]) Let f be simplex-wise positive in K. Then for any con

We recall some definitions and a lemma introduced by Leibon [START_REF] Leibon | Random Delaunay triangulations, the Thurston-Andreev theorem, and metric uniformization[END_REF] and Dyer [START_REF] Dyer | An investigation of the spectral robustness of mesh Laplacians[END_REF].

Definition 7.4.4 (Strong convexity radius)

A geodesic disk B r (x) centered at x on a Riemannian surface is called strongly convex if for any two point in the closed disk Br (x) there is exists a unique minimizing geodesic connecting these points which lies in the interior of B r (x). The strong convexity radius is the largest radius for which the disk is strongly convex.

We have the following bound on the convexity radius by Chavel [41, Theorem IX.6.1]: Lemma 7.4.5 Suppose the sectional curvatures of M are bounded by K ≤ Λ + , and i M is the injectivity radius. If Proof. Assume that that V p and V q are the Voronoi cells that share a Voronoi face. Call γ pq,E the extended geodesic between p and q in a disk centered on p of radius less than the convexity radius.

The geodesic γ pq,E can be subdivided into three parts, namely the geodesic γ pq between p and q and the two connected components of γ pq,E \ γ pq = γ pq,Ep ∪ γ pq,Eq , with p ∈ γ pq,Ep and q ∈ γ pq,Eq . It is clear that every point in γ pq,Ep is closer to p than q. The limit we have placed on the size of the Voronoi cell now implies that the intersection of V p and V q consists of segments curves. Furthermore, every Delaunay edge lies in at least one Delaunay triangle. Consider now one of the segments of the curves. Suppose that the end points of this segment consist of intersection points between the same three Voronoi cells. We can now consider the Delaunay balls centered at the end points and we find two Delaunay balls intersecting in three points, which contradicts the pseudo-ball property. Therefore, every Delaunay edge is shared by at least two Delaunay triangles.

Lemma 7.4. [START_REF] Boissonnat | Comparison of algorithms for anisotropic meshing and adaptive refinement[END_REF] Under the same conditions as Lemma 7.4.15, the Delaunay complex is a topological two-manifold at every vertex.

Proof.

We consider an arbitrary vertex p i . The vertex p i can not be disconnected, because there exists by compactness at least one vertex p j for which the distance between p i and the other vertices is minimized. Therefore p i and p j share a Delaunay edge. By Lemmas 7.4.15 and 7.4.9, this edge lies in two triangles whose interiors do not intersect. These triangles cannot share another edge or they would coincide. By induction over a finite (due to compactness) number of triangles, we find the star of the vertex. No overlaps can take place because of Lemma 7.4.10.

We now have the following: Corollary 7.4.17 Under the same conditions as Lemma 7.4.15, the Delaunay complex is a topological two manifold.

With this result, we are now able to state the following: Theorem 7.4.18 Let V {p i } be the Riemannian Voronoi diagram of the point set {p i } on an oriented Riemannian surface M. Suppose that no three vertices lie on a geodesic. Assume that all Voronoi cells V p i lie within balls of radius less than a sixth of the convexity radius. Then the curved realization of the Delaunay complex induces a piecewise smooth homeomorphism from the Delaunay complex to the surface M.

Proof. We are going to apply Whitney's lemma (see Lemma 7.4.3). Because we assume that no three vertices lie on a geodesic, the curved realizations of two dimensional simplices are non-degenerate, that is diffeomorphisms. Due to Corollary 7.4.9, we can assume that two triangles that share an edge have compatible orientation. This means that the curved realization of the Delaunay complex Del induces a simplex-wise positive map, which we shall call f . We now intersect the surface at an arbitrary point with a geodesic disk of radius 1ε times the convexity radius and remove all simplices that do not completely lie in the intersection. The resulting complex is a subcomplex of the Delaunay complex and has a boundary (which may have

Nature of the canvas

To simplify computations, we assume (as in Chapter III.7) that the canvas is an isotropic Delaunay triangulation of the domain. This triangulation is further assumed to be generated through a Delaunay refinement algorithm driven by a uniform sizing field h C that bounds the circumradius of Delaunay simplices. This assumption does not reduce the genericity of the approach: these proofs can be easily extended to star set canvasses as a star set canvas eventually becomes a consistent triangulation when well-chosen vertices are inserted (see Chapter I.4).

Equivalence of the nerves of the discrete and Riemannian Voronoi diagrams

This section is devoted to proving the combinatorial equivalence between the nerves of the discrete and Riemannian Voronoi diagrams: under sufficient conditions on the density of the canvas, we have N (Vor d g (P)) ∼ = N (Vor g (P)). To simplify matters, we initially assume that geodesic distances are computed exactly on the canvas.

Euclidean metric field

We first consider the simplest setting of a flat domain of dimension n endowed with the Euclidean metric field. The following theorem gives the sufficient conditions that we seek. We shall prove this theorem by enforcing Conditions (1) and (2). Rephrasing the first condition, we seek requirements on the density of the canvas C and the nature of the point set such that there exists at least one (maximal) canvas simplex of C that has exactly the colors c 0 , . . . , c d of the cells in D = {V g (p i )}, for all D ∈ N (Vor E (P)) with |D| = n + 1. As explained in the overview, the core of our proof is a combinatorial result by Sperner [START_REF] Sperner | Fifty years of further development of a combinatorial lemma. Numerical solution of highly nonlinear problems[END_REF], which we recall below and illustrate on Figure 8.2. Theorem 8.3.2 (Sperner's lemma) Let σ = (e 0 , . . . , e n ) be an n-simplex and let T σ denote a triangulation of the simplex. Let each vertex e ′ ∈ T σ be colored such that the following conditions are satisfied:

• The vertices e i of σ all have different colors.

• If e ′ lies on a k-face (e i 0 , . . . e i k ) of σ, then e ′ has the same color as one of the vertices of the face, that is e i j .

Then, there exists an odd number of simplices in T σ whose vertices are colored with all n + 1 colors. In particular, there must be at least one. Observe that this is indeed the case in Figure 8.6: in 2D, Σ v,0 has 6 triangles, and, in 3D, Σ v,0 has 24 tetrahedra (there are 6 triangles per combinatorial face and each triangle makes a tetrahedron with c).

T v as a triangulation of an n-simplex By construction, the triangulation T v is a triangulation of the (Euclidean) Delaunay simplex σ v dual of v as follows. We first perform the standard barycentric subdivision on this Delaunay simplex σ v . We then map the barycenter of a k-face τ v of σ v to the point c F i on the Voronoi face F i , where F i is the Voronoi dual of the k-face τ v . This gives a piecewise linear homeomorphism from the Delaunay simplex σ v to the triangulation T v . We call the image of this map the simplex σ S and refer to the images of the faces of the Delaunay simplex as the faces of σ S . We can now apply Sperner's lemma.

Lemma 8.3.5 Let P be a point set. Let v be a Voronoi vertex in the Euclidean Voronoi diagram,

Vor E (P), and let Σ v be defined as above. The simplex σ S and the triangulation T v satisfy the assumptions of Sperner's lemma in dimension n.

Proof.

By the piecewise linear map that we have described above, T v is a triangulation of the simplex σ S . Because by construction the vertices c F i lie on the Voronoi duals F i of the corresponding Delaunay face τ v , c F i has the one of the colors of of the Delaunay vertices of τ v . Therefore, σ S satisfies the assumptions of Sperner's lemma and there exists an n-simplex in T v that witnesses v and its dual simplex σ v .

Building the triangulation C v

Let p i be the vertices of the k-face τ S of σ S . In this section we shall assume not only that τ S is contained in the union of the Voronoi cells of V (p i ), but in fact that τ S is a distance 8e C removed from the boundary of ∪V (p i ), where e C is the longest edge length of a simplex in the canvas.

We will now construct a triangulation C v of σ S such that:

• σ S and its triangulation C v satisfies the conditions of Sperner's lemma,

• the simplices of C v that have no vertex that lies on the boundary ∂σ S are simplices of the canvas C.

The construction goes as follows: We first intersect the canvas C with σ S and consider the canvas simplices σ C,i such that the intersection of σ S and σ C,i in non-empty. These simplices σ C,i can be subdivided into two sets, namely those that lie entirely in the interior of σ S , which we denote by σ int C,i , and those that intersect the boundary, denoted by σ ∂ C,i . The simplices σ int C,i are added to the set C v . We intersect the simplices σ ∂ C,i with σ S and triangulate the intersection. Note that σ ∂ C,i ∩ σ S is a convex polyhedron and thus triangulating it is not a difficult task. The vertices of the simplices in the triangulation of σ ∂ C,i ∩ σ S are colored according to which Voronoi cell they belong to. Finally, the simplices in the triangulation of σ ∂ C,i ∩ σ S are added to the set C v .

Since T v is a triangulation of σ S , the set C v is by construction also a triangulation of σ S . This triangulation trivially gives a triangulation of the faces τ S . Because we assume that τ S is contained in the union of its Voronoi cells, with a margin of 8e C we now can draw two important conclusions:

• The vertices of the triangulation of each face τ S have the colors of the vertices p i of τ S .

• None of the simplices in the triangulation of σ ∂ C,i ∩ σ S can have n + 1 colors, because every such simplex must be close to one face τ S , which means that it must be contained in the union of the Voronoi cells V (p i ) of the vertices of τ S .

We can now invoke Sperner's lemma; C v is a triangulation of the simplex σ S whose every face has been colored with the appropriate colors (since σ S triangulated by T v satisfies the assumptions of Sperner's lemma, see Lemma 8.3.5). This means that there is a simplex C v that is colored with n + 1 colors. Because of our second observation above, the simplex with these n + 1 colors must lie in the interior of σ S and is thus a canvas simplex.

We summarize by the following lemma: Lemma 8.3.6 If every face τ S of σ S with vertices p i is at distance 8e C from the boundary of the union of its Voronoi cells ∂(∪V (p i )), then there exists a canvas simplex in C v such that it is colored with the same vertices as the vertices of σ S .

The key task that we have now is to guarantee that faces τ S indeed lie well inside of the union of the appropriate Voronoi regions. This requires first and foremost power protection. Indeed, if a point set is power protected, the distance between a Voronoi vertex c and the Voronoi faces that are not incident to c, which we will refer to from now on as foreign Voronoi faces, can be bounded, as shown in the following Lemma: Definition 8.4.1 The curved realization of a Delaunay simplex, σ, is said to be non-degenerate if, and only if, it is homeomorphic to φ n .

The following theorem gives conditions such that simplices are non-degenerate. Theorem 8.4.2 (Non-degeneracy criteria) Suppose that M is a Riemannian manifold with sectional curvatures K bounded by |K| ≤ Λ, and σ M is a curved Riemannian simplex, with σ M ⊂ B ρ ⊂ M, where B ρ is an open geodesic ball of radius ρ, with

Then σ M is non-degenerate if there is a point p ∈ B ρ such that the lifted Euclidean simplex σ(p) has thickness satisfying

where L(σ M ) is the geodesic length of the longest edge in σ M .

This can then be extended to a domain-wide result with the following definition and theorem.

Definition 8.4.3 If p is a vertex in an abstract simplicial complex A, we define the star of p to be the subcomplex S(p) of A consisting of all simplices that contain p, together with the faces of these simplices. The underlying topological space (or carrier) of a complex A is denoted |A|. We say that S(p) is a full star if |S p| is a closed topological ball of dimension n with p in its interior, and A contains no simplices of dimension greater than n.

Theorem 8.4.4 (Triangulation criteria) Suppose M is a compact n-dimensional Riemannian manifold with sectional curvatures K bounded by |K| ≤ Λ, and A is an abstract simplicial complex with finite vertex set S ⊂ M. Define a quality parameter t 0 > 0, and let

If,

• for every p ∈ S, the vertices of St(p) are contained in B M (p; h), and the balls {B M (p; h)} pS cover M,

• for every p ∈ S, the restriction of the inverse of the exponential map exp -1 p to the vertices of St(p) ⊂ A defines a piecewise linear embedding of |St(p)| into T p M, realizing St(p) as a full star such that every simplex σ(p) has thickness t(σ(p)) ≥ t 0 , then A triangulates M, and the triangulation is given by the barycentric coordinate map on each simplex.

Straight realization of the Riemannian Voronoi diagram

An anisotropic simplicial complex with straight simplices is usually desired for practical applications. Starting from the curved Riemannian Delaunay triangulation, we give conditions such that "straightening" the geodesic edges of the curved Riemannian Delaunay triangulation preserves the property of being an embedded dual.

A. Metrics

This appendix details the analytical expressions or methods used to compute the metric fields used in this work.

A.1 Size of a metric

As explained in Section 2.13 of Chapter 2, the metric field can be seen as directly encoding a sizing field in the amplitude of its eigenvalues. We detail below the various metric fields that we consider in this thesis. All these metric fields are computed by detailing the eigenvectors and the eigenvalues of the matrix at a point p of the domain. Scaling the metric at a point is simply scaling the (inverse of the) eigenvalues. For example if e 1 and e 2 are two eigenvalues of a matrix at a point, considering the same matrix with eigenvalues e 1 /10 and e 2 /10 multiplies the radius of the unit sphere at this point by 10.

Remark A.1.1 The scaling must be identical for all the eigenvalues, otherwise the anisotropy is modified.

A.2 Curvature

We detail in this section how to compute a metric field induced by the curvature for implicit and polyhedral domains.

A.2.1 Implicit surfaces

Let S be an implicit surface defined by f (x, y, z) = 0. At each point p of S, we denote by N the normal vector -∇f / ∇f and by H the Hessian of f . The principal curvatures c max , c min are the eigenvalues of the matrix

where H ′ = H ∇f and P = I 3 -N • N t , see e.g. [START_REF] Hughes | Differential geometry of implicit surfaces in 3-space-a primer[END_REF]. By convention, we define c max to be the eigenvalue with the maximal absolute value. Let U max , U min and N be the normalized eigenvectors of C, and let U = [U max , U min , N ]. The metric at the point p is defined by M p = F t p F p , where:

with ∆ = Diag{e max , e min , e n },

The value of e n does not significantly affect the shape of the facets of the mesh since those facets are almost tangent to the surface. Experimental evidence indicates that e n should be of the same order of magnitude as the global maximum of √ c max .

If one of the curvature values vanishes, we replace it with a small strictly positive value ε such that the metric stays positive definite. The value of ε plays an important role in the final mesh and is difficult to choose, as explained in the next section.

The ε criterion

We first illustrate the influence of the value of ε over the final mesh. The "Chair" surface is used (see Section B.1 in Appendix B). This surface is characterized by the presence of parabolic points along a circle (similarly to the top of a torus) on each of its "side" and in a saddle-type of region near the center of the surface.

A.2. Curvature

The rightmost value provides the lowest number of vertices for the set of parameters and is what is generally expected as result. However, the corresponding value of ε was found by trial and error and is completely specific to this surface and to the choice of the other parameters; simply scaling the domain would already change the "optimal" value of ε. Worse, this "optimal" value of ε might not in fact be optimal for both types of parabolic points present on the "Chair" surface. This can be more easily seen on the "cyclide" surface (see Section B.3 in Appendix B). The cyclide surface is a torus with varying small radius, also characterized by the presence of parabolic points along a circle. No single value of ε can be satisfying: if ε is chosen too small, the mesh will be over-refined where the small radius is largest (and possibly over-refined everywhere if ε is really small, like in Figure A.3); if ε is chosen too large, the elements are not as anisotropic as they could be, and there are more elements than an optimal mesh could have. It would thus be desirable to consider a varying ε, but it is difficult to evaluate what its value should be. We attempted to solve this problem heuristically but no satisfying method was found and this is thus still an open problem.

A.2.2 Polyhedral Surfaces

We can estimate the curvature tensor of S from S. This is done in two steps.

Curvature estimation at the vertices of S

We first estimate the curvature tensor at each vertex p ∈ S as follows. We compute the Euclidean k-nearest vertices of p and then apply the jet-fitting algorithm of [START_REF] Cazals | Estimating differential quantities using polynomial fitting of osculating jets[END_REF] to estimate the two principal curvatures c max and c min , the corresponding unit vectors U max and U min , and the normal vector N at p.

From the estimated curvatures, we compute e max and e min as in the case of an implicit domain.

We choose e n as in the case of implicit domains and store at each vertex p a resulting estimated metric tensor G(p) = U ∆ 2 U t , with U = [U max , U min , N ] and ∆ = diag{e max , e min , e n }.

Blending metric tensors

To estimate the metric tensor at any prescribed query point on S, we smoothly blend the metric tensors computed in the previous step as described in Section 2.2.3 in Chapter 2.

A.3 Hyperbolic shock

If E denotes such a scalar field defined in R 3 and Ω a domain, we may want to mesh Ω to provide the best approximation of E on Ω. The triangles are elongated orthogonally to the direction of the gradient ∇E and the density depends both on the norm and the changing rate of the gradient.

We define the metric field as follows :

, U 1 and U 2 being two arbitrary unit vectors that form an orthogonal basis of the orthogonal complement of ∇E. If the gradient is zero, the metric field is isotropic. The parameter ϕ controls how the facets are stretched with respect to the norm of the gradient.

The hyperbolic shock is an arbitrary sine-shaped shock function that can be described by the following equation:

with λ = 0.6. The metric field is derived from E as described above.

A.4 Swirl

The Swirl metric field is based on a uniform vector field that creates a swirl to which an anisotropy ratio that depends on the distance to the center is attached. The metric field has a parameter ν that controls the circular motion; we use ν = 3. The metric M at a point p(x, y) is constructed as follows.

First, construct the eigenvectors v 1 and v 2 of the matrix:

where r 2 = x 2 + y 2 , c = cos(ν) and s = sin(ν). Then construct the eigenvalues e 1 and e 2 (responsible for the anisotropy ratio):

We can now assemble the matrix :

A.5 Starred

The starred metric field is similar to the hyperbolic shock but has more emphasis on long unidirectional anisotropic regions. The metric at p(x, y) is computed as follows:

and

The anisotropy is controlled by a single variable a = max α, 1 1+ψn ; we take α = 0.1 and ψ = 1. The complete metric G p at p is defined by:

A.6 Radial shock

The radial shock metric field can be thought to model the propagations of circular shocks from a pointwise origin outwards. The metric at p(x, y) is computed as follows:

Letting s = sin(r/5) and c = cos(r/5), the eigenvalues are given by:

The complete metric G p at p is defined by:

A.7 Radial shock (3D)

The 3-dimensional radial shock metric field can be thought to model the propagations of one circular shock from a pointwise origin outwards. The metric at p(x, ȳ, z) is computed as follows. Finally, the complete metric G p at p is defined by:

A.8 Unidimensional shock

We denote unidimensional shocks any metric field for which the eigenvectors of the metric are aligned with the axis at all point. In other words, the metrics are diagonal matrices.

Different kind of shocks are possible, but we keep a preference for exponential-based shocks, as they can be easily linked with the Log-Euclidean interpolation. A typical unidimensional shock in 3D might be given by the following eigenvalues at a point p = (x, y, z) of the domain:

B. Domains

B.1 Chair

"Chair" is a non-convex implicit surface defined by the equation:

We use a = 0.8, b = 0.4, k = 1.0.

B.2 Cow

"Cow" is a rough polyhedral surface of a cow. A data file for the "cow" can be found in the CGAL library in the folder: cgal/Surface_mesh_shortest_path/test/Surface_mesh_shortest_path/data/

B.3 Cyclide

The cyclide is a geometric inversion of the torus. In implicitly form, it is given by:

We take a = 7, b = √ 48, c = √ a 2b 2 and µ = 3. Note that if a = b, we obtain a standard torus.

B.4 Dino

The "Dino" surface is a polyhedral surface of a brachiosaurus that is characterized by cylinder-like parts (long neck and legs). A data file for the "Dino" can be found in the CGAL library in the folder: cgal/Surface_mesh_segmentation/benchmark/Surface_mesh_segmentation/data/

B.5 Elephant

"Elephant" is a polyhedral surface of an elephant that is particularly interesting from a topological point of view as it possesses many thin regions and holes. A data file for the "Elephant" can be found in the CGAL library in the folder: cgal/Surface_mesh/examples/Surface_mesh/data/

B.6 Ellipsoid

The equation of an ellipsoid is:

where a, b and c are the lengths of the semi axis of the ellipsoid.

B.7 Fandisk

"Fandisk" is a polyhedral surface of a mechanical piece characterized by large flat surfaces and sharp edges. A data file for the "Fandisk" can be found in the CGAL library in the folder: cgal/Surface_mesh_shortest_path/benchmark/Surface_mesh_shortest_path/data/

B.8 Fertility

"Fertility" is a polyhedral surface of a statue that is overall very smooth with various cylinder-like parts. It is taken from the AIM@SHAPE repository.

B.9 Oni

The "Oni" surface is an open polyhedral (sur)face. A data file for the "Oni" surface can be found in the CGAL library in the folder: cgal/Surface_mesh_parameterization/test/Surface_mesh_parameterization/data