Mirela Ben-Chen

Marco Tarini

Pooran Memari

Mélina Skouras

Bruno Lévy

Xavier Goaoc

Je

Justine François

David Yoann

Ariane Valentin

Florimond Mélora

Adrien Georges

Malo, Marie Alix Janelle

Corentin, Mista Juliette Xavier

Laureline Bertrand

Florine Morgan

Nattes Lambert

Aaren

Lison

Gabrielle Simon

Keywords: Maillage quadrangulaire, Paramétrisation globale, Géométrie numérique i Quadmesh, Global parametrization, Geometry processing Tout d'abord, je tiens à remercier

Les maillages quadrangulaires (quads) sont une structure de données centrale au domaine du traitement automatique de la géométrie, trouvant des applications en infographie comme en simulation numérique. Une approche prometteuse pour générer automatiquement des maillages quads de grande qualité s'appuie sur le fait qu'ils constituent une déformation de la grille régulière presque partout, excepté en un petit nombre de points singuliers. Grâce au calcul d'une paramétrisation, à savoir une représentation planaire, de la surface à mailler, il est alors possible d'y tracer une grille qui, reprojetée sur la surface, formera le maillage désiré. Pour que des quadrilatères puissent être extraits, cette paramétrisation se doit d'être « sans couture », c'est-à-dire de respecter un ensemble de contraintes d'alignement sur son bord et ses découpes. Ces contraintes sont généralement imposées petit à petit dans un pipeline d'opérations désormais bien étudié, consistant en un calcul de champ de repères lisse, définissant les futurs points singuliers du maillage, une phase d'intégration pour obtenir une paramétrisation aux coutures sans rotation, suivie d'une phase de quantification déterminant les degrés de liberté en translation.

Cette thèse s'intéresse à l'amélioration des différentes étapes du pipeline de génération de maillages quadrangulaires. En nous appuyant sur des notions de géométrie différentielle, nous proposons des formulations du problème évitant les écueils de l'approche actuelle.

Premièrement, nous abandonnons la résolution de problèmes en nombre entier pour certaines étapes (connue pour être difficiles à résoudre) pour la remplacer par la minimisation de fonctions objectif continues (bien que non convexe).

Deuxièmement, nous fusionnons certaines étapes du pipeline en une seule optimisation déterminant en un seul coup les degrés de liberté correspondants. Cela permet plus de versatilité et de contrôle utilisateur sur le maillage quad final, et évite les cas d'échecs classiques causés par l'approche gloutonne du pipeline actuel. Ces formulations théoriques du problème de paramétrisation sans couture s'accompagnent d'implémentations pratiques dans lesquelles nous démontrons la viabilité de nos approches sur une grande variété de modèles CAO.

Finalement, notre travail est en théorie généralisable au problème plus difficile du maillage hexaédrique, là où les algorithmes de paramétrisation actuels sont soit uniquement valables pour les surfaces, soit échouent à produire des résultats de façon robuste.

Introduction

Cartes, Coutures et Courbure

La géométrie est l'étude des formes. Son formalisme mathématique nous permet de comprendre les objets qui nous entourent, depuis les effets de la relativité générale à l'échelle cosmique jusqu'aux objets les plus banals comme les vêtements cousus ou les emballages de bonbons, ce qui a permis de nombreuses percées dans les domaines de la science et de la technologie.

Comment décrire mathématiquement la forme d'un objet ? Imaginons par exemple une surface lisse dans un espace tridimensionnel. Une possibilité pour la décrire complètement serait d'énumérer l'ensemble de tous les points de l'espace qui lui appartiennent. Bien qu'il s'agisse d'une description valable de notre surface, procéder ainsi ne nous donne aucune information concernant sa structure. En effet, une surface est un objet bidimensionnel, ce qui signifie que la trajectoire d'un point s'y déplaçant est limitée à deux degrés de liberté : "avant/arrière" et "gauche/droite". De ce point de vue local, une surface se comporte comme un plan euclidien classique. Cela signifie qu'il est possible d'indiquer précisément la position d'un point en indiquant la distance à parcourir "vers la gauche" et "vers l'avant" pour atteindre ce point depuis une origine arbitraire. En d'autres termes, cela revient à doter notre surface d'un système de coordonnées bidimensionnel cohérent, ce qui revient à la déplier et à la considérer comme un objet plat. Ce processus est appelé paramétrisation (ou paramétrage) de la surface.

Cette idée de représentation d'une surface dans le plan intervient dans de nombreuses applications de la vie quotidienne. La première et peut-être la plus évidente d'entre elles est la fabrication de cartes géographiques, qui ne sont ni plus ni moins qu'une paramétrisation de la totalité, ou d'une partie, de la surface de la Terre. Notre planète était généralement identifée à une sphère parfaite, le calcul de telles cartes peut se faire analytiquement ou à la main, et intègre généralement plus de contraintes géopolitiques que de contraintes mathématiques.

Une autre tâche étroitement liée à la paramétrisation de surface est la fabrication de vêtements, où des pièces de tissu initialement plates doivent être cousées pour former un objet non plat. Là encore, comme les vêtements présentent une forme globale commune, la décomposition en motifs de tissus (devant, dos, manches, etc.) a été réalisée sans ordinateur pendant des siècles, bien que l'automatisation de la fabrication et de la conception des vêtements soit un domaine de recherche actif [START_REF] Nayak | Automation in garment manufacturing[END_REF].

Ce n'est que plus récemment, depuis une cinquantaine d'années, que l'apparition de l'informatique graphique 3D a fait naître le besoin d'algorithmes automatiques pour la paramétrisation de surfaces. Dans les jeux vidéos et les films d'animation, le calcul et le stockage d'une représentation plane d'un objet donné fait en effet partie de la technique canonique pour lui donner des couleurs et des détails. En raison de la variété et du nombre d'objets à traiter dans une seule scène, l'automatisation de l'étape de paramétrisation représente donc un gain de temps et de qualité essentiel.

Dans toutes ces applications, il n'est pas seulement nécessaire de calculer une carte d'un objet, mais aussi de respecter certaines contraintes. Pour être utiles, les cartes doivent en effet présenter certaines propriétés naturelles. La première est que la surface doit être représentée aussi précisément que possible. En d'autres termes, une forme donnée dessinée sur la surface ne doit pas être déformée lorsqu'elle est aplatie, tant en termes de taille (mise à l'échelle) que de déformation (cisaillement, étirement). Dans le cas des cartes géographiques, on s'attend en effet à ce que les masses continentales et les océans aient des formes reconnaissables et que leurs tailles relatives restent constantes. Malheureusement, cela s'avère impossible : une carte "isométrique" de la Terre ne peut pas exister mathématiquement. Il faut trouver un compromis entre la préservation parfaite des aires relatives (comme la projection de Mollweide de la Figure 1.2a) au détriment de l'étirement, ou la préservation parfaite des formes (comme la projection de Mercator, Figure 1.2b) au détriment de changements parfois spectaculaires dans les surfaces relatives. En 2023, la page Wikipedia listant les types de projection pour les cartes de la Terre5 contient plus de 80 entrées, illustrant le besoin de cartes différentes en fonction de l'application ciblée.

Une autre propriété importante des paramétrisations de surface est l'injectivité : chaque point de la carte doit correspondre au maximum à un point de la surface. En effet, une carte qui place Paris et Tokyo au même endroit risque d'être impossible à lire. Cette contrainte a une conséquence importante : selon la topologie de la surface considérée, il peut être nécessaire d'effectuer des découpes pour pouvoir déplier correctement la surface. Dans le cas d'une sphère comme la Terre, il est habituel d'effectuer une coupe du pôle nord au pôle sud en passant par l'océan. De même, un vêtement comme un T-shirt ne peut être fabriqué qu'à partir d'une pièce de tissu dont les manches ont été découpées en rectangles avant d'être cousues en forme cylindrique. C'est de ce dernier exemple que vient la dénomination courante des coupes dans Étant donné une surface lisse arbitraire, le calcul d'une paramétrisation de bonne qualité nécessite donc de répondre à un certain nombre de questions : Doit-on plutôt préserver les aires ou les angles ? Est-il préférable d'avoir une carte rectangulaire connectée avec une forte distorsion, ou une carte à faible distorsion avec de nombreuses coutures ? Étant donné une surface, quelle est sa meilleure paramétrisation possible sous un certain critère de distorsion ou de forme du bord ? Au delà de ces questions générales, certaines applications, comme celle qui nous intéresse dans le cadre de ce travail, exigent des contraintes supplémentaires sur la cartographie finale, telles que l'alignement vertical ou horizontal des bords de la carte ou une distorsion contrôlée au travers des coutures, ce qui rend le problème de la recherche d'une paramétrisation optimale encore plus difficile.

Le concept de paramétrisation globale constitue une avancée prometteuse vers la réponse à ces questions. Il repose sur l'observation clé selon laquelle la distorsion est causée par un changement de courbure. La courbure, et plus précisément la courbure gaussienne, est un nombre qui quantifie la manière dont une surface diffère localement d'une surface plane. Étant donné que la courbure peut être distribuée arbitrairement sur une surface mais qu'elle n'est présente qu'aux limites de sa représentation plane, tout calcule d'une paramétrisation doit la déplacer d'une façon ou d'une autre, et ce faisant, inévitablement créer des distorsions. Une façon d'atténuer ce phénomène serait donc de minimiser le déplacement de la courbure. Dans une paramétrisation globale, cela s'effectue en concentrant la courbure sur un ensemble réduis de points appelés cônes. Étant donné une distribution de cônes sur la surface, il est alors possible de les relier par des coutures, de sorte que, par construction, leur courbure se retrouve sur les limites de la carte. La surface peut ensuite être dépliée dans le plan sans déplacement supplémentaire de la courbure, et donc sans distorsion supplémentaire. La figure 1.1 illustre ce processus sur le modèle du Lapin de Stanford, tandis que la figure 1.4 montre une carte de la Terre calculée avec 8 cônes de courbure π/2. Dans ce contexte, le problème de la recherche d'une paramétrisation de bonne qualité a été transformé en recherche d'un ensemble approprié de cônes.

Paramétrisation de Maillages Surfaciques

Le calcul de paramétrisations de bonne qualité est devenu un problème central dans le domaine du traitement numérique de la géométrie, où la théorie et les résultats mathématiques concernant les surfaces lisses sont appliqués aux représentations numériques des données géométriques. Dans ce contexte, les maillages sont peut être les représentations de surfaces les plus répandues et populaires. En termes simples, un maillage est polyèdre, c'est à dire une surface faites de sommets, arêtes et faces, où chaque face est un polygone simple (Figure 1.6). Cette représentation offre un bon compromis entre la consommation de mémoire et la représentation précise d'une forme. Les maillages sont généralement représentés de manière extrinsèque, avec les coordonnées 3D de leurs sommets et quelques informations de connectivité pour les polygones. Pour un maillage surfacique, la recherche de la représentation 2D sous-jacente sous la forme d'une paramétrisation est utilisée comme étape de précalcul dans diverses applications [START_REF] Borouchaki | Adaptive Triangular-Quadrilateral Mesh Generation[END_REF].

Plaquage de textures En informatique graphique, les maillages sont créés et utilisés par les artistes pour représenter les objets dans une scène virtuelle. Les couleurs et les textures sont définies sur ces maillages en en calculant une carte puis en y superposant une image plane. Ce processus, appelé "plaquage de texture" ou "cartographie uv" (Figure 1.5a), est au coeur de l'imagerie générée par ordinateur et est encore aujourd'hui considéré comme l'état de l'art. Dans ce contexte, la distorsion de la paramétrisation est directement visible sur la texture, et sa minimisation est donc cruciale.

Cartes de normales, ajout de détails Tout comme le plaquage de texture, la direction normale définie sur les faces d'un maillage peut être lissée et encodée sous forme d'image RVB superposée à une paramétrisation (avec 256 valeurs possibles pour les directions x, y et z). L'édition de cette texture normale modifiera le comportement des moteurs de rendu simulant la lumière sans qu'il soit nécessaire de modifier la géométrie (Figure 1.5b). Il est alors possible d'ajouter de la profondeur ou des détails à un modèle avec un minimum de calculs supplémentaires, ou d'appliquer la même carte de normales à un maillage décimé pour réduire le temps de rendu avec peu ou pas de dégradation visuelle. Ceci est particulièrement utile dans des contextes tels que les jeux vidéo où le budget temps par image est limité. Correspondances entre surfaces Dans les applications nécessitant de calculer une transformation entre deux surfaces, une paramétrisation peut être utilisée comme représentation commune intermédiaire [START_REF] Schmidt | Distortion-Minimizing Injective Maps between Surfaces[END_REF]. Ce processus, connu sous le nom de paramétrisation croisée (cross-parametrization), permet des applications telles que le morphing [START_REF] Kraevoy | Cross-Parameterization and Compatible Remeshing of 3D Models[END_REF], le transfert d'informations [START_REF] Schmidt | Inter-Surface Maps via Constant-Curvature Metrics[END_REF]] ou même la classification des surfaces [START_REF] Morreale | Neural Surface Maps[END_REF], tout en restant assez peu sensible à la connectivité sous-jacente des maillages considérées.

Remaillage Enfin, contrairement au contexte théorique des surfaces lisses en mathématiques, l'utilisation de maillages dans la pratique introduit une structure combinatoire de sommets, d'arêtes et de faces. Deux maillages ayant une connectivité différente peuvent en effet représenter la même surface sous-jacente, mais la forme, la qualité et la nature de leurs faces polygonales jouent un rôle important dans la convergence, la stabilité et la précision des algorithmes de traitement, par exemple dans la simulation numérique [START_REF] Schneider | A Large-Scale Comparison of Tetrahedral and Hexahedral Elements for Solving Elliptic PDEs with the Finite Element Method[END_REF]. Dès lors, des Figure 1.6: Trois maillages différentes du modèle Spot [START_REF] Crane | Robust fairing via conformal curvature flow[END_REF]. Gauche : maillage triangulé obtenu par la méthode de remaillage de Lévy and Liu [2010]. Milieu : Quadmesh irrégulier obtenu par subdivision du précédent. Droite : quadmesh original. algorithmes de remaillage, améliorant la qualité de la représentation sous-jacente d'une surface, ont trouvé leur pertinence.

Alors que de nombreuses approches ont été explorées au fil des ans [START_REF] Alliez | Recent Advances in Remeshing of Surfaces[END_REF][START_REF] Yan | Isotropic Remeshing with Fast and Exact Computation of Restricted Voronoi Diagram[END_REF]] pour divers types maillages cibles, les méthodes basées sur la paramétrisation (comme [START_REF] Remacle | High Quality Surface Remeshing Using Harmonic Maps[END_REF]) utilisent le fait que la paramétrisation d'un maillage est moins dépendante de sa combinatoire. Étant donné une carte de bonne qualité, une nouvelle structure sommetsarêtes-faces peut donc être dessinée directement dans l'espace paramétrique avant d'être ramenée à la surface d'origine [START_REF] Borouchaki | Adaptive Triangular-Quadrilateral Mesh Generation[END_REF].

Ce type de technique peut être utilisé pour obtenir un maillage triangulé à partir d'un autre, mais aussi pour modifier la nature des faces à l'intérieur d'un maillage. Par exemple, lorsque la paramétrisation calculée satisfait certaines propriétés spécifiques, il est possible de remailler une surface triangulée avec des quadrilatères, créant ainsi un maillage quadrangulé (quadmesh).

Le problème exact du calcul d'un quadmesh à l'aide d'un algorithme efficace et polyvalent basé sur la paramétrisation est l'objectif de ce travail.

Des triangles aux quadrilatères

Les maillages triangulés et quadrangulés sont sans aucun doute les deux formes les plus répandues de maillages polygonaux. Comme tout polygone plan peut être décomposé en un ensemble de triangles, les premiers peuvent être considérés comme la représentation préférée des données géométriques. Mais dans certains contextes, les quadrangulations sont préférées en raison de leurs propriétés très particulières.

Premièrement, les artistes en informatique graphiques utilisent souvent des maillages quadrangulés en modélisation, car ces derniers peuvent être subdivisés plus naturellement autour de boucles de bord spécifiques ou à partir d'un ensemble grossier de points de contrôle. Par exemple, le quadmesh de droite de la figure 1.6 a été obtenu à partir d'un tel ensemble de contrôle fait à la main par le biais de deux itérations du schéma de subdivision de surface Catmull-Clark [START_REF] Catmull | Recursively Generated 8-Spline Surfaces on Arbitrary Topological Meshes[END_REF]]. En outre, seuls les éléments quadrilatéraux peuvent être alignés partout avec la courbure d'une surface, ce qui aboutit à sa décomposition la plus naturelle. Il s'agit également de la décomposition avec le nombre minimal d'éléments nécessaires pour un niveau de détail donné [START_REF] Alliez | Anisotropic Polygonal Remeshing[END_REF]]. Lors de l'animation et de la déformation du maillage, le fait d'avoir des arêtes et des quads orientés de cette manière minimise la déformation de chaque élément, réduisant ainsi le risque d'auto-intersections ou d'artefacts visuels.

Deuxièmement, dans le domaine de la simulation numérique, les maillages quadrilatéraux structurés représentent un compromis entre les grilles de voxels et les maillages triangulés, partageant la régularité des premiers tout en étant capables de se conformer aux limites du domaine considéré. Les schémas de subdivision de leur élément permettent de définir des quadrilatères à forte anisotropie lorsque la précision n'est requise que dans une seule direction, par exemple dans la simulation des couches limites en dynamique des fluides numérique [START_REF] Rao | Gmsh: A 3-D Finite Element Mesh Generator with Built-in Pre-and Post-Processing Facilities[END_REF][START_REF] David | On a Robust Boundary Layer Mesh Generation Process[END_REF]. Enfin, dans un contexte de simulation de déformations, l'erreur d'approximation est limitée par une fonction qui augmente avec l'angle minimal des éléments [START_REF] Arnold | Approximation by Quadrilateral Finite Elements[END_REF][START_REF] Ciarlet | Interpolation Theory over Curved Elements, with Applications to Finite Element Methods[END_REF]. Étant donné que les maillages quadrangulés peuvent être réalisés avec des angles presque droits partout et étirés dans une direction avec des changements minimes de ces angles, ils permettent d'obtenir des résultats plus robustes qu'un maillage triangulaire, susceptible de présenter des triangles dégénérés.

Concevoir un algorithme générant automatiquement un maillage quadrangulé d'une surface donné est ainsi un défi majeur pour plusieurs domaines d'application. Cependant, la difficulté ne réside pas dans la génération de n'importe quel maillage -on peut toujours extraire un quadmesh d'une triangulation en décomposant chaque triangle en trois quadrilatères relié à un point central (Figure 1.6, milieu) -mais bien le calcul d'un quadmesh présentant les propriétés d'alignement ou d'anisotropie mentionnées précédemment. En particulier, il est généralement préférable de calculer un quadmesh présentant une certaine régularité, avec la majorité de ses sommets adjacents à 4 quads et seulement une poignée d'entre eux adjacents à 3 ou 5 quads. Ce problème de la génération de maillages quadrangulés de bonne qualité a suscité d'abondantes recherches au cours des 20 dernières années [Bommes et al. 2013b].

Une approche prometteuse au problème du remaillage quad s'appuie sur une paramétrisation du domaine initial. En se basant sur l'observation qu'un tel maillage consiste en une déformation de la grille euclidienne presque partout sauf en ses points irréguliers, l'idée de l'approche basée paramétrisation est donc de superposer la grille à une représentation plane du domaine pour ensuite la reprojeter sur la surface et ainsi en obtenir une décomposition en quadrilatères (Figure 1.1). Toutefois, pour que cette méthode soit efficace, la paramétrisation calculée doit satisfaire un ensemble de constraints très spécifiques, notamment pour que les lignes de quads restent continues au travers des coutures. On parle alors de paramétrisation sans coutures (seamless) ou de paramétrisation qui préserve la grille.

Le calcul d'une paramétrisation sans coutures ajoute un autre niveau de complexité au problème de calcul de cartes de surface. Comme une telle paramétrisation est définie par un ensemble de cônes de singularité dont la courbure est verrouillée pour être un multiple de π/2 ainsi que par un ajustement précis des arêtes correspondantes à travers les coutures, le problème d'optimisation à résoudre implique des variables entières, le rendant notoirement difficile à résoudre en pratique. Pour obtenir des résultats en pratique, les méthodes de la littérature le décomposent généralement en un pipeline de plusieurs problèmes d'optimisation plus faciles, chacun satisfaisant une partie des contraintes nécessaires [START_REF] Bommes | Mixed-Integer Quadrangulation[END_REF].

La première étape d'un tel pipeline consiste à déterminer la position des cônes de singularité, qui correspondront aux sommets irréguliers dans le maillage final. Ensuite, une paramétrisation conforme à cette distribution de cônes est calculée. Ensuite, les coordonnées des sommets dans le plan sont ajustées pour assurer la continuité des lignes du quadrillage. Enfin, un quadmesh valide est extrait [START_REF] Ebke | QEx: Robust Quad Mesh Extraction[END_REF].

Bien que cette décomposition du problème ait atteint l'état de l'art dans les techniques de génération de quadmesh, la division du calcul en plusieurs problèmes d'optimisation n'a pas été sans inconvénients. Comme chaque étape détermine des degrés de liberté distincts, les décisions prises à un moment donné ne peuvent pas être inversées, ce qui peut conduire à des résultats sousoptimaux, voire à des cas d'échec. Par exemple, il se peut qu'il n'existe pas de paramétrisation sans couture qui soit à la fois injective et conforme à la distribution calculée des cônes. De plus, bien que des recherches approfondies aient été menées pour améliorer chaque étape, les études sur leurs interactions et leurs effets sur le quadmesh final sont encore rares.

Objectifs de cette thèse

L'objectif de cette thèse est d'améliorer le pipeline de paramétrisation sans couture pour la production automatique de maillages quadrangulés, dans l'optique de résoudre les problèmes évoqués un peu plus haut. Plus spécifiquement, notre travail se concentre sur les liens entre les cônes, la paramétrisation et les propriétés du quadmesh résultant.

Notre approche s'appuie sur la conception d'algorithmes permettant de mieux contrôler les degrés de liberté d'une paramétrisation sans couture, en particulier sa distribution de cônes et sa distorsion. En pratique, nous regroupons plusieurs étapes du pipeline en un seul problème d'optimisation, tirant ainsi pleinement parti de compromis inaccessibles dans le pipeline actuel.

Un effort particulier a été fourni pour formuler ces problèmes d'optimisation en termes de variables continues, évitant ainsi les formulation en nombre entiers des travaux précédents qui peuvent s'avérer difficile à résoudre.

Importantly, we formulate all of our optimization problems in terms of continuous variables, thus avoiding the difficult mixed-integer formulations of some previous works.

Enfin, une motivation centrale à notre travail réside dans sa potentielle généralisation au cas volumique du maillage hexaédrique. La génération de maillages hexaédriques robustes basée sur des approches de paramétrisation est en effet encore hors de portée des techniques actuelles, de nombreux algorithmes aptes pour les surfaces ne généralisant en effet pas à la dimension supérieure, pour des raisons à la fois théoriques et pratiques. Bien que nous ne fassions pas de contributions explicites au domaine du maillage hexagonal dans ce manuscrit, l'application de nos méthodes au cas 3D reste un travail futur prometteur.

Organisation du manuscrit

La suite de ce manuscrit est divisée en six chapitres.

Le chapitre 2 introduit le contexte mathématique nécessaire à la formulation de notre problème et donne un aperçu de l'état de l'art en matière de paramétrisation de surface.

Dans le chapitre 3, nous exposons une première méthode de calcul d'une distribution de cônes aux défauts d'angle multiples de π/2 et d'une paramétrisation sans couture associée. Pour éviter toute variable entière dans la formulation, nous utilisons une astuce combinatoire et définissons un autre domaine sur lequel l'optimisation devient continue.

Dans le chapitre 4, nous nous inspirons de méthodes de géométrie différentielle, plus particulièrement de la méthode des repères mobiles d'Elie Cartan, pour concevoir un algorithme qui optimise simultanément une distribution de cônes et une paramétrisation sans coutures, ce qui permet un contrôle étendu sur le résultat final. Le chapitre 5 présente une variante du même algorithme avec moins de garanties théoriques mais de meilleures performances en pratique.

Dans le chapitre 6, nous exposons nos travaux en cours sur la généralisation de la méthode précédente des repères mobiles au cas des paramétrisations préservant la grille, concevant ainsi un problème d'optimisation qui résout chaque étape du pipeline en une seule fois.

Enfin, notre chapitre conclusif (Chapitre 7) résume nos contributions et discute de leurs extensions, à la fois pour le maillage quadrangulé mais aussi leur généralisation au maillage hexaédrique.

Publications associées

Publications scientifiques

Les travaux présentés dans ce manuscrit, en particulier le Chapitre 4, ont fait l'objet d'une publication dans le journal Transaction on Graphics in 2023:

• The Method of Moving Frames for Surface Global Parametrization, Guillaume Coiffier and Etienne Corman, Transaction on Graphics, 2023 Bien que n'ayant aucun lien avec le sujet des cartes sans coutures pour le maillage quad, nous avons aussi contribué durant cette thèse à d'autres projets de recherche en apprentissage profond et traitement de la géométrie :

• Parametric surface fitting on airborne lidar point clouds for building reconstruction, Guillaume Coiffier, Justine Basselin, Nicolas Ray and Dmitry Sokolov, Symposium on Solid and Physical Modeling, 2021

• Robust One-Class Classification with Signed Distance Function using 1-Lipschitz Neural Networks, Louis Béthune, Paul Novello, Thibaut Boissin, Guillaume Coiffier, Mathieu Serrurier, Quentin Vincenot and Andres Troya-Galvis, International Conference on Machine Learning, 2023

Logiciels

La plupart de notre code de gestion de maillages, ainsi que les implémentations de méthodes de paramétrisations de la littérature utilisées pour les figures de ce manuscrit, ont été regroupée en une librairie Python appelée mouette : https://github.com/GCoiffier/mouette. L'implémentation de notre méthode de paramétrisation basée sur les repères mobiles de Cartan des Chapitres 4 et 5 a également été implémentée en python en se basant sur mouette et peut être téléchargée au lien suivant : https://github.com/GCoiffier/moving_frames_ parametrization 1 Introduction Figure 1.1: Global parametrization of the Stanford Bunny. A surface represented as a triangle mesh (left) is cut along a set of seams (middle left) and flattened to the plane with minimal distortion (middle right). A regular grid, represented here as a checker texture can be superimposed on this flat representation and lifted back onto the initial surface (right).

Maps, Seams and Curvature

Geometry is the study of shapes. Its mathematical formalism allows us to understand the objects surrounding us, from the cosmic-scale effects of general relativity, to the curviness of the Earth, to the most mundane objects like sewed clothes or candy wrappers, enabling many breakthroughs throughout science and technology.

How to mathematically describe a shape? Suppose for instance that we are given a smooth surface in three-dimensional space. One possibility to describe it mathematically is to exhibit the set of all points that belong to the surface. While it is technically a valid description, this says nothing about its structure. A surface is indeed fundamentally a two-dimensional object, meaning that the trajectory of a point traveling on it is restrained to two degrees of freedom: "forward/backward" and "left/right". From this local point of view, a surface behaves like the classical euclidean plane. This means that one should be able to precisely describe the position of a point by providing how much "left" and "forward" to travel in order to reach this point from an arbitrary origin. In other words, this is equivalent to assigning a consistent two-dimensional system of coordinates to the surface, that is to say unfolding the surface and laying it flat. This process is called a surface parametrization.

As the parametrization of a surface is simply a representation of said surface into the plane, it is easy to find connections with day-to-day tasks. The first and perhaps most obvious of these tasks is the fabrication of geographical maps, that is to say an easy-to-grasp representation of the surface of the Earth. As the Earth is generally identified with a perfect sphere, obtaining a parametrization can be and has been done by hand in many different ways, often focusing on geopolitical constraints rather than mathematical ones.

Another task closely related to surface parametrization is the fabrication of clothes, where initially flat pieces of fabric need to be seamed to form a non-flat object in the end. But again, as clothes generally present a common overall shape, this decomposition into fabric patterns (front, back, sleeves, and so on) have been done without the help of computers for centuries, although automation in garment manufacturing and design is an active area of research [START_REF] Nayak | Automation in garment manufacturing[END_REF].

It is only more recently, in the last 50 or so years, that the apparition of 3D computer graphics stemmed the need for automatic algorithms for surface parametrization. In video games and animated films applications, computing and storing a flat representation of a given object is indeed the canonical technique to give it colors and details in the rendered images. Due to the variety and number of objects to be processed in a single scene, automation of the parametrization step has become an essential time and quality gain.

In all of these applications, it is not only required to compute a map of an object, but to also meet some constraints. To be useful, maps should indeed exhibit some natural properties. The first one is that the surface must be represented as accurately as possible. In other words, a given shape drawn on the surface should not be distorted when flattened, both in terms of size (scaling) and deformation (shearing, stretching). In the case of geographical maps, one would indeed expect landmasses and oceans to have recognizable shapes and their relative areas to stay constant. Unfortunately, this turns out to be impossible: a so-called isometric mapping of the Earth cannot mathematically exist. One has to resort to a tradeoff between perfectly preserving relative areas (like the Mollweide projection of Figure 1.2a) at the expense of stretching, or perfectly preserving shapes (like the Mercator projection, Figure 1.2b) at the expense of sometimes dramatic changes in relative areas. As of 2023, the Wikipedia page listing types of projection for Earth maps6 contains more than 80 entries, illustrating the need for different maps depending on the targeted application.

Another important property of surface parametrizations is injectivity. Simply put, each point of the map should correspond to as most one point on the surface. Indeed, a map that puts Paris and Tokyo at the same point is likely to be impossible to read. This has one important consequence: depending on the topology of the considered surface, it may be necessary to perform cuts to be able to correctly unfold the surface. In the case of a sphere like Earth, it is usual to perform a cut from the north to the south pole going through the ocean. Likewise, a garment like a T-shirt can only be crafted from a piece of material where the sleeves have been cut as rectangles before being seamed in a cylindrical shape. From this last example comes the common denomination of cuts in a surface parametrization: seams.

Seams on a parametrization are not only necessary due to topological reasons but they can also be added to minimize distortion. This idea comes from a physical intuition: when we consider the flattening of a real world object like the peel of a tangerine (Figure 1.3), the stiffness of the material prevents arbitrary large deformations. Instead, the object is more likely to tear when While it is mathematically impossible for a mapping to preserve both, this optimum can be approached by introducing cuts (c). Images taken from Wikipedia 6 .

flattened, creating a seam, and the resulting parametrization is likely to be less distorted overall (as with the Goode projection of Figure 1.2c). This opens another tradeoff between the number of discontinuities and the distortion of the mapping.

Figure 1.3: In the real world, trying to flatten an object usually results in tears, like this peel of tangerine. Tearing happens naturally as a way to alleviate distortion. Now, given an arbitrary smooth surface as an input, computing a good quality parametrization requires to answer a number of questions: Should local areas or shapes be preserved ? It is better to have a connected rectangular map with high distortion, or a lower distortion maps with many seams ? Given a surface, what is its best possible parametrization under some distortion or boundary criterion ? In addition, some applications, like the one we are interested in for this work, require additional constraints onto the final mapping, such as vertical or horizontal alignment of the map's boundary or controlled distortion across seams, making the problem of finding an optimal parametrization even more challenging.

The concept of global parametrization is a promising step towards answering these questions. It is based on the key observation that distortion is caused by a change of curvature. Curvature, more precisely Gaussian curvature, is a number that quantifies how a surface locally differs from a flat one. Since it can be arbitrarily distributed on a surface but is only present on the boundaries of its flat representation, any parametrization mapping has to displace it in some ways and unavoidably create distortion in the process. One way to alleviate this phenomenon is to minimize the displacement of curvature. In a global parametrization, this can be done by concentrating curvature onto a finite, often small set of points called cones. Given a cone distribution on the surface, we can then link them by seams so that curvature now already lays only on the boundary of the shape by construction. The surface can therefore be mapped in the plane with no additional curvature displacement, and thus no additional distortion. Figure 1.1 illustrates this process on the Stanford Bunny model, while Figure 1.4 shows an Earth map computed with 8 cones of curvature π/2. In this context, the problem of finding a good quality parametrization has been transformed to finding a suitable set of cones.

Parametrization of Surface Meshes

The computation of good quality parametrizations has become a central problem in the field of Digital Geometry Processing, where theory and results on smooth manifolds are applied to digital representations of geometrical data. The most widespread and perhaps most successful of such representation is the mesh. Simply put, a mesh is the partition of a 2D domain using simple polygons (Figure 1.6). It provides a good tradeoff between memory consumption and accurate representation of the shape. Meshes are generally represented extrinsically, with the 3D coordinates of their vertices and some connectivity information for polygons. For a surface mesh, finding the underlying 2D representation in form of a parametrization is used as a precomputing step in various applications [START_REF] Borouchaki | Adaptive Triangular-Quadrilateral Mesh Generation[END_REF].

Texture Mapping In computer graphics, meshes are created and used by artists to represent objects in a virtual scene of an animated film or a video game. Colors and texture are defined on these meshes by mapping the mesh to the plane and overlay a flat image texture onto the parametrization. This process called texture mapping or uv-mapping (Figure 1.5a) is at the heart of computer-generated imagery and still considered state of the art to this day. In this context, the distortion of the parametrization is directly visible onto the mapped texture, hence its minimization is crucial.

Normal mapping and detailing Just like texture mapping, the normal direction defined over the faces of a mesh can be smoothed and encoded as a RGB image overlaid on a parametrization (with 256 possible values for x,y and z directions). Editing this normal texture will modify the behavior of light-simulating render engines without needing any change in the geometry (Figure 1.5b). It is then possible to add depth or details to a model with minimal additional computations, or apply the normal map to a decimated mesh to cut rendering time with little to no visual degradation. This is especially useful in contexts like video games where time budget per frame is limited. Inter-surface maps In applications where correspondences or explicit mapping between two surfaces are involved, a parametrization can be used as an intermediate common representation [START_REF] Schmidt | Distortion-Minimizing Injective Maps between Surfaces[END_REF]. This process, known as cross-parametrization enables applications like morphing [START_REF] Kraevoy | Cross-Parameterization and Compatible Remeshing of 3D Models[END_REF], information transfer [START_REF] Schmidt | Inter-Surface Maps via Constant-Curvature Metrics[END_REF] or even surface classification [START_REF] Morreale | Neural Surface Maps[END_REF], while staying agnostic to the underlying connectivity of the considered meshes.

Remeshing Finally, unlike the theoretical context of smooth surfaces in mathematics, the use of meshes in practice introduces a combinatorial structure of vertices, edges and faces. Two meshes with a different connectivity can indeed represent the same underlying surface, yet the shape, quality and nature of their polygonal faces play a big role in the convergence, stability and precision of processing algorithms, for instance in numerical simulation [START_REF] Schneider | A Large-Scale Comparison of Tetrahedral and Hexahedral Elements for Solving Elliptic PDEs with the Finite Element Method[END_REF].

While many approaches have been explored throughout the years [START_REF] Alliez | Recent Advances in Remeshing of Surfaces[END_REF][START_REF] Yan | Isotropic Remeshing with Fast and Exact Computation of Restricted Voronoi Diagram[END_REF] for various target meshes, methods based on parametrization (like [START_REF] Remacle | High Quality Surface Remeshing Using Harmonic Maps[END_REF]) use the fact that the parametrization of a mesh is less dependent on its combinatorics. Given a good quality mapping, a new vertex-edge-face structure can therefore be drawn directly into parameter space before being lifted back to the original surface [START_REF] Borouchaki | Adaptive Triangular-Quadrilateral Mesh Generation[END_REF].

This type of technique can be used to obtain a triangular mesh from another, but also to change the nature of faces inside a mesh. For instance, when the computed parametrization satisfies some specific properties, it is possible to remesh a triangulated surface with quadrilaterals, creating a quadmesh.

The exact problem of computing a quadmesh using efficient and versatile parametrizationbased algorithm is the goal of this work.

From Triangles to Quadrilaterals

Triangular and quadrilateral meshes are without a doubt the two most widespread forms of polygonal meshes. As any planar polygon can be decomposed into a set of triangles, the first Figure 1.6: Three different meshes of the Spot model [START_REF] Crane | Robust fairing via conformal curvature flow[END_REF]. Left: triangular mesh obtained via the method of [START_REF] Lévy | L p Centroidal Voronoi Tessellation and Its Applications[END_REF]. Middle: irregular quadmesh obtained from the latter. Right: original structured quadmesh.

ones could be considered as the preferred representation of geometrical data. Yet, quadmeshes are often preferred to their triangular counterpart in various contexts, due to their very particular properties.

Firstly, artists in computer graphics often rely on quadmeshes for modeling because they can be more naturally subdivided around specific edge loops or from a coarse set of control points. For instance, the right quadmesh of Figure 1.6 was obtained from such a handmade control set made via two iterations of the Catmull-Clark surface subdivision scheme [START_REF] Catmull | Recursively Generated 8-Spline Surfaces on Arbitrary Topological Meshes[END_REF]]. Moreover, only quadrilateral elements can be aligned everywhere with the curvature of a surface, which results in its most natural decomposition. This is also the decomposition with the minimal number of elements needed for a given level of detail [START_REF] Alliez | Anisotropic Polygonal Remeshing[END_REF]]. When dealing with animation and deformation of the mesh, having edges and quads oriented that way minimizes the amount of deformation on specific elements thus reducing the risk of auto-intersection or visual artifacts.

Secondly, in the domain of numerical simulation, structured quadmeshes represent a tradeoff between voxel grids and triangle meshes, as they share the regularity of the former while being able to conform to the boundary of the domain. Subdivision schemes over their element allow defining quadrilaterals with high anisotropy where precision is required in only one direction, for instance in the simulation of boundary layers in computational fluid dynamics [START_REF] Rao | Gmsh: A 3-D Finite Element Mesh Generator with Built-in Pre-and Post-Processing Facilities[END_REF][START_REF] David | On a Robust Boundary Layer Mesh Generation Process[END_REF]. Finally, in a context of deformation simulation, it is known that the approximation error is bounded by a function that increases with the minimal angle of the elements [START_REF] Arnold | Approximation by Quadrilateral Finite Elements[END_REF][START_REF] Ciarlet | Interpolation Theory over Curved Elements, with Applications to Finite Element Methods[END_REF]. Since quadmeshes can be made with almost right angles everywhere and stretched in a direction with minimal changes to these angles, a quadmesh will allow more robust results than a triangle mesh which is likely to present degenerated triangles.

Designing algorithms to automatically generate a quadmesh of a given surface is therefore a major challenge for a variety of applicative domains. However, the difficulty does not lie in the generation of any quadmesh -one can always be computed from a triangle mesh by splitting each triangle into three quadrilaterals from a central point (middle of Figure 1.6)but the computation of one with the aforementioned properties of alignment or anisotropy. In particular, it is usually desirable to compute a quadmesh exhibiting some regularity, with most of its vertices being adjacent to 4 quads and only a handful of them being adjacent to 3 or 5.

This specific problem has sparked abundant research for the last 20 years [Bommes et al. 2013b].

A promising approach to the problem of quadmeshing utilizes a parametrization of the initial domain. Based on the observation that a semi-regular quadmesh consists in a deformation of the Euclidean grid everywhere except at its irregular points, the idea behind the parametrization approach is to therefore overlay the grid over a flat representation of the domain and lift it back onto the surface to obtain a quad decomposition (Figure 1.1). However, for this method to be successful, the parametrization computed should satisfy a very specific set of constraints, in order for lines of quads to stay continuous across the (necessary) seams. We speak of seamless or grid-preserving parametrizations.

Computing a seamless parametrization adds another level of complexity over the problem of mapping a surface into the plane. As such a parametrization is defined by a set of singularity cones with curvature locked to be a multiple of π/2 as well as precise adjustment of matching edges across seams, the optimization problem involved require integer variables which make them notoriously hard to solve in practice. In order for the optimization to be tractable, state-of-theart methods usually divide the computation in a pipeline of several easier optimization problems, each satisfying the needed constraints one at a time [START_REF] Bommes | Mixed-Integer Quadrangulation[END_REF]].

The first step in such a pipeline is to determine the position of singularity cones, which will correspond to irregular vertices in the final quadmesh. Then, a parametrization conforming to this topology is computed. After that, coordinates of vertices in the plane are adjusted to ensure the continuity of quad lines. Finally, a valid quadmesh is extracted [START_REF] Ebke | QEx: Robust Quad Mesh Extraction[END_REF].

While this pipelined approach settled at the state of the art in quadmeshing techniques, splitting the computation into several optimization problems did not come without drawbacks. As each step determines distinct degrees of freedom, decisions made at one point cannot always be reversed, leading to suboptimal results or even failure cases. For example, a seamless parametrization that is both injective and conforming to the computed distribution of cones may not exist. Furthermore, extensive research has been conducted for the improvement of each steps, but the study of their interaction and their effects onto the final quadmesh -arguably a more difficult problem to tackle -is still sparse.

Objectives of this work

The goal of this thesis is to improve the seamless parametrization pipeline for the production of quadmeshes, in order to tackle the aforementioned issues. More specifically, our work focuses on the links between the cones, the parametrization and the resulting quadmesh properties. We attempt at designing algorithms with more control over the degrees of freedom of a seamless parametrization, in particular its cone distribution and its distortion. We design optimization algorithms to solve for several of these variables in a single step, thus taking full advantage of tradeoffs inaccessible in the current pipeline. Importantly, we formulate all of our optimization problems in terms of continuous variables, thus avoiding the difficult mixed-integer formulations of some previous works.

Finally, a key motivation of our work lies in its possible generalization to the volume case of hexmeshing. Robust hexahedral mesh generation based on parametrization approaches is still out of reach as many algorithms for surfaces do not generalize to the upper dimension both due to theoretical and practical reasons. While we do not make explicit contributions to the domain of hexmeshing in this manuscript, the application of our methods to the 3D case remains a promising future work.

Organization of this manuscript

The rest of this manuscript is divided into 6 chapters.

Chapter 2 will introduce the mathematical background needed to formulate our problem and will give an overview of the state of the art in surface parametrization.

In Chapter 3, we will focus on a first method to compute a cone distribution where defects are bound to be multiples of π/2 and recover an associated seamless parametrization. To circumvent the problem of integer variables, we use a combinatorial trick and define another domain over which the optimization becomes continuous.

In Chapter 4, we take inspiration from the differential geometry literature, more specifically Elie Cartan's method of moving frames, to design an algorithm that simultaneously optimizes for a cone distribution and a parametrization, enabling extensive control over the final result. Chapter 5 will present an alternative optimization of the same problem with less theoretical guarantees but better performance in practice.

In Chapter 6, we expose our ongoing work about generalizing the previous method of moving frames to the case of grid-preserving parametrizations, thus designing an optimization problem that solves every step of the pipeline in one go.

Finally, our conclusive chapter (Chapter 7) will summarize our contributions and discuss their extensions, both for quadmeshing in the surface case and their generalization to hexmeshing.

Associated material

Publications

The work presented in this manuscript, in particular Chapter 4, has been the object of a publication in Transaction on Graphics in 2023:

Software

Most of our mesh processing code, as well as implementations of state of the art parametrization methods used for figures in this manuscript have been gathered into a single Python library called mouette: https://github.com/GCoiffier/mouette. The implementation of the moving frame algorithms of Chapters 4 and 5, implemented in python using mouette can be found here: https://github.com/GCoiffier/moving_frames_ parametrization 2

Background and State of the Art in Surface Parametrization

The field of geometry processing lies at the intersection of two vast and complementary areas of research. On one side, geometrical objects have been studied -and are still studied -as abstractions through the lens of mathematics and especially differential geometry. On the other side, the question of how to represent these objects inside a computer and how to design efficient algorithms to deal with them is motivated by modern applications in computer graphics and numerical simulation.

In this first chapter, we expose the required notions of both differential geometry (Section 2.1) and computer science (Section 2.2) needed to understand surface parametrization. We will then give an overview of the domain, following works from two of its most widespread applications : texture mapping and quadmeshing. The first one (Section 2.3) will allow us to adopt an historical point of view, from the early works of [START_REF] Tutte | How to Draw a Graph[END_REF] to state of the art methods and will introduce the main concepts. The second (Section 2.4) is the application we will be interested in for the rest of the manuscript.

Elements of Differential Geometry

Let us start by exposing and defining the different concepts of differential geometry used throughout the manuscript. In a nutshell, differential geometry is the geometrical study of smooth shapes, called manifolds, and objects that are defined on them, such as functions or vector fields. While the whole theory can be derived in a very general and abstract way for any topological space, such an exposition is out of scope for this manuscript. While we give here some definitions and properties for an arbitrary finite dimension n, we will only consider in this work manifolds of dimension 2 that can be immersed in R 3 , that is to say smooth surfaces. The ability to use an external space R 3 will simplify some concepts and allows us to better stick to the intuition one can have about those objects. Notions exposed in this section are based on the textbooks of [START_REF] Morita | Geometry of differential forms[END_REF], [START_REF] Aubin | Some Nonlinear Problems in Riemannian Geometry[END_REF],do Carmo [1992] and O'Neill [2006].

Differentiable Maps

At the heart of differential geometry is the concept of continuous and differentiable maps. Such a map allows us to generalize the geometry of vector spaces to their images, which can be arbitrary surfaces, volumes and more.

Let U, V be two open sets of R n . A map φ : U → V is said to be

• an homeomorphism if it is bijective and both φ and φ -1 are continuous;

• a C k -diffeomorphism is it is bijective and both φ and φ -1 are of class C k .

If φ : R m → R n is a differentiable function, the Jacobian Matrix J(φ) of φ is the n × m matrix of its partial derivatives with respect to a coordinate system (x 1 , ..., x m ) of R m :

J(φ) =       ∂φ 1 ∂x 1 ∂φ 1 ∂x 2 • • • ∂φ 1 ∂xm ∂φ 2 ∂x 1 ∂φ 2 ∂x 2 • • • ∂φ 2 ∂xm . . . . . . . . . . . . ∂φn ∂x 1 ∂φn ∂x 2 • • • ∂φn ∂xm      
where ∂φ i ∂x j is by definition the partial derivative of the i-th coordinate of φ with respect to the j-th coordinate of R n . Figure 2.1: A parametrization consists of local coordinate systems ϕ defined over charts Ω such that the transition from one chart to the next is a C k diffeomorphism. For manifolds with boundaries (right), we restrict our coordinate systems to be defined on a half-space H n rather than R n .

Manifolds

A manifold M of dimension n is a set such that each point of M admits a neighborhood that is homeomorphic to R n . If each point of M admits a neighborhood that is C k -diffeomorphic to R n , we say that M is smooth of class C k . A local chart of M is a pair (Ω, ϕ)
where Ω is an open subset of M and ϕ : Ω → R n is a homeomorphism. The mapping ϕ is called the parametrization of local chart Ω. In 2D, we can think of it as the mapping that "unwraps" a part of the manifold and flattens it to the plane. This mapping is exactly what we aim at computing in practice in this work.

A collection (Ω i , ϕ i ) i∈I of local charts such that M = i Ω i is called an atlas. As parametrizations ϕ i over charts define local coordinate systems, an important and desirable property is that these coordinate systems are consistent, meaning that the transition from one to another can be done in a smooth manner. To this end, we say that an atlas is of class C k if, for every pair of charts

(Ω a , ϕ a ), (Ω b , ϕ b ), the application ϕ b • ϕ -1 a : ϕ a (Ω a ∩ Ω b ) → ϕ b (Ω a ∩ Ω b ) is a C k -diffeomorphism. This property is illustrated on Figure 2.1 (left).
Boundary of a manifold For some manifolds, the previous definition has to be extended to take into account the presence of a boundary, since points on the boundary of M do not admit a neighborhood that can be parametrized to an open subset of R n . To take these points into account, it is sufficient to consider that the manifold can be locally diffeomorphic to either R n (for interior points) or the half-space H n defined as the subset of vectors of R n with non-negative first coordinate (for boundary points), as seen on Figure 2.1 (right).

The boundary of a manifold M of dimensions n, noted ∂M, is itself a manifold of dimension n -1 (the boundary of a surface is a curve, the boundary of a volume is a surface, etc.).

Vector Fields

Tangent vectors Let M be a smooth manifold of dimension n and ε > 0. A differentiable function γ : (-ε, ε) → M is called a differential curve in M. Suppose that γ(0) = p ∈ M and let D p the set of functions on M that are differentiable at p. The tangent vector of the curve γ at point p is a function γ ′ (0) over functions of D p defined by:

γ ′ (0) : f → d(f • γ) dt t=0 .
γ ′ (0) associates to every function f its directional derivative in the direction of γ. A tangent vector at point p ∈ M is the tangent vector of some curve γ such that γ(0) = p. The tangent space of M at point p, noted T p M, is the set of all possible tangent vectors. It is a vector space of dimension n (Figure 2.2a).

The tangent bundle of M is the set defined as:

T M = p∈M {(p, x)|x ∈ T p M}
A tangent vector field X on M is the assignment of a tangent vector X p ∈ T p M for every point p of M (Figure 2.2b). It is sometimes referred to as a section of the tangent bundle T M.

Normal vectors and surface orientation Let (Ω a , ϕ a ) and (Ω b , ϕ b ) be two charts. The change of coordinates ϕ b • ϕ -1 a is orientation preserving if the determinant of its Jacobian matrix (simply called its Jacobian) is positive. An atlas is orientable if all its transition functions are orientation preserving, and a manifold M is orientable if it admits an orientable atlas. In this work, we will always assume that this is the case for all the considered surfaces.

Given an orientable surface M ⊂ R 3 , we can define a local orthonormal basis X p , Y p at every point p ∈ M in the form of two orthogonal smooth vector fields. The orientability condition is necessary to ensure that space orientation det(X p , Y p ) has the same sign everywhere. The normal vector n p at point p can then be defined as the cross product of X p and Y p . Its direction does not depend on the choice of X p and Y p . Its smoothness with relation to p is ensured by the orientability condition.

The normal space at point p, noted N p M, is the supplementary subspace of the tangent space T p M:

N p M ⊕ T p M = R 3 .
The normal bundle N M can be defined in a similar way as the tangent bundle.

Differential Forms

Differential forms are meant to represent quantities that should be integrated over a region of a manifold to yield a real value. Their definition stems from the introduction of a bilinear product operator ∧ over R n called the exterior product, or wedge product with the following properties:

• (u + v) ∧ w = u ∧ w + v ∧ w (right distributivity) • w ∧ (u + v) = w ∧ u + w ∧ v (left distributivity) • ∀a ∈ R, (au) ∧ v = u ∧ (av) = a(u ∧ v) (compatibility with scalar multiplication) • for a basis (dx 1 , ..., dx n ) of R n : dx i ∧ dx j = -dx j ∧ dx i (skew-symmetric product)
A straightforward property that follows is that dx i ∧dx i = 0 for any vector i. Given a product dx i 1 ∧ ... ∧ dx i k , its degree is the number of monomials present in its expression (here, k).

A k-differential form ω is the assignment, for all p ∈ R n , of a linear combination of all possible products of degree k:

ω p = I f I (p)dx i 1 ∧ ... ∧ dx i k
where f I : R n → R. The space Ω k (M) of k-forms over a manifold M is a vector space. When f I is constant over R n , we get the vector space of k-linear alternating forms, which is of dimension n k .

Exterior derivative The exterior differentiation is a linear operator defined over the set of k-forms that outputs a (k + 1)-form. For a k-form ω = f (p)dx i 1 ∧ ... ∧ dx i k , it is defined as:

dω = n j=1 ∂f ∂x j (p)dx j ∧ dx i 1 ∧ ... ∧ dx i k .
If f is a differentiable function over a manifold M (i.e a 0-form) then df corresponds to the differential of f .

From the definition, it is easy to prove that d(dω) = 0 for any k-form ω.

A k-form ω is said to be closed if dω = 0.

A k-form ω is exact if there exists a (k -1)-form η such that ω = dη. Using the fact that d • d = 0, an exact form is always closed.

Examples of forms on surfaces On surfaces, differential forms can only be of degree 0 (i.e., functions on the surface), 1 or 2. A 1-form on a surface associates, to each point (x, y) ∈ R 2 , a quantity of form f (x, y)dx + g(x, y)dy. A 2-form associates a quantity of form h(x, y)dx ∧ dy. For instance, ω defined as: ω = sin(y) dx + x 2 y dy is a 1-form in dimension 2. Its exterior derivative dω is the 2-form: dω = (cos(y) -2xy) dx ∧ dy.

Stokes Theorem Sometimes also referred as the fundamental theorem of multivariate calculus, the (generalized) Stokes theorem relates the integral of a differential form over a domain to the integral of its exterior derivative. More formally, if Ω is an orientable manifold with boundary ∂Ω and ω a k-form, then:

∂Ω ω = Ω dω.
1-forms and gradient An exact differential form is always closed, but the converse is not true in general. In the case of 1-forms however, the Poincaré lemma states that on simply connected manifolds, a 1-form is closed if and only if it is exact. In other words, closed 1-form are in this case exactly the differentials of functions on M. Going back to the definition, a 1-form ω has general expression:

ω p = n i=1 f i (p)dx i
Meaning that for each point p, ω p is a linear form that associates, for each vector v ∈ T p M, the value:

ω p (v) → n i=1 f i (p)dx i (v) = n i=1 f i (p)v i = ⟨X p , v⟩ where X p := n i=1 f i (p)x i .
When p varies over the manifold, X p forms a tangent vector field associated to the 1-form ω. Conversely, for any vector field X p , one can define the associated 1-form as ω p : v → ⟨X p , v⟩. 1forms and tangent vector fields are therefore dual representations of the same object, except that the vector expression depends on the considered inner product ⟨•, •⟩. This is why we sometimes speak of covectors instead of 1-forms.

The vector X p is called the gradient of f = (f 1 , ..., f n ) at point p, and is more often noted ∇ p (f ).

Parallel Transport

In Euclidean space, two parallel vectors are simply collinear vectors. If their point of origin differ, one can transform one into the other by an affine translation. On a surface, the notion of parallelism is more subtle, as two tangent vectors at different point live in different tangent spaces. For example, on a sphere like Earth (Figure 2.3a), two vectors placed on different point on the equator and pointing westward can be considered parallel since they point in the same local direction, even if their orientations in R 3 differ dramatically.

More formally, consider a tangent vector field X and an injective differentiable curve γ : [0, 1] → M such that γ(0) = p 0 and γ(1) = p 1 . X is said to be parallel to the curve γ at point p 0 if its directional derivative in the direction of γ ′ is zero: In other words, the vector field X is "constant" in the direction of the curve. This property uniquely defines a linear map P γ : T p 0 M → T p 1 M, called the parallel transport along γ, describing how tangent spaces and their coordinate systems relate to one another. Two vectors X p 0 and X p 1 are said to be parallel if one is the image of the other by this map.

∇ γ ′ X(p) = d dt X(γ(t)) t=0 = 0.
Unlike the Euclidean case, the parallel transport between point p 0 and p 1 depends in general on the path γ taken from p 0 to p 1 . If this path is the shortest path from p 0 to p 1 (a geodesic), then it follows that the angle X makes with the curve direction vector γ ′ is constant (Figure 2.3b).

Infinitesimally, a parallel transport is associated to a 1-form called a connection form. For a vector field X, define θ(p) as the angle between X p and the curve's direction γ ′ (p). Then, there exists a smooth 1-form ω such that:

θ(p 1 ) = θ(p 0 ) + γ ω.

Holonomy and Curvature

With the notion of parallel transport along a path, one natural question arises: what happens when the considered curve is closed, i.e., when γ(0) = γ(1) = p ? We call such a curve a cycle. When a tangent vector X p is transported along a cycle, we obtain a vector Y p that is not equal to X p in general. This phenomenon is called holonomy. In Figure 2.4, we can see that a tangent vector on a sphere, parallel transported around an eighth of the surface back to its original position, ends up rotated by π/2.

Let γ be a cycle that is the boundary of a topological disk D ⊂ M. Using the connection form ω defined above, one can express the holonomy angle Ψ γ associated to γ as:

Ψ γ = γ ω.
Ψ γ = D dω
where dω is a 2-form. By definition, it can be written as dω = Kdx ∧ dy. This function K corresponds locally to a quantity called the Gaussian curvature up to a multiple of 2π.

To properly define the Gaussian curvature of an orientable manifold M, one has to consider a normal vector field U . Let p ∈ M and X ∈ T p M. Define a curve γ such that γ(0) = p and γ ′ (0) = X. Then, the directional derivative of U at p in direction X is the vector of the tangent plane T p M defined as:

∇ X U (p) = d dt U (γ(t)) t=0 .
We define the shape operator at point p as its opposite:

S p : T p M → T p M X p → -∇ Xp U (p)
The shape operator describes how the normal vector varies in all directions around p. It is a linear symmetric operator, meaning that for a surface, it is described by a symmetric 2 × 2 matrix. According to the spectral theorem, this matrix has two real eigenvalues σ 1 > σ 2 .

The Gaussian curvature at point p is defined as its determinant:

K := det(S p ) = σ 1 σ 2 .
It corresponds to the same quantity integrated in the computation of holonomy above. Intuitively, it gives some information about the local shape of the surface. As shown in Figure 2.6, the surface is locally convex or concave when K > 0 and a saddle point when K < 0. When K = 0, an important property is that there exists a parametrization which is locally an isometry, meaning that it perfectly conserves lengths. Surface with zero Gaussian curvature everywhere are called developable.

Eigenvectors associated to σ 1 and σ 2 are called principal directions of curvature. As another consequence of the spectral theorem, they form an orthogonal basis of T p M. When correctly defined, the principal directions of curvature form a frame field of the surface. This will be useful later in Section 2.4.3 as well as in Chapter 4. For the computation of the holonomy, we introduced cycles that are the boundary of a closed region of the surface. These cycles separate the surface into two distinct regions and can be continuously deformed to a single point. They are referred to as contractible cycles. On the other hand, there may exist a family of non-contractible cycles for which it is not the case. They typically form around handles or "holes" of the considered shape. The red cycles in Figure 2.5 are two examples of such cycles that are equivalent up to a continuous deformation.

The genus of a surface is an integer corresponding to its number of handles. Each handle in a manifold allows defining two additional non-contractible cycles that are not the image of each other by a homeomorphism. This means that the genus is also half the maximal cardinal of any family of non-homeomorphic non-contractible cycles.

Two orientable surfaces without boundary M 1 and M 2 are homeomorphic if and only if they have the same genus [O'Neill 2006, p.371].

The Gauss-Bonnet Theorem In the case of bounded orientable surfaces, the total integral of the Gaussian curvature does not depend on the geometry of the surface, but only on its genus. Let M be a smooth compact surface with boundary ∂M. Just as we can define the Gaussian curvature K on M via the shape operator, that is the derivative of the normal vector field of M, it is possible to define a notion of curvature on a curve like ∂M called the geodesic curvature as the angle κ between the curve's direction and the derivative of its normal. Knowing this, the Gauss-Bonnet theorem links the integral of the Gaussian curvature, the geodesic curvature of the boundary curve to a topological invariant χ(M) ∈ Z called the Euler characteristic:

M KdM + ∂M κds = 2πχ(M).
While originally defined for polyhedral surfaces (see Section 2.2), the Euler characteristic can be linked to the surface's genus by the formula χ(M) = 2 -2g. As a consequence, every surface

Surface Meshes

Now that the main concepts of differential geometry needed have been introduced, let us turn our attention to the way they are used in computer science. The question to ask in this section is simple : given a smooth surface M as before, how can we represent it inside the memory of a computer in a form that allows the design of efficient algorithms ? Throughout the last fifty or so years, mesh structures have imposed themselves as the most widespread solution for this problem. This success can be explained by their various advantages in their two main areas of applications.

Firstly, in computer graphics, polygonal meshes, and especially triangular meshes are used to define the geometry of objects contained in a scene. Images of this scene are obtained either by computing the projection of objects as pixels in a camera's field of view (a process known as rasterization) or by simulating the propagation of light towards the same camera (ray tracing). While these methods are not limited to the use of polygonal meshes, since rendering of higher order structures like Bezier surfaces, polynomial surfaces or signed distance functions is also possible, the triangle is the simplest shape these algorithms can work on that is able to represent any geometry (as the number of triangles increases). Algorithms and their practical implementations have been highly optimized (and parallelized) for triangles in particular, leading to a situation where it might be more efficient to simply increase the number of faces in a polygonal mesh instead of switching to a more expressive representation with the same number of elements. In a context where performance is highly stressed, especially for real-time applications like video games, triangular meshes have therefore settled as the best tradeoff between computational costs, simplicity of use and quality of the final result.

The other domain in which meshes are essentials is numerical simulation, where meshes are used to represent a geometrical domain over which the solution of a partial differential equation (PDE) is computed. As such equations describe continuous phenomena, methods for discretization and approximations had to be developed. The finite element method (FEM) is perhaps the most widespread [START_REF] Dhatt | Finite element method[END_REF]. The key idea is to look for approximate solutions of a given PDE not in the whole intractable set of differentiable functions over the domain, but only as linear combinations of a chosen family of basis functions. Usually, polynomial functions with a single maximal value of 1 at some point of the domain are used as a basis. To better approximate the solution, one can either increase the maximal degree of said polynomials or increase the number of considered points. It turns out that in practice, the latter is preferred, as computational hardware better handles lots of simple functions rather than a small number of high degree ones [START_REF] Borouchaki | Adaptive Triangular-Quadrilateral Mesh Generation[END_REF]. To this end, the finite element method usually uses the simplest possible functions as a basis, a so-called hat function (see inset Figure ), that is a piecewise linear function f v equal to 1 at some point v of the domain and equal to 0 at every other point v ′ such that f v ′ is also in the basis [START_REF] Crane | Discrete Differential Geometry: An Applied Introduction[END_REF]]. This amounts at defining a triangular mesh of the domain whose vertices are exactly the v for which a basis function exists. Any linear combination of basis functions is then defined by its values at the vertices, which can be linearly interpolated inside triangular faces. In this framework, increasing the precision of the computation is equivalent to increasing the resolution of the triangulation.

Definition of a Mesh

In formal terms, a surface mesh is polygonal surface represented as a triplet M = (V, E, F ) where:

• V is a set of vertices, which are usually given as points in 3D space.

• E ⊂ V 2 is a set of edges, linking two vertices.

• F ⊂ P(V ) is a set of polygonal faces. The number of faces in a mesh M and their size is the key parameter to control the quality of approximation of a smooth surface. As shown in Figure 2.7, a large number of faces allows capturing every detail of the initial model at the cost of a greater memory size and overall computation cost.

A surface mesh is triangular if F is only composed of triangles and quadrilateral if F is only composed of quadrilaterals. Triangular meshes are the most common and general structure, since every polygonal face can be triangulated. If not specified, we will always assume that a mesh is a triangular mesh. Quadrilateral meshes, which we aim at creating from triangular meshes, will be explicitly referred to as quadmeshes.

For a vertex i ∈ V , we will denote by N V (i) the 1-neighborhood of i, that is the set of vertices that are connected to i by an edge:

N V (i) := {j ∈ V | {i, j} ∈ E}.
The degree (or valence) of vertex i is the cardinal of N V (i). Similarly, we can define N F (i) as the set of faces that admit i as a vertex:

N F (i) := {f ∈ F | v ∈ f }.
For a surface mesh to truly discretize a smooth manifold, some additional combinatorial constraints are required on the sets V ,E and F , namely:

• A vertex is always adjacent to at least one face (Figure 2.8a);

• An edge is adjacent to one or two faces (Figure 2.8a);

• N F (i) is a connected fan of triangles for any vertex i (Figure 2

.8b).

A surface mesh satisfying these conditions is said to be manifold [START_REF] Borouchaki | Adaptive Triangular-Quadrilateral Mesh Generation[END_REF]]. This will be the case for all meshes considered in this work.

Discrete Differential Geometry

Surface meshes can be understood as piecewise linear approximations of smooth surfaces made of polygonal patches, yet they are non-smooth by construction. This means that the definitions and theorems of Section 2.1 have to be extended or modified to account for this discrete context. As a matter of fact, it is not free to do so as some properties have to be lost in the process [START_REF] Crane | A Glimpse into Discrete Differential Geometry[END_REF]. The field of discrete differential geometry is the study of the generalization of differential concepts and quantities over polygonal surfaces. Intuitively, the change from differential geometry to its discrete counterpart is made by not considering differential quantities anymore, but rather their integral over curves or surface patches, namely either edge paths or regions made of faces.

Tangent spaces and tangent vector fields Given a surface mesh M = (V, E, F ), it is possible to define a local basis X t , Y t of the plane defined by each face t ∈ F . The tangent space T p M of a point inside the face is simply the linear span of the face's basis, thus the tangent space and the surface locally coincide. Normal vectors of the mesh are defined as normals of the faces. They are not well defined on vertices and edges, but can be taken as a weighted sum of adjacent normal vectors. This allows us to also define tangent spaces at vertices as the supplementary space of the normal direction.

A tangent vector field on the mesh is the association of a vector of R 3 to either every face or every vertex. When local bases are defined, it can be expressed as only two coordinates in this basis, sometimes grouped together as a complex number for ease of computation.

Discrete exterior calculus Just as exterior calculus defines and uses differential k-forms over smooth manifolds, its discrete counterpart was introduced in the early 2000 as a way to perform actual computations using these objects on meshes. We refer to [START_REF] Anil | Discrete Exterior Calculus[END_REF] and Desbrun et al. [2005] for a complete exposition.

As a broad overview, the theory is based on the notion of k-chains, which in 2D are the oriented edges (1-chains) and oriented faces (2-chains). Discrete k-forms are then seen as maps from k-chains to R. That way, 0-forms correspond to functions over the mesh (defined on vertices and linearly interpolated), 1-forms associates a value per oriented edge and 2-forms, per oriented face. 1-form can be thought as the integral of a regular differential 1-form along the path that the edge defines. The same holds for a 2-form that needs to be integrated over a whole face.

Alternatively, one can consider the elements of the dual mesh as chains to define discrete forms onto. A dual edge is simply an abstract "orthogonal" edge that links two adjacent face circumcenters, and a dual face is a surface patch surrounding a vertex. In this dual context, 0-forms represent functions on faces, and 1 and 2-forms are derived in the same way. Figure 2.9 summarizes the bestiary of discrete differential forms for triangulations in 2D.

α t 1 t 2 dα v v ω ij -ω ij v j v i dω t -α t 1 t 2 Figure 2
.9: In the discrete setting, differential forms are described by values over oriented kchains, which are primal and dual elements of the mesh. Here, ω is a primal 1-form and its exterior derivative dω can be computed on a face t as the sum over all oriented edges around t. The same goes for the dual 1-form α, which derivative is computed per vertex v as the sum around the dual surface patch of v.

The discrete exterior derivative maps the set of k-forms to the set of (k+1)-forms. In practice, if α is a 0-form on vertices, dα is defined on edge (i, j) using Stokes theorem as:

dα ij := ij dα = α j -α i .
If ω is a 1-form over edges, then over every triangular face (a, b, c), dω defines a 2-form such that :

dω abc := abc dω = ω ab + ω bc + ω ca .
The definitions of a closed (dω = 0) and exact forms (ω = dη) stay the same. In particular, a primal 1-form ω is exact if there exists a real function η on vertices such that ω ij = η jη i for all edge (i, j). It is easy to verify that dω = 0 in this case.

Discrete Parallel Transport Similarly to the continuous case, it is possible to define a parallel transport between individual faces of the mesh. Given two triangles t 1 and t n , the equivalent notion of an injective path between them is a triangle strip (t 1 , t 2 , ..., t n ) as the one shown in Figure 2.10a. The intuition behind the parallel transport in this case is simple: such a strip can always be flattened isometrically in the plane by "rotating" the triangles around their common edge so that their normal vectors match. After this transformation, the surface becomes euclidean and the parallel vectors are simply translations (blue vectors in Figure 2.10a). All that is left is to account for the change of local bases across edges.

More formally, we equip each triangle with an arbitrary orthonormal basis X, Y that spans its tangent space. For two adjacent triangles t i and t j with respective local basis (X i , Y i ) and (X j , Y j ) and common edge e ij (Figure 2.10b), we denote by α i (resp. α j ) the angle edge e ij t n t 1 (a) Transporting a vector along a triangle strip in a polygonal mesh is equivalent to flattening the strip in the plane and applying changes of local bases iteratively. makes with the basis vector X i (resp. X j ). Then, the parallel transport from t i to t j is simply a rotation of angle:

X j Y i Y j e ij α i
ρ ij := α j -α i .
ρ defines a dual 1-form on the mesh. For our strip of triangles (t 1 , t 2 , ...t n ), the parallel transport linear map P t 1 ,tn along the path can be computed as the composition of all changes of basis:

P t 1 ,tn = R(ρ n-1,n ) • ... • R(ρ 1,2 ).
Note that it is also possible to define a parallel transport between dual elements, that is to say a primal 1-form expressing rotations between vertex charts. This construction is described by [START_REF] Knöppel | Globally Optimal Direction Fields[END_REF] and will be recalled in Chapter 4 where it will be useful.

Holonomy and angle defect

The discrete parallel transport also defines a notion of holonomy of the surface when we consider closed strips of triangles. In particular, consider the ring of faces adjacent to a common vertex v and a triangle strip (t 1 , ..., t n ) traversing all of them in order. Again, one can flatten this strip in the plane but this procedure does not imply that t 1 and t n are adjacent (Figure 2.11). In fact, the two versions of their common edge are separated by an angle K v called the angle defect of vertex v. As the name indicates, the angle defect of v quantifies the missing angle to be added around v in order for its ring to be completely flat. If we denote θ t v the inner angles formed at vertex v as a corner of triangle t, and:

Θ v := t∼v θ t v
the total inner angle at v, then the angle defect K v can be computed as:

v θ t v θ t v v K v > 0 (a)
Positive angle defects correspond to vertices with "pointy" neighborhoods (convex or concave)

K v < 0 v v (b)
Negative angle defects correspond to saddle points on the surface (bump in some directions but recess in others).

Figure 2.11: The angle defect K v of a vertex v is the angle needed in order to connect its triangle ring back together if we were to cut along an edge and flatten it in the plane.

K v := 2π -Θ v if v is an interior vertex π -Θ v if v is on the boundary (2.1)
The angle defect can be interpreted as a discrete version of the Gaussian curvature on vertices. As illustrated in Figure 2.11, a positive angle defect corresponds to either convex or concave neighborhoods and a negative angle defect appears in saddle-shaped regions. A vertex with a non-zero defect will be referred to as a cone.

Principal directions of curvature While the angle defect is simple to compute on a mesh, it is not the case for the shape operator in general. One reliable way of obtaining an approximation is described by [START_REF] Cohen | Restricted Delaunay Triangulations and Normal Cycle[END_REF], where the authors define the shape operator for an edge e as the 3 × 3 matrix using the dihedral angled β between the normals of the two adjacent triangles:

S e = β e.e T ||e|| 2
By averaging these matrices around the edges of a face t, one can extract a symmetric matrix S t which eigenvalues are 0, σ 1 and σ 2 . Vectors in the normal direction of the considered face are always in the kernel of the matrix, while principal directions of curvature form the eigenspaces for σ 1 and σ 2 .

Gauss-Bonnet theorem for polygonal surfaces More than just a generalization of the Gaussian curvature on smooth manifolds, the angle defect is the quantity needed to prove a Figure 2.12: A parametrization ϕ of a surface mesh is a piecewise linear map that sends every triangle of the mesh (here, a half-sphere) to a triangle in the plane (right). Seams (edges in red) can appear when the image of adjacent triangles are not adjacent in parameter space. The uv-coordinates defined by the parametrization are represented by a checker texture discrete version of the Gauss-Bonnet theorem. For a polygonal mesh M = (V, E, F ), if K v is the angle defect at vertex v, then its sum over all vertices is a topological invariant:

v∈V K v = 2πχ(M ).
In this setting, we also retrieve the well-known expression of the Euler characteristic in function of the number of vertices, edges and faces of a polyhedron [START_REF] Euler | Elementa doctrinae solidorum[END_REF]]:

χ(M ) = |V | -|E| + |F |.

Parametrization of a Mesh

We are now ready to properly define the problem of surface parametrization for a polygonal mesh. Going back to the definition, a parametrization ϕ associates a point in the plane to every point of a surface. Given a triangular mesh M in the numerical simulation setting described earlier, this would amount to define a function ϕ : V → R 2 on vertices and consider its linear interpolation inside faces. But for topological reasons, we actually need to take eventual discontinuities along edges into account. Therefore, ϕ is typically described as the coordinates ϕ(c) = (u c , v c ) it assigns to every triangle corner, which can vary for different corners of the same vertex. These coordinates are usually called the uv-coordinates in opposition to the xyz-coordinates of vertices in real space. In computer graphics, it is common to speak about uv-mapping instead of parametrization.

Alternatively, ϕ can be described purely as a linear mapping per triangle. For a triangle t = (i, j, k) equipped with an arbitrary base, instead of describing ϕ with the 6 values (u i , v i ), (u j , v j ) and (u k , v k ), one can describe it as a 2 × 2 Jacobian matrix J t mapping xyzcoordinates (x i , y i ), (x j , y j ), (x k , y k ) of i, j, k expressed in the local basis of t to uv-coordinates:

J t = u j -u i u k -u i v j -v i v k -v i x j -x i x k -x i y j -y i y k -y i -1
.

The two formulations are equivalent up to a global translation. While the coordinates per corner representation is more direct to use, the matrix formulation allows for a simpler expression of the properties of the mapping during computation. 12 is an example parametrization of a half-sphere. Each triangle of M is mapped to a counterpart triangle in the plane. The uv-coordinates, forming a perfect grid in parameter space can be wrapped back onto the surface using the inverse of ϕ. For this to be possible, ϕ has to obviously be an invertible mapping. Recall that in the smooth context, we required the parametrizations to be homeomorphisms. Within the piecewise linear framework, we require that ϕ is foldover-free, meaning that is it invertible but also orientation-preserving. In practice, using the Jacobian formulation of ϕ, this boils down to constraining det(J t ) to be positive for all triangles t [START_REF] Garanzha | Foldover-Free Maps in 50 Lines of Code[END_REF]].

In the remaining of this chapter, we will discuss parametrization algorithms with two applications in minds. In Section 2.3, discussion about texture mapping applications will allow us to take an historical point of view on the domain and introduce its fundamental concepts. Then, Section 2.4 will focus specifically on quadmeshing. As we will see, parametrization based approaches for this task require specific constraints to be integrated into the final mapping.

Surface Parametrization for Texture Mapping

In this section, we will review parametrization algorithms from an historical perspective. We will focus on texture mapping applications since most of the early algorithms were developed with this application in mind. This will allow us to introduce the basic concepts behind surface parametrization, before moving in Section 2.4 onto our application of interest, namely seamless parametrization for quadmeshing.

The section is organized as follows. Starting from the simplest possible case of a disk topology mapped to a convex fixed domain of the plane (Subsection 2.3.1), we will progress towards more general parametrization algorithms. Subsections 2.3.2 and 2.3.3 describe two generalizations, namely free-boundary conformal maps and foldover-free maps. In Subsection 2.3.4, we discuss distortion minimizing maps with more generality and define several useful distortion metrics. Starting from Subsection 2.3.5, we will extend our review to parametrization techniques where the mapping is allowed to be discontinuous at edges, thus creating seams. This setup allows generalizing to arbitrary shapes and not only disk topologies (Subsection 2.3.6). Finally, we will discuss specific constraints to enforce onto a parametrization to make seams visually disappear (Subsection 2.3.7), hinting towards the notion of seamless parametrization.

Tutte's Embedding

Recall that the formal definition of a parametrization we gave at the beginning of Section 2.1 calls for a family of local charts over which coordinates are defined. Let us start by considering one of such chart C. Without loss of generality and for practical reasons, let us assume that C has disk topology. Mapping C to the plane can be done in an infinite number of ways, since every homeomorphism ϕ would represent a correct parametrization. Stated differently, C can be mapped as any shape U ⊂ R 2 by a valid parametrization, as long as U also has disk topology. For simplicity, one would like some restrictions on U in order to effectively be able to compute something. A first approach, which is also the historical one, is to consider that the domain U is fixed and known in advance. In practice, C and U are both represented by two triangular meshes with the same connectivity. Assuming that U is known as a domain simply means that we know the embedding ϕ(v) of all vertices of the boundary ∂U = ϕ(∂C). The problem is to compute the positions of every other vertices such that the mapping ϕ remains injective. In the language of vertices, edges and triangles, this simply amounts to placing all interior vertices such that no edges cross each other.

The solution to this problem was formalized in 1963 by Tutte as a general method for drawing 3-connected graphs7 in the plane while minimizing the set of edge crossings [START_REF] Tutte | How to Draw a Graph[END_REF]]. In particular, Tutte described a method that finds an injective embedding of the graph as long as the boundary ∂U is convex. It simply works by assigning each interior vertex to the barycenter of its neighbors. More precisely, if we note p i the coordinates of vertex i in the plane, Tutte's embedding can be computed by solving the following least-square problem:

min p (i,j)∈E w ij ||p i -p j || 2 . (2.2)
under the constraint that p i is fixed for any vertex i of the boundary ∂U . Originally, weights w ij were all taken equal to 1 (barycentric embedding), but Floater [1997] later showed that the guarantee of injectivity holds for any positive weights w ij per pair (p i , p j ).

The question of finding the optimal weights for the parametrization to be "as natural as possible", meaning that the shape and areas of triangles should be preserved as much as possible, quickly arose. In the same work, Floater derives a formula for the weights that is based on adjacent triangles' areas and amounts to consider8 :

w ij = 1 2 (cot(α ij ) + cot(β ij )) (2.3) i j α ij β ij
where α ij and β ij are the opposite angles in the two adjacent triangles of edge (i, j) (see inset Figure ).

If the uv-coordinates of points p i = (u i , v i ) are stacked as two vectors u = (u 1 , ..., u n ) T and v = (v 1 , ..., v n ) T , Problem (2.2) can be rewritten as a matrix system:

min (i,j)∈E u T Lu + v T Lv (2.4)
where L is the symmetric square matrix defined as:

L ij = -w ij if (i, j) ∈ E and 0 otherwise L ii = j̸ =i w ij . (2.5)
L is called a discrete Laplacian operator. When the considered weights are the cotangents of Equation ( 2.3), we obtain the cotan Laplacian [START_REF] Solomon | Laplace-Beltrami: The Swiss army knife of geometry processing[END_REF]. The cotan Laplacian is the discretization of the Laplace-Beltrami operator, that is to say the Laplacian matrix with the "most natural" weights that approximates at best its smooth counterpart on manifolds [Crane 2018, Ch.6]. A function u such that Lu = 0 is called harmonic. Tutte's barycentric embedding therefore amounts at finding two of such functions to be used as uv-coordinates. The second attempts at generalizing the injectivity property of Tutte's embedding to non-convex arbitrary boundaries (Section 2.3.3).

Free-boundary Parametrization, Conformal Maps

Any embedding of the same form as Problem (2.2) needs some locked positions for vertices in order to avoid the trivial zero solution. What if we instead want a free-boundary parametrization where the target domain U is unknown ? For simplicity, the first algorithms tackling this problem restrained themselves to a specific deformation model, that is to say a subset of all possible parametrizations. A very popular deformation model is the set of conformal maps, for which angles are preserved. The use of this family of functions is motivated by two reasons. Firstly, the uniformization theorem states that any smooth surface with disk topology admits a conformal parametrization [de Saint-Gervais 2016], so restricting to this set of functions does not hinder the ability of any algorithm to find a solution. Secondly, a deformation ϕ(x, y) = (u(x, y), v(x, y)) is conformal if it satisfies the linear partial differential equation of Cauchy-Riemann:

     ∂u ∂x = ∂v ∂y ∂u ∂y = - ∂v ∂x
This criterion is easy to optimize over, as it boils down to solving a linear system in practice. This is the method used in the Least-Square Conformal Maps (LSCM) algorithm [START_REF] Lévy | Least Squares Conformal Maps for Automatic Texture Atlas Generation[END_REF]. This algorithm will be discussed in details in Chapter 3 as we expose its properties and describe an application to seamless parametrization.

An equivalent formulation of the LSCM system, called Discrete Conformal Parametrization (DCP) was independently developed by [START_REF] Mathieu Desbrun | Intrinsic Parameterizations of Surface Meshes[END_REF]. Links between the two approaches hints at the relationship between conformal maps and the Laplacian operator: both Tutte's embedding and DCP aim at finding two harmonic coordinate functions, but the former avoids the trivial zero solution by fixing values on the boundary, whereas the latter instead requires two fixed points and that the gradients of coordinate functions stay orthogonal everywhere. A third approach to extract harmonic functions would be to directly compute an orthonormal basis of the cotan Laplacian's kernel using an eigenvector solver. This method was performed a few years later by [START_REF] Mullen | Spectral Conformal Parameterization[END_REF] and leads to another equivalent parametrization method. This last approach is however more robust as it does not need any fixed points to avoid zero.

In parallel, a family of methods aimed at computing a free-boundary parametrization by directly acting on angles of the triangulation. The so-called angle-based flattening algorithm (ABF) [START_REF] Sheffer | Parameterization of Faceted Surfaces for Meshing Using Angle-Based Flattening[END_REF] computes the angles of the mesh under some constraints of validity such that the defect becomes zero everywhere except at the boundary, making the surface effectively flat. Unlike LSCM or DCP, it does not however rely on a linear least-square problem, but on a more complicated non-linear constrained optimization and therefore suffers from longer computation times. It was later improved both in terms of robustness, guarantees of injectivity as well as computation speed [START_REF] Sheffer | ABF++: Fast and Robust Angle Based Flattening[END_REF]]. An alternative faster resolution was also proposed [START_REF] Zayer | Linear Angle Based Parameterization[END_REF]] and presents equivalent results in terms of quality.

In Figure 2.14, we compare the result of a LSCM and a ABF approach on the Stanford Bunny model. Both methods output a very similar result where individual squares of the checker texture are scaled but never stretched (right angles are preserved), a characteristic of conformal maps.

Conformal maps have also been used for surface parametrization thanks to the relationship with the angle defect of a mesh. In the smooth setting, a conformal transformation ϕ indeed Given two surface manifolds M 1 and M 2 with respective Gaussian curvature K 1 and K 2 , the log scale factor of a conformal deformation mapping M 1 to M 2 is solution to the Yamabe problem [START_REF] Aubin | Some Nonlinear Problems in Riemannian Geometry[END_REF]]:

∆u = K 1 -e 2u K 2
where ∆ is the Laplace-Beltrami operator on M 1 . A discretization of this equation, involving the cotan Laplacian was used by [START_REF] Ben-Chen | Conformal Flattening by Curvature Prescription and Metric Scaling[END_REF] to link a discrete scale factor on vertices to original and target angle defects K 1 and K 2 :

Lu = K 1 -K 2 .
(2.6)

When setting the target angle defect K 2 to zero everywhere, the authors can extract the scale factor that maps the initial surface to a flat one. However, solving Equation (2.6) only gives an approximation of the target metric and the flat surface needs to be recovered using other methods like ABF++ [START_REF] Sheffer | ABF++: Fast and Robust Angle Based Flattening[END_REF]. Alternatively, [START_REF] Springborn | Conformal Equivalence of Triangle Meshes[END_REF] minimize a convex energy whose first Newton step is Equation (2.6), which allows to directly recover edge lengths from the scale factor u and build uv-coordinates.

More recently, Boundary First Flattening [START_REF] Sawhney | Boundary First Flattening[END_REF]] explores the gap between fixed boundary Tutte-style methods and conformal maps. Also using Problem (2.6), the algorithm presents a way to compute a conformal parametrization with prescribed angles or lengths at the boundary, enabling extensive control over the final result. The article also discusses the impossibility of having both lengths and angles prescribed on the boundary while remaining conformal, highlighting the limitations of conformal maps when specific constraints need to be enforced on the mapping.

Overall, conformal maps benefit from a rich mathematical theory and enabled the design of efficient free-boundary parametrization algorithms with applications in computer graphics. Yet they remain unsuited for some applications, like quadmeshing, where necessary constraints (like distortion, injectivity or boundary control) are incompatible with an angle-preserving deformation.

Foldover-free Maps

The other generalization of Tutte's embedding is to try to extend the same method to nonconvex target domains (still with disk topology). In this broader context, harmonic coordinates functions extracted from the cotan Laplacian are no longer guaranteed to generate injective maps, as shown in the example on the right of Figure 2.13. The problem can be stated as follows: given a triangulated source domain C and a target domain U , compute a parametrization ϕ that is linear per triangle such that ϕ(∂C) = ϕ(∂U ) and det(J(ϕ t )) > 0 for all triangle t. In other words, ϕ should conform to the boundary of the domain without creating any foldovers, that is to say triangles with negative determinants causing ϕ to locally overlap itself. As shown in Figure 2.15 this property is less restrictive than requiring that ϕ is globally not overlapping, and sufficient for many applications.

A common approach to compute a foldover-free map is to define and solve the following variational problem using numerical optimization:

min t∈T F (J(ϕ t ))
where

F (J) = D(J) if det(J) > 0
+∞ otherwise for a distortion measure D : R 2×2 → R + (as the ones listed in Table 2.1). As this objective is not smooth nor finite in non-injective cases, state-of-the-art methods instead define a smooth proxy function F which minimization also implies the minimization of F [START_REF] Du | Lifting Simplices to Find Injectivity[END_REF][START_REF] Fu | Computing Inversion-Free Mappings by Simplex Assembly[END_REF][START_REF] Schüller | Locally Injective Mappings[END_REF][START_REF] Xu | Embedding a Triangular Graph within a given Boundary[END_REF]. This approach however relies on non-linear optimizers which require extensive work to prove convergence and/or correctness of the result [START_REF] Garanzha | Foldover-Free Maps in 50 Lines of Code[END_REF], as well as careful tuning and design to avoid high computation costs [START_REF] Claici | Isometry-Aware Preconditioning for Mesh Parameterization[END_REF]].

Double coverings

On top of these practical difficulties of obtaining a foldover-free map, constraining all determinants of the parametrization to be positive is sometimes not sufficient to guarantee local injectivity. A specific case can indeed appear where all triangles adjacent to a vertex are not flipped yet the neighborhood of the vertex wraps itself around two times. This phenomenon called a double-covering (see inset Figure) breaks local injectivity not over a face but around a vertex, and needs therefore to be avoided in practical applications. But unlike injectivity of individual triangles, double-coverings are hard to detect and prevent in optimization since they involve several triangles which, taken independently, are all perfectly valid.

Injectivity and distortion

In most works where a proxy function F is optimized to get rid of foldovers, its set of zeros is usually a strict subset of the zeros of original function F . This is justified intuitively by the fact that a parametrization has better quality if the triangles' determinants are not only positive but "far" from zero. In other words, it is often desirable to optimize for the preservation of triangles' shape on top of injectivity, which is what most energy functions designed for the computation of foldover-free maps also do if the optimization is pushed towards its true minimum. This has also the benefit of preventing bad cases of doublecoverings, which are often areas of great distortion, although no approach is able to claim any guarantee in this regard.

The problem of computing a foldover-free map is therefore closely related to the problem of distortion minimization in surface parametrization and both domains are still active areas of research.

Distortion Minimization

When computing a uv-map in computer graphics, a clear requirement imposed by artists was the minimization of the map's distortion. For texture mapping, it is indeed desirable that each pixel of the texture covers roughly the same area onto the model in order to avoid distracting visual artifacts. Moreover, avoiding shearing or stretching of the texture is also important when specific shape patterns are involved (for instance floor tiling or plaid shirt). These requirements were already appearing in the design of geographical maps, where the flat representation should reflect the reality of the curved surface of the Earth as much as possible. Preserving the shape of continents, as well as their relative sizes and positions, is therefore a natural criterion for the quality of a map.

Unfortunately, it turns out that computing a perfect map, and thus a perfect parametrization, is impossible in general. The theorema egregium of Gauss indeed states that the Gaussian curvature stays invariant by local isometries, that is to say transformation that preserve lengths. Since a parametrization changes the Gaussian curvature, as its maps it to a distribution where it is zero almost everywhere, it cannot be an isometry unless the considered surface already has zero Gaussian curvature. As a consequence, it is only possible to compute a parametrization that perfectly conserves angles (conformal parametrizations) or one that perfectly conserves areas (authalic) (see Figure 1.2 of Chapter 1) but never both at the same time. Yet, it does not prevent researchers to compute parametrizations presenting the best possible tradeoff between the two [START_REF] Chien | Bounded Distortion Parametrization in the Space of Metrics[END_REF][START_REF] Hormann | MIPS: An Efficient Global Parametrization Method[END_REF][START_REF] Khodakovsky | Globally Smooth Parameterizations with Low Distortion[END_REF][START_REF] Lévy | Non-Distorted Texture Mapping for Sheared Triangulated Meshes[END_REF][START_REF] Pietroni | Almost Isometric Mesh Parameterization through Abstract Domains[END_REF] for as long as the field existed.

Measuring Distortion of a Map

In order to evaluate the distortion of a parametrization, one can use many different numerical metrics. Recall that parametrizations ϕ of a triangle mesh can be described over each triangle t by a linear transformation stored as a 2 × 2 Jacobian matrix J t .

Any real matrix J can be decomposed, using the QR decomposition, as the product of an orthogonal matrix Q and an upper triangular matrix R. If we consider an orientationpreserving, foldover-free parametrization ϕ, then Q is a rotation matrix and R has positive diagonal coefficients. Since a rotation is global isometry, multiplying by Q does not introduce any distortion. We are left with:

R = α γ 0 β , α, β > 0
in a given basis (e u , e v ) of the plane fixed by the rotation Q. The values of the coefficients α, β and γ determine the nature of the transformation. A conformal transformation corresponds to the case where α = β and γ = 0. Any other transformation involves some stretching (α ̸ = β) or some shearing (γ ̸ = 0), or both. However, it can be area-preserving (authalic) if det(R) = αβ = 1. Only rotations (R = I 2 ) are both conformal and area-preserving.

Measuring distortion therefore involves quantifying some distance from the considered matrix to a target class of transformations. Given an orientation-preserving Jacobian matrix J = a c b d , denote σ 2 ⩾ σ 1 > 0 its two eigenvalues. Table 2.1 defines the most commonly used metrics on J. In our work, we will be using mainly the scale and stretch distortions for quality assessment, as their optimal value correspond respectively to an area-preserving and a conformal transformation.

Metric Definition Range Optimal value

Conformal ||J|| 2 F / det J [1, +∞) 1 As-Rigid-As-Possible (σ 1 -1) 2 + (σ 2 -1) 2 [0, +∞) 0 Shear ac + bd [0, +∞) 0 Scale (det J + det J -1 )/2 (0, +∞) 1 Stretch σ 1 /σ 2 (0, +∞) 1
Table 2.1: Distortion metrics and their definition.

Non-linear Methods for Distortion Minimization of Disk-shaped Charts

As explained in Section 2.3.3, the problem of computing low-distortion parametrizations is closely related to finding foldover-free maps. The former can be seen as an extension of the latter, where we do not only require the transformation to preserve orientation of triangle elements, but to also preserve their shape as much as possible regarding some metric.

Extensive work has been done in the last decade in order to find optimal parametrizations with regard to specific metrics. Some focus on the craft of a "good" distortion metric [START_REF] Levi | Shear-Reduced Seamless Parametrization[END_REF][START_REF] Lipman | Bounded Distortion Mapping Spaces for Triangular Meshes[END_REF]] or a good proxy with desirable properties [START_REF] Garanzha | Foldover-Free Maps in 50 Lines of Code[END_REF][START_REF] Rabinovich | Scalable Locally Injective Mappings[END_REF]. Several approaches also focused on improving the optimization process of classical distortion energies. A first one considers a sequence of intermediate results to build upon [Liu et al. 2018a]. Others consider iterative steps alternating between optimizing triangle's distortions independently and their compatibility in the final result [START_REF] Liu | A Local/Global Approach to Mesh Parameterization[END_REF][START_REF] Wang | ARAP++: An Extension of the Local/Global Approach to Mesh Parameterization[END_REF]]. Finally, some methods instead tackle the minimization problem as a whole and focus on the optimizer by using preconditioning techniques [START_REF] Claici | Isometry-Aware Preconditioning for Mesh Parameterization[END_REF][START_REF] Shtengel | Geometric Optimization via Composite Majorization[END_REF]] which resulted in improvements in convergence and computation times.

Introducing Cuts

All of the methods we have mentioned so far consider a globally continuous parametrization function ϕ from a disk-topology mesh to a disk-topology shape in the plane, meaning that they restrict themselves to changes on the geometry of the model (i.e., position of the vertices in uv-space) and never change the connectivity of the input mesh. For the sake of distortion minimization, one can instead imagine a relaxation of this setup where ϕ presents some discontinuities at edges.

As a matter of fact, a perfectly isometric parametrization can always be achieved by simply laying down each triangle independently in the plane. In general however, this puzzle cannot be assembled back due to angle defect, but the parametrizations can still be made connected by stitching some edges back together along a tree, as shown in Figure 2.16c for a half-sphere model. Distortion then simply comes from the deformation needed for the parametrization to be continuous along all other edges. This is the point of view taken by the Simplex Assembly algorithm of [START_REF] Fu | Computing Inversion-Free Mappings by Simplex Assembly[END_REF] and an idea that we will be expanding upon in Chapter 4.

The next logical thing to look for is the best tradeoff between the number of seam edges and global distortion. This will often depend on the application and the considered model. In texture mapping where esthetic considerations play the biggest role, the number of seams is often less important than their placement into areas where they will be less visible in renderings. Algorithms that solve the problem of parametrization with cuts can be divided into two categories. Firstly, the two steps methods try to optimize only for the cuts before computing a parametrization where they are considered as boundary [START_REF] Sheffer | Seamster: Inconspicuous Low-Distortion Texture Seam Layout[END_REF][START_REF] Vallet | What You Seam Is What You Get[END_REF]. More recent developments instead formulate the problem as a variational objective and optimize for both the seams and the distortion at the same time [START_REF] Li | OptCuts: Joint Optimization of Surface Cuts and Parameterization[END_REF][START_REF] Poranne | Autocuts: Simultaneous Distortion and Cut Optimization for UV Mapping[END_REF][START_REF] Sharp | Variational Surface Cutting[END_REF][START_REF] Weill | Joint Optimization of Distortion and Cut Location for Mesh Parameterization Using an Ambrosio-Tortorelli Functional[END_REF]. The tradeoff between the two objectives is usually expressed as an hyperparameter which value can be tuned to get more or less seams. Interestingly, some of these algorithms work for any surface and not only disks. As soon as they are able to perform cuts of the domain, they can indeed always decompose the input shape into a subset of charts with disk topology and parametrize them independently. This paves the way for the concept of global parametrization and texture mapping for arbitrary topology.

Beyond Disk Topology

Going back to Section 2.1 and the continuous theory, the definition of a parametrization called for an atlas of charts over which local coordinates were defined via a homeomorphism. So far, we have reviewed many methods developed in geometry processing to compute a parametrization of such a chart. It is now time to see the bigger picture and consider parametrization of a surface with arbitrary genus.

Texture Atlases

The simplest approach to generalizing parametrization to a more complicated surface is also the most straightforward: first compute a decomposition of the surface as a set of disk-topology charts, and parametrize every chart independently. Such a decomposition can be based on greedy heuristics that encourage cuts on sharp edges [START_REF] Lévy | Least Squares Conformal Maps for Automatic Texture Atlas Generation[END_REF][START_REF] Zhang | Feature-Based Surface Parameterization and Texture Mapping[END_REF] or iterative refinements trying to decompose the shape into charts as flat as possible [START_REF] Cohen-Steiner | Variational Shape Approximation[END_REF]. However, such a chart decomposition algorithm would be closely related to the problem of computing the best possible set of seams on a mesh, which we have already exposed as a difficult problem to solve.

As the majority of users of texture mapping algorithms are artists applying them to animation or video games, an important feature of any decomposition algorithm lies in its interactivity. Indeed, it is still common today for artists to define their set of seams by hand. This allows hiding them efficiently depending on the context. For instance, it is common to hide the texture seams of a human face behind the ears or the head, as these regions are later hidden by the rendering of hairs. Defining by hand all the seams is still a tedious task, and algorithms were developed to instead give a good automatic first guess before allowing interactive modification [START_REF] Vallet | What You Seam Is What You Get[END_REF].

Deep Learning Approaches

In the last 10 years, the field of deep learning has skyrocketed and it is with no surprise that neural networks have been applied to the problem of surface parametrization. Due to their ability to approximate any continuous function [START_REF] Cybenko | Approximation by superpositions of a sigmoidal function[END_REF]], they can be used to represent an injective mapping ϕ over a chart in a different way than the classical piecewise linear function. ϕ can be learned to map its associated chart to a canonical disk domain [START_REF] Morreale | Neural Surface Maps[END_REF] or map points of the plane to specific points of the surface [START_REF] Groueix | AtlasNet: A Papier-M\âch\'e Approach to Learning 3D Surface Generation[END_REF][START_REF] Williams | Deep Geometric Prior for Surface Reconstruction[END_REF]. Since neural networks are differentiable functions by construction, the mappings ϕ C over a chart decomposition can be further optimized to guarantee differentiability of the change of variables between the considered charts.

Alternatively, one could take an extrinsic point of view and represent the parametrization as a field of linear transformations applied to each triangle, and optimize the transformation over a dataset of known pairs of objects and their parametrization [START_REF] Aigerman | Neural Jacobian Fields: Learning Intrinsic Mappings of Arbitrary Meshes[END_REF]]. This, however, requires a classical parametrization algorithm to generate the training examples, and can only hope to generalize to other shapes with similar or worse quality.

Even if the introduction of deep learning promises interesting breakthrough in geometry processing, we are yet to see a deep learning-based method able to enforce the constraints needed for applications other than texture mapping. In particular, whether it is possible to apply a deep learning approach to the problem of quadmeshing is still an open question.

Cone Parametrization

Cone parametrization methods are perhaps the most important family of parametrization methods for arbitrary surfaces. To understand the intuition that motivates them, one can think of a parametrization firstly as a process that displaces the curvature of a surface from its original distribution to zero everywhere except on the boundary. In the case of conformal maps, this idea is expressed by Equation (2.6), which is a discretization of the Yamabe Problem. Recall that this equation links the conformal parametrization, described by a scale factor u, to the original and target Gaussian curvatures K and K by:

Lu = K -K.
We already discussed in Section 2.3.4 how this curvature displacement is the source of the parametrization's distortion and needs to be minimal in some sense. So far, the methods we discussed only considered the field u as a variable, as K and K were completely defined. But in an effort to reduce distortion, one can instead try to find a suitable target curvature distribution K such that, for instance, the amplitude of u is minimized. This introduces specific vertices called cones with non-zero angle defect in the parametrization. As with the introduction of seams in Section 2.3.5, adding cones calls for a good tradeoff between their numbers and the parametrization's distortion, since setting K = K indeed leads to an isometric but highly discontinuous parametrization: the same result as Figure 2.16c.

First introduced by [START_REF] Kharevych | Discrete Conformal Mappings via Circle Patterns[END_REF], cone parametrization therefore aim at finding a sparse set of cone vertices that concentrate the whole curvature of the considered surface. From such a distribution, it is possible to retrieve uv-coordinates and an embedding in the plane by forcing these cones to lay on the boundary of the parametric domain. More precisely, given a set of cone vertices S ⊂ V , the following general algorithm can be applied:

1. Perform cuts on edges in order to link every cone vertex; 2. Eventually perform additional cuts along non-contractible cycles in order to retrieve a disk topology;

3. Apply any parametrization algorithm to the cut mesh.

This procedure is illustrated in Figure 2.17. Most importantly, the cutting procedure allows the cones' triangle neighborhood to be disconnected by at least one seam edge, which means that they can be flattened in the plane as a triangle fan which angle defect is the value of the cone.

With cone parametrization, we are in a sense free from topological considerations and are able to compute parametrizations for any shape of any genus. Indeed, working with a surface of Euler characteristic χ simply means that we can add some well-placed cones of total angle defect 2πχ, cut between them and recover the disk-topology case.

On the other hand, not all cone distribution is allowed for a given surface, since the target curvature K still has to satisfy the Gauss-Bonnet theorem: the sum of its defect should be equal to 2πχ. This means that the addition of a cone with positive curvature somewhere always need to be compensated by a negative cone somewhere else.

Computing cone distributions Computing a cone distribution K that is sparse is a challenging optimization problem. [START_REF] Springborn | Conformal Equivalence of Triangle Meshes[END_REF] derive an algorithm where such cones can be prescribed and edited by hand. For an automatic placement, they rely on a greedy algorithm that concentrates local curvature to single vertices. This is also the approach taken by [START_REF] Ben-Chen | Conformal Flattening by Curvature Prescription and Metric Scaling[END_REF]. Both methods then rely on conformal maps to compute the resulting parametrization.

More recently, [START_REF] Soliman | Optimal Cone Singularities for Conformal Flattening[END_REF] propose to jointly minimize cone positions and values as well as parametrization distortion, thus computing an optimal cone distribution. In a following work, [START_REF] Fang | Computing Sparse Cones with Bounded Distortion for Conformal Parameterizations[END_REF] solve the same problem with a different optimization scheme. Overall, the sparsity condition on cones remains hard to optimize. Fortunately, we will see in Section 2.4 that efficient approaches exist when cone angles are restricted to 2π/n for some n > 1. This quantization idea stems from the fact that controlling the angle defect of cones allows controlling the nature of discontinuities across seams.

Making Seams Disappear

With the introduction of seams in a parametrization, it is possible to map any surface to a (possibly not connected) domain of the plane. However, seams are an obvious discontinuity of coordinates in the parametric domain which can form visual artifacts in the context of texture mapping (Figure 2.18 left). Fortunately, a variety of methods have been developed to control or hide the seams in order to get visually perfect results (Figure 2.18 right).

We present here two approaches to achieve this result. The first one tries to get rid of seams by mapping to domains that are not the plane but correspond to the topology of the given object. Methods from the second class instead try to restrain the discontinuities at seams to a known small family of functions which can be controlled. When using a periodic texture, one can indeed design the parametrization in such a way such that these discontinuities tear the texture in two pieces that still match one another. This is the idea between grid-preserving, or more generally seamless parametrizations.

Mapping to a Different Domain

As seams appear because the original surface and the target domain in the plane have different topologies, a simple solution to avoid them is to map not on the plane but onto a canonical representation of an object with the same topology as the input surface (sphere, torus, etc.). An harmonic embedding of the surface, just like the embedding of Floater [1997] for disk topology, can then be derived in the same way up to some additional topological constraints. For instance, Figure 2.18: The introduction of seams on a mesh is sometimes necessary to compute a valid mapping but introduces visual artifacts (left). Specific constraints on the parametrization allow the seams to visually disappear when using a tileable texture (right). [START_REF] Kraevoy | Cross-Parameterization and Compatible Remeshing of 3D Models[END_REF] develop a method for sphere-topology meshes to be embedded directly onto the canonical sphere S 2 , thus generalizing the Tutte's embedding to sphere topologies. This approach is however not very useful for texture mapping, as it requires the texture to also be defined on the sphere, but has applications in shape matching and cross-parametrization.

Conformal maps have also been generalized to some extent to surfaces with arbitrary genus g. In order to compute a global conformal parametrization, [START_REF] Gu | Global Conformal Surface Parameterization[END_REF] propose to work with its gradients, that is to say with a pair of orthogonal harmonic closed 1-forms. It turns out that the space of such forms is a linear space of dimension 2g closely linked to the 2g noncontractible cycles of the surface (e 1 , ...e 2g ). Their method computes a basis (ω i ) of this space such that e i ω j = δ ij and then extracts its solution as a user-defined linear combination. The parametrization can then be retrieved by integration. These two approaches do not need to define any seams onto the considered surface, but they are limited to one specific type of topology. For a way to completely hide seams that is topology agnostic, one has to rely on other means.

Towards Seamless Parametrizations

As seams are unavoidable in general, another approach trying to hide them is to work on what we can control during the parametrization process, namely the nature of the discontinuity across seam edges.

In a context of texture mapping, each point in parameter space is assigned a color via a function f , so that each point of the surface is assigned the color f • ϕ. A point p on a seam will be mapped by ϕ to two distinct positions in parameter space, namely (u 1 , v 1 ) and (u 2 , v 2 ). A sufficient condition for the seam to be invisible is to therefore require that f (u 1 , v 1 ) = f (u 2 , v 2 ). This is the approach taken by [START_REF] Ray | Invisible Seams[END_REF], where both the mapping and the texture are optimized to get this property. This leads to a grid-preserving parametrization, where a discontinuity consisting of a rotation of kπ/2 and an integer translation (i.e., a translation that would preserve the integer grid) would not change the color of a point.

A similar property is achieved by [START_REF] Aigerman | Orbifold Tutte Embeddings[END_REF] for sphere topologies without seams. The idea is to define a specific path onto the mesh that will form a virtual boundary. By virtually splitting edges along this path, the surface becomes a disk on which classical Tutte's embedding can be performed. Additional constraints on boundary edges are added, namely that they should correspond up to a known rotation of kπ/2. This allows the computed chart to be grid-preserving and tile the plane. In a follow-up work, this concept was also generalized to arbitrary genuses [START_REF] Aigerman | Hyperbolic Orbifold Tutte Embeddings[END_REF].

Overall, the family of seamless parametrizations contains mapping with specific discontinuities at the seams. In texture mapping, this property can be used to design a texture image that is invariant by those discontinuities, thus eliminating any visual artifact. But this control over seams is also exactly the property needed for a parametrization to be used in quadmeshing applications.

Seamless and Grid-preserving Parametrization Applied to Quadmeshing

Now that we have concluded our overview of parametrization techniques for texture mapping, let us turn our attention to the main application we are interested in this work: quad remeshing. This section is split into 5 parts. We start by reviewing the different quadmeshing techniques in Subsection 2.4.1. Then, we describe with more details the parametrization-based quadmeshing technique in Subsection 2.4.2. As this application requires specific constraints onto the parametrization, we give the necessary definitions and describe the usual algorithmic pipeline used to produce quads in this context. The next three subsections are dedicated to each step of this pipeline, namely the computation of a smooth frame field (Subsection 2.4.3), the computation of a seamless parametrization (Subsection 2.4.4) and its transformation into a grid-preserving parametrization (Subsection 2.4.5).

Overview of Quad Generation Methods

Many methods for quadmeshing have been proposed throughout the years, focusing on different aspects of the problem, like robustness, user control, quality of the elements or computation time. We present the main families of methods here, before moving on to the method of our interest, namely the parametrization-based quadmeshing pipeline. For a complete overview, we refer to the state of the art report of Bommes et al. [2013b].

Combinatorial Methods

Just like a triangle mesh can be trivially computed from a quadmesh by splitting every quads along a diagonal, a direct approach to quad remeshing consists in applying combinatorial operations to construct quads from a triangle mesh [START_REF] Borouchaki | Adaptive Triangular-Quadrilateral Mesh Generation[END_REF][START_REF] Lee | A New Scheme for the Generation of a Graded Quadrilateral Mesh[END_REF][START_REF] Rank | Adaptive Mesh Generation and Transformation of Triangular to Quadrilateral Meshes[END_REF]].

Pairs of triangles can be evaluated according to the quality of the quad produced and merged accordingly along their common edge. In these greedy approaches, triangles that remain isolated in the end are split into three quads thanks to the addition of a central vertex and adjacent elements are refined until only quads remain (Figure 2.19a).

While guaranteed to produce a valid quadmesh, these methods are overall very dependent on the initial triangle layout and provide little to no control on the orientation of the final quads, on top of producing a large number of irregular vertices.

Front Propagation for Planar Surfaces

Another direct approach to quadmeshing completely discards the triangle structure and takes as a input only a boundary curve in the plane. Quad elements are then added little by little along a front, propagating towards the inside of the shape and filling the space accordingly (Figure 2.19b) [START_REF] Blacker | Paving: A New Approach to Automated Quadrilateral Mesh Generation[END_REF][START_REF] Remacle | A Frontal Delaunay Quad Mesh Generator Using the L ∞ Norm[END_REF]. While robust, these methods also present many irregularities where the front meets with itself and cannot handle the meshing of curved domains.

Quadtree

A quadtree is a tree structure that partitions 2D space in a multilevel grid. Given the contours of a shape to mesh, a quadtree can be computed by refining the grid near the boundary curve before Quadtree approaches are reliable methods to obtain a quadmesh [START_REF] Jaillet | Fast Quadtree/Octree Adaptive Meshing and Re-Meshing with Linear Mixed Elements[END_REF][START_REF] Rushdi | All-Quad Meshing without Cleanup[END_REF]]. However, making the result conform to the shape boundary usually involves irregular or poor quality elements near the boundary, where the need for good quality quad elements is often the greatest.

It is worth noting that tree approaches can be trivially generalized to the volume case of hexmeshing in 3D [START_REF] Gao | Feature Preserving Octree-Based Hexahedral Meshing[END_REF][START_REF] Ito | Octree-Based Reasonable-Quality Hexahedral Mesh Generation Using a New Set of Refinement Templates[END_REF]] for which they remain the most robust approach to this day.

Morse-Smale Approaches

Finally, a family of functions computes a quadmesh using spectral methods. Given a nonconstant function over the input surface, they build its Morse-Smale complex (MSC), which is a graph linking its extremal and saddle points (Figure 2.19d). In two dimensions, it turns out that the MSC of any function is a quadrangulation of its domain of definition. The quality of the final quadmesh is therefore highly dependent on the choice of a function with a good oscillatory behavior over the surface. [START_REF] Dong | Spectral Surface Quadrangulation[END_REF] proposes to use an eigenfunction f of the cotan Laplacian:

Lf = λf
for some predefined value λ > 0 that will control the result's definition. [START_REF] Zhang | A Wave-Based Anisotropic Quadrangulation Method[END_REF] expands on the same idea and computes a stationary solution of the wave's equation of the form cos(u) cos(v). These results have later been improved to support feature alignment by [START_REF] Ling | Spectral Quadrangulation with Feature Curve Alignment and Element Size Control[END_REF].

The quality of a quadmesh produced by a Morse-Smale approach is directly determined by the considered function, over which user constraints like positions of singularities or quad element size can be hard to enforce. To alleviate these issues, Morse-Smale quadrangulations have been used alongside a parametrization algorithm in a hybrid algorithm taking advantage of both approaches [START_REF] Fang | Quadrangulation through Morse-Parameterization Hybridization[END_REF]].

The Parametrization-based Approach to Quadmeshing

The last great family of quadmeshing methods is based on a parametrization of the input surface. Intuitively, a quadmesh can be computed by first laying an input triangle mesh onto the plane using a parametrization technique, overlaying the uv-coordinates with an orthogonal grid of the plane and lifting the result back onto the surface. In other words, using a parametrization for quadmeshing boils down to applying a grid texture onto a surface and extracting the resulting connectivity. However, one needs to be careful of what happens at the seams and the boundary of the input mesh in order to avoid discontinuities and retrieve complete and valid quads (Figure 2.20). Just like the problem of making seams disappear in texture mapping discussed previously in Section 2.3.7, this calls for the computation of a special kind of cone parametrization with specific transition functions, namely seamless parametrizations.

Figure 2.20: A parametrization is seamless when specific conditions on its transition functions are met. When this is the case (right), the application of the integer grid makes the seam disappear completely and yields to a valid quadmesh.

Transition Functions of a Parametrization

Let M = (V, E, T ) be a triangle mesh. As we already discussed in Section 2.3, a cut (or seam) in a parametrization ϕ of M occurs when two adjacent triangles in M are no longer adjacent in parameter space. As a consequence, the common edge of two such triangles is present in two versions, one per triangle. The function g that maps one of the versions to the other is called a transition function. More formally, let (i, j) ∈ E be an edge between triangles t 1 and t 2 . Points p i and p j are each mapped to two eventually distinct points by ϕ t 1 and ϕ t 2 in parameter space. The transition function from triangle t 1 to t 2 is defined as the map g t 1 →t 2 such that:

g t 1 →t 2 (ϕ t 1 (p j ) -ϕ t 1 (p i )) = ϕ t 2 (p j ) -ϕ t 2 (p i ).
By definition of ϕ, which is piecewise-linear per triangles, functions g are affine, that is the combination of a linear transformation with a translation. In other words, there exists an orientation-preserving matrix A ∈ R 2×2 and a translation τ ∈ R 2 such that, for any point p:

g t 1 →t 2 (p) = Ap + τ.
Given a closed loop of triangles (t 0 , t 1 , . . . , t p , t 0 ), all incident to the same vertex v ∈ V , we can accumulate the transition functions by composition

g v = g t 0 →tp • . . . • g t 2 →t 1 • g t 1 →t 0 .
The vertex v is said to be singular if this accumulated transition function g v is not identity.

For a parametrization to be seamless, specific constraints have to be enforced onto the transition functions. They are summarized in Figure 2.21 and listed below.

Cone parametrization In the case of cone parametrizations, singular vertices correspond exactly to cone vertices with non-zero Gaussian curvature. Since we will always be working with cone parametrizations as of now, we will therefore use the terms "cone", "singular vertex" or "singularity" interchangeably.

A key characteristic of cone parametrizations is that since every non-singular vertex has zero Gaussian curvature, triangle rings can always be stitched back perfectly, even if they were split by one or several cuts. Lengths of different versions of a same edge should therefore match or, put differently, the transitions functions must consist only in rotations and translations and are free of any shearing or scaling.

Definition 2.1. A parametrization is a cone parametrization if for any pair of adjacent triangles t 1 , t 2 ∈ T , there exists three numbers α, τ u , τ v ∈ R such that:

g t 1 →t 2 : p → R(α) p + τ u τ v where R(α) ∈ SO 2 (R) is the rotation of angle α.
As a consequence, once the triangles have been independently mapped in parameter space, their relative position, defined by the position of cuts, does not matter really much: in order to move a cut, we can only apply the intermediate transition functions without introducing any distortion (Figure 2.22). In a sense, a cone parametrization is independent of the graph of cuts made on the surface. We refer to this kind of mapping as global parametrizations.

Rotationally Seamless A rotationally seamless parametrization is a special case of cone parametrization where cones can only have an integer multiples of π/2 as angle defects. This means that admissible transition functions are rotations of angle kπ/2 (Figure 2.21b) plus an arbitrary translation. Definition 2.2. A parametrization is a rotationally seamless if for any pair of adjacent triangles (t 1 , t 2 ), their exists an integer k ∈ Z and two numbers τ u , τ v ∈ R such that:

g t 1 →t 2 : p → R(π/2) k p + τ u τ v .
More generally, methods for computing rotationally seamless parametrizations work for quantized cones of value 2kπ/n for an arbitrary n ∈ N + , but the case n = 4 is the most studied for its application to quadmeshing and also because textures in computer graphics are naturally defined as square (or rectangular) images.

Boundary and feature adaptation A parametrization is adapted if all of its feature edges are axis-aligned in parameter space. This set of feature edges is usually user-defined or consists simply in a set of sharp creases or recesses. When working with CAD models, it is indeed desirable that the sharpness of these regions is conserved in the final mesh (Figure 2.23). An adapted parametrization ensures that any of these features lie on an isoline (vertical or horizontal) of the parametrization (Figure 2.21c).

Definition 2.3. A parametrization is adapted to its boundary (or feature lines) if all boundary edges ij ∈ E of a boundary triangle t ∈ T have one zero coordinate in parameter space:

∃k ∈ {1, 2}, ⟨ϕ t (p i ) -ϕ t (p j ), e k ⟩ = 0
where e 1 = (1 0) T , e 2 = (0 1) T are the plane axes.

Integer Seamless Finally, while a rotationally seamless parametrization limited transition functions to square-preserving rotations and arbitrary translation, a parametrization where seams can truly disappear also need to constraint the translation to only have integer coordinates (Figure 2.21d). This property is what is needed to obtain parametrizations like the one on the left of Figure 2.20. Definition 2.4. A parametrization is a integer seamless if for two adjacent triangles t 1 and t 2 , there exists three integers k, n u , n v ∈ Z such that:

g t 1 →t 2 : p → R(π/2) k p + n u n v .
Having an integer seamless parametrization instead of just a rotationally seamless one means in particular that every cone vertex has two integer coordinates, and every vertex of a feature or boundary edge has at least one [START_REF] Ebke | QEx: Robust Quad Mesh Extraction[END_REF]. By overlaying a regular grid onto the parameter space, vertical and horizontal lines draw a quadmesh on the surface, with points of valence different than 4 being exactly the parametrization's singularities. We also refer to integer seamless maps as grid-preserving parametrizations or integer-grid maps.

When it refers to a parametrization, the word 'seamless' alone can be ambiguous as it can both mean adapted rotationally seamless [START_REF] Myles | Robust Field-Aligned Global Parametrization[END_REF] or integer seamless [START_REF] Fang | Quadrangulation through Morse-Parameterization Hybridization[END_REF] depending on the context and the algorithm discussed. In this manuscript, 'seamless' will mean 'rotationally seamless' unless stated otherwise.

The Parametrization-based Quadmeshing Pipeline

Computing a grid-preserving parametrization from which a quadmesh can be extracted is a difficult problem that is generally split into a series of more tractable steps that gradually integrate desirable properties of the final result. This algorithmic pipeline takes as an input a triangle mesh of the considered domain with an eventual description of feature edges.

Compute a cone distribution

The first step is to decide the topology of the parametrization, namely the position and value of its cones. Recall that for the seamless property to hold, cone's defects need to be multiples of π/2. These vertices will eventually correspond to irregular vertices of the quadmesh with valence 3 and 5.

Direct approaches can be used in this step to concentrate the curvature into quantized cones [START_REF] Ben-Chen | Conformal Flattening by Curvature Prescription and Metric Scaling[END_REF][START_REF] Levi | Direct Seamless Parametrization[END_REF]] but a popular alternative is the computation of a smooth frame field over the surface [START_REF] Vaxman | Directional Field Synthesis, Design, and Processing[END_REF]]. This latter approach not only decides completely the position of cones but also the direction of the parametrization's isolines, thus allowing easy enforcing of any feature adaptation.

2. Compute a feature adapted, rotationally seamless parametrization The next step is to compute a cone parametrization as described in Section 2.3.6, following the same cone distribution computed before. If the first step consisted in the computation of a smooth frame field, a common approach is to consider branches of the frame field as gradients of the parametrization and "integrate" them to recover uv-coordinates. This process naturally leads to a feature-adapted parametrization, allowing final quads to be guided by feature edges of the model.

3. Solve for an integer seamless parametrization Finally, the pipeline enforces the last constraint needed for a grid-preserving parametrization: that the translations across seams should be of integer coordinates. Usually referred to as the quantization step, this operation requires a mixed-integer formulation of the problem and appropriate solvers to be performed without introducing foldovers. The final integer values of translations will decide how many quad stripes are needed in each region [START_REF] Bommes | Mixed-Integer Quadrangulation[END_REF]].

This pipeline is illustrated is Figure 2.24 on a simple quarter-circle model. As it turns out, splitting the problem into three or more steps did not come without drawbacks, as it makes it harder or impossible to correct suboptimal choices made previously. Whether it is possible to merge all of these steps into a single optimization will be the topic of Chapter 6.

The three remaining parts of this section will each be dedicated to an in-depth description of each step of the pipeline, namely the computation of smooth frame fields, of boundary-adapted seamless parametrization and integer seamless parametrization respectively.

Computing a Cone Distribution using Smooth Frame Fields

Let us start by examining the first step of the quadmeshing pipeline. The goal of this step is to compute a quantized cone distribution, that is a sparse subset of vertices with non-zero defect multiple of π/2. As direct methods for computing such a distribution have already been presented in Section 2.3.6, we focus here on the frame field method.

Let M = (V, E, T ) be a triangle mesh. A rotationally symmetric (RoSy) n-direction field associates, at each face t ∈ T , a set of n directions in its tangent space, which will be identified with the complex plane C. These directions are commonly represented a unit complex numbers quantifying a rotation from an arbitrary direction z t ∈ C:

exp ı 2kπ n z t k ∈ {0, ..., n -1} .
A key observation is that this set reduces to a single value y t = z n t under the application of the n-th power. In practice, such a field is therefore represented by a unique complex number per face from which all directions can be extracted [START_REF] Palacios | Rotational Symmetry Field Design on Surfaces[END_REF][START_REF] Ray | N-Symmetry Direction Field Design[END_REF]].

The integer n, controlling the multiplicity of the field, is unspecified in the majority of the works since algorithms working with the complex representation trick do not need to know the field's multiplicity. In practice however, n = 1, 2, 4 and 6 are the most common value used. In particular, a frame field is a rotationally symmetric direction field with n = 4 orthogonal directions. These RoSy-fields are part of the greater families of direction fields of surface, for which [START_REF] Vaxman | Directional Field Synthesis, Design, and Processing[END_REF] makes an extensive survey. While some generalizations, like nonorthogonal frames fields [START_REF] Desobry | Designing 2D and 3D Non-Orthogonal Frame Fields[END_REF][START_REF] Diamanti | Integrable PolyVector Fields[END_REF], are of great interest in parametrization applications, a exhaustive review is out of the scope of this chapter.

Alignment with Feature Edges

Feature alignment can be easily captured by a frame field: for a face t ∈ T that is adjacent to a feature edge e, it suffices to require that one the frame's direction is aligned with the edge. More formally, if e = e X + ıe Y in a basis (X, Y ) of t, it is sufficient to set the frame representation complex as:

y t = e |e| n (2.7)
for one of its n-th roots to be aligned with e.

This means that frames are perfectly known around feature and boundary edges of the mesh. The goal is now to interpolate those known frames over the whole surface by "smoothing" the frame field.

Frame Field Smoothing

The use of frame fields in computer graphics dates back to the work of [START_REF] Hertzmann | Illustrating Smooth Surfaces[END_REF] where they were used to illustrate smooth surfaces thanks to a hatching pattern. While an arbitrary set of directions per face is a valid frame field, we are interested in practice in smooth ones, that is frame fields that minimize the difference between adjacent frames.

A first approach to compute such a field is to rely on principal curvature directions, which naturally define a frame field that is smooth enough for remeshing applications [START_REF] Alliez | Anisotropic Polygonal Remeshing[END_REF]]. But since estimating the curvature remains a difficult and noisy process on a mesh, a further smoothing step is often required. In practice, one would like to define some kind of distance function between adjacent frames to minimize. [START_REF] Hertzmann | Illustrating Smooth Surfaces[END_REF] propose to smooth the frames by representing them via an angle θ t per face and compute:

argmin θ - i∼j w ij cos(4(θ j -θ i + ρ ij )) (2.8)
where ρ ij is the parallel transport 1-form over triangles defined in Section 2.2.2. Problem (2.8) is solved using a non-linear optimizer like L-BFGS [START_REF] Liu | On the Limited Memory BFGS Method for Large Scale Optimization[END_REF]]. When using a complex number y per frame as frame representations, it is possible to instead formulate the smoothing as a linear-least square problem [START_REF] Palacios | Rotational Symmetry Field Design on Surfaces[END_REF][START_REF] Ray | N-Symmetry Direction Field Design[END_REF]:

argmin y i∼j w ij |y j -exp(ınρ ij )y i | 2 s.t. y t if fixed near features (2.9)
This allows the problem to be more efficiently solved, with guarantees on convergence to the minimizer. However, nothing in this formulation enforces each frame to have unit norm. In practice, the presence of fixed frames near feature edges allows avoiding the trivial zero solution, but is not enough to prevent the magnitude of frames to still go to zero as we move away from these fixed values. A renormalization step is therefore necessary, but can become very noisy for low magnitude elements. To alleviate this issue, [START_REF] Viertel | An Approach to Quad Meshing Based on Harmonic Cross-Valued Maps and the Ginzburg-Landau Theory[END_REF] propose a diffusionnormalization scheme. Once an initial solution y (0) to Problem 2.9 has been computed, their algorithm alternates between a normalization of all frames and a diffusion step which combines a Laplacian smoothing and an attach term:

z = (I + λL) -1 y (n) y (n+1) t = z t /|z t | for all t ∈ T (2.10)
where y (n) ∈ C |T | are the frames at iteration n, L is a Laplacian operator (associated with weights w ij ) and λ > 0 is a diffusion coefficient. The algorithm performs iterations of Equation (2.10) until some convergence criterion is met. The frame fields shown on the left of Figure 2.25 was obtained after 3 iterations of this procedure.

Other methods of direction fields smoothing have been explored throughout the years. [START_REF] Lai | Metric-Driven RoSy Field Design and Remeshing[END_REF] and [START_REF] Jiang | Frame Field Generation through Metric Customization[END_REF] propose to optimize the Riemannian metric of the surface in order to accommodate various constraints while smoothing, leading to greater control on the final aspect on the field. [START_REF] Knöppel | Globally Optimal Direction Fields[END_REF] propose a different smoothness energy that is able to control the number of singularities via a hyperparameter. Finally, some methods rely on a different representation of the frame and not a simple complex number, like spherical harmonics [START_REF] Zhang | Octahedral Frames for Feature-Aligned Cross Fields[END_REF]], 2π-periodic functions [START_REF] Desobry | Designing 2D and 3D Non-Orthogonal Frame Fields[END_REF] or roots of a complex polynomial (PolyVector) [START_REF] Diamanti | Designing N-PolyVector Fields with Complex Polynomials[END_REF][START_REF] Diamanti | Integrable PolyVector Fields[END_REF].

Matching and Singularities

The main advantage of working with a n-direction field represented as a complex number is that one can abstract away any rotation between frames that is greater than 2π/n. In more formal terms, a rotation between two adjacent frames y i and y j can be decomposed in two parts: first a matching between one direction (n-th root) z i of y i and the closest direction z j in y j , and the actual rotation that sends z i to z j .

This matching function g ij is by construction a rotation of angle 2kπ/n and can be defined for any two adjacent frames. It can be computed for a full surface mesh by traversing a tree over faces and computing g ij little by little (Figure 2.26a).

(a)

g v g v (b)
Figure 2.26: Matching between adjacent frames consists in pairing the closest directions of adjacent frames along a spanning tree (a). On non-traversed edges, the angle between matched directions can be greater than π/2, thus leading to a "jump" of the frame. Singular vertices happen when a loop of closest orientations around a vertex does not end as the identity (b). In that case, the composition of transition functions g v is a rotation of 2kπ/n, where k/n is the index of the singularity (here, an index 1/4).

Matching functions of a frame field share numerous similarities with the transition functions of a parametrization. Just like in Section 2.4.2, one can consider a closed loop of triangles (t 0 , t 1 , . . . , t p , t 0 ), all incident to the same vertex v ∈ V and compute the resulting composition of matches

g v = g tp→t p-1 • . . . • g t 2 →t 1 • g t 1 →t 0 .
The vertex is said to be singular if g v is not identity. In that case, the vertex v is said to have index k/n if g v is a rotation of angle 2kπ/n, and we associate to the vertex a cone singularity of angle 2kπ/n (Figure 2.26b).

Using a matching procedure, we are able to extract a cone distribution that is quantized by construction. One can show that when integrating a frame field into a parametrization (as we will discuss in Section 2.4.4), the rotationally seamless property holds, since transition functions of the parametrization correspond exactly to the matching of the frame field.

Face-based vs Vertex-based Direction Fields

So far, we have discussed frames defined on the faces of a mesh as it is the only mesh element where a tangent space can be defined without ambiguity. A "dual" discretization where frames are defined on vertices and singularities appear inside faces is also a viable alternative [START_REF] Knöppel | Globally Optimal Direction Fields[END_REF]. Both frame field versions share similar properties and can be smoothed and integrated using similar algorithms. The main differences will come from practical details of the targeted application. For instance, a face-based approach allows easier feature alignment whereas a vertexbased approach allows the use of the cotan Laplacian as weights w ij in Problem (2.9) thus leading to smoother frame fields in general. Figure 2.25 presents an example of two fields defined respectively on the faces and vertices of the same triangle mesh. The vertex-based field is globally smoother while the face-based better follows the model's curvature at the expense of more singularities.

In order to smooth a vertex-based frame field via a solution of Problem (2.9), one needs to again define a parallel transport ρ ij between adjacent frames. The procedure, described by [START_REF] Knöppel | Globally Optimal Direction Fields[END_REF], will also be exposed in Section 4.4.2 of Chapter 4, as our representation of a frame field will be vertex-based.

Note that it is also possible to define edge-based frame fields [START_REF] Wang | Edge Subdivision Schemes and the Construction of Smooth Vector Fields[END_REF]]. We refer to de Goes et al. [2016] for a comprehensive course on vector field design that goes into great details about the subtleties of each discretization.

1-forms and Holonomy

In the continuous case of surface manifolds, we saw in Section 2.1.4 that any vector field is the dual of a differential 1-form and vice versa. This fact can be extended to surface meshes and frame fields using discrete differential calculus. For frames defined over the faces of a mesh, a 1-form ω can be defined on dual edges linking two adjacent faces. Alternatively, for frames defined on vertices, ω can be defined on primal edges. In both cases, for two adjacent frames y i and y j , ω ij is defined by:

y j = exp(nı(ω ij + ρ ij ))y i .
Intuitively, ω represents the angle of which the frame field was rotated when transported from i to j. It contains the same information as the frame y. In particular, singular vertices can be found by summing ω for all edges adjacent to a vertex. If we denote (t 0 , t 1 , . . . , t p , t 0 ) the triangles adjacent to a vertex v i in order, we can compute the holonomy of the 1-form as:

K i = k ω t k t k+1 + ρ t k t k+1 .
(2.11)

Just as in the smooth setting (Section 2.1.6), the holonomy of a 1-form is linked to the Gaussian curvature. As summing along a closed loop corresponds, in discrete exterior calculus, as the exterior derivative, Equation (2.11) can be more concisely expressed as:

dω = K - K
where K is holonomy of the connection form ρ. This relation, combined with the Gauss-Bonnet theorem, specifies a necessary condition on any singularity distribution: since the Gaussian curvature can be recovered from the sum of singularity indices over the whole surface, it is necessary that this sum should equal the total curvature of the surface 2πχ(M ).

1-form optimization

The 1-form of view on direction fields was formalized by [START_REF] Crane | Trivial Connections on Discrete Surfaces[END_REF] to compute a smooth frame field interpolating a set of user-defined singularities K, all integer multiples of 2π/n and satisfying the Gauss-bonnet theorem. Their algorithm solves for a 1-form ω that is compatible with K in the form of a linear least-square problem with linear constraints:

argmin ω ||ω|| 2 s.t. dω = K -K.
The frame field is then recovered by fixing a random frame to a given value and propagating the relation y j = exp(4ı(ω ij + ρ ij ))y i along a spanning tree. The fact that dω = K -K ensures that this procedure is independent from the choice of the tree, since eventual jumps will be multiples of 2π/n which is absorbed by the frame symmetries.

Having this 1-form point of view on frame fields also allows controlling the final position of singularities. For instance, [START_REF] Desobry | Frame Fields for CAD Models[END_REF] describe an algorithm where dω is forced to be zero near feature and boundary edges, which pushes singularities away from very sharp regions of the surface, leading to nicer and less distorted results.

Rotationally Seamless Parametrization

The second step of the pipeline is the computation of a rotationally seamless parametrization. Two families of methods need to be distinguished here. Methods from the first one take as an input and a constraint a cone distribution to follow and compute a parametrization conforming to this fixed topology. This is for instance the case of frame field-based methods and some algorithms based on conformal maps. On the other hand, the second family contains methods that do not rely on such a cone distribution and instead compute one during optimization, either by a greedy approach or by restricting the set of reachable distributions.

Frame field-guided Seamless Parametrization

Firstly, a seamless parametrization can be computed from a smooth frame field. Since such a frame field defines an orthogonal frame at each point, one can indeed see the frames as a parametrization where we only allowed rotations of angle smaller than π/2 as Jacobian matrices. In that sense, the use of a frame field abstracts away any geometrical considerations about the parametrization and focuses only on its "topology", that is the position and indices of the singularity cones. In a second step, the geometry can be recovered by computing local deformations that are as small as possible. This is the approach of the QuadCover algorithm of [START_REF] Kälberer | QuadCover -Surface Parameterization Using Branched Coverings[END_REF].

Given a smooth frame field y, QuadCover first computes a matching of the frames. The goal is to discriminate, among the four possible directions, two orthogonal vector fields z u and z v = ız u that will correspond to uv-coordinates of the resulting parametrization. The principle of a field-guided parametrization is to compute coordinate functions u and v : M → R 2 , piecewiselinear per triangles, such that their gradients align at best with z u and z v . Unlike the original QuadCover algorithm and some of its refinements [START_REF] Bommes | Mixed-Integer Quadrangulation[END_REF][START_REF] Myles | Robust Field-Aligned Global Parametrization[END_REF], we equivalently formulate the problem in terms of the parametrization's Jacobian matrices, as it is more inline with notations of the upcoming chapters.

From the matching, a single vector field z t = exp(ıθ t ) is extracted. z is smooth over the chosen tree of edges and present eventual jumps of k e π/2 over other edges. It will be interpreted as a rotation matrix R(θ t ). We are then interested in finding a set of jacobian matrices (J t ) t∈T on which we impose adaptation to feature edges and satisfaction of the transitions functions while trying to be as close as possible to the "isometric approximation" R(θ t ) given by the frame field. This boils down to the following linear least-square minimization problem with linear constraints:

argmin Jt t∈T w t ||J t -R(θ t )|| 2
F subject to J i e i -R(k e π/2)J j e j = 0 for all edge e ij with jump k e ⟨J t e, n t ⟩ = 0 for all feature edge e (2.12)

The least-square objective, taken as the Frobenius norm of the difference between our matrix variables and the field's rotations, expresses the fact that we are looking for a parametrization that matches the frames at best. The first constraint acts on jumps: the two images of an edge e with adjacent triangles t i and t j , namely J i e i and J j e j (e i are e j being coordinates of e in arbitrary but fixed local bases of t i and t j ) should match up to a rotation of k e π/2. The second constraint imposes feature edge adaptation and simply states that the image of a feature edge e should either be vertical or horizontal, depending on the dot product between e and z t . This is expressed via the basis vector n t = (1 0) T or (0 1) T .

Given a field of Jacobian matrices (J t ) t∈T , uv-coordinates can be simply recovered by applying the matrices to original triangles of the mesh and stitching everything together along the same tree used for the matching. Figure 2.27 illustrates the recovered parametrization next to the original matching of the frames.

Integrable Frames Fields

Given a smooth frame field, a theoretical question remains: is it always possible to retrieve a global parametrization that is foldover-free, seamless and aligns with the field ? The short answer is no. In Problem (2.12), there is indeed absolutely no guarantee that resulting Jacobians have positive determinants. As such, even a seemingly good frame field can lead to degenerate or flipped triangles in the final result. An example of such a case is given in Figure 2.28. Usually, these situations can be fixed by adding a pair (dipole) of singularities with opposite indices, hence the solution wanted is no longer the smoothest field but something else. This approach for frame field repairing was developed by [START_REF] Diamanti | Integrable PolyVector Fields[END_REF]: representing the frames as polyvectors, that is roots of complex polynomials, their method is able to optimize over an integrability constraint that guarantees the validity of the extracted parametrization provided convergence. As a result of this optimization, singularities are added when needed and the algorithm is effectively able to solve situations like Figure 2.28.

The problem of designing frame fields that can be integrated into a parametrization can also be approached by relaxing the definition of a frame field and instead consider pairs of vector fields z u and z v whose norms can vary independently or that are allowed to non longer be orthogonal. These representation have been investigated as a good compromise between rigid frame fields and the full Jacobian matrix representation of a parametrization, calling either for a different representation of the field [START_REF] Desobry | Designing 2D and 3D Non-Orthogonal Frame Fields[END_REF][START_REF] Diamanti | Designing N-PolyVector Fields with Complex Polynomials[END_REF]] or a change of the surface's metric [START_REF] Jiang | Frame Field Generation through Metric Customization[END_REF][START_REF] Lai | Metric-Driven RoSy Field Design and Remeshing[END_REF].

When no feature alignment is required, sufficient conditions for a frame field to yield a valid parametrization have been later made explicit by [START_REF] Campen | Seamless Parametrization with Arbitrary Cones for Arbitrary Genus[END_REF] and [START_REF] Shen | Which Cross Fields Can Be Quadrangulated? Global Parameterization from Prescribed Holonomy Signatures[END_REF]. In a few words, except for the specific case of two singularity cones on a zero genus surface, these works prove that a valid parametrization can be extracted from any frame field whose indices satisfy the Gauss-Bonnet theorem.

Figure 2.28: All frame fields cannot be successfully integrated into a seamless parametrization that is injective. On this model, the smoothing algorithm outputs a boundary adapted frame field with no singularity cones (left). Integrating this field into a parametrization crushes the outward step, leading to degenerate triangles.

However, finding necessary integrability conditions on a frame field in the presence of feature alignment constraints remains an open problem to this day. In Chapter 4, we will propose an algorithm that provably provides a valid seamless parametrization in this case, provided convergence of a non-linear optimization.

Direct Methods for Seamless Parametrization

The alternative to frame field-based parametrizations is to directly combine the computation of a cone distribution and the associated mapping in a single optimization. [START_REF] Myles | Global Parametrization by Incremental Flattening[END_REF] propose for instance to first find cone positions using a greedy curvature concentration approach, and then perform iterative rounding of cones' defects in order to converge to multiples of π/2. The final parametrization is then recovered by minimizing the ARAP distortion [Liu et al. 2008, and Table 2.1]. In a follow-up work, [START_REF] Myles | Controlled-Distortion Constrained Global Parametrization[END_REF] are able to integrate feature edge adaptation constraints using a method where a conformal scale factor is computed along a tree starting from features. They also demonstrate experimentally that even in the case of quantized cone singularities, adding more cone leads to less distortion.

More recently, [START_REF] Levi | Direct Seamless Parametrization[END_REF] proposes a direct algorithm for computing a seamless parametrization with bounded maximum distortion. The method relies on a tree along which triangles are flattened, and cones are added when enough angle defect is accumulated.

In the case where the cone distribution is already known (for instance, emanating from a frame field), [START_REF] Campen | Seamless Parametrization with Arbitrary Cones for Arbitrary Genus[END_REF] show how to extract a parametrization with the same topology using the framework of conformal maps.

Polycube Maps

Finally, polycubes represent a last family of seamless parametrization methods. In short, a polycube-map is a deformation of a mesh that aligns every face with one of the six normal directions defined by the unit cube. Introduced by [START_REF] Tarini | PolyCube-Maps[END_REF], this mapping naturally defines a seamless parametrization where singularities correspond to corners and seams run along cubes' edges. This amounts to restraining to a specific set of cone distribution for which the surface can still be embedded in R 3 . However, computing a valid polycube flagging, that is a assignment of normals to every face that does not involve a foldover, is a challenging problem that is still open to this day.

The polycube approach is more widely used in the domain of hexmeshing as it can be trivially generalized to volume meshes.

Grid-preserving Parametrization

To conclude this section, let us discuss the third condition to be imposed on a parametrization for quadmeshing. Recall that a quadmesh can only be extracted from a parametrization whose transition functions are rotations of kπ/2 and integer translations. The quantization of rotations has been addressed with all the methods cited previously. For the translation part, two families of methods have, again, emerged. The first one uses integer linear programming solvers to transform a rotationally seamless parametrization into a grid-preserving one. The second is closer to Morse-Smale approach for quadmeshing and utilizes a change of variables to directly compute a grid-preserving parametrization from an input frame field.

Mixed-integer Approaches

Imposing translation part of transition functions to be of integer coordinates is a problem that is different in nature than the rotation part. As the latter can be solved using simple linear solvers with objects like frame fields, the former requires to work with integer variables one way or another, which usually involves solving NP-hard problems.

Recall that a parametrization is grid-preserving if, equivalently, all its singularities have two integer coordinates and all of its feature vertices have at least one. The naive approach to imposing this constraint is to snap each vertex to the nearest point of the integer grid. However, this procedure quickly introduces foldovers or degeneracies in the parametrization which are then impossible to recover. A more careful approach is to add injectivity as constraint and formulate everything as a large mixed-integer problem [Bommes et al. 2013a[START_REF] Bommes | Mixed-Integer Quadrangulation[END_REF]. In a effort to reduce the number of variables and constraints in instances of such problems, quantization methods sometimes rely on the construction of a T-mesh (Figure 2.29), that is a decomposition of the surface into large axis-aligned quadrilateral regions on which the integer constraints can be enforced [START_REF] Campen | Quantized Global Parametrization[END_REF][START_REF] Lyon | Quad Layouts via Constrained T-Mesh Quantization[END_REF], or the decimation of the input [START_REF] Coudert-Osmont | Quad Mesh Quantization Without a T-Mesh[END_REF]].

Periodic Global Parametrization

The Periodic Global Parametrization (PGP) algorithm of [START_REF] Ray | Periodic Global Parameterization[END_REF] avoids formulating the computation of an integer seamless parametrization as a mixed-integer problem and instead rely on a continuous optimization over a set of indirect variables. The key idea relies on the following observation: if coordinates function u and v of a parametrization are integer seamless, then the function: absorbs any integer translation thanks to the trigonometric function's periodicity and the square-preserving rotations only cause a known permutation of the four components. Given a smooth frame field with computed matching, jump functions and seams, PGP computes the smoothest function θ via a linear system involving the cotan laplacian matrix, and then recovers the best corresponding (u, v) (Figure 2.30). Similar approaches were derived afterward, including the works of [START_REF] Knöppel | Stripe Patterns on Surfaces[END_REF] which formulates the problem in terms of complex numbers, and [START_REF] Fang | Quadrangulation through Morse-Parameterization Hybridization[END_REF] which hybridizes the approach with a more traditional frame-field integration algorithm as a way to repair faulty areas. These methods do not strictly compute integer seamless maps as they can exhibit broken triangles (so-called T-junctions) in the parametrization, that is triangles containing two or more singularities. Nonetheless, a valid quadmesh can be reassembled from locally extracted quads.

The PGP algorithm and its variants will be discussed in more detail in Chapter 6, where we will discuss a method for optimizing a similar set of periodic functions without a priori knowledge on the cuts and cones positions.

Conclusion and Motivations of this Work

In this chapter, we have provided an overview of surface parametrization methods in geometry processing with applications in texture mapping and quadmeshing. In the latter case, we presented a parametrization-based quadmeshing technique where a grid-preserving parametrization is computed in several steps. However, the resulting pipeline of operations poses specific difficulties, like the integrability of frame fields, injectivity of parametrization or robustness of mixed-integer quantization to cite a few.

The goal of our work is now to propose new optimization algorithms to improve one or several steps of the quadmeshing pipeline described in Section 2.4.2. More precisely, we will try to provide an answer to the three following problems:

1. What is a "good" cone distribution for a seamless parametrization ? Even in the case of quantized cones (with value kπ/2), it has been experimentally conformed that adding cones reduces the parametrization's distortion [START_REF] Myles | Controlled-Distortion Constrained Global Parametrization[END_REF]]. Yet in most state-of-theart methods, little to no control is given over the cone distribution when computing the seamless mapping.

We will describe two new methods of computing a cone distribution and an associated seamless parametrization. The first one, described in Chapter 3 derives an energy function from the LSCM algorithm of [START_REF] Lévy | Least Squares Conformal Maps for Automatic Texture Atlas Generation[END_REF] which minima correspond to flat surfaces. We extend it to the case of seamless parametrization and cone metrics on surfaces via combinatorial tricks.

In the second method, we formulate the problem of finding a cone distribution and its corresponding parametrization in a single continuous optimization problem. This allows optimizing for given properties of the final mapping (low conformal/scale distortion, feature adaptation, presence or absence of cones in user-defined areas, etc.) on both the mapping's Jacobian and the position of cones. The method is based on Cartan's method of moving frames and more specifically on the discretization of Cartan's two Structure equations. Two versions of an algorithm are proposed: the vertex-based version of Chapter 4 provably output valid seamless parametrizations provided convergence of the optimization, while the face-based version of Chapter 5 is faster and simpler to implement.

2. Is it possible to compute an integer seamless parametrization by minimizing a single continuous objective ? In a sense, the moving frame method of Chapters 4 and 5 unify the first two steps of the quadmeshing pipeline, namely the computation of a smooth frame field and an associated rotationally seamless parametrization. From this point, state-of-the-art methods often make use of a quantization step that relies on a mixed-integer solver. In parallel, methods based on the PGP algorithm of [START_REF] Ray | Periodic Global Parameterization[END_REF] can be seen as a way to directly solve for an integer seamless parametrization given a smooth frame field as an input, thus combining two other steps of the pipeline. More interestingly, they do not use any integer in their formulation but only continuous variables optimized via least-square methods.

In Chapter 6, we will try to combine a PGP approach with our moving frame formulation in order to solve for an integer seamless map in single continuous optimization. This can be seen as both a generalization of PGP where singularities are not known in advance and a generalization of our moving frame method where we add the integer translation constraints.

3. Is it possible to formulate the seamless parametrization problem in a way that is generalizable to the volume case ? While we focus here on the surface case of quadmeshing, another related problem is the automatic generation of hexmeshes, which are volume meshes made of hexahedral elements. As it turns out, hexmeshing is even more challenging than quadmeshing, as the transposition of the quadmeshing pipeline to three dimensions poses a whole new set of theoretical and practical difficulties. Several theoretical results do not hold anymore in three dimensions, and whole families of parametrization techniques (like for instance conformal maps) cannot be generalized. In particular, computing integrable frame fields in 3D is still an open problem.

In this context, designing parametrization algorithms that are dimension-agnostic and can also work in 3D with minimal theoretical changes is a sensible approach. It turns out that using the same exact equations as in Chapters 4 and 5, an algorithm that simultaneously computes a 3D frame field and a volume parametrization could be derived. Although it remains a promising track for future work, we will briefly describe this idea in our concluding remarks (Chapter 7).

3

Computing Cone Distributions via

Continuous Optimization on a 4-covering Any seamless parametrization of a surface is characterized by a set of quantized cones that determines its topology. This (usually sparse) set consists of points that concentrate the curvature of the surface in multiples of π/2. For a quadmeshing application, their distribution over the surface has a critical impact on the quality of the final mesh since it determines the position and number of its irregular (not incident to 4 quads) points in the final quadmesh.

Given an input surface, represented as a triangle mesh, finding a good quality cone distribution is a hard problem to solve due to the discrete nature of variables involved, both in position over the mesh (at vertices) and in angle defect (kπ/2 with k ∈ Z). Directly solving for such a distribution involves mixed-integer problems which are notoriously hard to solve in practice [START_REF] Li | Computing Sparse Integer-Constrained Cones for Conformal Parameterizations[END_REF]]. To circumvent this difficulty, two approaches can be drawn: either rely on proxy variables like frame fields [START_REF] Vaxman | Directional Field Synthesis, Design, and Processing[END_REF] or on greedy incremental methods [START_REF] Levi | Direct Seamless Parametrization[END_REF][START_REF] Myles | Global Parametrization by Incremental Flattening[END_REF]]. Yet, no state-of-the-art approach is able to compute a cone distribution in order to accommodate for some given quality criterion over the final parametrization, such as Figure 3.1: The triangle ring of a vertex s can always be isometrically flattened in the plane, creating an angle defect K s (left). Creating a 4-covering of the ring consists in duplicating it four times and concatenating the versions together. When reassembled, this new ring is flat (i.e. has a defect multiple of 2π) if and only if K s is a multiple of π/2. element distortion or anisotropy. In other words, finding the best possible cone distribution for a given shape is still an open problem.

In this chapter, we investigate a first method for computing a cone distribution with its associated seamless parameterization. The goal is to be able to work with the cone positions and defects as well as the uv-coordinates in order to optimize some user-given quality criterion. As the cone distribution involves integer variables in the form of the indices k ∈ Z of the defects, we propose not to use a mixed-integer approach, but to optimize on a different space, namely the 4-covering of the input mesh, where the problem becomes completely continuous and can be optimized using quasi-Newton solvers like the L-BFGS [START_REF] Liu | On the Limited Memory BFGS Method for Large Scale Optimization[END_REF] algorithm.

In the context of quadmeshing, 4-coverings were first introduced by [START_REF] Kälberer | QuadCover -Surface Parameterization Using Branched Coverings[END_REF]. The idea behind the transformation is simple: singular vertices having defect of nπ/2 can have their triangle ring laid out in parameter space as a triangle fan with a matching angular opening (Figure 3.1, left). Then, by stitching together four versions of this fan (Figure 3.1, right), it is possible to build a new ring with a defect related to four times the original one. This means that as long as the original defect is a multiple of π/2, the defect of the new ring will be a multiple of 2π, which corresponds to a flat ring. In other words, all relevant singularity defect we want to consider all correspond to a single configuration in the 4-covering.

Based on this observation, we propose to compute a seamless parametrization by decomposing the input mesh as a set of overlapping 4-covering of rings and optimize a "flatness" energy function for each of them. This energy, based on the LSCM energy [START_REF] Lévy | Least Squares Conformal Maps for Automatic Texture Atlas Generation[END_REF], has a long history of applications in geometry processing, especially in the domain of conformal flattening and injective embedding of a surface in a 2D domain [START_REF] Du | Lifting Simplices to Find Injectivity[END_REF][START_REF] Xu | Embedding a Triangular Graph within a given Boundary[END_REF]. Related work on these topics is covered by Sections 2.3.2,2.3.3 and 2.4.4 of Chapter 2. This chapter is organized as follows. In Section 3.1, we describe in more detail the 4-covering space we consider for our problem. In Section 3.2, we recall the LSCM algorithm and derive a specific flatness energy, function of the uv-coordinates as well as cotangents of the mesh. In Section 3.3, we describe how this flatness energy can be applied to the case of a 4-covering and describe a practical algorithm to optimize it. Finally, while our formulation of the cone distribution problem works mathematically, it failed to meet our expectations in practice due to numerical reasons we expose and discuss in Section 3.4.

4-covering of a Triangle Mesh

Decomposition as triangle rings

Let us begin by defining the space we will be working on for this whole chapter. Let M = (V, E, T ) be an input triangle mesh. Let s ∈ V be a vertex and R(s) := (t 1 , t 2 , ...t N ) be the ring of triangles incident to s described in direct order around s.

To define the 4-covering of M , we first decompose M as disjoint ring sets R(s) by duplicating each triangle t = (i, j, k) three times, once per incident vertex. Then, for each ring R(s), we create four identical versions of each triangle. We denote by t s,c n the c-th copy (c = 1, 2, 3, 4) of triangle t n ∈ T in the ring of the considered vertex s. This construction and the notations are illustrated in Figure 3.2. The 4-covering of the ring of s (Figure 3.3a) is the triangle sequence R (4) (s) defined as: R (4) (s) := (t s,1 1 , ..., t s,1 N , t s,2 1 , ..., t s,2 N , t s,3 1 , ..., t s,3 N , t s,4 1 , ..., t s,4 N ).

(3.1)

In other words, the four duplicated versions of the ring R(s) are concatenated in order to form the 4-covering R (4) (s).

The 4-covering M (4) of the mesh M is then the union of all the 4-coverings of its triangle rings: 4) of a mesh, each original triangle is duplicated 12 times: 4 times for each of its 3 corners. Here, we represent this construction for a triangle t n = (i, j, k). For each of its corner s ∈ {i, j, k}, four copies of t n noted t s,1 n , t s,2 n , t s,3 n and t s,4 n are present in the 4-covering R (4) (s). Simple rings R(i), R(j) and R(k) are represented geometrically here whereas 4-coverings R (4) (i), R (4) (j) and R (4) (k) are drawn in a combinatorial way. R (4) (s) := (t s,1 1 , ..., t s,1 N , t s,2 N , ..., t s,2 1 , t s,3 1 , ..., t s,3 N , t s,4 N , ..., t s,4 1 ).

M (4) := s∈V R (4) (s).
(3.2)
This is equivalent to the 4-covering of interior vertices where triangles of even layers are symmetrized (as t s,2 n ) and enumerated in reverse order.

Topological constraints Additionally, for a parametrization to be seamless on an arbitrary topology, one has to take into account defect accumulated along non-contractible cycles γ c and boundary to boundary paths γ b , represented as a loop and stripe of triangles respectively. Given a non-contractible cycle γ c = (t 1 , ..., t n ), we define its 4-covering R (4) Overall, each initial triangle of M is duplicated at least twelve times in the 4-covering M (4) : four times for each of its three corners, plus eventual versions if the triangle is part of a topological path. This duplication is necessary to ensure that the resulting space is a manifold mesh on which parametrization algorithms can be applied.

Properties of the 4-covering

Given a vertex s ∈ V , we denote by K s its angle defect in M . We define an alternative notion of the angle defect on its 4-covering ring R (4) (s), noted K (4) s , as:

K (4) s := 8π - 4 c=1 n α s,c n
where α s,c n is the corner angle of triangle t s,c n at vertex s. The construction of M (4) is justified by the following theorem:

Theorem 3.1. If K (4) s
= 0 mod 2π for all s ∈ V , and all 12 versions t s,c n of triangle t n ∈ T have matching lengths in parameter space, then a seamless parametrization of M can be extracted from M (4) .

Proof. We give a proof of this in the case where the considered mesh is a topological sphere, that is to say when all rings are rings of an interior vertex.

Given a triangle t = (i, j, k) ∈ T , having its twelve versions have matching lengths means that we can define consistent coordinates (u i , v i , u j , v j , u k , v k ) in an arbitrary basis such that each of its versions t s,c has the same coordinates up to a translation and rotation. This means in particular that for a vertex s, the four triangles t s,1 n , t s,2 n , t s,3 n and t s,4 n have matching lengths and corner angles. The 4-covering ring R (4) (s) can therefore be seen as four copies of the same ring R(s) assembled together. As a consequence, we can write the defect K (4) s as:

K (4) s = 4 2π - n α s,1 n = 4K s .
It directly follows that if K

s = 2nπ for some integer n ∈ Z, then K s = nπ/2. In other words, by considering the uv-coordinates defined as the common coordinates of triangle versions (which can be assembled along a tree), we have extracted a parametrization of the surface with quantized cones having defect multiple of π/2, that is to say a (rotationally) seamless parametrization.

Given this setup in terms of combinatorics of the input mesh as well as the result of Theorem (3.1), our goal is to define an energy over the coordinates of triangles whose minimization will result in the defect of each 4-covering ring R (4) (s) to be a multiple of 2π. Forcing each triangle versions to have matching lengths in the optimization of this energy will allow us to compute a seamless parametrization of our input surface.

Flattening Energy

In order to design a flattening energy function of the uv-coordinates, we take inspiration from the least-square conformal maps algorithm of [START_REF] Lévy | Least Squares Conformal Maps for Automatic Texture Atlas Generation[END_REF]. This parametrization method, like many in the state of the art, is not able to differentiate a locally injective solution from a double or n-covering. This is considered a drawback since double coverings are undesirable in general. Yet, in our case, we will take advantage of this property to directly flatten our 4-coverings per ring and recover a cone distribution.

Least-Square Conformal Maps

Let us first dive into the theory and applications of conformal maps to define our flatness energy. Conformal maps are a class of functions that locally preserve angles and have been extensively used for the parametrization of surfaces with disk topology (see Section 2.3.2). Formally, let M be a smooth 2D manifold with disk topology and ϕ : M → R 2 be a differentiable function. ϕ is said to be conformal if it satisfies the Cauchy-Riemann equation:

dϕ p (Jx) = Jdϕ p (x) (3.3)
for any point p ∈ M and tangent vector x ∈ T p M, where J = 0 1 -1 0 is the π/2 rotation of the plane (Figure 3.5). If we decompose ϕ as its coordinate functions (u v) T with u, v : M → R, we can rewrite Equation (3.3) as:

J∇u = ∇v (3.4)
In other words, the gradients ∇u and ∇v form a direct orthogonal basis at every point of the complex plane. In essence, the LSCM algorithm [START_REF] Lévy | Least Squares Conformal Maps for Automatic Texture Atlas Generation[END_REF] proposes a direct discretization of Equation (3.4) on a triangle mesh M = (V, E, T ) with disk topology. More precisely, the parametrization ϕ is represented as the coordinates (u, v) in the plane of each vertex. Since we consider it to be piecewise linear per triangle (i.e., linearly interpolating corner coordinates inside triangles), the gradients ∇ t u and ∇ t v form two tangent vector fields that are constant per triangle t. Following Equation (3.4), the LSCM system simply requires that those gradients should form an orthogonal basis and optimizes the condition in the least-square sense to find:

argmin u,v t∈T E t (u, v) where E t (u, v) := A t ||∇ t v -J∇ t u|| 2 (3.5)
and A t is the area of triangle t taken as a weight.

(x i , y i ) (x j , y j ) (x k , y k ) X Y
For a given triangle t = (i, j, k) equipped with an arbitrary basis (X, Y ) of its corresponding plane (inset Figure ), the gradients ∇ t u and ∇ t v can be expressed as 2D vectors from xy-coordinates p i = (x i , y i ) of the three vertices in the basis (X, Y ) and uv-coordinates (u i , v i ) [START_REF] Borouchaki | Adaptive Triangular-Quadrilateral Mesh Generation[END_REF] as:

∇ t u = 1 2A t G t   u i u j u k   where G t = y j -y k y k -y i y i -y j x k -x j x i -x k x j -x i
Therefore, we can rewrite the LSCM energy E t per triangle as:

E t (u, v) = A t G t   v i v j v k   -JG t   u i u j u k   2 (3.6)
Using this formulation, Problem 3.5 can be solved like in the original work of [START_REF] Lévy | Least Squares Conformal Maps for Automatic Texture Atlas Generation[END_REF] using a linear solver. However, the system is under-constrained as the uv-coordinates are defined up to a global scale and translation. One solution is to constrain a boundary edge to have fixed coordinates in uv-space. Another is to make use of an eigensolver to directly retrieve a unitary eigenvector of the system's matrix, as in [START_REF] Mullen | Spectral Conformal Parameterization[END_REF]].

An important fact to remark is that the solution of the LSCM system is not conformal in general, as the residue of the least-square problem is non-zero. This is due to the fact that flattening a non-flat triangulated surface onto the plane is impossible without altering some of the angles. In fact, the following result is true: Theorem 3.2. The solution to the LSCM system has zero residue if and only if the angle defect K s of each interior vertex s of the input mesh is equal to zero modulo 2π. In that case, the uv-coordinates solution of Equation (3.5) are an isometric parametrization up to a global scaling.

Proof. If the LSCM energy is equal to zero, then for all triangles t ∈ T of the mesh, we have E t = 0.

For any edge e = (i, j), the gradients ∇u and ∇v are continuous in the tangent direction of e by construction. The LSCM energy being zero implies that the gradients are also continuous in the direction normal to the edge and thus, completely continuous. Since the mapping ϕ from xyz-space to uv-space is a piecewise linear function, gradients are constant per triangle and continuity implies that they are constant everywhere. ϕ is therefore a global translation and scale. Since the parametrization has zero defect everywhere (except at boundaries), this is only possible if it was already the case for the mesh in xyz-space.

In other words, Theorem (3.2) states that the residual of the LSCM energy can be thought of as a numerical measure for "flatness" of a triangular surface. We now turn our attention of finding the closed form formulation of this energy.

Reformulation of the LSCM system

The first step for expressing the residual LSCM energy in closed form as function of the parametrization is to get rid of the dependency of E t to a set of arbitrary orthonormal bases (X, Y ) over all triangles. This amounts to reformulate the gradient operator G t as a function of the uvcoordinates and the angles of the mesh. By adding this last dependency, we will be able to solve for uv-coordinates and corner angles and take advantage of Theorem (3.2) to compute a flat representation of each 4-covering rings. In short, we prove the following theorem: Theorem 3.3. For a triangle t = (i, j, k), the LSCM energy per triangle E t can be expressed as a function of the uv-coordinates and the corner angles α:

E t (u, v, α) = s∈{i,j,k} cot(α s )ℓ s (u, v) -A t (u, v) (3.7)
where ℓ s (u, v) is the squared length of the side opposite to vertex s and A t (u, v) is the signed area of triangle t in parameter space. Moreover, when E t = 0, the cotangents cot(α) can be computed from the uv-coordinates.

α i α j ℓ i α k ℓ j ℓ k j k i Proof.
To reformulate Equation (3.6) into Equation (3.7), we first observe that for a triangle t, minimizing E t is equivalent to solving ∇E t = 0 which is expressed as the system of linear equations:

G T t G t u = G T t JG t v G T t G t v = -G T t JG t u . (3.8)
Square matrices G T t G t and G T t JG t can be expressed using the xy-coordinates p i , p j , p k of vertices i, j, k as:

G T t G t = 1 4A 2 t   ||p j -p k || 2 ⟨p j -p k , p i -p k ⟩ ⟨p j -p k , p i -P p ⟩ ⟨p j -p k , p i -p k ⟩ ||p i -p k || 2 ⟨p j -p k , p i -p j ⟩ ⟨p j -p k , p i -p j ⟩ ⟨p j -p k , p i -p j ⟩ ||p i -p j || 2   (3.9)
and

G T t JG t = 1 2A t   0 1 -1 1 0 1 -1 1 0   . (3.10)
Now, let α i , α j , α k be the angles at vertices i, j, k in triangle t. We can express dot products and A t in Equation (3.9) and (3.10) using trigonometric functions:

⟨p j -p k , p i -p k ⟩ = ||p j -p k || ||p i -p k || cos(α k ) 2A t = (p j -p k ) × (p i -p k ) = ||p j -p k || ||p i -p k || sin(α k )
which in the end leads to the following expression of G T t G t :

G T t G t = 1 2A t   cot(α j ) + cot(α k ) -cot(α k ) -cot(α j ) -cot(α k ) cot(α i ) + cot(α k ) -cot(α k ) -cot(α j ) -cot(α i ) cot(α i ) + cot(α j )   . (3.11)
Now, we can rewrite energy E t using Equations (3.10) and (3.11):

E t = A t ||G t u -JG t v|| 2 = A t (u T G T t G t u + v T G T t G t v -2u T G T t JG t v) E t = cot(α i ) cot(α j ) cot(α k ) .   (u j -u k ) 2 + (v j -v k ) 2 (u i -u k ) 2 + (v i -v k ) 2 (u i -u j ) 2 + (v i -v j ) 2   Dt - 1 2 det u j -u i u k -u i v j -v i v k -v i At
The first term D t of this expression is the dot product between the vector of cotangents and the vector of opposite squared lengths. If the cotangents correspond to the angles made by uv-coordinates, then this quantity is exactly the unsigned area of triangle t [START_REF] Pinkall | Computing Discrete Minimal Surfaces and Their Conjugates[END_REF]. The other term is half the determinant of uv-coordinates of the triangle, that is to say the signed area A t of triangle t. The energy we consider per triangle is simply the difference between the two. Written more compactly, this expression is equivalent to Equation (3.7).

Additionally, as D t ⩾ A t , the only possibility for the difference to be zero is for D t (u, v, α) to effectively be the area of the triangle, meaning that cotangents cot(α) should be the ones expressed as uv-coordinates:

cot(α k ) = (u i -u k )(u j -u k ) + (v i -v k )(v j -v k ) (u i -u k )(v j -v k ) -(u j -u k )(v i -v k ) .

Energy Interpretation

According to Theorem 3.2 and the simple observation that E t ⩾ 0, we can deduce that E = t E t is zero if an only if the considered mesh is flat with no flipped triangles. By fixing the boundary of a disk-topology mesh, minimizing E is equivalent to finding a foldover-free embedding of the mesh, that is to say a (locally) injective parametrization, as we demonstrate in Figure 3.6. This idea has been explored by [START_REF] Xu | Embedding a Triangular Graph within a given Boundary[END_REF], where the authors proposed to minimize D t by iteratively minimizing along the uv-coordinates (solving a linear system) and updating the cotangents. This method of resolution is, however, less suited to our case where we take into account the second term A t . We instead consider the energy E as a (non-linear) function of both the uv-coordinates and the cotangents, and optimize simultaneously over this greater set of variables.

Fortunately, the fact that cotangents correspond to uv-coordinates at the minimum allows us to initialize them as the actual cotangents of the mesh but consider them as a set of variables that can be optimized freely. Provided convergence to the zero of the energy E t , we are still assured to obtain the correct result.

Optimization of the Flattening Energy

Now that we have defined a flatness energy E t per triangle (Equation (3.7)), we are interested in solving the following minimization problem:

u,v,α t=(i,j,k)   s∈{i,j,k} cot(α s )ℓ s (u, v) -A t (u, v)   subject to α t i + α t j + α t k = π for all t ∈ T (3.12)
where we consider u, v and cot(α) to be our sets of variables. The constraint on angles guarantees the validity of each triangle. Our goal is now to integrate this constraint in the optimization and find a closed form of the minimum over α in order to retrieve a formulation that depends only on the uv-coordinates.

Optimization Problem without 4-covering

In order to simplify the exposition, let us first derive our final energy expression on the mesh M and not M (4) . The modifications needed to express the energy over a full 4-covering are postponed to Subsection 3.3.2. Meanwhile, we prove the following result: Theorem 3.4. Problem (3.12) is equivalent to:

argmin u,v t=(i,j,k) 2(ℓ i ℓ j + ℓ j ℓ k + ℓ k ℓ i ) -ℓ 2 i -ℓ 2 j -ℓ 2 k -A t (u, v). (3.13)
Proof. The idea of the proof is to express the validity constraints α i + α j + α k = π of angles in terms of cotangents that will then be integrated inside the energy using Lagrange multipliers.

Let us begin by proving a small lemma:

Lemma 3.5. Given three numbers a, b, c > 0:

a + b + c = π ⇔ cot(a) cot(b) + cot(b) cot(c) + cot(c) cot(a) = 1
This identity simply comes from the formula for the cotangent of a sum:

cot(a + b) = cot(a) cot(b) -1 cot(a) + cot(b) . (3.14)
Writing a + b = πc and taking the cotangent of both sides leads to:

cot(a) cot(b) -1 cot(a) + cot(b) = -cot(c)
which gives us the correct identity up to some reordering. Given this expression in terms of cotangents, we can add this validity constraint to Problem 3.12. As it is not a linear constraint, we use the method of Lagrange multipliers, which consists in introducing a new variable λ and a new function L t per triangle t to minimize over u, v, α and λ:

L t (u, v, α, λ) := E t (u, v, α) + λ (cot(α i ) cot(α j ) + cot(α j ) cot(α k ) + cot(α k ) cot(α i ) -1) . (3.15)
The method then calls for the cancellation of the derivative ∂L t ∂λ in order to get an expression of λ in terms of the other variables:

λ = 1 2 2(ℓ i ℓ j + ℓ j ℓ k + ℓ k ℓ i ) -ℓ 2 i -ℓ 2 j -ℓ 2 k (3.16)
λ can again be interpreted as the unsigned area of triangle t by Heron's formula. Now, as we are looking for the minimum over α, we can also cancel the partial derivatives ∂L t ∂α i , ∂L t ∂α j and ∂L t ∂α k . This leads to the classical expression of the cotangents in terms of lengths and triangle area [START_REF] Eck | Multiresolution Analysis of Arbitrary Meshes[END_REF], also referred to as the law of cosines:

cot(α i ) = ℓ j + ℓ k -ℓ i 2λ , cot(α j ) = ℓ k + ℓ i -ℓ j 2λ , cot(α k ) = ℓ i + ℓ j -ℓ k 2λ (3.17)
Plugging these expressions into Problem (3.12) amounts at considering the minimum over α of the energy under the validity constraint. This gives us an equivalent minimization problem that does not depend on the cotangents anymore:

argmin u,v t=(i,j,k) 2(ℓ i ℓ j + ℓ j ℓ k + ℓ k ℓ i ) -ℓ 2 i -ℓ 2 j -ℓ 2 k -A t (u, v)
which is exactly the expression of Problem (3.13).

For ease of notations, we simplify the expression in Problem (3.13) by introducing the vector ℓ t := (ℓ i ℓ j ℓ k ) T of squared lengths in triangle t and the matrix H :=

-1 1 1 1 -1 1 1 1 -1
. Then, we can compactly write our flattening problem as:

argmin u,v t ℓ t (u, v) T Hℓ t (u, v) -A t (u, v).
(3.18)

Optimization Formulation over a 4-covering

Now that we reached our goal of finding an energy defined on individual triangles that measures the flatness of a mesh, let us move to the case of the 4-covering M (4) . Following Theorem (3.1), we are interested in finding a solution of Problem (3.18) under the constraint that duplicated versions of the same triangle should have matching lengths.

Recall from Section 3.1 that in M (4) , a triangle t = (i, j, k) is duplicated into 12 versions t s,c for s ∈ {i, j, k} and c ∈ {1, 2, 3, 4}. Going back to Expression (3.12) of the optimization problem in terms of u, v and cotangents, we would like to find the minimum of the sum over all possible versions of all possible triangles. In practice, this would require the definition of uv-coordinates per triangle version (u s,c , v s,c ) for each vertex, as well as a different set of cotangents cot(α s,c ). However, given the fact that we want the lengths of all versions to match, we instead define a single set of cotangents shared by all versions of triangle t. This amounts to fixing all of its versions to have matching shapes up to some scale, translation and rotation, and therefore matching lengths at the minimum of the energy.

By following the same steps as in Section 3.3.1, we prove our final result:

Theorem 3.6. Computing a seamless parametrization of a mesh M is equivalent to solving the following optimization problem on M (4) :

argmin u,v t=(i,j,k)      s∈{i,j,k} c∈{1,2,3,4} ℓ s,c (u, v) T Hℓ s,c (u, v) - s∈{i,j,k} c∈{1,2,3,4} A t s,c (u, v)      (3.19)
where ℓ s,c = ℓ s,c i ℓ s,c j ℓ s,c k T is the vector of squared edge lengths in version t s,c of triangle t = (i, j, k). and A t s,c is its signed area (both depending on u and v).

Proof. Notice that Problem (3.19) is simply Problem (3.18) where we substituted lengths and areas by sums over all versions of a triangle. To arrive at this result, let us start by expressing the optimization over u, v and α using our notations for the 4-covering to get a modified version of Problem (3.12). For the sake of simplicity of notations, let us consider the case of a single triangle t = (i, j, k) and its 12 versions:

argmin u,v,α s∈{i,j,k} c∈{1,2,3,4} m∈{i,j,k} cot(α m )ℓ s,c m (u, v) 2 -A t s,c (u, v) (3.20)
Since the cotangents are common to all triangle versions, they can be factored out of the sum. The problem then becomes:

argmin u,v,α m∈{i,j,k}     cot(α m ) • s∈{i,j,k} c∈{1,2,3,4} ℓ s,c m (u, v) 2     - s∈{i,j,k} c∈{1,2,3,4} A t s,c (u, v) (3.21)
From Problem (3.21), the same arguments present in the proof of Theorem (3.4) can be applied. The Lagrange multiplier works out similarly except the sum of square lengths over all versions of the triangle replaces single square lengths. Overall, we obtain:

argmin u,v s∈{i,j,k} c∈{1,2,3,4} ℓ s,c (u, v) T Hℓ s,c (u, v) - s∈{i,j,k} c∈{1,2,3,4} A t s,c (u, v)
which is the single triangle version of Problem (3.19), which can be immediately summed over all triangles of M . Now, since the optimization of Problem (3.19) will result in a flat 4-covering, we know from Theorem (3.1) that it will result in a seamless parametrization of the initial mesh M .

Practical Algorithm

As all global minima of Problem (3.19) are seamless parametrizations of M , we now focus on its minimization in practice. Our set of variables consists of 12 triplets of uv-coordinates per triangle t of the input mesh M , each corresponding to one version of the triangle. As the final minimization problem does not involve cotangents explicitly anymore, we do not need them as variables.

Initialization The objective function in Problem (3.19) is obviously non-convex thus the final result is dependent on the initialization of the variables. We propose to initialize each 4-covering ring R (4) (s) by solving the LSCM system (Equation (3.5)) and recovering uv-coordinates for the four involved versions of each triangle. As the objective function is only expressed in terms of lengths and areas in parameter space, it is invariant by translation and rotation of the uvcoordinates. We are therefore able to set the uv-coordinates corresponding to vertex s in R (4) (s) at zero by convention and remove some variables.

Regularization For minimization, we require to compute gradients of our energy function. Since the square root in the first term has infinite derivative at zero, we regularize the expression by instead using the function x → (x 2 + ε)

1 4 with ε = 10 -10 .
Reconstruction Once the energy reaches zero, there are several possibilities to recover a cone distribution and an associated seamless parametrization. A first approach consists in reconstructing each vertex ring by extracting the first layer of its 4-covering and then stitching them together along a spanning tree. This, however, can be numerically unstable as any error made on a ring is propagated along the tree.

Another approach is to compute the final cotangents of all angles in the mesh from the uv-coordinates using the formulas of Equation (3.17). This allows us to compute the angle defect at each vertex and recover a valid cone distribution via rounding. Then, as for any cone parametrization (see Section 2.3.6), the mesh can be cut along a spanning tree as well as along non-contractible cycles to recover a disk topology. We compute the cotan Laplacian associated with our final cotangents (following the definition of Equation (2.5) in Chapter 2) and solve for the eigenvector associated to the smallest eigenvalues, following the method of [START_REF] Mullen | Spectral Conformal Parameterization[END_REF]. This more complicated yet more stable approach is the one used to produce the results of Figure 3.7.

Results and Discussion

We implemented the minimization of Problem (3.19) in python 3. For the optimizer, we used a limited memory BFGS algorithm [START_REF] Liu | On the Limited Memory BFGS Method for Large Scale Optimization[END_REF] as provided in the scipy library.

In Figure 3.7, we show parametrizations and cone distributions obtained by our algorithm on some surface triangular meshes. Although we are able to converge to correct results in some simple cases, this method of producing global parametrization proved to be numerically impractical for several reasons. Firstly, while we proved that zeros of our energy correspond to correct cone distributions, the non-linear nature of the optimization provide no guarantee of convergence towards said zeros. In practice, we observe that, when initialized with zero defect, rings hardly converge to a different defect. This is due to the profile of the energy in function of the defect, as plotted in Figure 3.8, that presents local maxima at kπ/2 + π/4 which are hard to overcome without the ring area going through a zero. In practice, the optimization gets easily stuck in saddle points where all rings share a small amount of defect.

In addition to this problem, the method provides little to no control on where the singularity cones will appear. Mesh quality indeed play a great role in this final distribution, as rings associated with vertices of small valence present a smaller energy when their defect is close to kπ/2 + π/4. thus encouraging singularity cones to appear at those vertices. This is particularly visible on the sphere model in Figure 3.7a, where singularity cones appear on the eight vertices of valence 5.

Conclusion

In this chapter, we investigated a combinatorial transformation over a triangle mesh to compute a quantized cone distribution and a seamless parametrization. Given an artificially built 4-covering of each ring, we derived an energy function whose zeros correspond exactly to zero angle defect, which in the original mesh corresponds by construction to defects multiple of π/2.Thanks to these two elements, we were able to formulate the problem of cone distribution as a continuous non-linear optimization. But while the minimization of our energy was theoretically equivalent to finding a valid parametrization, the numerical optimization turned out to be impractical with difficulties in convergence as well as a lack of control on the final result. As this method was based on a combinatorial trick, its dependence to the underlying geometry of the mesh comes with no surprise, which is an undesirable feat of such an algorithm.

In the next chapter, we will turn our attention to another formulation of the problem of seamless parametrization and cone placement that avoid the above issues and allows for a better control on the final parametrization's properties. Computing a global seamless parametrization is a challenging problem in geometry processing, mostly due to the fact that any attempt at solving it needs to determine two very different sets of variables. One the one hand, a seamless parametrization is defined by a discrete set of singular points (or cones) that concentrate all the curvature in multiples of π/2. On the other hand, the actual mapping needs to be optimized to account for specific constraints depending on the application, such as alignment with feature edges or creases, local sizing of elements or controlled distortion. Yet, the mapping's topology is determined by the cone distribution, which can drastically alter its quality. In particular, finding cone positions minimizing the mapping's distortion is challenging and often leads to sophisticated optimization problems.

To overcome this apparent complexity, there exists two broad classes of algorithms. The first relies on two steps: first choosing the singularity locations using a cross field or other proxies and then compute a global rotationally seamless parametrization. This procedure, however, loosens the link between cone placement and the distortion of the final result. As a consequence, a quadmesh extracted from this parametrization can present quads that stray far away from squares because its connectivity was optimized almost independently of its geometry. The second type of methods restricts the parametrization to simpler deformations (typically conformal) allowing for simple distortion estimation but ends up using either greedy algorithms or highly specialized integer optimization algorithm for cone placement. This is where differential geometry tools come to the rescue. Cartan's method of moving frames provides a rich theory to design and describe local deformations. This framework uses local frames as references, making local coordinates translation and rotation invariant [START_REF] Lipman | Volume and Shape Preservation via Moving Frame Manipulation[END_REF]]. Furthermore, the first structure equation provides a necessary and sufficient condition to the existence of an embedded surface. This equation describes how differential coordinates should change relative to the frame's motion, effectively removing all influence of the ambient coordinate systems on the deformation.

In this chapter, we extend Cartan's method to singular frame fields and we prove that any solution of the derived structure equations is a valid cone parametrization. Most importantly, we provide a vertex-based discretization of the smooth theory which provably preserves all its properties. The absence of a global coordinate system allows us to compute parametrizations without prior knowledge of the cut positions and to automatically place quantized cones optimizing for a given distortion energy. Moreover, we study useful user prescribed constraints, such as feature or boundary alignment and cone locations as shown in Figure 4.1.

Our technical contributions include:

1. A formalization of surface parametrization using Cartan's method of moving frames;

2. An extension of Cartan's method to cone parametrization;

3. A versatile tool allowing all types of constraints as-well-as simple free-boundary parametrization;

4. An algorithm for simultaneously computing a parametrization and quantized cone positions without integer variables.

Related Work

Cartan and Geometry Processing

In geometry processing, Cartan's method of moving frames has drawn a lot of attention for its rotation and translation invariant representation of metric and curvature [START_REF] Lipman | Linear Rotation-Invariant Coordinates for Meshes[END_REF]].

In a follow-up work, [START_REF] Lipman | Volume and Shape Preservation via Moving Frame Manipulation[END_REF] use this representation to design volume preserving and as-isometric-as possible deformations. However, these works do not consider the structure equations. [START_REF] Wang | Linear Surface Reconstruction from Discrete Fundamental Forms on Triangle Meshes[END_REF] also design general deformations and provide discrete conditions, akin to the structure equations, for the existence of a deformation. However, in practice, frames are computed independently of the deformation and structure equations are never used. As a consequence, these methods are limited to suboptimal solutions and if they consider parametrization as an application, cones are out of scope. Previous work using moving frame theory mostly focuses on deformations of volumes or surfaces with normals. In this context, the second structure equation is non-linear and describing a discrete equivalent of it is in itself a challenge [START_REF] Corman | Symmetric Moving Frames[END_REF]. In contrast, we only study intrinsic properties of surfaces where the second structure equation is a simple linear equation [START_REF] Crane | Trivial Connections on Discrete Surfaces[END_REF]]. The additional information provided by the first structure equation, which relates the local frames to the local deformation, allows us to compute maps from a surface to the plane.

In this work, the discretization of the structure equations is achieved by decomposing the mesh into disjoint vertex-based charts. We show that a valid parametrization can be constructed from any solutions of these discrete equations. No such guaranty can be given when using the vertex-based discretization of differential operators proposed by [START_REF] Liu | Practical Fabrication of Discrete Chebyshev Nets[END_REF].

Cross Field Based Parametrizations

Cross Fields are an extremely useful tool for seamless parametrization. We refer to Section 2.4.3 of Chapter 2 for a general overview of the topic and related works. In this family of methods, the Simplex Assembly algorithm of [START_REF] Fu | Computing Inversion-Free Mappings by Simplex Assembly[END_REF] in particular takes an ingenious approach: they divide the input mesh into a set of independent triangles and constrain adjacent simplices to be equal up to the cross field rotation. This simple constraint allows them to compute seamless global parametrizations for triangle-based cross fieldswithout prior knowledge of the parametrization cuts. In this work, we use a similar formulation but adapted to cross field defined at vertices so that singularities are not bound to appear at vertices. While convenient, cross field based approaches have one major drawback: not all cross fields can generate a valid parametrization. In particular, some can exhibit limit cycles creating degenerated triangles in parameter space. Many solutions have been proposed to circumvent this issue. Limit cycles can be detected and fixed locally by adding a singularity dipole [START_REF] Myles | Robust Field-Aligned Global Parametrization[END_REF]]. However, this solution stays local and does not take into account the global problem of minimizing the distortion. [START_REF] Diamanti | Integrable PolyVector Fields[END_REF] provide a system of necessary and sufficient equations for the existence of a seamless cone parametrization. The Jacobian of the deformation is expressed in a symmetry invariant way using the PolyVector representation. Like ours, this representation allow them to compute a cone parametrization freely placing 1/4-index singularity minimizing a distortion criterion. However, in practice, the algorithm is prone to add multiple singularities, even when starting from a cross field with integrable singularities.

Works on Chebyshev Nets have also introduced algorithms able to place singularities at the same time as computing geometry for the simple reason that these nets do not always exist on general surfaces and often require specific cone placement. [START_REF] Andrew | Chebyshev Nets from Commuting PolyVector Fields[END_REF] use a PolyVector representation but its integrability condition depends on the frame field matching, thus requires an integer optimization. Moreover, a post-processing step is needed to compute the parametrization as the construction is not exact. Later works, such as [START_REF] Liu | Practical Fabrication of Discrete Chebyshev Nets[END_REF], alternate between computing a parametrization and a frame field are able to slowly move the singular points.

Maybe closer to our representation, [START_REF] Pluta | PH-CPF: Planar Hexagonal Meshing Using Coordinate Power Fields[END_REF] introduce the so-called "coordinate power fields". This representation simply relies on the definition of seamless parametrization: edges of adjacent triangles must be equal up to π/2 rotations. To avoid integer variables they raise edge vectors in the complex plane to the fourth power. In this setup, singularities are unlikely to appear as it would require creating a new cut along which all the variables must change. In our setting, singularities can be created easily by adjusting the frame field local rotations.

Cone Metric Deformation

Overall, a cross field is a convenient way of placing quantized singularities necessary for quadmeshing, however, it is not the only way to solve this problem. Most alternatives rely on conformal deformations as they offer a simple relationship between area distortion and cone positions. We refer to Sections 2.3.6 and 2.4.4 of Chapter 2 for an overview.

All these methods suffer from the same problem as cross fields: not all sets of cones admit a valid parametrization. For surfaces without boundary, prescribed cones satisfying the Gauss-Bonnet theorem are always feasible [START_REF] Campen | Seamless Parametrization with Arbitrary Cones for Arbitrary Genus[END_REF][START_REF] Levi | Direct Seamless Parametrization[END_REF]] and a few obstructions exist for controlling non-contractible cycles [START_REF] Shen | Which Cross Fields Can Be Quadrangulated? Global Parameterization from Prescribed Holonomy Signatures[END_REF]]. However, the existence of boundaries or feature curves can lead to situations where quantized cones and Gauss-Bonnet theorem are no longer sufficient conditions. It appears to us that the only way to be certain that a set of singularities is consistent with a seamless mapping is to compute the underlying parametrization.

Smooth Formulation

Let us start by describing the theoretical background used to build our global parametrization technique, which is, at its core, a discretization of Cartan's method of moving frames. This simple and intuitive framework only uses two ingredients: local frames and Jacobian matrices expressed in local coordinates. The theory provides two structure equations precisely describing how these two quantities must relate in order to create a valid parametrization of the surface.

In all the chapter, Euclidean planes, either as parametric spaces or tangents to a surface, will be identified to the space of complex numbers C. Orthogonal frames will be represented as elements of the space U of unit complex number.

Cartan's Method of Moving Frames

Although Cartan's theory is a very broad topic [START_REF] Sharpe | Cartans Generalization of Kleins Erlangen Program[END_REF]], we will limit ourselves to the study of a mapping ϕ : M → C sending a compact smooth orientable surface M to the complex plane. As a first step, we will further ask that M has disk topology. The results of this section can be found in the translation of Cartan's lecture on Riemannian geometry [START_REF] Cartan | Riemannian Geometry in an Orthogonal Frame: From Lectures Delivered by Lie Cartan at the Sorbonne in 1926-1927[END_REF]].

Cartan's key idea is to assign, at each point of a surface, an orthogonal frame represented by a unit complex number z : M → U that will be used as a local reference system. The differential map dϕ : T M → T C ≡ C, mapping tangent vectors of M to vectors in parameter space, is itself projected into the local frame leading to the complex-valued 1-form σ : T M → C as illustrated in Figure 4.2. Cartan decomposes the differential map as a product of frame and local deformation:

(dϕ) p = z p σ p .
(4.1)

The complex-valued 1-form σ p is nothing more than a representation of the Jacobian of the deformation at point p ∈ M in the coordinate system z p .

Obviously, the frame field z and the local deformation tensor σ cannot be chosen arbitrarily and must depend on the frame's rotation. The main results of Cartan [Cartan et al. 2001, Thm. 1. p. 38] is that there exists a mapping ϕ and a frame field z solution of the system Equations ( 4.1) if and only if a system of two differential equations is satisfied.

The only requirement on the reference field z is that it should be smooth and unit norm. Thus, locally there exists a smooth angle function θ such that z = exp(ıθ). The frame's speed of rotation in direction X is given by differential form ω(X) := dθ(X). Therefore, the frame evolution is entirely captured by the differential equation:

dz = ıωz. (4.2)
Equation ( 4.2) is well-known in geometry processing for computing cross fields [START_REF] Crane | Trivial Connections on Discrete Surfaces[END_REF][START_REF] Ray | N-Symmetry Direction Field Design[END_REF] or even quad or stripe patterns [START_REF] Knöppel | Stripe Patterns on Surfaces[END_REF][START_REF] Ray | Periodic Global Parameterization[END_REF]]. As proved by [START_REF] Cartan | Riemannian Geometry in an Orthogonal Frame: From Lectures Delivered by Lie Cartan at the Sorbonne in 1926-1927[END_REF]; [START_REF] Sharpe | Cartans Generalization of Kleins Erlangen Program[END_REF], the frame field is uniquely determined by its rotation speed ω.

The evolution of deformation form σ is by definition deeply related to the evolution of the frame on the surface as it must compensate for the frame's rotation. The first structure equation describes exactly this relationship and, as proved in Thm. 4.1, it is also a necessary an sufficient condition for the existence of the mapping f defined in Equation (4.1).

Theorem 4.1. Given a frame field whose rotation speed is ω, there exists a unique solution of the system (4.1) up to translation/rotation if and only if σ is solution of Cartan's first structure equation:

dσ + ıω ∧ σ = 0. (4.3)
Proof. The structure equation is equivalent to showing that zσ is a closed-form:

d(zσ) = dz ∧ σ + zdσ = z(ıω ∧ σ + dσ).
Since M is assumed to be disk-like, zσ is exact if and only if it is closed.

A proof in a more general context can be found in [Cartan et al. 2001, Thm. 1, p. 38].

If the differential map and the deformation tensor σ differ by a rotation, they still share many properties. For instance, the local change of area is invariant by rotation and can be computed directly from σ. For parametrizations, we would like to obtain locally injective maps, or stated differently that the local areas stay positive. One way to ensure this is by checking that σ does not change the sign of the cross product between tangent vectors:

⋆Im(σ ∧ σ) > 0. (4.4) M z p df p (X ) T p M ≡ C σ p (X )

Cartan's Method of Symmetric Moving Frames

So far, Cartan's method provided us with two integrability conditions for disk-like domains. In this section, we will extend this method to global parametrizations by allowing cone metricsmetrics with zero Gaussian curvature everywhere except at a few singular points. We will show that simply allowing symmetric frame fields is enough to guarantee parametrization with cone angles matching the singularity indices.

One obstruction to extending the theory to general topology is that, in general, we cannot define a regular reference field everywhere. Thus, we will consider frame with rotational symmetry [START_REF] Palacios | Rotational Symmetry Field Design on Surfaces[END_REF]. Two frames are deemed equivalent if they are equal up to a rotation in the symmetry group Γ. As shown in [START_REF] Crane | Trivial Connections on Discrete Surfaces[END_REF], these symmetric fields still define a rotation speed ω and Equation (4.1) still admits a solution but this time within the quotient space U/Γ.

Interestingly, the first structure equation Equation ( 4.3), obtained by differentiating Equation (4.1), does not change as it only depends of the frame's rotation speed. Now we can define a global parametrization of a "cut" manifold M c . The surface M c is defined by puncturing M at singular points and "cutting" the domain in order to recover a disk topology. We are able to show, in Thm. 4.2, that any solution of the first structure equation is a global parametrization of M c . Theorem 4.2. Given a 1-from σ satisfying Equation (4.3) and a symmetric frame field solution of Equation (4.2) in the quotient space U/Γ, there exists a mapping ϕ : M c → C such that:

dϕ p = z p σ p , ∀p ∈ M c .
Moreover, the image of a pair of vectors tangent to the cuts are equal up to a rotation of the symmetry group Γ in parameter space.

Proof. The proof will follow three steps: 1) we demonstrate that there is a mapping ϕ satisfying Equation (4.1) in M c , 2) we show that σ is continuous away from singular points even though the frame field is discontinuous in U and 3) the vector tangent to the cuts are equal up to a rotation due to the discontinuity in the frame z.

First, we show the existence of a mapping ϕ solution of Equation ( 4.1). By construction, there exists a smooth frame field z : M c → U whose Darboux derivative is ω. Since Equation ( 4.3) holds true, the form zσ is closed. Using the Poincaré lemma, we conclude that zσ is exact on M c as it is simply connected. Therefore, there exists a map ϕ : M c → C solution of:

dϕ p = z p σ p , ∀p ∈ M c .
Secondly, we are going to prove that, even though z is discontinuous in U, there always exists a form σ satisfying the first structure equation Equation ( 4.3) which is smooth away from singularities and independent of z and ω. To do so, we restrict ourselves to conformal deformations by choosing σ = e u dx where dx = dx 1 + ıdx 2 is a local 1-form orthonormal basis. Injecting this into Equation ( 4.3), we show that the log-scale factor u is solution of the system of equations:

du ∧ dx 1 + ω ∧ dx 2 = 0, du ∧ dx 2 -ω ∧ dx 1 = 0.
The only solution of this system is: ω = -⋆ du. The frame field rotation ω uniquely defines the frames up to global rotation [START_REF] Sharpe | Cartans Generalization of Kleins Erlangen Program[END_REF]] and can be related to the Gaussian curvature K and the frame cones points Ω by the equation [START_REF] Corman | Symmetric Moving Frames[END_REF][START_REF] Crane | Trivial Connections on Discrete Surfaces[END_REF]:

dω = -K + Ω.
Therefore, u is solution of the Poisson's equation:

∆u = K -Ω.
(4.5) Equation ( 4.5) always has a smooth solution away from singular points. Thus, σ is locally smooth away from singularities and is independent of the frame field discontinuities. Third, we are going to study the properties of the parametrization cuts. Let p ∈ M be a point at a cut and p + , p -are the corresponding points on each side of the cut in M c . By construction, there exists a frame field z : M c → U whose rotation speed ω is smooth on M c but discontinuous on M. At a discontinuity, there exists a transition rotation g p ∈ Γ, such that: z p -= g p z p + . Since σ is continuous on M c , we have: σ p -= σ p + . Therefore, a tangent vector X ∈ T p M has two limit images by the differential map:

dϕ p + (X p ) = z p + σ p (X p ) and dϕ p -(X p ) = z p -σ p (X p ).
Using the continuity of σ, we have:

dϕ p + (X p ) = g p dϕ p -(X p ), g p ∈ Γ.
Therefore, vectors tangent to the cut are mapped to vector equal up to a rotation defined by the frame field discontinuity.

Parametrization Design

Following Cartan's method, computing a parametrization is equivalent to finding local frames z with rotation speed ω and a 1-form σ satisfying the structure equations. Thus, we can setup an optimization problem aiming at finding z, ω, σ minimizing a distortion energy D and satisfying Equations (4.2), (4.3) and (4.4):

min D(σ) z : M → U/Γ dz -ıωz = 0 ω : M → R s.t. dσ + ıω ∧ σ = 0 σ : T M → C ⋆Im(σ ∧ σ) > 0 (4.6)

Discrete Setting

The optimization constraints ensure the existence of a global parametrization of the cut surface M c but never use the position of the cuts or the singular points. In fact, cones are determined during optimization and cuts are discovered during the construction of the parametrization when solving Equation (4.1). This formulation allows for a great range of possible constraints: boundary constraints, feature constraints, distortion measure, singularity positions as-well-as extensive freedom to let the cone be placed according to the distortion minimization.

Feasible region

In theory, for a mapping ϕ : M c → C, there are an infinite number of pairs z, σ satisfying Thm. 4.2. In particular, one can rotate the frame and the deformation tensor at each point by a rotation r p ∈ U such that zp := r p z p , σp := r -1 p σ p does not alter the deformation -i.e. dϕ p = zp σp . In order to satisfy Equation ( 4.2) and Equation ( 4.3), the rotation speed ω of z must change according to the formula ω = ωır -1 dr. Thus, for any rotation field, if z, ω, σ are feasible then z, ω, σ are also feasible with possibly the same distortion energy. Therefore, the feasible region in Equation ( 4.6) is extremely large and the optimization problem is highly nonconvex. In practice, the size of the feasible set allows us to easily converge to a feasible solution (except for some specific configurations discussed in Sec. 4.9). However, we cannot guarantee that we will find a global minimum of the distortion energy.

Overview

Our goal is to discretize the optimization problem in Equation (4.6). We will first recall definitions necessary for discrete parametrization in Sec. 4.3. The constraints on frame rotations will be the topic of Sec. 4.4 and the first structure equation will be studied in Sec. 4.5. We will show in Sec. 4.6 that the discrete constraints are equivalent to the existence of a discrete parametrization. Sec. 4.7 discusses boundary conditions and feature alignment. Sec. 4.8 and Sec. 4.9 describe our numerical optimization scheme as-well-as our results and applications.

Discrete Setting

In this section, we recall the properties given in Section 2.4.2 of Chapter 2 we are trying to enforce on our resulting parametrization.

In the discrete setting, the mappings we consider are piecewise linear parametrizations, that is maps ϕ : M ⊂ R 3 → C assigning, to every triangle corner c ∈ R 3 a coordinate in the (complex) plane ϕ t (c) = (u, v). Coordinates for points inside a triangle are then linearly interpolated from its corners. Such a parametrization can exhibit cuts along some edges, namely adjacent triangles in the initial mesh are no longer adjacent in the parametrization. Linear transition functions g relate an edge on one side of the cut to its duplicated version on the other side. Given a closed loop of triangles (t 0 , t 1 , . . . , t p , t 0 ), all incident to the same vertex i ∈ V , the vertex is said singular if the accumulated transition function g i = g t 0 →tp • . . . • g t 2 →t 1 • g t 1 →t 0 is not identity.

We will require in addition the parametrization to be rotationally seamless, meaning that duplicated edge vectors are equal up to a kπ/2 rotation for any two adjacent triangles (Definition 2.2). More generally, we consider parametrization with quantized cones, for which transition functions are rotations of angle 2kπ/n for n ∈ N + .

Another important property we consider here is that boundary curves and feature edges are isolines of the parametrization (Definition 2.3).

The Cayley Map

During the process of discretizing the integrability equations, we will see that rotations are represented using the Cayley map [START_REF] Kobilarov | Lie Group Integrators for Animation and Control of Vehicles[END_REF]. By definition this map, noted cay : R → U, associates to a real value α ∈ R a complex fraction equal to the rotation of angle 2 arctan(α/2) ∈ (-π, π):

cay(α) := 1 -ıα/2 1 + ıα/2 = exp 2ı arctan α 2 . (4.7)
The Cayley map is often used as an efficient way of parametrizing the space of rotations by a polynomial function [START_REF] Zhang | Fast Updates for Least-Squares Rotational Alignment[END_REF]]. Moreover, it defines a single covering of the space of rotations which is a desirable property for numerical optimization.

Local Frames

In this section we propose a discretization of our first integrability equation Equation ( 4.2). To do so, we need to define our local frames and how to compare them on a curved surface using a parallel transport. As we consider tangent vectors defined at vertices, the material exposed in Sec. 4.4.2 is inspired by [START_REF] Knöppel | Globally Optimal Direction Fields[END_REF]. The choice of vertex-based frame fields can come as unusual in the context of cone parametrization. Indeed, the more common choice of frames on faces defines singularities at vertices and cuts along edges which is, in practice, very convenient. However, frames on vertices give more room for singularity placement as a cone may appear anywhere inside a triangle. Therefore, our algorithm succeeds in parametrizing poorly sampled surfaces by adding a new vertex inside each singular triangle as demonstrated in Figure 4.3. Such parametrizations are inaccessible to face-based algorithms.

Vertex-Based Frame Fields and Singular Triangles

Local Frames

Frames on faces are also easy to constrain at boundaries and at feature curves. Again, these constraints are also easily accessible for vertex-based field by adapting the flattening of the local vertex chart, as we will see in Sec. 4.7.

Most importantly, we can prove that our framework has to create cones of same index as the frame field. This is not guaranteed in the face-based paradigm due to possible creation of unwanted "double covering" [START_REF] Garanzha | Lowest Distortion Mappings and Equidistribution Principle[END_REF]]. In any case, a face-based discretization of our integrability equations is also possible.

Parallel Transport From Levi-Civita connection

Our construction of a vertex-based frame field follows the one by [START_REF] Knöppel | Globally Optimal Direction Fields[END_REF]. A tangent vector v i ∈ C is expressed in the local basis of the vertex i. This local basis defines a tangent space at this vertex. Vertices on a triangulated surface are generally not flat as the inner angles θ jk i of triangles incident to i do not sum to 2π. A local coordinate system is constructed by intrinsically "flattening" each vertex, namely inner angles are normalized:

θjk i := 2πθ jk i /Θ i φ ija j a j 0 i j φ ij φ ji
where Θ i = ijk θ jk i is the total inner angle at vertex i. At each vertex, we assign a reference edge ij 0 whose angle coordinate φ ij 0 is by definition zero. The angles of other ordered edges ij 0 , . . . , ij n are obtained by accumulating modified inner angles:

φ ija := a-1 p=0 θjpj p+1 i . (4.8)
To compare adjacent vectors, we define the parallel transport ρ : E → R as the rotation angle aligning the basis at j to the one at i:

ρ ij := φ ji -φ ij + π,
by comparing the angles of the shared edge ij. The change of basis is then r ij = exp(ıρ ij ). By construction, this parallel transport is associated to the Levi-Civita connection. As shown by [START_REF] Knöppel | Globally Optimal Direction Fields[END_REF], its integrated Gaussian curvature K ∈ (-π, π] defined as exp(ıK ijk ) = r ki r jk r ij satisfies the Gauss-Bonnet theorem (for meshes without boundaries).

Discrete Frame Field Condition

We are now ready to discretize the frame equation Equation ( 4.

2) using Discrete Exterior Calculus [Hirani 2003].

A frame field is an assignment of unit complex number z per vertex. So, the exterior derivative of the frame is simply the frames difference corrected by the parallel transport:

(dz) ij = z j -r ij z i .
For the second part of the equation, we integrate a wedge product between a 1-form and a 0-form along a primal edge following Hirani [2003]; [START_REF] Ptáčková | A Simple and Complete Discrete Exterior Calculus on General Polygonal Meshes[END_REF]:

(ωz) ij = ıω ij (z j + r ij z i )/2.
Combining these two equations, the discrete frame constraint Equation (4.2) reads:

(1 + ıω ij /2)r ij z i = (1 -ıω ij /2)z j .
(4.9) Equation ( 4.9) implies that the frame at vertex i is equal to the frame at vertex j up to a multiplication by cay(ω ij ). So adjacent frames are equal up to a rotation of angle 2 arctan(ω ij /2). This is precisely the intuition behind the continuous equation.

Quantized Singularity Cones Fields

According to Thm. 4.2, we can define a cone parametrization if the local bases admit quantized cone singularities. This property is satisfied exactly by discrete symmetric frame fields [START_REF] Ray | N-Symmetry Direction Field Design[END_REF].

A rotationally symmetric n-direction field (n-RoSy field [START_REF] Vaxman | Directional Field Synthesis, Design, and Processing[END_REF]]) assigns at each vertex a set of n directions:

{exp(ı2kπ/n) z i , k = 0, . . . , n} .
A key insight is that, when raised to the n th power, this set reduces to a single complex value:

v i := z n i .
Thus, it can be uniquely represented by a unit complex number whose n th roots gives the n directions [START_REF] Palacios | Rotational Symmetry Field Design on Surfaces[END_REF][START_REF] Ray | N-Symmetry Direction Field Design[END_REF]. For v to represent a n-RoSy direction field, we simply raise Equation (4.9) to the power n:

(1 + ıω ij /2) n v j = (1 -ıω ij /2) n r n ij v i . (F n )
The symmetric field may be smooth over the surface, it can still represent a discontinuous frame field. Taking the n th root of Equation (F n ), we can quantify the rotation jumps in the frames by an integer k ij ∈ Z per edge:

z j = exp (2ıπk ij /n) cay(ω ij )r ij z i .
We will see with Theorem 4.3 that a rotation jump by an angle 2πk ij /n in the frame field will create a cut with the same transition functions in the parametrization.

First Structure Equation

We are now ready to discretize the other equation needed for integrability a.k.a. the first structure equation Equation ( 4.3).

Vertex Charts

The 1-form σ expresses a deformation of the mesh in the coordinates of a local frame. Thus, we need to define a neighborhood or chart affected by this local basis.

As singularities may appear inside triangles, the charts must include a point inside each triangle physically representing the (potential) cone. For this reason, we build our charts as the intersection of a triangle mesh M with its dual. Namely, each triangle is split into three quads, as in Figure 4.4b, by adding three edges linking the triangle center to edge midpoints. We explicitly build the chart C i at vertex i as the union of quads containing i. In this construction, adjacent charts are disjoint but share two types of duplicated edges: primal edges from the input mesh and dual edges linking edge centers to triangle centers. Both types of edges are highlighted in red in Figure 4.4b. We define the chart collection M c = ∪ i∈V C i as the set of all charts emanating from the subdivision of the input mesh. Effectively, we will parametrize the mesh M p exactly equal to the initial mesh except at singular triangles which will be split into three to insert singular points (Figure 4.4c).

In the DEC formalism, 1-forms are discretized using their integrated values along edges. By definition, the deformation of an edge vector u of M is given by σ(u) ∈ C. To ease the notations, we directly use the deformed edges as variables by using specific letters for each point type of the deformed mesh. The letter p denotes the vertex coordinates (with a complex number) of the input mesh in parameter space, the letter e is the midpoint of an edge and s the center of the triangle and thus a potential singularity. Moreover, under-scripts are reserved to make explicit the membership of a vector to a chart. For example, s jk ie j i is a deformed dual edge in the chart C i whereas s ki je i j is its copy in the chart C j .

Discrete Structure Equation

σ i σ j ω ji ω ij C i C j
In order to discretize Equation ( 4.3), we use Discrete Exterior Calculus [START_REF] Anil | Discrete Exterior Calculus[END_REF]] on "lens" complexes as introduced by [START_REF] Soliman | Constrained Willmore Surfaces[END_REF]. A lens complex is obtained by gluing opposite halfedges of adjacent charts. Note that σ i is expressed in the basis z i , thus, in order to compare two 1-forms living in adjacent charts, we must compensate for the basis rotation by multiplying by the inverse parallel transport. So, along a dual edge, the integral exterior derivative reads:

(dσ) ij := r ji (s jk i -e j i ) -(s ki j -e i j ).
The wedge product between a primal 1-form ω and a lens complex can be thought of as a wedge product on a virtual quadrangle made of primal and dual edges where the frame rotations ω on dual edges are zero. Using the wedge product on a quadrilateral element defined by [START_REF] Krantz | Geometric Integration Theory[END_REF]; [START_REF] Ptáčková | A Simple and Complete Discrete Exterior Calculus on General Polygonal Meshes[END_REF], we obtain:

(ω ∧ σ) ij = ıω ij (-r ji (s jk i -e j i ) -(s ki j -e i j ))/2.
When applied to both the primal and dual edges of a chart, we obtain the system of equations:

(1 + ıω ij /2) e i j -p j = -(1 -ıω ij /2) r ji e j i -p i , ∀ij ∈ E (1 + ıω ij /2) s ki j -e i j = (1 -ıω ij /2) r ji s jk i -e j i . ∀ijk ∈ F (E)
Again, we notice that any edges shared by two adjacent charts are equal up to a rotation but this time it involves the inverse Cayley transform cay(ω ij ) -1 and the inverse parallel transport.

Note that Equations (E) are written only in term of the chart edges. So, without loss of generality, we can reduce the number of variables by fixing the charts translations and setting p i = 0, ∀i ∈ V .

Local Injectivity

To obtain a valid parametrization, we also need to ensure local injectivity. In other words, triangle areas must remain positive in parameter space. This boils down to two different constraints. First, the orientation of primal edges in vertex charts should be preserved:

det(p i -e j i , p i -e k i ) > 0. (I 1 )
Second, the singularity point s ijk should stay inside triangle ijk:

det(p i -e j i , p i -s jk i ) > 0, det(p i -s jk i , p i -e k i ) > 0. (I 2 )

Quantized Cone Parametrization

Now that we have all integrability conditions in hand, we are ready to reconstruct the parametrization from local bases and chart coordinates. Furthermore, assuming that the charts satisfy the system of equations in Equations (E) and Equation (F n ), we can show that it defines a valid quantized cone parametrization.

Parametrization Reconstruction

Recovering a parametrization from the chart collection M c , is very simple as we just need to integrate Equation (4.1). This equation states that parametrized edges are simply the chart edges but rotated by the basis z:

(dϕ) i = z i σ i .
Since edges of two adjacent charts C i , C j and two adjacent frames z i , z j are both equal up to a rotation of cay(ω ij )r ij , the rotated charts z i C i , z j C j can be stitched together by finding a translation. However, when using a reconstruction based on vertex charts, singular triangles will be split into three quads and parametrization cuts will follow dual edges. Thus, in order to minimize connectivity changes, it is better to first reconstruct triangles from quads and then build the parametrization from triangles.

i j k ′ Cj j C k k Ci i (a) (b) (d) s ijk Ω ijk i k ′ k k (c) j k i (e) j
To do so, we need to recover the local bases z from their power representation v. As shown by Thm. 4.2, the discontinuities of the frame field determine the position of the parametrization cuts. Since there are n vectors satisfying v = z n , the choice of the root of unity should not be random. Thus, we compute the bases along a spanning tree on quads prioritizing coherent bases on triangles so that cuts will appear on primal edges and changes in mesh topology will be minimal.

Then, we rotate the quads according to their bases z and we reconstruct all triangles independently by applying the appropriate translation to each quad. Singular triangles are triangulated by adding edges linking the singular point s and triangle vertices. However, if the singularity position is known in parameter space, its position on the surface mesh is not yet determined. To overcome this issue, we place the point s ijk on the surface using the barycentric coordinates in parameter space.

The parametrization is then reconstructed by recursively stitching triangles along the spanning tree. This guarantees that cuts only appear at primal edges except for singular triangles who are split into three quads.

In summary, the parametrization is computed by following the steps:

1. Recover a basis z per quads from the power vector v by finding the smallest symmetry rotation along a tree;

2. Rotate each quad with their respective basis;

3. Reconstruct triangles and remesh singular ones;

4. Recursively stitch adjacent triangles along the tree.

This reconstruction process is summarized in Figure 4.5.

Theoretical Guarantees

Crucially, we can prove that if Equations (E), (I 1 ), (F n ) and (I 2 ) are satisfied, the reconstruction leads to a valid quantized parametrization whose transition functions are equal to the rotational discontinuity of the frame field z. Theorem 4.3. If a set of charts, a frame field and its rotations satisfy the system of Equations (E), (F n ), (I 1 ) and (I 2 ), then we can recover a locally injective parametrization with quantized cones whose transition functions are rotation equal to the frame field discontinuities.

Proof. In order to show that our constraints define a valid parametrization with quantized cone points in the sense of Def. 2.2. We will follow four steps. 1) We will show the validity of the triangle reconstruction (Sec. 4.6) and that transition functions are rotations of angle 2kπ/n.

2)

The parametrization is locally injective.

3) The parametrization's angle defects are equal to the singular indices of the frame field up to a subtraction of an integer multiple of 2π. 4) Due to the Gauss-Bonnet theorem, parasite singularities cannot appear.

Triangle reconstruction. First, we will show that the parametrization cuts appear at the frame field discontinuities and that the rotation jumps match those of the frames. Since the power field satisfies Equation (F n ), the bases z rotations are given by the formula:

z j = exp (2ıπk ij /n) cay(ω ij )r ij z i ,
where k ij is the jump index at edge ij.

Let σ i ∈ C, σ j ∈ C be duplicated primal edge vectors of adjacent charts C i , C j and a = z i σ i , b = z j σ j their coordinates in parameter space. Using Equations (E) and Equation (4.9), we see that they are opposite in parameter space:

b = z j σ j , = (exp (2ıπk ij /n) cay(ω ij )r ij z i ) -cay(ω ij ) -1 r -1 ij σ i , = -exp (2ıπk ij /n) z i σ i , = -exp (2ıπk ij /n) a.
The same reasoning can be be applied to dual edges. Thus, primal and dual edges are equal up to the frame rotational discontinuity d ij := exp (2ıπk ij /n). Therefore, our parametrization transition functions are rotation quantized by the frame field. In particular, our parametrization is seamless whenever n = 4.

To achieve our triangle reconstruction of the parametrization, three cases can occur. 1) A triangle is not traversed by a cut and it will be reconstructed as a triangle in the parametrization.

2) A non-singular triangle is traversed by a cut, thus the cut can be displaced on primal edges to recover a non-singular triangle. 3) A singular triangle is reconstructed with a cut appearing in one of the dual edge linking the point s. By displacing the cut, we recover a triangulation of the singular triangle with the cut linking s to one of the vertex as in Figure 4.5.

Injectivity and feature constraints. Equations (I 1 ) ensure local injectivity as all triangles (p i , p j , s ijk ) composing the parametrization must have positive area.

Parametrization angle defects. We are now going to precisely relate the parametrization angle defects with the frame singular indices. We showed that the parametrization transition functions match the frame field jumps. Therefore, the parametrization angle defect at a singular point is equal to the total rotation angle of the frame up to an integer multiple of 2π. We will show that this additional parasite angle corresponding to integer singularities can only be negative.

α i α j α k α i α j α k β i β j β k ωjk ωki ωij c π -c a π -a π -b b C i C k C j C i C k C j
Let us consider a triangle ijk and its chart decomposition as illustrated by Figure 4.6. Let Ω ijk be the frame field total rotation around the triangle, that is to say the singularity index prescribed by the frame field:

Ω ijk = ωij + ωjk + ωki ,
where ω = 2 arctan(ω/2) are the angle of the rotation between two frames, parametrized by the Cayley transform (Equation (4.7)). Let Θ ijk be the angle defect of triangle ijk in parameter space, by definition:

Θ ijk = 2π -(β i + β j + β k )
Because of constraints (I 1 ) and (I 2 ), the three charts C i , C j and C k , decomposing triangle ijk, are non self-intersecting quadrilaterals. Thus, their four inner angles, defined in Figure 4.6 (left), must sum to 2π:

α i + β i + c + π -a = 2π, α j + β j + a + π -b = 2π, α k + β k + b + π -c = 2π.
Moreover, by summing these three equations, we obtain a link between the angle defect Θ and the triangle angles α:

Θ ijk = α i + α j + α k -π.
We are now ready to relate Θ with the frame field singularity angle Ω. Let us consider the hexagon formed by extending primal edges of charts until intersection, as in Figure 4.6 (right). This hexagon can be self-intersecting but remains star-shaped around its singularity point s. We can express the sum of its inner angles in term of its turning number k > 0:

α i + α j + α k + 3π -ωij -ωjk -ωki = π(6 -2k).
Rearranging the terms, the parametrization angle defect Θ is equal to the frame field total rotation Ω up to a negative integer multiple of 2π:

Θ ijk = Ω ijk -2πk, k ∈ N.
(4.10) Double coverings. We are now going to prove that the parametrization singularities are exactly those prescribed by the frames. Equation (4.10) shows that inside triangles the parametrization angle defect can differ from the frame field singularities by a negative integer multiple of 2π. Vertices of the input mesh also have prescribed singularity indices: 0 for inner vertices and user prescribed on feature edges. At these vertices, unwanted negative integer index singularities could also appear even if all triangles have positive area (see Figure 4.7).

However, due to the Gauss-Bonnet theorem, an additional negative singularity can appear only if it is compensated by an additional positive singularity. This is impossible because only negative parasite singularities can appear at both triangles and vertices.

Boundary and Feature Edge Adaptation

Another requirement we discussed in Section 2.4.2 is that the parametrization should be adapted to the mesh boundary and features edges (Fig 2 .21c). Additional constraints are therefore required on the cross field and on vertex charts. We process feature edges extracted from a boundary or user specified in the same way. We assume that the user provides us, at each vertex of a feature curve, with the target angle Ω i = 2πk i /n in parameter space.

Single vertex corner

We define a vertex corner as a set of adjacent triangles incident to the same vertex i and delimited by two feature edges ij 0 and ij a . In this paragraph, we consider a single vertex corner. We assume that target corner angles Ω j 0 ja i integer multiple of 2π/n are provided as input. At a corner ij 0 j a , inner angles are normalized to match the prescribed angle:

θjpj p+1 i := Ω j 0 ja i /Θ j 0 ja i θ jpj p+1 i
where Θ j 0 ja i is the total inner angle between edges ij 0 and ij a . The edge angles in the tangent plane are obtained by accumulating the modified inner angles as in Eq. (4.8). The representation vector v i is constrained to be equal to e nıφ ij 0 so that one of its root agrees by construction with the feature edge direction. An illustration of this procedure is given in Figure 4.8. j 0 j a Figure 4.8: Boundary edges, depicted in black, are laid out in the tangent complex plane so that they match the provided corner angle Ω j 0 ja i .

The corresponding vertex corner in chart C i must also be constrained to the corner angle. To do so, the primal edge vector corresponding to a feature edge must remain orthogonal to the feature edge normal. Therefore, at a vertex corner, we enforce three constraints linear with respect to the chart coordinates and the cross field:

v i = exp(nıφ ij 0 ), ⟨p i -e j 0 i , ı exp(ıφ ij 0 )⟩ = 0, ⟨p i -e ja i , ı exp(ıφ ija )⟩ = 0. (B)
Note that since the frame field is constrained on feature vertices, the rotation ω is also known along feature edges.

Singular vertices Let us consider the case where an interior vertex i is incident to multiple feature edges (ij a 0 , ij a 1 , . . . , ij an ) forming n + 1 corners. If the sum of all corner angles

Ω i = n-1 p=0 Ω ja p ja p+1 i + Ω ja n ja 0 i
is an integer multiple of 2π, then the flattening of each corner creates a valid vertex chart. However, when Ω i ̸ = 2kπ, vertex i is singular and an additional seam is necessary to lay out edges in the tangent plane. Thus, we cut open the vertex neighborhood at edge ij a 0 introducing a duplicated edge ij ′ a 0 . For the parametrization of chart C i to remain valid, edges on each side of the cut must be equal in length, yielding an additional linear constraint:

⟨p i -e ja 0 i , exp(ıφ ija 0 )⟩ = ⟨p i -e j ′ a 0 i , exp(ıφ ij ′ a 0 )⟩. (B)
Figure 4.9 illustrates the computation of the tangent plane at a cube corner where Ω i = 3π/2.

Numerical Optimization

So far, we have defined a system of necessary equations for computing valid global parametrizations. In this section, we describe our optimization process in order to compute the vertex charts, the frame field rotations ω and local bases z (represented, when necessary, by its power vector v) which are solutions of this system. .9: Three feature edges, depicted in black, are laid out in the tangent complex plane. A seam is introduced at edge ija 0 because the sum of the corner angles Ω is not an integer multiple of 2π.

Non-Linear Least-Squares

Like the smooth optimization problem of Equation ( 4.6), we would like to find the chart vertices (x, y), the frame rotation ω and the field power vector v solution of the constrained optimization problem: min ω,v,x,y D(x, y) s.t. (E), (F n ), (B), (I 1 ), (I 2 ), (4.11) where D : M c → R is any given distortion energy. Note that to solve the optimization problem in Equation (4.11), we do not need to know in advance the position of the cones or the cuts; everything will be decided during optimization.

To simplify the problem, the inequality constraints of Equations (I 1 ) and (I 2 ) are enforced using the continuously differentiable barrier function B η : R >0 → R:

B η (x) =    +∞ x ≤ 0, log( x η ) 0 < x ≤ η, 0 η ≤ x.
Given a determinant d whose initial value is d 0 , we set the threshold to η = d 0 /2. Furthermore, we enforce non-linear constraints as a sum of squares energy. Abusing the notations, let E and F n denote the vectors formed by the differences of left and right hand sides in equations (E) and (F n ). Let I 1 and I 2 be the vectors of determinants appearing in equations (I 1 ) and (I 2 ). We reformulate the constraints as the energy:

R(ω, v, x, y) = ∥E∥ 2 2 + λ F ∥F n ∥ 2 2 + λ det ∥B η (I 1 )∥ 2 2 + λ det ∥B η (I 2 )∥ 2 2
, where the function B η is applied componentwise. This leads to a non-linear least-squares optimization with linear constraints:

min ω,v,x,y εD(x, y) + R(ω, v, x, y) s.t. (B). (4.12)
We use the Levenberg-Marquardt algorithm, an optimizer tailored for solving non-linear least squares with zero as global minimum, to minimize this objective function. Each optimization step consists in solving a quadratic optimization problem with linear constraints involving the function's Jacobian matrices. We follow the implementation of [START_REF] Marumo | Majorization-Minimization-Based Levenberg-Marquardt Method for Constrained Nonlinear Least Squares[END_REF] whose evolution of the damping parameter ensures global convergence toward a local minimum and a second order rate of convergence near a zero of the objective function.

The problem in Equation ( 4.12) is solved several times for decreasing values of ε. For our distortion minimizing experiments, we start at ε = 10 2 and divide by a factor of 10 until ε = 10 -4 , before solving one last time with ε = 0. This penalty scheme does not provide strong guarantee of convergence toward a global minimum of the distortion. However, in practice the choice of distortion energy greatly impacts singularity positions (see for example Figures 4.1 and 4.10) and distortion measure is indeed lower and competitive with other methods (Figures 4.20 or 4.13b).

Note that for surfaces with boundary or feature edges, we do not need to force v to be unit norm: it suffices that the frame field is constrained somewhere so that whenever Equations (4.9) are satisfied, the field has unit norm everywhere. For surfaces without features, we constrain v at a random vertex to avoid the trivial zero solution.

Distortion Energy

Many differentiable distortion metrics can be optimized to obtain interesting parametrizations.

In our experiments, we consider three of these metrics.

As-Rigid-As-Possible distortion The first way to prevent charts distortion is to impose an isometric map between initial and final charts. This boils down to minimizing the so-called As-Rigid-As-Possible energy [START_REF] Sorkine | As-Rigid-As-Possible Surface Modeling[END_REF] which forces the map Jacobians to be orthogonal matrices:

D ARAP (x, y) = i∈V t∈T C i ∥J T t J t -I 2 ∥ 2
We refer to this energy as the ARAP or isometric energy.

Conformal distortion One important application of seamless parametrizations is quad remeshing. In this context, it is often desirable to avoid shearing i.e. quads with non-orthogonal edges as much as possible . The simplest way to promote these square-like quads is to penalize parametrizations whose parameter gradients are non-orthogonal. Thus, as a distortion energy, we use the LSCM [START_REF] Lévy | Least Squares Conformal Maps for Automatic Texture Atlas Generation[END_REF] energy summed over all charts:

D LSCM (x, y) = i∈V t∈T C i ∥∇y t -R∇x t ∥ 2 ,
where (x, y) are the chart vertex coordinates and R is the 90 • counter-clockwise rotation around the normal. The gradient operator is computed with respect to the initial isometric chart parametrization described in Sec. 4.8.3.

Area distortion Finally, one can require that the quad elements present the same overall size everywhere, which can be achieved by penalizing the change in chart area. This boils down to a constraint on the determinants of the Jacobian matrices, which should be as close as possible to 1. However, this class of area preserving deformations is not sufficient on its own as it also contains solutions with dramatic shearing. We therefore balance our area distortion term with the previously defined D LSCM :

D AREA (x, y) = i∈V t∈T C i ∥ det(J t ) -1∥ 2 + µD LSCM (x, y)
We set µ to 0.1 in our experiments.

Metrics comparison Figure 4.1 illustrates the influence of D ARAP , D LSCM and D AREA on cone positions and overall parametrization geometry. We quantitatively compare the resulting parametrizations using three criteria: the number of cones, the scale and the stretch distortion.

The scale distortion, defined over each triangle as (det J + det J -1 )/2, quantifies how much triangles' area changes between initial geometry and parameter space. The stretch distortion, defined as the ratio σ 2 /σ 1 of the sorted singular values (σ 2 > σ 1 ) of the Jacobian matrices, quantifies the deformation of angles. Both metrics have an optimal value of 1. We usually present them as a integrated quantity over the entire model.

In Fig 4.13b, we run our algorithm with distortion minimization on a large dataset of models and plot the resulting scale distortion against stretch distortion. As expected, D LSCM reduces the stretch distortion, at a cost of a greater variation on the scaling of triangles thus producing parametrizations that are more conformal. On the other hand, minimizing D AREA leads to parametrizations with little to no scale distortion. D ARAP yields a good compromise between the previous two.

Initialization

As for any non-convex optimization, the question of a good initialization arises and initial values for our variables x, y, ω and v should be chosen carefully.

Charts. The charts coordinates are initialized using the tangent plane flattening introduced in Secs. 4.4 and 4.7. Given the normalized triangle inner angles, the chart primal edges are laid out in the plane with their initial edge lengths. The chart is completed by initializing points s at the triangle barycenters. These initial charts keep the triangle edge lengths unchanged so they can be seen as an isometric parametrization of the input triangle mesh. Since the system is invariant by chart translation, the central vertex is set to zero and all coordinates in a chart are given in relation to the origin.

Rotations. For surfaces without boundaries or feature edges, the frame rotations ω are simply initialized to zero. In some cases, this initialization can lead to highly distorted solutions. Typically, for CAD models where feature edges meet at very acute angles, a singularity appears directly inside the sharp triangle. Inspired by [START_REF] Desobry | Frame Fields for CAD Models[END_REF], we compute an initial frame rotation ω by forcing the cross field to be regular on all triangles T (p) belonging to 3-ring of a sharp corner p. In practice, we solve the quadratic problem:

min ω∈R |E| ij∈E ∥ω ij ∥ 2 2 s.t. ω ij + ω jk + ω ki = -K ijk , ∀ijk ∈ T (p)
ω ij fixed on feature edges Frame field. Many different frame field initializations are possible as long as they respect boundary and feature edges constraints (see Sec. 4.7). In Figure 4.10, we compare four initializations: a random cross field, the principal curvature directions obtained with [START_REF] Cohen | Restricted Delaunay Triangulations and Normal Cycle[END_REF]], the smoothest cross field computed via [START_REF] Viertel | An Approach to Quad Meshing Based on Harmonic Cross-Valued Maps and the Ginzburg-Landau Theory[END_REF] or zero everywhere except at boundary and feature vertices. When no distortion is minimized, the algorithm converges to the singularity configuration specified by the cross field which is the closest valid parametrization. On the other hand, any reasonable initialization will allow our algorithm to converge to a very similar cone distribution as soon as a distortion energy is minimized. This is due to the fact that the distortion energy dominates the optimization in early iterations and guides the charts towards finding the position minimizing it. The cross field and its rotations will conform with the charts when the distortion weight decreases.

Parameter Choice

Since our objective function of Equation (4.11) is a sum of several terms, their balance influences the final solution. While every global parametrization is a zero of the energy ∥E∥ 2 2 + λ F ∥F n ∥ 2 2 , the cone distribution depends on the value of λ F . For small λ F , the chart term ∥E∥ 2 2 converges first. The optimizer prioritizes the validity of the parametrization over the quantization of singularities to multiple of 2π/n. This results in parametrizations with more cones, and often smaller distortion. On the other hand, for large λ F , the optimization prioritizes the convergence of the frame field variables and the quantization of rotations. The final parametrization exhibits fewer singularity cones and a smoother frame field. This phenomenon is illustrated in Figure 4.12, where the same mesh is parametrized for six values of λ F . As [START_REF] Myles | Global Parametrization by Incremental Flattening[END_REF], we observe that adding well-placed singularities tend to decrease the distortion. In our experiments in Sec. 4.9, our default value is λ F = 10 representing an interesting trade-off. The other weighting term λ det is set to 1. 4.12: Influence of the parameter λ F on the singularity configurations when we optimize for the constraints without distortion. Small values of λ F produce more singularity cones and minimum stretch. In contrast, large values create smoother frame fields and higher stretch.

Applications and Evaluation

In this section, we present results obtained with our method on a large selection of models and comparison with previous works.

Database and implementation. Our results are obtained on a database of 274 triangular meshes. This includes 131 models without feature edges gathered from [START_REF] Myles | Robust Field-Aligned Global Parametrization[END_REF] and [START_REF] Levi | Direct Seamless Parametrization[END_REF] or created manually for specific test cases (like the model of Figure 4.14). Additionally, we collected 143 CAD models with correct feature edge flagging from the Mambo CAD dataset9 as well as models with sharp edges from [START_REF] Myles | Robust Field-Aligned Global Parametrization[END_REF].

All our experiments were conducted on a Ubuntu 18.04 workstation with a eight-core, 2.6-GHz Intel Core i5. Our implementation was done in python and accelerated with Numba [START_REF] Siu Kwan Lam | Numba: A LLVM-based Python JIT Compiler[END_REF]]. We solve the quadratic programming problems inside the Levenberg-Marquardt algorithm using the open source solver OSQP [START_REF] Stellato | OSQP: an operator splitting solver for quadratic programs[END_REF]] linked to the Pardiso linear solver [START_REF] Alappat | A Recursive Algebraic Coloring Technique for Hardware-Efficient Symmetric Sparse Matrix-Vector Multiplication[END_REF][START_REF] Bollhöfer | Large-Scale Sparse Inverse Covariance Matrix Estimation[END_REF][START_REF] Bollhöfer | Stateof-the-Art Sparse Direct Solvers[END_REF]. Computation times for the optimization without distortion are displayed in Figure 4.13a.

Seamless Parametrization

We first setup our algorithm to compute a rotationally seamless parametrization for all of the 274 models. For the 131 models with no features, we output a valid parametrization for 123 of them. Since we need to avoid the trivial zero solution, we initialize our optimization with a smooth frame field (as described in Section 4.8.3). For the 143 models with feature edges, we obtain 132 valid results. We initialize those models with fixed frames on feature edges and zero elsewhere.

The 19 failure cases observed in the whole database are of two types.

1. Low quality triangles. 17 of the 19 failed models present flat or nearly-flat triangles, with angles as low as 1e-4 radians. This creates numerical instabilities or infinite values in the log-barrier B η (Equation (4.8.1)). A simple local remeshing to get rid of bad quality elements was sufficient to ensure convergence.

2. Limit Cycles. The two remaining cases are due to topological failure preventing the convergence of the optimization scheme. This is typically created by a frame field with a limit cycle whose parametrization is degenerated. Figure 4.14a shows an example of such a configuration. In this case, the algorithm is not able to converge towards a zero of the objective function but tries to reach a global minimum at infinity. Standard parameters of our optimization are not able to escape this situation. However, we can lower the weight on the frame field constraint (F n ) to λ F = 0.01, so that the edge constraint (E) dominates the energy (see Section 4.8.4). This way our algorithm converges to a global minimum and introduces new singularities as in Figure 4.14b. (b) Scatter plot of total stretch vs total scale observed on each models provided by [START_REF] Diamanti | Integrable PolyVector Fields[END_REF]. We consider three optimization scenarios: minimization of D ARAP , D LSCM and D LSCM .

Other Applications

Besides seamless parametrization, we now demonstrate the versatility of our method through a series of other applications.

Cone placement of arbitrary indices. Using Equation (F n ), we can constrain cone singularities to any user-chosen value of ±2π/n by changing the parameter n. While choosing n = 4 leads to rotationally seamless maps used for quad remeshing, higher order can be easily computed by our method with minimal change. On Figure 4.15, we present two models, one with feature and one without, that are parametrized using n = 3,6 and 8. Higher values of n naturally result in a greater number of singularity cones, as well as less distorted parametrizations at the expense of more cones and seams. Fixed topology parametrization. Finally, it is possible to lock the frame field and rotations variables v and ω during optimization in order to compute parametrization with a user prescribed cone distribution and alignment constraints. Figure 4.1b shows a parametrization of Rhino's head based on the principal curvature directions.

This allows us to investigate the benefits of simultaneously optimizing for the cone distribution and the parametrization geometry. In Figure 4.16, we run our algorithm with the fixed frame field generated by [START_REF] Viertel | An Approach to Quad Meshing Based on Harmonic Cross-Valued Maps and the Ginzburg-Landau Theory[END_REF]. We compare the resulting parametrization to our full algorithm using the three distortions of Section 4.8.2. We observe that, by minimizing LSCM, our method outputs a parametrization with less cones that better minimizes the stretch distortion at the price of more scale distortion. The opposite holds when minimizing the area energy. Again, the ARAP energy yields the most isometric deformation and thus balances both distortions. Interestingly, a smooth frame field is also an excellent proxy to obtain area-preserving maps. Figure 4.17: Free boundary parametrization using our algorithm on disk-shaped models (top), or models with user-prescribed seams (bottom).

Comparison with [START_REF] Diamanti | Integrable PolyVector Fields[END_REF] The integrable Polyvector field method takes an initial frame field and optimizes it to guarantee its integrability. However, this process is prone to introduce new singularities. In Figure 4.13b, we compare our method on the 62 meshes provided by the authors. The integrable Polyvector field method performs very well for scale minimization. However, we are able to outperform them while placing 15% less cones on average. [START_REF] Myles | Global Parametrization by Incremental Flattening[END_REF] Myles and Zorin propose a greedy algorithm for cone placement along with a post-processing procedure to obtain nπ/2 singularity cones. Cones tend to be placed in high curvature regions which can be suboptimal. In Figures 4.20, our method is shown to match their scale distortion and outperform their stretch distortion on the Dilo model. [START_REF] Fang | Quadrangulation through Morse-Parameterization Hybridization[END_REF] Finally, we compare our results to a method producing quad-meshes without the quantization step. [START_REF] Fang | Quadrangulation through Morse-Parameterization Hybridization[END_REF] use periodic functions to integrate [START_REF] Fang | Quadrangulation through Morse-Parameterization Hybridization[END_REF] on the Dilo model. Our parametrization was initialized using principal curvature direction and optimized without distortion. Our quads have less stretching and have angles closer to 90 • . a frame field directly into an integer seamless parametrization. This type of methods generally output a high quality mesh on most of the input surface. However, some localized regions need to be repaired which often introduce new singularities.

Comparison with

Comparison with

Figure 4.18 shows the repartition of quad angles and stretch for our respective quad meshes of the Dilo model. Our quads are more orthogonal and suffer less from stretching, while our meshes present fewer singular vertices. The same conclusion is drawn from Figure 4.21 where ours quads are closer to perfect squares for less singularities overall (168 against 73), although [START_REF] Fang | Quadrangulation through Morse-Parameterization Hybridization[END_REF] better capture curvature alignment around the leg of the model.

Conclusion and Perspectives

By discretizing Cartan's structure equations, we were able to construct a general algorithm for global parametrization where cones and seams do not need to be known in advance, but can instead be computed along with the geometry. This all-in-one optimization of the topology and the geometry enables us to find cone points whose positions minimize any given distortion energy. Unlike most previous methods our solver is not greedy and does not rely on integer variables.

In the perspective of quad meshing, the main limitation of our work is that it does not handle integer coordinates of cone points. We still rely on a post-processing quantization step which impacts the overall distortion distribution. While the cone placement is optimal for the seamless parametrization, there is no guarantee of optimality for the final quadmesh. A second limitation is that our current implementation is slower than previous methods because of the a higher number of variables: 2|F | + 4|E| for vertex charts coordinates, |E| for the parallel transport and 2|V | for the cross field.

Finally, since Cartan's method of moving frame is not limited to two-dimensional geometry, the structure equations can be written for higher dimension meshes. This opens the door to future works for computing valid seamless parametrization for tetrahedral meshes in the context of hexahedral remeshing. In the previous chapter, we demonstrated how Cartan's method of moving frames could be used to design an algorithm to simultaneously optimize the singularities' positions and the distortion of a seamless parametrization. To this end, we derived a discretization of the Cartan's structure equations as relationships between adjacent vertex-based charts. Yet the choice of such a discretization can be seen as unusual for a seamless parametrization since the output result is naturally expressed in a per-triangle manner. In Section 4.4.1, we established the two benefits of this approach. Firstly, we showed that a solution to our problem was a valid seamless parametrization with the guarantee of local injectivity, since double-coverings cannot appear. Secondly, discretizing on vertices allow singularities to be freely placed inside faces, enabling parametrization of very coarse meshes, as well as more control on their final positions.

Unfortunately, these benefits come at the cost of a more complex formulation and an optimization problem involving more variables. In this chapter, we investigate the simpler face-based discretization of the structure equations and derive a variant of the moving frame parametrization algorithm. While we cannot expect the same theoretical guarantees about injectivity, we demonstrate a significant improvement in computation time in practice, all while retaining the same quality of results. Moreover, working directly with faces allows other distortion energies to be defined, as well as other minimization strategies to be utilized.

This chapter is organized as the second part of the last. We begin by deriving the face-based discrete structure equations using discrete exterior calculus [START_REF] Anil | Discrete Exterior Calculus[END_REF]] in Section 5.1. Then, Section 5.2 describes the setup of our optimization problem. Finally, Section 5.3 will report the results of various experiments made to compare the two versions of our algorithm. Based on them, we will conclude that contrary to our intuition, having singularities not restricted at vertices was not necessary to achieve convergence and good results, as this face-based version presents comparable and even sometimes better results in terms of final distortion.

Face-based Discretization

Let us start by recalling the theoretical problem established in Section 4.2,Equation (4.6). Given a smooth 2D manifold M, The goal is to find local frames z, rotations ω and local deformations σ solution of:

min D(σ) z : M → U/Γ dz -ıωz = 0 ω : M → R s.t. dσ + ıω ∧ σ = 0 σ : T M → C ⋆Im(σ ∧ σ) > 0 (5.1)
where D is a smooth distortion energy.

Discrete Frame Field Condition

X j Y i Y j e ij α i α j X i
Parallel transport. As before, let M = (V, E, T ) be a triangle mesh, consisting of vertices, edges and triangles. We recall the face-based parallel transport computation exposed in Section 2.2.2 of Chapter 2. Each face t i ∈ T is equipped with an arbitrary local basis X i , Y i spanning its tangent space. Following [START_REF] Crane | Trivial Connections on Discrete Surfaces[END_REF], we can define the parallel transport ρ : E → R between two adjacent triangles t i and t j as the angle difference between representations of their common edge e ij in their respective bases:

ρ ij := α j -α i
where α i (resp. α j ) is the angle between e j i and X i (resp. e i j and X j ). The change of basis is then again r ij = exp(ıρ ij ). Just like its vertex-based counterpart, this parallel transport defines an integrated Gaussian curvature K ∈ (-π, π] defined around vertices as :

exp(ıK v ) = e ij ∈ring(v) r ij
where the product is taken over all adjacent edges of v.

Frame field condition. The discretization of the frame field condition dz = ıωz is similar to the one described in Section 4.4. We assign to each triangle a frame z represented by a unit complex number. For two adjacent triangles t i and t j , the discrete exterior calculus [START_REF] Anil | Discrete Exterior Calculus[END_REF]] yields a similar equation as before (Equation (4.9) ):

(1 + ıω ij /2)z j = (1 -ıω ij /2)r ij z i =
where adjacent frames are related by the rotation cay(ω ij ), up to the corresponding parallel transport r ij .

Since we adopt the same frame field representation as the vertex-based version, namely the n directions of a rotationally symmetric frame are represented by the n-th roots of a unit complex v ∈ U, we can raise this equation to the power n to retrieve the same constraint:

(1 + ıω ij /2) n v j = (1 -ıω ij /2) n r n ij v i (F n )

First Structure Equation

Now, we turn our attention to the first structure equation of Equation (4.3). Following the same path as in the vertex-based version, we define a "lens" complex by gluing together opposite halfedges of adjacent triangles. The local deformation σ is defined per triangle, and σ ij (resp. σ ji ) will denote the deformed edge ij in the respective bases of triangles t i and t j . By applying the parallel transport r ij defined earlier, we can express the integral exterior derivative dσ as:

(dσ) ij = r ij σ ji -σ ij . σ ij σ ji ω ji ω ij
The wedge product can be interpreted, just as the vertex-based version, as the wedge product on a virtual quadrangle formed by the two opposite half-edges, where ω = 0, and two virtual edges linking their extremities, where σ = 0:

(ω ∧ σ) ij = ıω ij (σ ij + r ij σ ji )/2.
By combining those two expressions, we arrive at the discretized version of the first structure equation:

(1 + ıω ij /2)σ ij = (1 -ıω ij /2)r ij σ ji (5.2)
where two opposite half-edges are related by the inverse Cayley transform cay -1 (ω ij ) and the inverse parallel transport. Moreover, since ω = 0 inside triangles, the integral exterior derivative around a triangle yields:

dσ = 0 = σ ij + σ jk + σ ki
which simply means that the image of the triangle t ijk by σ remains a valid triangle. Thanks to this fact, it is possible to represent σ i as a linear transformation of the original triangle. In practice, we define a matrix J ∈ R 2×2 per triangle, and we consider that edges in parameter space are images, by this matrix, of the original edges of the mesh expressed in the local basis.

In other words, if e j i and e i j are the coordinates of edges e ij in bases X i , Y i and X j , Y j then σ ij = J i e j i and σ ji = J j e i j . Using an abuse of notations, we identify the complex multiplication by a + ıb with the matrix multiplication by a b -b a . This allows writing Equation (5.2) as follows:

Theorem 5.1. If a set of Jacobian matrices per triangle J, rotations ω and frame field v satisfy Equations (J ), (F n ) and (I), then we can recover a parametrization with quantized cones whose transition functions are rotation equal to the frame field discontinuities. Local injectivity is guaranteed up to the possible appearance of double-coverings.

Proof. The proof is very similar to the one of Theorem 4.3. We show that parametrization cuts appear at frame field discontinuities, and that the parametrization's defect matches the jump of the frame field.

To this end, consider two adjacent triangles t i and t j with common edge e. According to Equation (F n ), their respective frames z i and z j are related by the following equation:

z j = exp (2ık e π/n) cay(ω ij )r ij z i
where k e ∈ N is the jump index of the frame field at edge e. Let a = z i σ ij = z i J i e i and b = z j σ ji = z j J j e j be the images of edge e by the two local deformations in aligned bases. Using Equation (J ), we can compute:

b = z j J j e j = exp (2ıπk e /n) cay(ω ij )r ij z i cay -1 (ω ij )r ji J i e j i = exp (2ıπk e /n) z i J i e i = exp (2ıπk e /n) a.
Hence the two versions of the edge match up to the frame field discontinuity exp (2ıπk e /n). The transition functions of the parametrization match the rotation of the frame field, which makes the parametrization seamless for n = 4.

Contrary to the vertex-based version of the proof, it is impossible in this case to prevent double coverings from happening. Figure 5.2 presents a test case where such a configuration appears in our algorithm.

Boundary and feature edge constraints

It is now time to discuss the additional constraints required on the parametrization to be adapted to the mesh boundary and feature edges. Unlike the vertex-based version in Section 4.7, we do not need the target angle of feature corners.

ıe 2 ıe 1 v t 1 v t 2
Let t ∈ T be a triangle adjacent to a feature edge e. Let α e be the angle between edge e and basis vector X t . Let J t and v t be the Jacobian matrix and frame variables at triangle t.

For the parametrization to be adapted to the feature edge e, we require that the edge coordinates in parameter space remain orthogonal to the feature edge normal ıe, and that one of the frame's direction should be aligned with the edge. In other words, the following two conditions should hold:

v t = exp(nıα e ), ⟨J t e, ıe⟩ = 0 (B)
Note that in a face-based setting, it is necessary for triangles to be adjacent to at most one feature or boundary edge, since the frame can be aligned to only one edge (with the exception of the particular case of orthogonal edges). We therefore split triangles adjacent to two or more feature edges using an additional central vertex. That way, we guarantee a sufficient number of degrees of freedom in the area for the algorithm to converge.

Numerical Optimization

We now turn our attention towards the numerical optimization of the face-based discretization of Problem (5.1).

Non-Linear Least Squares

Given Jacobian matrices J per triangles, frame representations v and rotation angles ω, the constrained optimization problem reads:

min ω,v,J D(J) s.t. (J ), (F n ), (B), (I) (5.3)
where D is any smooth distortion energy on triangles. We again relax this problem to a non-linear least-square form by reformulating the constraints as an energy function:

R(ω, v, J) = ∥J ∥ 2 + λ F ∥F n ∥ 2 + λ det ∥B η (det J)∥ 2
leading to a non-linear least-square optimization with linear constraints:

min ω,v,J εD(J) + R(ω, v, J) s.t. (B).
(5.4) Problem (5.4) is optimized using the same Levenberg-Marquardt implementation [START_REF] Marumo | Majorization-Minimization-Based Levenberg-Marquardt Method for Constrained Nonlinear Least Squares[END_REF]] and the same minimization scheme for ε we used in Chapter 4 (Section 4.8).

Initialization

Variables of the face-based version consist of one Jacobian matrix J per triangle, one frame v per triangle and one rotation angle ω per (dual) interior edge.

Jacobian matrices. Matrices per triangle are simply initialized as the identity matrix. Unlike the vertex-based chart, no initial flattening of the angle defect or additional computation is required. In addition to the final algorithm being simpler, this also provides an advantage in distortion minimization, as the exact piecewise linear distortion is available for optimization, unlike the vertex-based version where this initial flattening was unavoidable. Moreover, this initialization is already a global minimum of the distortion which was not the case a priori for the vertex-based. This allows us to define a very effective distortion metric evaluating our distance to this solution (Equation (5.5)).

Rotations. For surfaces without boundary or feature edges, rotations are simply initialized at zero. Otherwise, we use the same parallel transport correction scheme as in the vertex-based version (Section 4.8.3), following the work of [START_REF] Desobry | Frame Fields for CAD Models[END_REF].

Frame field. The same frame field initializations are available to this version, in particular: starting from zero everywhere except near feature edges, computing a smooth frame field as in [START_REF] Viertel | An Approach to Quad Meshing Based on Harmonic Cross-Valued Maps and the Ginzburg-Landau Theory[END_REF], computing principal curvature directions or initializing at random. By default, when no feature or boundary edges are present, we choose to initialize using a smooth frame field for ease of optimization. For models with features, we initialize at zero and rely on the frames propagating from the feature alignment for convergence.

Distortion Energy

Distortion energies defined for vertex charts in Section 4.8.2 can still be used in this context as functions of the triangles' Jacobian matrices. We therefore consider D ARAP , D LSCM and D AREA just as before:

D ARAP (J) = t∈T ∥J T t J t -I 2 ∥ 2 D LSCM (J) = t∈T ∥J t - 0 -1 1 0 J t ∥ 2 D AREA (J) = t∈T ∥ det(J t ) -1∥ 2 + εD LSCM (J)
We recall that D LSCM minimizes shearing of the elements in the parametrization, while D AREA minimizes their scaling. D ARAP is again a good tradeoff between the two, as it minimizes variations in edge lengths.

Finally, motivated by the observation that the identity matrices provide a perfectly isometric parametrization, we define the Identity distortion where the elements Jacobians should match the identity matrix as much as possible:

D Id (J) = t∈F ∥J t -I 2 ∥ 2
(5.5)

Note that this distortion metric was not relevant in a vertex-based context, since the initial flattening of the vertex rings due to parallel transport meant that the identity was not necessarily an isometry. Here, we have a more direct and total control over the parametrization's distortion.

Results obtained using those four distortions are presented in Figure 5.3 and compared against the vertex-based results on the dataset of [START_REF] Diamanti | Integrable PolyVector Fields[END_REF]. Minimizing the distortion functions D ARAP , D LSCM and D AREA in this context lead as expected to a very similar result as before. However, the face-based version is able to go further into the scale/stretch tradeoff with points with even larger stretch (resp. scale) and smaller scale (resp. stretch). This is corroborated by results from Figure 5.6 on another dataset, and probably due to the absence of an initial flattening of charts due to parallel transport.

Finally, as far as the identity distortion is concerned, results are very similar to the ARAP distortion, finding good tradeoffs between scale and stretch and thus focusing on isometric parametrization.

Distortion Minimization Strategies

Due to the more direct control we have on triangles' transformations, different strategies are possible in a face-based context. Along the classical least-square minimization of a distortion function, we describe in this section two other methods, namely a change of metrics in the optimizer and delimitation of the feasible region using linear inequalities.

Energy minimization.

Just as the vertex-based method, distortion minimization can be achieved by adding the distortion energy as an additional term in the non-linear least-square optimization. Since the new minima of the energy are no feasible solutions in general, we solve Problem (5.4) with decreasing values of ε, and then one last time without any distortion. The schedule for ε is unchanged, starting from ε = 10 2 and decreasing by a factor 10 until it reaches 10 -4 .

Change of metric.

In the Levenberg-Marquardt algorithm, an iteration consists in a linear solving involving the previous step and the function's Jacobian. More formally, in order to minimize ||E(x)|| 2 , if x n is the vector of variables at the current iteration n, E n the value of the function at x n and ∇E n the value of the function's Jacobian, the variables x n+1 are found by solving the following system:

x n+1 = argmin x ||E n + ∇E n (x -x n )|| 2 + λ n ||x -x n || 2 .
(5.6)

with some sequence of parameters λ n depending on the implementation [START_REF] Marumo | Majorization-Minimization-Based Levenberg-Marquardt Method for Constrained Nonlinear Least Squares[END_REF]]. Here, the norm considered is the L 2 norm by default, but it is possible to replace ||xx n || 2 by (x-x n ) T ∆(x-x n ) as long as ∆ is a symmetric positive definite matrix. Given a Jacobian matrix J = a b c d , our four distortions can actually be translated in such a 4 × 4 matrix ∆ applied to the parameter vector (a, b, c, d) in order to bias the direction of descent of the optimizer. This method of penalizing distortion has the advantage of only needing a single optimization, contrary to the least-square minimization that utilizes several of them with decreasing values of the weighting parameter ε. This allows for an obvious reduction of the total computation time.

Conformal distortion. The matrix J is conformal if it is the matrix representation of a complex number, meaning that a = d and b = -c. To achieve this effect, we change the squared norm to a 2 +b 2 +c 2 +d 2 +δ(a-d) 2 +δ(b+c) 2 . This is expressed by the quadratic form associated to the following matrix:

∆ LSCM =     1 + δ 0 0 -δ 0 1 + δ δ 0 0 δ 1 + δ 0 -δ 0 0 1 + δ    
The parameter δ can be set to any positive value. We choose δ LSCM = 10 in our implementation.

Area distortion. For the matrix J to not deform areas, its determinant should be equal to 1. To take this into account, we add the term 2δ(adbc) in the quadratic form by using the matrix:

∆ AREA =     1 0 0 δ 0 1 -δ 0 0 -δ 1 0 δ 0 0 1    
where the parameter δ can also be set to any positive value. In practice, we choose δ AREA = 1.

Identity Distortion

The identity distortion consists of being as close to a = d = 1 and b = c = 0 as possible. While the former cannot be translated in a quadratic form, the latter can be favored by augmenting the weight associated to b 2 and c 2 in the norm. The corresponding matrix is therefore the following diagonal matrix:

M Id =     1 0 0 0 0 δ 0 0 0 0 δ 0 0 0 0 1     with δ Id > 1.
In practice, we take δ Id = 5.

Isometric Distortion Finally, the ARAP distortion requires that the matrix J is as close as possible to an orthogonal matrix. While the norm of the columns cannot be set to 1 using a quadratic form, we can nonetheless force the dot product ac + bd of the two columns to be as small as possible. This metric alone provides locally distorted results since a rotation matrix of any angle is still a good candidate. To mitigate this effect, we combine the penalty δ(ac + bd) with the identity distortion above. This leads to the following symmetric matrix:

∆ ARAP =     1 0 δ 0 0 1 + δ 0 δ δ 0 1 + δ 0 0 δ 0 1    
which is positive definite for δ ARAP < 2 √ 5-1 ≈ 1.618. We set δ ARAP = 1.5 in our implementation.

Linear Constraints

A third approach to distortion minimization in to not minimize an energy function nor penalizing certain directions of descent in the optimizer but to instead restrict the feasible domain to distortions D(J) < d. While this is impractical because of non-linearities, this idea can be efficiently applied to the identity distortion described above (Equation (5.5)). Indeed, a feasible region for Jacobian matrices using this distortion can be expressed component-wise as the following linear inequalities over the coefficients:

1 -ε -ε -ε 1 -ε < a b c d < 1 + ε ε ε 1 + ε . (D ε )
Therefore, instead of trying to solve Problem 5.4, we rewrite the distortion as an inequality constraint and solve:

min ω,v,J R(ω, v, J) s.t. (B), (D ε ).
(5.7)

This new formulation can still be solved using our Levenberg-Marquardt implementation, but since we do not know in advance the minimum value of ε for which a feasible solution exists, we start with a very small value and increase it when the optimization plateaus. In practice, we start with ε = 10 -3 and perform 30 increments of the same value so that the final ε is equal to 10. The problem is then optimized a final time without the constraint (i.e., ε = +∞). It is worth noting that for ε < 1/2, Equation (D ε ) prevents determinants of Jacobian matrices to ever go negative, making the constraint of Equation (I) redundant.

Results and Comparison

We now describe the various experiments performed with our face-based version of the algorithm. We report convergence results on the same database of models used in the previous Chapter, quantitative comparison with the vertex-based version as well as an evaluation of the different distortion minimization strategies exposed in the previous Section.

Database and Implementation

We use the same database of 274 triangular meshes, 143 of which have feature edges.

The implementation of the face-based algorithm mirrors as much as possible its vertex counterpart, and all experiments have been run using the same machine.

We report 16 failure cases for models with features and 4 for models without features, which is respectively 6 more and 4 less than the vertex-based results. This discrepancy can be explained by two factors. Firstly, the rotation's correction around sharp corners seems less effective in a face-based context, leading to failures on such models where pointy areas are degenerated which is in conflict with the injectivity constraint (I). Secondly, a face-based approach using Jacobian matrices is less sensitive to triangles with extreme aspect ratios, thus allowing the algorithm to converge on models with bad triangles without the need for remeshing.

Comparison with a Vertex-based Implementation

We then provide a more in-depth comparison between the two versions of our algorithm. In Figure 5.4, we provide visual comparison between the results obtained on three models. We observe that without optimizing for a given distortion, the face-based algorithm tends to produce more singularities and more stretch distortion.

Computation time . As a triangle is described by a single chart matrix and not a collection of three vertex-based quad charts, the face-based discretization requires significantly fewer variables for the same input mesh. Indeed, the total number of floating point variables e, s, v, ω for the vertex-based discretization was 24|T | + 2|V | + |E|, respectively the chart, frame field and rotation variables. In the face-based version, only 4|T | + 2|T | + |E| variables are required, for the triangle's Jacobian matrices, frames and rotation angles respectively. This has a direct impact on computation times : in Figure 5.5, we observe a speedup of around 30% for a majority of models, although a small amount performs actually worse for the face-based context. As for a complexity trend, the regression slope for the face-based version is smaller than its vertex counterpart, with k face = 1.2 against k vertex = 1.3, indicating a better performance on average. Quality and convergence. We also run the database while minimizing each of the three distortion energies in common, namely D LSCM , D ARAP and D AREA along with no distortion at all. In Figure 5.6, we plot the stretch and scale distortion for each converged model in the dataset. We observe that for no distortion and for D ARAP , the two distributions are nearly indistinguishable, indicating very similar results. For D LSCM and D AREA on the other hand, the face-based version is able to better minimize stretch and scale respectively, hinting again at the fact that the face-based discretization better controls the distortion due to a lack of intrinsic flattening in initialization.

Distortion Strategies

Finally, we investigate the effectiveness of the different distortion minimization strategies exposed in the previous Section.

Least-squares vs metric change In Figure 5.8, we compare this distortion penalization to the energy minimization strategy in terms of scale and stretch metrics. Very similar results can be observed for the LSCM distortion in terms of stretch (y-axis) while the ARAP and For the majority of models, we observe that the face-based implementation is faster by 10 to 50%. For a small proportion of models, however, the optimization has to run for longer.

Id distortions converge to another slightly worse tradeoff. As far as the AREA distortion is concerned, results for the energy minimization strategy are significantly better in terms of scale (x-axis). We conclude that the metric change is especially effective to obtain more conformal parametrizations, but fails when it comes to authalic parametrizations, as preserving areas cannot be done linearly in practice.

Identity distortion Finally, in Figure 5.8d, we also plot the stretch and scale distortion for our third strategy, namely restraining the solution space using linear constraints. We observe that in this case, the resulting distortions are very similar to the ones reported for the energy minimization strategy, i.e., an expected tradeoff between scale and stretch. However, we report for this strategy a speedup of x2 to x5 of some models, due to the optimizer converging faster for each value of the hyperparameter ε.

Conclusion and Perspectives

Building on the same system of continuous equations stemming from Cartan's method of moving frames, we presented in this chapter a different discretization scheme based directly on the faces of a triangular mesh instead of vertex charts. The resulting optimization algorithm proves to be simpler to implement, involves less variables and runs significantly faster than its vertex-based counterpart in the majority of test cases. This would make a face-based discretization a go-to solution from a practical application of the method.

Thanks to the set of variables being smaller and representing more directly the parametrization's geometry, we overall gained much more freedom over the parametrization's geometry. We are able to explore alternative ways of minimizing a distortion metric, namely by tricking the optimizer's direction of descent towards less distorted elements, or using the simpler expression of distortion to enforce them as linear constraints. Yet, one could argue that this freedom gained For the first three distortions (LSCM, AREA and ARAP), we compare the energy minimization with the change of metric strategy. For the D Id energy, we also compare the linear constraint approach.

on the geometry is counterbalanced by the topology being more rigid, since singularity cones are bound to appear at vertices and not anywhere inside faces. In our experiments, this has a significant effect only on very coarse meshes, where the loss of degrees of freedom prevents a face-based version to converge. But where the number of triangles is sufficient, we observed that both discretizations exhibit the same behavior, meaning that forcing cones to appear at vertices do not prevent the algorithm from simultaneously finding a parametrization's geometry and topology.

More importantly, the practical benefits of a face-based approach come at the expense of theoretical guarantees on the correctness of the result. Indeed, double-coverings of vertex rings are no longer prevented and can happen in practice. This has been demonstrated on specifically crafted input meshes. However, with the exception of those specifically crafted examples, doublecoverings do not appear in our experiments, so they can be considered unlikely.

Finally, whether it is face-based or vertex-based, the freedom that Cartan's method provides unfortunately requires a non-linear optimization, which is still orders of magnitude slower than any two-steps methods first computing a smooth frame field and then a parametrization via its integration. This is an expected price to pay for having conjoint control on the topology and the geometry. Yet, due to the form of the energy functions considered, only comparing adjacent charts in the mesh in a "Laplacian" style, we believe that improvement on performance is still possible both in implementation details and thanks to a better conditioning of the optimizer.

6

Grid-preserving Parametrization in a Single Optimization Computing a quadmesh of a given shape using a parametrization-based approach consists in solving all the steps of the pipeline we exposed in Section 2.4.2 of Chapter 2. In short, since directly computing a constrained parametrization suited for quad extraction is difficult, a common approach is to compute the different sets of degrees of freedom one after the other using more tractable optimization problems. The first step is to determine position of singularity cones. Then, the rotational part of the transition functions are computed at seams to obtain a seamless parametrization. Finally, a quantization step aligns every feature point to the integer grid and thus determines integer translations across seams.

In the two previous chapters, we have described a method to compute a seamless parametrization of an arbitrary surface that solves simultaneously for both a singularity distribution and a low distortion parametrization. In a sense, this method of moving frames solves the first two steps of the pipeline in a single optimization. Although this optimization problem is non-convex, we demonstrated the versatility of our approach in practice as well as the control it provides over the resulting parametrization.

However, using our algorithm to compute a quadmesh still requires an additional quantization procedure to determine the integer translations across seams. This second step is susceptible to introduce additional distortion and singularities not accounted for in the method of moving frames, which in a way negates our efforts for computing the optimal distribution of singularities for a given distortion metric.

In this chapter, we explore the possibility of extending our previous work to take the quantization step into account. In other words, we attempt at designing an optimization algorithm that, given a triangle mesh of shape with prescribed feature edges, will compute an integer seamless parametrization, solving for all degrees of freedom simultaneously. As such an algorithm would not suffer from failures due to irreversible suboptimal choices made in a pipeline of several steps, our ultimate hope is to unlock full control over the resulting quadmesh.

This approach is challenging because of the different nature of the degrees of freedom needed to be solved simultaneously: singularity positions and rotationally seamless maps can be computed using continuous optimization, sometimes as simple as a linear least-square, whereas conditioning a parametrization to be grid-preserving involves a set of integer variables, namely the translations' coordinates at seams. These mixed-integer problems are notoriously NP-hard in the general case, thus rendering this formulation prohibitive for an "all-in-one" optimization.

To tackle this issue, we draw our inspiration from a method that avoids the use of mixedinteger problems: the Periodic Global Parametrization (PGP) algorithm. Introduced by [START_REF] Ray | Periodic Global Parameterization[END_REF] and already discussed briefly in Section 2.4.5, PGP utilizes periodic functions of the uv-coordinates, called oscillator functions, to optimize a parametrization up to any integer translation. The resulting equations are expressed as a linear least-square problem and can therefore be solved efficiently. The main difficulty in our approach is that PGP is initialized using an approximate parametrization where singularity positions and seam constraints are already known. In our case, we aim at designing a variant of PGP that is agnostic of these information in order to freely add or remove singularities.

This chapter is organized as follows. We start by describing the original PGP algorithm and its behavior in Section 6.1. In Section 6.2, we motivate our approach for an improved PGP algorithm. In Section 6.3, we design a different oscillator function that allows a PGP-like system to be agnostic of seams and singularities positions. Finally, in Section 6.4, we expose an energy function depending on local deformations and those oscillator functions whose optimization implies the computation of a grid-preserving parametrization. As the method discussed in this chapter is an ongoing work, it has yet to be validated by practical results.

Periodic Global Parametrization

Let us begin by describing the original Periodic Global Parametrization algorithm introduced by [START_REF] Ray | Periodic Global Parameterization[END_REF].

Principle

Given a triangle mesh M = (V, E, T ) and a parametrization ϕ that acts as a good initial guess, PGP computes a grid-preserving parametrization from which quads can be directly extracted. Recall (from Definition 2.4 in Section 2.4.2) that a parametrization is grid-preserving if uvcoordinates across a seam relate to one another by a square-preserving rotation and an integer translation. In other words, for any two points (u, v) and (u ′ , v ′ ) in parameter space corresponding to the same vertex, there exists integers k, n u , n v such that:

u ′ v ′ = R π 2 k u + n u v + n v . (6.1)
The difficulty of finding uv-coordinates satisfying this equation lies in the integer nature of the translation, which naturally calls for hard optimization problems over integer variables. The idea behind the PGP algorithm is to not work directly with uv-coordinates but to consider periodic functions over the domain, which we will be referring to as oscillators. For a point (u, v), we define its oscillator as:

θ(u, v) :=     cos(u) sin(u) cos(v) sin(v)     . (6.2)
To account for the fact that the cos and sin functions are 2π-periodic and not 1-periodic, we will consider our uv-coordinates to be globally scaled by a factor 2π and work with values in 2πZ instead of just Z. All equations will be equivalent up to this global scale.

An important property of the oscillators is that θ(u + n u , v + n v ) = θ(u, v) for any number n u , n v ∈ 2πZ. As a consequence, expressing Equation (6.1) in terms of oscillators make the integer translation disappear, leaving only a linear relationship over seams:

θ(u ′ , v ′ ) = Q k θ(u, v) where Q = 0 0 1 0 0 0 0 1 1 0 0 0 0 -1 0 0 . (6.3)
The goal of PGP is to therefore work with these indirect variables defined at each triangle corner of a parametrization in order to satisfy Equation (6.3) at each edge and recover a parametrization that is grid-preserving by construction. For this, however, it has to ensure that there exist underlying functions u and v such that any θ c ∈ R 4 defined at a triangle corner c is indeed of the form θ(u c , v c ). This condition can be achieved in two steps.

Firstly, a parametrization from which quads can be extracted is a cone parametrization whose cones all have integer coordinates and feature edges are all vertical and horizontal. In other words, for any corner c that is a cone of the parametrization, the value of θ c is fixed: θ c = (1 0 1 0) T . And for corners on a feature edge, we want either that θ c = (1 0

) T or ( 1 0) T . θ i θ j (e u , e v )
Secondly, this information can be propagated to other points by considering translations in parameter space. If two points (u i , v i ) and (u j , v j ) are linked in parameter space by an edge e = (e u , e v ) (inset Figure ), then we can simply write:

    cos(u j ) sin(u j ) cos(v j ) sin(v j )     =     cos(u i + e u ) sin(u i + e u ) cos(v i + e v ) sin(v i + e v )    
which can be developed into a linear relationship between the corresponding oscillators θ i and θ j as: 4) where: R(e u , e v ) = R(e u ) 0 0 R(e v ) and R(x) = cos(x)sin(x) sin(x) cos(x) .

θ(u j , v j ) = R(e u , e v )θ(u i , v i ) (6 .
In other words, oscillators from two different points p i and p j in parameter space are related by a block diagonal rotation matrix whose two angles are exactly the coordinates of the translation that aligns p i to p j .

Algorithm

Thanks to Equations (6.3) and (6.4), we have all the relations we need to describe the PGP method. Overall, PGP defines oscillator functions θ as vectors of R 4 at corners of a triangle mesh and solves Equation (6.4) for each half-edge of the mesh given their coordinates (e u , e v ) in parameter space. This involves a linear-least square with linear constraints formulation where the sum is taken for every edge of every triangle in the mesh:

min θ t∈T e t =(a,b)∈t ||θ t b -R(e t u , e t v )θ t a || 2
Subject to: θ s = (1 0 1 0) T for all singularities s θ c = (1 0 ) T or ( 1 0) T for corners c on a feature θ c ′ = Q k θ c for (c, c ′ ) corresponding across a seam with jump index k.

(6.5) Having oscillators at corners in this formulation introduces many variable redundancies. In practice, the number of variables can be greatly reduced by observing that for edges with jump index k e = 0, the seam constraint of Equation (6.3) calls for a simple equality between oscillators. By defining oscillator functions at the vertices of a transformed mesh where seam edges (k e ̸ = 0) have been explicitly cut, one avoids many equations in Problem (6.5). By doing so, we are left with n + 1 oscillator functions for a vertex v whose neighborhood contains n cuts.

Since the solution of Problem (6.5) is only a least-square approximation of the constraint to be satisfied, there is no guarantee that underlying functions u and v such that oscillators θ have the form θ(u, v) = (cos(u) sin(u) cos(v) sin(v)) T exist. In practice, a projection to the nearest valid oscillator can be performed after solving Problem (6.5). The arguments û and v of these oscillators are shown in Figure 6.1b and 6.1c.

Several issues need to be addressed in order to solve Problem (6.5), both at the initialization step and at the quad extraction step.

Initialization In order to solve Problem (6.5), one first needs to define the rotation matrices R(e u , e v ) for each edge. This is done by providing a "good guess" of what the edge coordinates (e u , e v ) are in parameter space. In practice, a smooth frame field is computed on the input triangle mesh, from which two orthogonal vector fields z u and z v are extracted (Figure 6.1a). These vector fields form discontinuities at seams and singularities that completely determine the jump indices k present in Equation (6.3), as well as alignment of feature edges with either u or v.

Then, candidate edge coordinates (e u , e v ) are computed from the frame field by projecting the edge coordinates from xyz-space to the basis formed by z u and z v (Figure 6. In general, there is no guarantee that vector fields z u and z v are gradient fields. Since they are of constant unit norm, the resulting parametrization tends to be isometric with many irregularities (like T-junctions, as will be discussed in Section 6.1.3). In order to regularize the result, the authors of PGP describe a curl correction step where the initial vector fields are multiplied by a factor λ > 0 chosen so that their curl is minimized. This amounts at scaling the corresponding edge coordinates by the same factor λ.

Quad Extraction From the solution of Problem (6.5), the authors compute uv-coordinates from oscillators:

u v = arctan(θ[1]/θ[0]) arctan(θ[3]/θ[2])
where we denote by θ[i] the i-th coefficient of vector θ.

When using this formula, many issues remain to be fixed in order to get a valid quadmesh: global translations of 2π need to be addressed while inconsistencies in lengths (see Section 6.1.3) can appear and require additional refinement or remeshing.

Reconstruction via Morse-Smale complex Another approach to extract quads is described by [START_REF] Zhang | A Wave-Based Anisotropic Quadrangulation Method[END_REF]. The idea consists instead in computing a smooth oscillating function over the domain:

f (u, v) = cos(u) cos(v) = θ[0]θ[2]
and extract its quasi-dual Morse-Smale complex. In general, the Morse-Smale complex of a function is a graph that links minima and maxima to their adjacent saddle point [START_REF] Thomas | Critical points and curvature for embedded polyhedral surfaces[END_REF]. This graph can be shown to always be a quadrangulation in the case of surfaces [START_REF] Dong | Spectral Surface Quadrangulation[END_REF]]. In the case of the PGP function, these quadrangles are unfortunately rotated by π/4, but the quasi-dual Morse-Smale complex, linking diagonally adjacent maxima and minima, provides a good quadrangulation. This is illustrated in Figure 6.1d. et al. [2006] allows the creation of a T-mesh. (e) A valid quad mesh can be computed using a subdivision scheme like the Catmull-Clark subdivision, leading to a mesh with a dipole of singularities.

Behavior and Limitations

The PGP algorithm is a radically different approach to quadmeshing than the classical parametrization-based pipeline, which can be both a strength and a drawback. One of its key behaviors is indeed its ability to add singularities to account for incompatible lengths in the resulting parametrization. This property is illustrated in Figure 6.2 on the simplest possible example: the trapezoid. Since the oscillator functions optimized in PGP are periodic, finding a solution of Problem (6.5) implies that the length in parameter space allows the oscillators to perform an integer number of periods between vertices of interests (in the case of this trapezoid: the four corners), but this comes at the cost of not knowing exactly the value of this integer, which usually ends up being a simple rounding of the considered length. For our trapezoid, this rounded length turns out to be 1 on the top edge and 2 on the bottom edge, as shown in Figure 6.2b. This leads to incoherence in the parametrization in the form of a broken triangle (red in Figure 6.2b) whose three edges do not form a valid triangle in parameter space (red highlights in Figure 6.2c). This means that no valid grid-preserving parametrization can be extracted, even in this simple case. However, using the quad extraction procedure of [START_REF] Ray | Periodic Global Parameterization[END_REF], it is still possible to extract quads locally and form a T-mesh like in Figure 6.2d. Fortunately, a valid quad mesh can always be extracted from this kind of T-mesh using a subdivision algorithm. For instance, in Figure 6.2e, we apply the Catmull-Clark subdivision [START_REF] Catmull | Recursively Generated 8-Spline Surfaces on Arbitrary Topological Meshes[END_REF]] on the T-mesh to retrieve the final result, but this introduces two new singularities that should have appeared inside the broken triangle. In summary, PGP is able to produce a valid quadmesh by adding pairs of singularities

Motivations

(dipoles) every time the oscillators converge to inconsistent lengths. This is a key behavior of the method but comes at the cost of an invalid underlying parametrization and requires an indirect extraction of the quads. Moreover, getting a valid quadmesh from the resulting T-mesh may require many subdivision which increases the number of elements of the mesh, preventing the computation of a coarse block decomposition [Bommes et al. 2013a].

In addition, only little control is given by the algorithm over the number and the position of the additional dipoles. Only the curl correction preprocessing step allows for some lengths to be scaled in the initial parametrization, fixing some of the encountered inconsistencies, but it does not completely prevent additional dipoles from appearing.

Finally, the relevance of having an algorithm that is able to add dipoles of singularities at this point of the pipeline can be questioned. Since frame field methods tend to underestimate the number of singularities necessary for a quad mesh to be of good quality (they focus on producing the smoothest possible field), it can be desirable that the following step is able to compensate for this and introduce the remaining irregular points of the final quadmesh. But in a context where the previous step aimed at computing the best possible singularity distribution, as we attempted in the previous chapters, it would be preferable to either compute a quantization with fixed topology or having full control over the singularity distribution, that is being able to add but also remove singularities.

Motivations

Now that we have discussed the original PGP algorithm, let us motivate our need for a new algorithm directly computing grid-preserving parametrizations.

As we saw in the previous section, PGP does not always produce a valid parametrization but instead creates T-junctions and broken triangles. We would instead like to obtain an algorithm that maps each triangle to a triangle in parameter space. However, the ability to break triangles and thus place additional singularities is what allows PGP to converge and find a solution. Preventing triangles from breaking therefore needs to be compensated by the ability to freely place singularities at vertices. This requirement has two consequences. Firstly, we need an algorithm that does not rely on the knowledge of initial singularities or seam, but discovers a singularity distribution during optimization. This calls for new oscillator functions that take eventual square-preserving rotations as well as integer translations into account. Secondly, as we would like the singularities to change depending on distortion criteria, we need to also optimize for the parametrization's edge coordinates along the oscillators, leading to a non-linear optimization approach.

By considering both the parametrization's edge coordinates and a set of seam-agnostic oscillator functions, we will be able to exploit the known tradeoff between the number of singularities and the distortion of the parametrization. There are indeed two types of solutions to be expected from any algorithm computing a grid-preserving parametrization from a seamless one. The first one is to keep the exact same set of singularities and modify lengths. This is the solution usually produced by mixed-integer approaches like the ones from [START_REF] Bommes | Mixed-Integer Quadrangulation[END_REF] or [START_REF] Campen | Quantized Global Parametrization[END_REF]. The second one is to conserve lengths and instead rely on additional singularities to achieve coherence. This is what the PGP algorithm does. To the best of our knowledge, no method has been able to exploit the tradeoff between these two outputs correctly. As we did with the method of moving frames in Chapters 4 and 5, our goal is to control local distortion as a mean of adding compensating singularities.

Seam-agnostic Oscillator Functions

Now that our motivations have been stated, let us focus on the description of an algorithm that satisfies them all. The first step is to design novel oscillator functions ψ that still enforce the grid-preservation property for all edges even when seams of the parametrization are not known in advance. To do so, we describe a general method to design representation of objects for them to be smoothly optimized up to a desired symmetry. This approach is inspired by [START_REF] Desobry | Designing 2D and 3D Non-Orthogonal Frame Fields[END_REF] where it was applied to the problem of non-orthogonal frame fields.

Symmetry Sets and Functional Representation

Let us recall the desirable properties we need over the uv-coordinates. Given two corners (u, v) and (u ′ , v ′ ) corresponding to each other across an edge, we want that their uv-coordinates satisfy Equation (6.1). Put differently, we can define the equivalence class of a point (u, v) as all the points that are reachable by application of the considered symmetries, namely:

C u,v := R π 2 k u + n u v + n v | k, n u , n v ∈ Z
Using this definition, we simply require that C u,v = C u ′ ,v ′ for each corresponding pairs of points across an edge. Matching those infinite sets is, of course, intractable in practice. The trick is to instead work in a vector space of functions F such that each set C u,v corresponds to a unique function f u,v ∈ F. Given a chosen basis of F, one can then represent f u,v as its coordinate vector in the basis and optimize over this set of variables.

To design an approximate functional space F, one has to consider functions with the same symmetries as the problem. As the latter depends on two parameters u and v, the functions should be of two variables x and y, written in the form f (u, v; x, y). Imposing the grid-preserving symmetries onto those objects means that f should be periodic and invariant by π/2 rotation of its (u, v) parameters:

f (u, v; x, y) = f (u + n u , v + n v ; x, y) for all n u , n v ∈ 2πZ f (u, v; x, y) = f (v, -u; x, y) = f (-u, -v; x, y) = f (-v, u; x, y)
Many different functions satisfy those two conditions. One simple and straightforward choice is to consider the function:

g(u, v, x, y) = cos(u -x) 2d cos(v -y) 2d
for a sufficiently large d ∈ N and build f (u, v; x, y) as:

f (u, v; x, y) = g(u, v, x, y) + g(-v, u, x, y) + g(-u, -v, x, y) + g(-v, u, x, y).
(6.6) By construction, functions f (u, v; x, y) satisfies the two symmetries we are looking for. Figure 6.3 plots the heightmap of f for a full x, y period of 2π and for different values of the parameters u and v. One can verify empirically that two points (t1) and (t4) related by a rotation of π/2 are associated with the same exact function.

Decomposition in Fourier Basis

We have now build a family of functions on which equality captures the equality up to the symmetries we want on the uv-coordinates. In order to work with these functions in practice, we With the coefficients a n , b n , c n , d n being functions of u and v. Since f is a polynomial in cosine, its set of non-zero Fourier coefficients is finite and can be easily solved by computing the integral through which they are defined:

a n (u, v) := 2π 0 f (u, v; x, y) cos(nx) cos(ny)dxdy.
It turns out that only a few coefficients are non-zero:

a n , b n , c n , d n ∝          cos(ku) + cos(lv)
cos(ku) cos(lv) cos(ku) cos(lv) + cos(lu) cos(kv) sin(ku) sin(lv)sin(lu) sin(kv)

for 1 ⩽ k, l ⩽ 2d. (6.7)
Since the Fourier basis is an orthogonal basis of F, we know that equality between two functions is equivalent to the equality of all their coefficients in the basis. In other words, it is sufficient to consider the vector (a n , b n , c n , d n ) 1⩽n⩽2d of coefficients to represent a function and optimize for the L 2 norm between vectors in order to optimize for a distance between functions.

However, the number of distinct coefficient increases with the degree d and it can quickly become impractical to work with this many variables. In our case, we only need to find the minimal d such that set equality between C u,v and functional equality between f (u, v) are equivalent. Fortunately, one can notice that equality between all coefficients is sufficient for functional equality, but not at all necessary. For instance, the product cos(ku) cos(lv) can be expressed solely using the two sums cos(ku) + cos(lv) and cos(2ku) + cos(2kv), so that equality for this coefficient does not provide any new information.

Based on more trigonometric identities and instantiation for different values of k, l, we extract a sufficient set of coefficients whose matching between two points (u, v) and (u ′ , v ′ ) still leads to the desired symmetries:

           cos(u) + cos(v) cos(2u) + cos(2v) cos( u + 2v) + cos(2u -v) cos(2u + 4v) + cos(4u -2v)
.

(6.8)

This fixes the minimal degree d to be 4.

We are now going to prove that matching those four coefficients between corresponding corners across an edge is indeed sufficient. By construction, we already know that if two points (u, v) and (u ′ , v ′ ) relate to each other by a grid-preserving symmetry (i.e., C u,v = C u ′ ,v ′ ), then equality of the coefficients in Equation (6.8) is verified. Let us turn our attention to the converse theorem: Theorem 6.1. Suppose that coefficients of Equation (6.8) are equal for two points (u, v) and

(u ′ , v ′ ). Then C u,v = C u ′ ,v ′ Proof.
To prove this result, we start by proving a simple lemma:

Lemma 6.2. Let a, b, c, d ∈ R. a + b = c + d a 2 + b 2 = c 2 + d 2 ⇒ a = c b = d or a = d b = c
The intuition behind this lemma is to look at a geometric interpretation of the two equations. The first one means that parameters a, b and c, d describe the same line in the plane. The second mean that they describe the same circle. Solutions of this problem are therefore intersection points between the line and the circle, of which there are at most two, so the two immediate solutions (a, b) = (c, d) or (d, c) are the only possible ones.

Back to the proof of our theorem, suppose that the four following equations hold for our two points (u, v) and (u ′ , v ′ ):

       cos(u) + cos(v) = cos(u ′ ) + cos(v ′ ) cos(2u) + cos(2v) = cos(2u ′ ) + cos(2v ′ ) cos(u + 2v) + cos(2u -v) = cos(u ′ + 2v ′ ) + cos(2u ′ -v ′ ) cos(2u + 4v) + cos(4u -2v) = cos(2u ′ + 4v ′ ) + cos(4u ′ -2v ′ ) (6.9)
Using the fact that cos(2x) = 2 cos(x) 2 -1, System 6.9 is equivalent to:

       cos(u) + cos(v) = cos(u ′ ) + cos(v ′ ) cos(u) 2 + cos(v) 2 = cos(u ′ ) 2 + cos(v ′ ) 2 cos(u + 2v) + cos(2u -v) = cos(u ′ + 2v ′ ) + cos(2u ′ -v ′ ) cos(u + 2v) 2 + cos(2u -v) 2 = cos(u ′ + 2v ′ ) 2 + cos(2u ′ -v ′ ) 2 (6.10)
This puts the four equations into two pairs on which we can apply Lemma 6.2. The proof can then be divided into four cases: Case 1:

           cos(u) = cos(u ′ ) cos(v) = cos(v ′ ) cos(u + 2v) = cos(u ′ + 2v ′ ) cos(2u -v) = cos(2u ′ -v ′ ) Case 2:            cos(u) = cos(u ′ ) cos(v) = cos(v ′ ) cos(u + 2v) = cos(2u ′ -v ′ ) cos(2u -v) = cos(u ′ + 2v ′ ) Case 3:            cos(u) = cos(v ′ ) cos(v) = cos(u ′ ) cos(u + 2v) = cos(u ′ + 2v ′ ) cos(2u -v) = cos(2u ′ -v ′ ) Case 4:            cos(u) = cos(v ′ ) cos(v) = cos(u ′ ) cos(u + 2v) = cos(2u ′ -v ′ ) cos(2u -v) = cos(u ′ + 2v ′ )
For each case, the proof relies on developing the last two equations using the following identities: cos(x + 2y) = cos(x) cos(2y) -2 cos(y) sin(x) sin(y) cos(2xy) = cos(2x) cos(y) + 2 cos(x) sin(x) sin(y) (6.11)

Case 1. Application of Equations 6.11 and substitution leads to:

           cos(u) = cos(u ′ ) cos(v) = cos(v ′ ) cos(v) sin(u) sin(v) = cos(v ′ ) sin(u ′ ) sin(v ′ ) cos(u) sin(u) sin(v) = cos(u ′ ) sin(u ′ ) sin(v ′ ) . If u ̸ = π 2 + nπ or v ̸ = π 2 + nπ, the first case therefore implies:      cos(u) = cos(u ′ ) cos(v) = cos(v ′ ) sin(u) sin(v) = sin(u ′ ) sin(v ′ )
. (6.12)

Since the equality between cosines implies the equality between sines up to the sign, this leaves us with only two possibilities: either sin(u) = sin(u ′ ) and sin(v) = sin(v ′ ) or sin(u) =sin(u ′ ) and sin(v) =sin(v ′ ). Overall:

    cos(u ′ ) sin(u ′ ) cos(v ′ ) sin(v ′ )     =     cos(u) sin(u) cos(v) sin(v)     or     cos(u) -sin(u) cos(v) -sin(v)    
which in the end mean that:

u ′ v ′ = R(0) u + n u v + n v or R(π) u + n u v + n v .
Note that in the case where u = π 2 + nπ and v = π 2 + nπ the result still holds. from which we can take the sum of the last two equations and substitute in the first two to get:

[cos(u)cos(v)] sin(u) sin(v) = [cos(u)cos(v)] sin(u ′ ) sin(v ′ ).

In the case where cos(u)cos(v) ̸ = 0, we can simplify again, retrieve exactly system (6.12) of Case 1 and conclude similarly. Otherwise, notice that is means that cos(u) = cos(v) = cos(u ′ ) = cos(v ′ ) thus sin(u) sin(v) = sin(u ′ ) sin(v ′ ) and the result still holds.

Case 3. Just like Case 2, we can apply Equation (6.11), substitute and take the sum and differences of two equations to get:

[cos(u)cos(v)] sin(u) sin(v) = -[cos(u)cos(v)] sin(u ′ ) sin(v ′ ).

If we suppose that cos(u)cos(v) ̸ = 0 (the equality case being similar to previously), then we are left with the system: If u ̸ = π 2 + nπ or v ̸ = π 2 + nπ, we can therefore simplify the full system to the same as Equation (6.13) of Case 3 and conclude similarly.

u ′ v ′ = R( π 2 ) u + n u v + n v or R( 3π 2 ) u + n u v + n v .
Overall, whatever the case among the four possibilities, we have shown that (u, v) and (u ′ , v ′ ) correspond to each other up to a rotation of angle k π 2 and an integer translation.

Oscillator Design

Now that we have determined a relationship between uv-coordinates to satisfy the grid-preserving constraint, we focus on the design of an oscillator function. Just like the θ function of PGP (Equation (6.2)), such a function should exhibit two properties: 1) allowing expressing coefficients from Equation (6.8) as a linear combination of its components and 2) transforming translations in parameter space as a linear transformation on oscillators that only depends on the translation's uv-coordinates.

As the coefficients we are interested in in Equation (6.8) involve eight different "frequencies" in terms of u and v, namely u, 2u, v, 2v, u + 2v, 2u + 4v, 2uv and 4u -2v, the straightforward approach is to consider an oscillator function ψ that contains sines and cosines of all of these frequencies: (6.15)

Here, we add a weighting term on some coefficients to account for their multiplying constant in the Fourier decomposition of Section 6.3.2. In the end, for two oscillators ψ and ψ ′ defined at two corresponding points across an edge, the pendant of Equation ( 6.3) of the original PGP algorithm becomes:

A(ψ ′ψ) = 0 (6.16)

Additionally, since our new oscillators are only trigonometric functions of the uv-coordinates, we can perform the same reasoning as the original PGP and end up with the pendant of Equation (6.4): ψ(u j , v j ) = R(e u , e v )ψ(u i , v i ) (6.17

Parametrization Setup

Given Equations (6.16) and (6.17), we are now ready to set up an optimization problem for computing a grid-preserving parametrization of a given triangle mesh.

Setup per Triangle

We consider as an input triangle meshes M = (V, E, T ) with a valid set of feature edges and feature corners. Without loss of generality, we will assume that each triangle is adjacent to at most one feature edge and one corner (otherwise, this issue can always be solved via subdivision). Our parametrization will be represented as a 2×2 Jacobian matrix J t per triangle t, mapping the original triangle's coordinates in an arbitrary basis to its uv-coordinates. Using this setup, we are assured that no triangle can be broken in the final parametrization.

For each triangle t = (i, j, k), we define an arbitrary basis X, Y of its tangent plane as well as a reference point r t . We then define the coordinate function s t : R 2 → R 2 over the triangle as: s t (p) := pr t . This linear function can be stored as the three values it takes at corners, namely s t (i), s t (j) and s t (k), and extended to any point p inside the triangle using barycentric coordinates.

Additionally, we associate an oscillator function ψ t = ψ(r t ) defined at the reference point. By doing this, we are able to express the oscillator ψ(p) at each point of the triangle using Equation (6.17) as:

ψ(p) = R(J t s t (p))ψ t .
This ensures oscillators coherence over each triangle chart. This setup is illustrated in Figure 6.4. As shown in Figure 6.5, the reference point r t of a regular triangle is taken as its center of mass. For triangles containing a feature edge with no corners, the reference point is taken as the middle of the feature. For a triangle with a feature corner, the reference point is the corner. Doing this will allow for simple expression of constraints in optimization. Now that our variables have been defined, let us focus on the constraints to optimize.

Feature Constraints

For a triangle t of a feature corner, we know that its reference point r t corresponds to the position of the corner, and that position should be on the integer grid. Since both u and v are integers, this means that all cosines of the oscillators are equal to 1 and all sines to 0. In optimization, we therefore enforce: ψ t = (1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0) Given the Jacobian matrix J t and three reference vectors s t (i), s t (j) and s t (k), we are able to express the oscillator function everywhere onto the triangle from its reference oscillator ψ t . r t r t r t Figure 6.5: Reference point r t for a regular triangle t is taken as its center of mass (left). For triangles near a feature edge, r t is taken as the middle of the edge (middle). If the triangle is adjacent to a feature corner, the reference point is the corner (right).

For a triangle t near a feature edge but not a corner, we placed the reference point on the edge. This means that either its u or v coordinate is an integer. We therefore enforce either: ψ t [0..3] = (1 0 1 0) T or ψ t [4..7] = (1 0 1 0) T .

(F e )

The choice between u or v can be determined at initialization. When no feature edge is present on the mesh, we block one arbitrary oscillator to be of the form given by Equation (F c ), which amounts at fixing a global translation of the uv-coordinates. As ψ will be taken as any vector of R 16 , these constraints prevent the optimization from converging to the trivial zero solution.

Adjacency Constraint

ψ i ψ j J i s i (q) p p ′ J j s j (q) q
For each pair of adjacent triangles t i and t j , separated by an edge (p, p ′ ), we require that the oscillators obtained by Equation (6.17) from t i and t j at the same point should satisfy Equation (6.16). However, it does not suffice that this condition holds at p and p ′ , but also for every point q on the edge to guarantee coherence of the transition function (see inset Figure ). We express this condition as an integral over the edge:

p ′ p
||A R(J i s i (q))ψ i -R(J j s j (q))ψ j || 2 dq = 0.

Since this integral is hard to optimize upon, we approximate it using the method of rectangles and instead consider points (q k ) 1⩽k⩽n regularly sampled along the edge and satisfy: n k=1 ||A R(J i s i (q k ))ψ i -R(J j s j (q k ))ψ j || 2 = 0.

We define our final energy E adj as this quantity summed for all pairs of adjacent triangles in the mesh:

E adj := t i ∼t j k
||A R(J i s i (q k ))ψ i -R(J j s j (q k ))ψ j || 2 . and we are interested in computing: under some constraints of injectivity, distortion and validity of oscillators.

Injectivity and Distortion

Problem (6.18) depends linearly on the oscillator variables and non-linearly on the Jacobian matrices. Just like in the algorithm described in Chapter 5, we need to ensure injectivity of the final parametrization, which boils down to force Jacobian matrices to have a positive determinant. This constraint is enforced using a barrier function in the exact same way as in the method of moving frames. We refer to Section 4.8.1 and 5.1.3 for more details.

Similarly, the setup of having one 2 × 2 matrix per triangle allows optimizing for any smooth distortion energy D along Problem (6.18), just as the previous chapters. We refer to Section 5.2.3 for the definition of the most common distortion functions.

Oscillators Validity

In the original PGP, finding a zero of the energy function meant that oscillators variables, only defined as vectors of R 4 , would have the correct form, meaning that there exists two underlying functions u, v such that θ = θ(u, v). This is mostly because both the seam constraint (Equation (6.3)) and the oscillation equation (Equation (6.4)) involve all the components of the R 4 vector. In our case, the adjacency constraint of Equation (6.16) only involves 8 out of the 16 coordinates of ψ. As a consequence, the set of possible vectors of R 16 minimizing Problem (6.18) is larger than the set of oscillators ψ(u, v) defined by Equation (6.14), even with the linear constraints on features introduced in the last section.

To alleviate this problem, we propose a regularization energy E valid which enforces oscillators to be sine and cosine functions of u, v. Indeed, notice that a vector ψ ∈ R 16 is of the form given by Equation (6.14) if and only if the following set of quadratic equations is satisfied:

                         ψ[2i] 2 + ψ[2i + 1] 2 -1 = 0, 0 ⩽ i ⩽ 8 ψ[4j + 2] -ψ[4j] 2 + ψ[4j + 1] 2 = 0, 0 ⩽ j ⩽ 4 ψ[4j + 3] -2ψ[4j]ψ[4j + 1] = 0, 0 ⩽ j ⩽ 4 ψ[8] -ψ[0]ψ[6] + ψ[1]ψ[7] = 0 ψ[9] -ψ[0]ψ[7] -ψ[1]ψ[6] = 0 ψ[12] -ψ[2]ψ[4] -ψ[3]ψ[5] = 0 ψ[13] -ψ[2]ψ[5] + ψ[3]ψ[4] = 0
.

(E valid )

These equations simply constraint the norm of each (cos, sin) pair to be 1 and utilizes trigonometric identities to make every pairs coherent with one another. Given this system, our energy E valid is the squared-norm of the vector of these 20 equations per oscillator for all oscillators defined on the mesh.

Final optimization problem

In summary, we setup an optimization problem over our variables J t , ψ t per triangle t in order to find a zero of E adj and E valid . In practice, we optimize for the sum of both energies using a Ginzburg-Landau approach [START_REF] Beaufort | Computing Cross Fields A PDE Approach Based on the Ginzburg-Landau Theory[END_REF][START_REF] Blanchi | Global Parametrization Based on Ginzburg-Landau Functional[END_REF]. Energy E valid is multiplied by a weighting term ε > 0 that will increase during optimization.

Additionally, it is possible to also optimize for some distortion D over Jacobians, using a weighting term λ. Overall, the full optimization problem is stated as follows:

Conclusion

As mentioned in the introduction, the work presented in this chapter is still in progress. Assessing the viability of our approach on a variety of triangle meshes in a practical implementation of Problem (6.19) is an ongoing work. We would also like to demonstrate different behaviors in terms of final results depending on the distortion energy used, both in terms of final distortion and number of singularities.

7

Conclusion and Perspectives

In this final chapter, we recall our contributions and discuss their limitations as well as what remains to be achieved in the domain of quadmeshing. We will also conclude with a perspective towards the more challenging yet similar problem of hexmeshing via volume parametrization.

Summary of Contributions

This work focused on improving the classical parametrization-based quadmeshing approach, as described in Section 2.4.2. In total, we designed three different optimization algorithms. The first one turned out to be numerically impractical, the second one was declined into two versions and demonstrated state-of-the-art results, while the last one is still undergoing active research.

Cone distribution over a 4-covering In Chapter 3, we first attempted to design a continuous optimization able to automatically place quantized cones with angle defect multiple of π/2 onto a triangle mesh. The idea was to rely on a decomposition of the mesh into triangle rings and a transformation of said rings, the so-called 4-covering. We then showed that computing a flat parametrization of this new domain would imply the computation of a seamless parametrization on the original mesh. By defining and optimizing a (non-linear, non-convex) flattening energy, inspired by early conformal parametrization algorithms, we attempted at flattening the 4-covering. This approach, however, turned out to be unsuccessful due to numerical difficulties.

The method of moving frames for surface parametrization In Chapters 4 and 5, we turned our attention to Elie Cartan's method of moving frames, which we expanded to singular frame fields. Based on this theoretical framework, we derived an optimization problem that computes simultaneously a frame field and an associated parametrization, will full control over both the singularity distribution and the mapping's distortion. We showed that finding a solution of our optimization problem is equivalent to computing a rotationally seamless parametrization.

We are therefore able to solve the first two steps of the usual quadmeshing pipeline in one go.

The moving frame surface parametrization algorithm turned out to be a very versatile approach to the seamless parametrization problem, as many different constraints can be optimized alongside validity of the result: distortion minimization, fixed cone positions, feature adaptation or alignment with curvature directions.

We implemented two different versions of the moving frame method: one where surface charts lie around vertices (Chapter 4) and one where they correspond to the faces of the input mesh (Chapter 5). Only the former is guaranteed to not form double-coverings and therefore output a locally-injective parametrization. On the other hand, the formulation of the latter is simpler, its implementation shorter and it exhibits better performance in practice.

Grid-preserving parametrization in a single optimization Finally, a significant part of our research work has been dedicated to generalizing the method of moving frames, both for quadmeshing and also for hexmeshing (see Section 7.3). As far as surfaces are concerned, the most promising approach is an attempt at merging it with the quantization step of the quadmeshing pipeline, allowing us to compute a grid-preserving parametrization by solving a single continuous optimization problem. Taking inspiration from the Periodic Global Parametrization method of [START_REF] Ray | Periodic Global Parameterization[END_REF], we designed a set of constraints over periodic variables such that their satisfaction is equivalent to the existence of a grid-preserving parametrization. These constraints are set up in a non-linear least-square optimization problem over a triangle mesh.

Overall, our efforts have been focused on proposing formulations of the seamless parametrization problem that came from the continuous mathematical case and did not involve mixed-integer optimization nor greedy algorithms. Retrospectively, one common aspect of all the methods described in this work is the optimization of an already known system (LSCM for Chapter 3, Cartan's structure equations in Chapter 4 and 5, the PGP least-square system in Chapter 6) where we allowed previously constant quantities to change. This placed us in a tradeoff between two worlds that we argue was worth exploring. On the one hand, optimizing along other variables broke some properties of the original system, notably it's linearity. This forced us to use non-linear optimization algorithm like Levenberg-Marquardt or L-BFGS to solve the "harder" problem, hence an increase in computational cost and a loss in convergence guarantees. On the other hand, those newly defined energies allowed us to find new solutions to the problem of parametrization that were out of reach of previous approaches.

Future Works in Quadmeshing

While many advances have been performed in the last decades regarding the problem of quadmeshing -both with direct and parametrization-based approaches -the ultimate quadmeshing algorithm is still out of reach. We list here a few remaining issues to be fixed and improvements to be made, while giving some ideas of future works to be built upon our contributions.

Robustness, limit cycles Although they create quadmeshes with less irregular vertices than other methods, parametrization approaches to quadmeshing still do not match robustness of direct methods like front propagation [START_REF] Remacle | A Frontal Delaunay Quad Mesh Generator Using the L ∞ Norm[END_REF]]. This can be partially explained via the variational nature of the problem involved: the non-convex optimization can become stuck in local minima or towards unreachable asymptotic solutions like limit cycles (Figure 4.14). In Chapters 4 and 5, we indeed report some failure cases on our dataset of models where the optimizer failed to converge to a valid solution. Moreover, the quality of the initial representation of the surface, that is the input triangle mesh, also plays a great role in terms of numerical stability.

An idea to regularize seamless parametrization optimization would be to fix lengths of boundary and feature edges to be the same in parameter space as in real space. We believe that such a constraint has the potential to fix limit cycle integrability issues like the one depicted in Figure 4.14a of Chapter 4, since matching boundaries would be forced to have different lengths. This could be easily integrated into the method of moving frames using linear constraints. As far as grid-preserving parametrizations are concerned, we believe that an implementation of the optimization problem described in Chapter 6 would also not suffer from these issues. Yet, convergence behavior of such a method remains to be assessed.

Non-uniform sizing, anisotropy Quadmeshes are often used in numerical simulations for their ability to form highly anisotropic elements while their angle stay near π/2 [START_REF] Rao | Gmsh: A 3-D Finite Element Mesh Generator with Built-in Pre-and Post-Processing Facilities[END_REF][START_REF] David | On a Robust Boundary Layer Mesh Generation Process[END_REF], for instance near interfaces where precision along the normal direction is more important than in the others. Unfortunately, such constraints are incompatible with our moving frame method, since they require a global frame to be defined for directions of anisotropy to be consistent. On the other hand, it could theoretically be integrated into our grid-preserving algorithm (Chapter 6) in the form of anisotropic deformation of the triangles.

In the simpler case where the difference in sizing is isotropic, meaning that quad elements resemble squares of different sizes over the mesh, a specific sizing constraint could be integrated in both methods as a penalty over Jacobian matrices. Given their ability to freely place singularities, we believe that our formulations would still be able to produce a valid seamless parametrization matching the desired sizing, at the expense of more compensating cones. Nonetheless, whether this kind of approaches is more efficient or interesting than an a posteriori editing of the mesh remains to be seen.

Quad sizing vs distortion In our work, we discussed several times the tradeoff between the number of singularities and distortion of a seamless parametrization. As pointed out by [START_REF] Myles | Controlled-Distortion Constrained Global Parametrization[END_REF], singularities can be added indefinitely to make the parametrization converge to a perfect isometry. Yet, this process does not create a good quality quadmesh as elements near areas with many singularities become indefinitely small. In practice, the sizing of quadrilateral elements is as important as their distortion. Thus, the true problem of parametrization for quadmeshing would consist of finding the optimal set of singularities given a fixed element size (or resolution of elements) in order for all the elements to be as close to squares (eventually rectangles in anisotropic cases) as possible.

So far, solving this problem is only indirectly done by our method since the element size is not explicitly incorporated in neither the method of moving frames, nor our grid-preserving parametrization approach.

Computational efficiency and initializations Finally, instead of solving for a grid-preserving parametrization in one step, one could instead imagine a version of the pipeline where each step still has control over the previously computed degrees of freedom and is able to correct any previously made decision. In other words, instead of computing everything from scratch, one could rely on a series of good initializations fed to increasingly complex optimization problems. Such an approach would potentially reduce the large computation times of our algorithms, all without hurting the quality of the results. For instance, given a smooth frame field, a parametrization algorithm able to add, move or delete singularities not only for integrability (as [START_REF] Diamanti | Integrable PolyVector Fields[END_REF]) but for the minimization of any criterion (without creating T-junctions like [START_REF] Ray | Periodic Global Parameterization[END_REF]) would be desirable. Likewise, exploiting the tradeoff between additional singularities and distortion in the quantization step (like our attempt in Chapter 6) could be an interesting future work.

Towards Parametrization Methods for Hexmeshing

While we focused so far on the case of surfaces and quadmeshes, a related and challenging problem in the field of geometry processing is the automatic generation of hexahedral meshes. In numerical simulations, tetrahedral and hexahedral meshes are volume meshes made of vertices, edges, faces and cells, the latter being tetrahedra (4 triangular faces) or hexahedra (6 quadrangular faces) respectively (Figure 7.1). They are a direct generalization of triangular and quadrangular meshes for the representation of volumetric data. While the generation of tetmeshes is mostly understood and mastered [Geuzaine and Remacle 2009;[START_REF] Si | TetGen, a Delaunay-Based Quality Tetrahedral Mesh Generator[END_REF], the problem of generating hexmeshes still poses theoretical and practical challenges.

To conclude this manuscript, we give a quick overview of the specific challenges posed by the hexmeshing problem, and discuss how our work can be extended to this three-dimensional case.

Hexmeshing

Automatically generating a hexmesh from a tetmesh is a well-studied problem in geometry processing [START_REF] Pietroni | Hex-Mesh Generation and Processing: A Survey[END_REF]. Apart from direct approaches like front propagation or tree-based meshing, which have been successfully applied to this new problem, the parametrization approach has also been investigated. However, this generalization did not come without its own set of challenges and robustness issues. To cite a few, we can observe for instance that conformal maps are not expressive enough in volume (see Liouville's theorem on conformal maps), or that Morse-Smale complexes ni volumes are not a hexahedral decomposition [START_REF] Ling | Spectral Quadrangulation with Feature Curve Alignment and Element Size Control[END_REF]].

Yet, the most important distinction between the volume and surface case is perhaps the behavior of frame fields. As they represent a set of orthogonal directions on a manifold, frame fields can be generalized in 3D in a straightforward way, that is by assigning a set of six directions {u, -u, v, -v, w, -w} to each element of a mesh. Given a suitable representation of this set, like the spherical harmonics decomposition of [START_REF] Ray | Practical 3D Frame Field Generation[END_REF], the Laplacian-based smoothing algorithm remains the same. However, singularities of the field do not appear at isolated points anymore, but rather form a network of lines called a singularity graph which ultimately correspond to edges in the hexmesh incident to 3 or 5 hexes instead of 4. This graph, depicted in Figure 7.2 on a few examples, is therefore critical to the quality of the final hexmesh.

Unfortunately, smooth frame fields in 3D tend to exhibit very noisy singularity graphs and often unmeshable configurations (like on the rightmost example of Figure 7.2). Unlike the surface case where theoretical results have been proved on the validity of a given singularity distribution [START_REF] Shen | Which Cross Fields Can Be Quadrangulated? Global Parameterization from Prescribed Holonomy Signatures[END_REF], no such result exists for singularity graphs. The Gauss-Bonnet theorem, which gives in 2D a simple criterion for the validity of a cone distribution (let aside some degenerated cases like limit cycles), does not hold in higher dimensions. Likewise, no criterion exists to this day that can determine if a given frame field is integrable into a seamless parametrization. Some very recent works have been made in this direction [START_REF] Liu | Locally Meshable Frame Fields[END_REF] but are only able to fix local meshability issues. If a meshable frame field is provided, a grid-preserving parametrization can be recovered using the CubeCover method of [START_REF] Nieser | CubeCover-Parameterization of 3D Volumes[END_REF], which is a direct extension of the QuadCover algorithm for surfaces [START_REF] Kälberer | QuadCover -Surface Parameterization Using Branched Coverings[END_REF]]. Alternatively, if a valid singularity graph is provided on a tetrahedral mesh, an associated frame field and parametrization can also be computed using the method of Liu et al. [2018b] or [START_REF] Corman | Symmetric Moving Frames[END_REF]. The quantization step has also been analyzed: [START_REF] Brückler | Volume Parametrization Quantization for Hexahedral Meshing[END_REF] formulate it as a mixed-integer problem over the 3D equivalent of a T-mesh. Finally, hexahedral elements can be extracted reliably using the algorithm from [START_REF] Lyon | HexEx: Robust Hexahedral Mesh Extraction[END_REF]. Overall, only the problem of findings a valid singularity graph remains truly open.

The Method of Moving Frames for Volume Parametrization

Designing a parametrization algorithm that can theoretically be applied to both the surface and the volume case is challenging as most approaches for surfaces do not generalize well in 3D. Fortunately, this is not the case of the method of moving frames, as Cartan's structure equations work for smooth manifolds in any finite dimension.

This observation is a key motivation for our algorithms of Chapters 4 and 5, which can be applied to 3D with minimal changes in the formulation. By using the same representation of frames as [START_REF] Ray | Practical 3D Frame Field Generation[END_REF] and splitting each input tetrahedra into four hexahedral charts centered around vertices (as in Figure 7.3), we can discretize the structure equations as a nonlinear least-square problem similar to Problem (4.11). Although a cell-based discretization is also possible (just like the face-based alternative discretization discussed in Chapter 5), it would force singular lines to stay on the edges of the base mesh. On the other hand, the vertex-based approach allows singularities to move freely inside the domain. We thus expect the optimization to be smoother in this case. In the absence of any tractable criterion for validity of a singularity graph, our intuition for this approach lies in the tautological fact that a frame field is integrable if it can be integrated. As such, we expect the simultaneous optimization of a frame field and an associated parametrization in a moving frame fashion to be more successful than just the smoothing of the former, the parametrization here acting as a regularization forcing the frame field to stay integrable during optimization. This would result in the first algorithm for computing a valid singularity graph and its associated frame field and seamless parametrization all at once. An implementation of this algorithm has been attempted during this thesis but results still need to be improved. In particular, the optimization often got stuck in saddle points where the frame field is smooth but its singularity graph is invalid, leading to highly distorted elements. While the idea of using the moving frame method to automatically compute valid singularity graphs seems promising, additional work is therefore required to make it work in practice.

Figure 1 . 1 :

 11 Figure 1.1: Paramétrisation globale du Lapin de Stanford. Une surface, représentée par un maillage triangulé (gauche) est découpée selon d'un ensemble de coutures (milieu gauche) et aplatie vers le plan avec peu de distortion (milieu droite). Une grille régulière, représentée par une texture en damier, peut être superposée à cette représentation plate puis plaquée sur la surface initiale (droite).

Figure 1 . 2 :

 12 Figure 1.2: Différentes projections de la surface de la Terre vers le plan. (a) La projection de Mollweide conserve les aires et les tailles relatives des continents. (b) La projection de Mercator est conforme et préserve les angles et les formes au détriment d'importantes variations de taille au niveau des poles. Même s'il est mathématiquement impossible de calculer une carte préservant à la fois les aires et les angles, l'optimum peut être approché en introduisant des découpes (c). Images extraites de Wikipedia 5 .

Figure 1 . 3 :

 13 Figure 1.3: Dans le monde réel, tenter d'aplatir un objet a généralement pour conséquence l'apparition de déchirures, comme c'est le cas pour cette peau de clémentine. Les déchirures apparaissent naturellement comme un moyen de soulager la distorsion du matériau.

Figure 1 . 4 :

 14 Figure 1.4: Une paramétrisation globale fait correspondre la distribution de la courbure d'une surface lisse à un ensemble fini et réduis de cônes. Ici, 8 cônes concentrent chacun π/2 de courbure, ce qui revient à transformer la Terre en un cube. La paramétrisation est ensuite obtenue en coupant le cube entre les cônes et en dépliant le patron sans distorsion supplémentaire.

  (a) Plaquage de texture sur le modèle de Bob, créé par Keenan Crane. (b) Carte de normales du modèle Nicolo da uzzano.

Figure 1

 1 Figure 1.5: Plaquage de texture (gauche) et carte de normales (droite) utilisées dans le logiciel de modélisation Blender.

Figure 1 . 2 :

 12 Figure 1.2: Different projections of the Earth's surface to the plane. (a) The area-preserving Mollweide projection perfectly preserves the relative sizes of landmasses. (b) The conformal Mercator projection preserves angles and shapes at the expense of dramatic scaling at the poles.While it is mathematically impossible for a mapping to preserve both, this optimum can be approached by introducing cuts (c). Images taken from Wikipedia 6 .

Figure 1 . 4 :

 14 Figure 1.4: A global parametrization maps the curvature distribution of a smooth surface to a finite set of cones. Here, 8 cones each concentrate π/2 as curvature, thus leading to a mapping of the Earth to a cube. The parametrization is then obtained by cutting the cube between cones and unfold the pattern without further distortion.

  (a) Texture mapping on Keenan Crane's Bob model. (b) Normal mapping of the Nicolo da uzzano head model.

Figure 1

 1 Figure 1.5: Texture mapping (left) and normal mapping (right) as in the Blender software.

Contents 2 . 1

 21 Elements of Differential Geometry . . . . . . . . . . . . . . . . . . . . 20 2.1.1 Differentiable Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.1.2 Manifolds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.1.3 Vector Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.1.4 Differential Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.1.5 Parallel Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.1.6 Holonomy and Curvature . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.1.7 Genus, Non-contractible Cycles and the Gauss-Bonnet Theorem . . . . 27

Figure 2 . 2 :

 22 Figure 2.2: Tangent space and vector fields over a surface M.

Figure 2 . 3 :

 23 Figure 2.3: Parallel transport on a surface. (a): unlike the Euclidean case, two vectors can be parallel even if their direction is dramatically different. (b): parallel transporting a vector along the shortest path γ from γ(0) to γ(1) means that the angle it makes with the curve's direction γ ′ stays constant.

Figure 2 . 4 :

 24 Figure 2.4: Holonomy of a vector field that is parallel transported along a cycle on a sphere.

Figure 2 .

 2 Figure 2.5: Contractible (in blue) and noncontractible (in red) cycles on a torus.

Figure 2 .

 2 Figure 2.6: The sign of the Gaussian curvature describes the surface locally

Figure 2 . 7 :

 27 Figure 2.7: Stanford Bunny model as three triangle meshes with respectively 500, 5000 and 50000 triangles.

  (a) A vertex is adjacent to at least one face. An edge is adjacent to one or two faces (b) Faces indicent to a vertex should form a single connected fan.

Figure 2 .

 2 Figure 2.8: A surface mesh is manifold if its connectivity satisfies three conditions.

  A discrete parallel transport on polygonal faces is determined by a dual 1-form ρ aligning local bases

Figure 2 .

 2 Figure 2.10: Parallel transport on polygonal meshes.

Figure 2 .

 2 Figure 2.12 is an example parametrization of a half-sphere. Each triangle of M is mapped to a counterpart triangle in the plane. The uv-coordinates, forming a perfect grid in parameter space can be wrapped back onto the surface using the inverse of ϕ. For this to be possible, ϕ has to obviously be an invertible mapping. Recall that in the smooth context, we required the parametrizations to be homeomorphisms. Within the piecewise linear framework, we require that ϕ is foldover-free, meaning that is it invertible but also orientation-preserving. In practice, using the Jacobian formulation of ϕ, this boils down to constraining det(J t ) to be positive for all triangles t[START_REF] Garanzha | Foldover-Free Maps in 50 Lines of Code[END_REF]].

  Figure 2.13 showcases the result of Tutte's embedding of a cow's head mesh into three different shapes, highlighting that the solution of Problem (2.4) is valid only when the target domain is convex.

Figure 2 .

 2 Figure 2.13: A disk-topology shape (left) is mapped into three planar shapes using Tutte's barycentric embedding. The resulting parametrization is injective as long as the considered shape is convex and weights are positive. For non-convex shapes (right), the embedding can exhibit flipped elements.

  (a) Spectral LSCM[START_REF] Mullen | Spectral Conformal Parameterization[END_REF] (b) Linearized ABF[START_REF] Zayer | Linear Angle Based Parameterization[END_REF]

Figure 2 .

 2 Figure 2.14: Free boundary chart parametrization of the Stanford Bunny model with a hole at its feet, using a spectral LSCM (a) and an ABF method (b). uv-coordinates are represented as a checker texture onto the model (left) and as a chart in the plane (right).

Figure 2 .

 2 Figure 2.15: Illustration of different notions of injectivity. (a) Original object to be parametrized. (b) A parametrization that presents a foldover is not locally injective. (c) A locally injective parametrization, sometimes referred to as an immersion. (d) A (globally) injective parametrization, also called an embedding.

Figure 2 .

 2 Figure 2.16: A triangulation of a half-sphere (a) can be parametrized as a disk (b) but distortion is inevitable. It can also be isometrically unfolded by stitching triangles along a tree (c) at the expense of many discontinuities. Good tradeoffs between distortion and cuts (d) can be found, for instance by using a frame field-based method (Section 2.4.3)

Figure 2 .

 2 Figure 2.17: Cone parametrization of the Max Planck bust model. Four points (red spheres) each concentrate a defect of π/2. Cuts are performed between them and the boundary to retrieve a disk-topology shape which is parametrized using a variant of Springborn et al. [2008]'s method (a). In the uv-domain (b), cones lay on the boundary and their neighboring triangles can be flattened as an open fan.

  (a) Combinatorial method. Figure from[START_REF] Lee | A New Scheme for the Generation of a Graded Quadrilateral Mesh[END_REF] (b) Front propagation. Figure from[START_REF] Blacker | Paving: A New Approach to Automated Quadrilateral Mesh Generation[END_REF] (c) Quadtree approach. Figure from[START_REF] Liang | Guaranteed-Quality All-Quadrilateral Mesh Generation with Feature Preservation[END_REF] (d) Morse-Smale complex extraction. Figure from[START_REF] Ling | Spectral Quadrangulation with Feature Curve Alignment and Element Size Control[END_REF]

Figure 2 .

 2 Figure 2.19: Different families of quadmeshing techniques

  (a) Cone parametrization (b) Rotationally seamless (c) Adapted + seamless (d) Integer seamless

Figure 2 .

 2 Figure 2.21: Four parametrization properties used in this manuscript, here illustrated by texture mapping (top) and uv-coordinates (bottom).

Figure 2 .

 2 Figure 2.22: Transition functions of a cone parametrization consist only in rotations and translations. Here, two rotationally seamless parametrizations (a) and (c) of the same quarter circle mesh make different seams. In parameter space (bottom), the discontinuity involves different edges. However, by applying the transition functions for all gray triangles (b), it is possible to transform one seam set into the other. Overall, the exact path of seams is irrelevant in the final mapping's properties. Parametrizations with this property are referred to as global parametrizations.

Figure 2 .

 2 Figure 2.23: Two rotationally seamless parametrizations of a simple CAD model, obtained via our algorithm of Chapter 5. On the right, the parametrization is constrained to align with sharp edges. This constraint is necessary in practical quad meshing in order to impose quad planarity and conform to the original shape. Cones of value π/2 and -π/2 are depicted as red and blue spheres respectively. Seams and feature edges are traced in black.

Figure 2 .

 2 Figure 2.24: Overview of the parametrization-based quadmeshing pipeline. Given a surface represented by a triangular mesh (a), a frame field is first computed (b) as a way to compute a cone distribution and decide feature adaptation. A seamless parametrization is then extracted (c) following the frame field's streamlines. It is further transformed into an integer seamless parametrization (d) using quantization techniques. Finally, quads are extracted (e) as isolines of the parametrization.

Figure 2 .

 2 Figure 2.25: Smooth frame fields defined on the faces (left) and the vertices (right) of the spot model, using the diffusion-normalization scheme of[START_REF] Viertel | An Approach to Quad Meshing Based on Harmonic Cross-Valued Maps and the Ginzburg-Landau Theory[END_REF]

Figure 2 .

 2 Figure 2.27: A parametrization (right) can be extracted from the matching of a frame field (left) via solving a simple linear least-square problem under linear constraints. The parametrization is adapted to feature edges (bold black lines on the left) and rotationally seamless. Singularity cones are depicted in red and blue for respectively +π/2 and -π/2 defect.

Figure 2 .

 2 Figure 2.29: Parametrization quantization using a T-mesh. A rotationally seamless parametrization (left) is decomposed by a set of axis-aligned lines in parameter space to form a T-mesh on the surface (middle). The position of these lines is then optimized using a mixed-integer solver to recover a valid quad layout (right). Figure from Lyon et al. [2021].

Figure 2 .

 2 Figure 2.30: Given an input frame field (a), PGP-based methods are able to enforce integer seamless constraints without the need for a mixed-integer formulation. Two smooth periodic functions are optimized with compatible boundary and seam constraints (b and c), from which uv-coordinates are recovered. However, a full integer seamless parametrization cannot always be extracted due to the apparition of T-junctions (d)

Figure 3 . 2 :

 32 Figure 3.2: To build a 4-covering M(4) of a mesh, each original triangle is duplicated 12 times: 4 times for each of its 3 corners. Here, we represent this construction for a triangle t n = (i, j, k). For each of its corner s ∈ {i, j, k}, four copies of t n noted t s,1 n , t s,2 n , t s,3 n and t s,4 n are present in the 4-covering R (4) (s). Simple rings R(i), R(j) and R(k) are represented geometrically here whereas 4-coverings R (4) (i), R(4) (j) and R(4) (k) are drawn in a combinatorial way.

(a) 4 -

 4 covering of the ring of an interior vertex. (b) 4-covering of a ring on the boundary.

Figure 3 . 3 :

 33 Figure 3.3: Combinatorial illustration of the 4-covering's construction.

  (γ c ) similarly to an interior ring (Equation (3.1)). For a path γ b linking two boundaries, we perform the same operation as for a boundary ring: first symmetrize the triangles and then apply a double-covering (Equation (3.2)).The four kinds of rings considered in our space are depicted in Figure3.4.

Figure 3 . 4 :

 34 Figure 3.4: The four types of triangle rings considered in our approach. (a) interior vertex ring. (b) non-contractible cycle. (c) boundary vertex ring. (d) boundary to boundary path.

Figure 3

 3 Figure 3.5: A conformal map is a differentiable function that locally preserves angles.

  (a) The initial parametrization is a projection onto the xy-plane and presents flipped triangles (in red) (b) Minimizing E T for all triangles lead to a parametrization with no flipped triangles

Figure 3 . 6 :

 36 Figure 3.6: Given a fixed boundary, finding a zero of energy E is equivalent to finding a parametrization with no flipped triangles. (a) A 2D mesh with bumps is parametrized by projecting its vertices onto the xy-plane. (b) Minimizing E using a L-BFGS algorithm lead to a foldover-free parametrization with the same boundary.

  argmin

Figure 3 . 7 :Figure 3

 373 Figure 3.7: Parametrizations obtained via our algorithm on various models. Singularity cones are depicted as red sphere.

4. 9 . 2

 92 Other Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.9.3 Comparison With Other Methods . . . . . . . . . . . . . . . . . . . . . 112 4.10 Conclusion and Perspectives . . . . . . . . . . . . . . . . . . . . . . . . 114

Figure 4 . 2 :

 42 Figure 4.2: Cartan's method of moving frames projects the differential map dϕ at a point p ∈ M in a local basis (z p , ız p ) to obtain a deformation σ p in the local referential.

Figure 4 . 3 :

 43 Figure 4.3: Sampling local frames at vertices creates cones inside triangles. Our algorithm adds extra vertices inside singular triangles allowing us to parametrize extremely coarse surfaces. In comparison, a face-based method is unable to create a valid parametrization due to the lack of degrees of freedom.

96

 96

Figure 4 . 4 :

 44 Figure 4.4: The initial mesh (a) is subdivided in a chart collection (b) used for imposing integrability constraints. Edge midpoints are denoted with letter e and triangle center point with the letter s. We do not parametrize the initial mesh but a subdivision of it where singularities s are inserted inside singular triangles (c).

Figure 4 .

 4 Figure 4.5: Reconstruction of a parametrization from frames and charts. A triangle mesh (a) is divided into a set of vertex charts (b) satisfying the integrability conditions of Equations (E), namely duplicated edges are equal up to the cross field rotation cay(ω) -1 . The triangles are assembled independently (c). The triangle ijk is singular so the vertex s ijk is added along with new edges in red. The angle Ω ijk at the cut matches the discontinuity of the frame field. The parametrization (d), obtained by gluing adjacent triangles, corresponds to the mesh (e) where the singular point is inserted in triangle ijk using its barycentric coordinates in parameter space.

Figure 4 .

 4 1 shows an example of parametrization obtained by solving Cartan's structure equation.

Figure 4 . 6 :

 46 Figure 4.6: The triangle ijk is decomposed into the three charts C i , C j and C k satisfying Equations (E). Left: the angles α denote the triangle angle and β the angle at the singularity point. Right: primal edges of the charts are equal up to the rotation cay(ω) whose angle is ω = 2 arctan(ω/2) (see Equation (4.7)).

Figure 4 . 7 :

 47 Figure 4.7: Two versions of the same vertex rings: one with an angle defect of 0 and the other with an angle defect of 2π, both have only positive area triangles.

Figure 4

 4 Figure 4.9: Three feature edges, depicted in black, are laid out in the tangent complex plane. A seam is introduced at edge ija 0 because the sum of the corner angles Ω is not an integer multiple of 2π.

Figure 4 .

 4 Figure 4.11 illustrates how this initialization drastically changes the parametrization and reduces the distortion.

Figure 4 .

 4 Figure 4.10: Parametrization of the Stanford Bunny with different frame field initializations. From left to right: random frame per vertex, principal curvature direction, smooth frame field [Viertel and Osting 2018] and zero except on boundary vertices. Rows are optimized respectively : without distortion, along D ARAP , along D LSCM and along D AREA .

Figure 4 .

 4 Figure 4.11: Influence of the initialization of the cross field rotations on a sharp corner parametrization. Left: Initialization with zeros rotation. Right: Initialization with modified parallel transport prevents a dipole of singularities to appear and reduces overall distortion. Singularities π 2 are depicted in red, -π 2 in blue and boundary corners in yellow.

Figure

  Figure 4.12: Influence of the parameter λ F on the singularity configurations when we optimize for the constraints without distortion. Small values of λ F produce more singularity cones and minimum stretch. In contrast, large values create smoother frame fields and higher stretch.

  Running time (in seconds) with respect to triangle count for surfaces with (142) and without (132) features.

  (a) Typical failure case of our method.(b) Changing the energy weights allows our method to place a dipole of singularities and retrieve a correct parametrization.

Figure 4 .

 4 Figure 4.14: On this model our method fails to find a valid parametrization (λ F = 10) (a). By setting λ F = 0.01, we are able to find a valid solution (b).

  Casting, n = 8

Figure 4 .

 4 Figure 4.15: Results of our algorithm on two models for different singularity cones quantized to ±2π/n for n = 3, 6 and 8. On the right hand side, parametrizations of the Casting model are aligned with its feature edges, on which odd values of n are incompatible due to π not being a valid corner angle. When n is multiple of 3, we represent the parametrizations using a hexagonal pattern, instead of the classical checker pattern.

Figure 4 .

 4 Figure 4.18: Quad remeshing comparison with Fang et al. [2018] on the Dilo model. Our parametrization was initialized using principal curvature direction and optimized without distortion. Our quads have less stretching and have angles closer to 90 • .

  Sculpt model, ours (min LSCM)

Figure 4 .

 4 Figure 4.19: Comparison with Levi [2021] on the sculpt model. Both methods minimize the stretch distortion. As shown by the heat map and the histogram, our method achieves comparable triangle stretch with ten times less cone singularities.

Figure 4 .

 4 Figure 4.20: Comparison of three baseline methods with our results on the dilo model. Top row: texture mapping with highlighted seams and singularities . Second row: stretch distortion distribution over the model from 1 (blue) to 3 or higher (red). Third row: histogram of stretch distortion on triangles. Our method is best at minimizing the stretch distortion even compared to the conformal algorithm of Myles and Zorin [2012].

Figure 4 .

 4 Figure 4.21: Comparison of quadmeshes obtained by three concurrent algorithms with ours on the dancer model. Top row: quad meshes. Second row: angle distribution over the model. Third row: histograms of stretch distortion over elements. Our method yields minimal stretch and most orthogonal quads.

Figure 5 . 2 :

 52 Figure 5.2: Parametrization obtained by the two versions of our algorithm on a mesh with a central vertex of angle defect close to -2π (left). The face-based algorithm converges to a solution with a single -2π singularity cone in the middle, thus creating a double-covering (middle). On the other hand, this behavior is impossible in the vertex-based algorithm, which instead creates four -π/2 singularity cones in the triangle ring of the central vertex (right).

  Figure 5.3: Scatter plot of total stretch vs total scale observed on each models provided by Diamanti et al. [2015]. Left: results obtained using D ARAP , D LSCM and D AREA with the vertex-based algorithm (reproduction of Figure 4.13b with different axes). Right : results of the face-based version using D ARAP , D LSCM ,D AREA and D Id . Minimization of distortion behaves mostly in the same way in both cases. The D Id has results equivalent to D ARAP .

  Figure 5.5: Comparison of running time between the face-based and the vertex-based implementations. Left: scatter plot of the running time with respect to the triangle count. Right: histogram of relative improvement of the face-based version. Linear regressions for both regressions show a very similar trend (k = 1.2 vs k = 1.3).For the majority of models, we observe that the face-based implementation is faster by 10 to 50%. For a small proportion of models, however, the optimization has to run for longer.

  Figure 5.6: Scatter plot of the distortion obtained by the face-based and vertex-based versions of our algorithm, without minimizing distortion and for the three distortion energies in common : D LSCM , D AREA and D ARAP . We observe very similar results for both versions without distortion and while minimizing D ARAP . For D LSCM and D AREA , the face-based version is able to better minimize stretch (resp. scale) at the expense of more scale (resp. stretch).

Figure 5

 5 Figure 5.8: Scatter plot of the distortion obtained by the algorithm for the different strategies of distortion minimization. Points corresponding to the same model are linked by a gray line.For the first three distortions (LSCM, AREA and ARAP), we compare the energy minimization with the change of metric strategy. For the D Id energy, we also compare the linear constraint approach.

  1a): e u e v = (e x , e y , e z ) • z u (e x , e y , e z ) • z v .

Figure 6

 6 Figure 6.1: Illustration of the different steps of the PGP algorithm on a simple model. (a) Initialization: a smooth frame field is computed and two orthogonal vector fields (red and green) are extracted, as well as seams and singularities (no curl correction). (b) and (c) Arguments of the u and v parts of the oscillator θ after optimization. (d) Plot of the function θ (0) θ (2) = cos(u) cos(v) and its quasi-dual Morse-Smale complex, forming a valid quadrangulation. (e) Extracted grid-preserving uv-coordinates.

Figure 6

 6 Figure 6.2: A T-junction appears in PGP when the number of oscillations is inconsistent between two feature lines. This is illustrated here on a trapezoid. (a) The u part of the oscillator makes one total oscillation on the top boundary and two on the bottom. (b) This results in a parametrization with twice as much length on the bottom as well as a broken triangle (red) that cannot be reconstructed in parameter space. (c) Visualization of the uv-coordinates with the edges of the broken triangle highlighted in red. (d) Locally extracting quads following Rayet al. [2006] allows the creation of a T-mesh. (e) A valid quad mesh can be computed using a subdivision scheme like the Catmull-Clark subdivision, leading to a mesh with a dipole of singularities.

Figure 6

 6 Figure 6.3: Visualization of the function f (u, v; x, y) over the domain [0; 2π]2 for different values of u and v. When (u, v) are in no particularly symmetrical position, the function exhibits four local maxima corresponding to the four summed versions of g. When symmetries occur, those maxima merge, like at the point (c) = (π, π). On the bottom row, the four values are taken as linear interpolation between two points (t1) and (t4) that relate to each other by a rotation of π/2. We observe as expected that the functions are equal at (t1) and (t4).

Case 2 .

 2 Application of Equations 6.11 and substitution leads to:cos(u ′ ) cos(v) = cos(v ′ ) cos(u) cos(2v) -2 cos(v) sin(u) sin(v) = cos(2u) cos(v) + 2 cos(u) sin(u ′ ) sin(v ′ ) cos(2u) cos(v) + 2 cos(u) sin(u) sin(v) = cos(u) cos(2v) -2 cos(v) sin(u ′ ) sin(v ′ )

  ) = cos(v ′ ) cos(v) = cos(u ′ ) sin(u) sin(v) =sin(u ′ ) sin(v ′ )

Case 4 .

 4 Finally, the proof for Case 4 combines steps from Case 1 and Case 3. Developing the last two equations leads to:= cos(v ′ ) cos(v) = cos(u ′ ) cos(v) sin(u) sin(v) =cos(v) sin(u ′ ) sin(v ′ ) cos(u) sin(u) sin(v) =cos(u) sin(u ′ ) sin(v ′ ).

  cos(v) cos( u + 2v) cos(2uv) sin(u) sin(v) sin( u + 2v) sin(2uv) cos(2u) cos(2v) cos(2u + 4v) cos(4u -2v) sin(2u) sin(2v) sin(2u + 4v) sin(4u -2v) ψ allows expressing the coefficients as a linear transformation of its coordinates: u + 2v) + 4 cos(2uv) cos(2u + 4v) + cos(4u -2v)

  )where R(e u , e v ) is a 16 × 16 block diagonal matrix made of 2 × 2 rotation matrices whose angles are linear combinations of e u and e v corresponding to the frequencies of the oscillator function:R(e u , e v ) :=

Figure 6 . 4 :

 64 Figure 6.4: Variables setup for our problem.Given the Jacobian matrix J t and three reference vectors s t (i), s t (j) and s t (k), we are able to express the oscillator function everywhere onto the triangle from its reference oscillator ψ t .

  (F e ) and (F c ) (6.18)

E.

  adj (J, ψ) + εE valid (ψ) + λD(J) subject to: (F e ) and (F c ) det(J t ) > 0

Figure 7

 7 Figure 7.1: Examples of tetrahedral and hexahedral meshes of the sculpt model, rendered as full objects as well as sliced along the z axis. (a) Tetmesh rendered in Graphite 3 10 . (b) Hexmesh provided by Corman and Crane [2019] and rendered in Hexalab [Bracci et al. 2019].

Figure 7 . 2 :

 72 Figure 7.2: In the 3D case, singularities of a cross field form a set of lines traversing the volume called a singularity graph. Here, the singularity graph of the four shapes is a subset of edges of the mesh, depicted in red. The two leftmost examples are hand made to be valid graphs. The other two examples were generated using the frame field smoothing algorithm of Ray et al. [2016].

Figure 7 . 3 :

 73 Figure 7.3: The moving frame method described in Chapter 4 can be generalized to volume meshes by considering splitting each tetrahedron into four hexahedra by adding central points to each cell and face. In this setup, singularities can appear as lines linking centers of faces to centers of tetrahedra.

  2.2 Surface Meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.2.1 Definition of a Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.2.2 Discrete Differential Geometry . . . . . . . . . . . . . . . . . . . . . . . 31 2.2.3 Parametrization of a Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.3 Surface Parametrization for Texture Mapping . . . . . . . . . . . . . 37 2.3.1 Tutte's Embedding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.3.2 Free-boundary Parametrization, Conformal Maps . . . . . . . . . . . . . 39 2.3.3 Foldover-free Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.3.4 Distortion Minimization . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.3.5 Introducing Cuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.3.6 Beyond Disk Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.3.7 Making Seams Disappear . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.4 Seamless and Grid-preserving Parametrization Applied to Quadmeshing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.4.1 Overview of Quad Generation Methods . . . . . . . . . . . . . . . . . . 50 2.4.2 The Parametrization-based Approach to Quadmeshing . . . . . . . . . . 52 2.4.3 Computing a Cone Distribution using Smooth Frame Fields . . . . . . . 57 2.4.4 Rotationally Seamless Parametrization . . . . . . . . . . . . . . . . . . . 62 2.4.5 Grid-preserving Parametrization . . . . . . . . . . . . . . . . . . . . . . 65

  Final optimization problem . . . . . . . . . . . . . . . . . . . . . . . . . 153 6.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

Contents 6.1 Periodic Global Parametrization . . . . . . . . . . . . . . . . . . . . . 138 6.1.1 Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 6.1.2 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 6.1.3 Behavior and Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . 142 6.2 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 6.3 Seam-agnostic Oscillator Functions . . . . . . . . . . . . . . . . . . . . 144 6.3.1 Symmetry Sets and Functional Representation . . . . . . . . . . . . . . 144 6.3.2 Decomposition in Fourier Basis . . . . . . . . . . . . . . . . . . . . . . . 144 6.3.3 Oscillator Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 6.4 Parametrization Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 6.4.1 Setup per Triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 6.4.2 Feature Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 6.4.3 Adjacency Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 6.4.4 Injectivity and Distortion . . . . . . . . . . . . . . . . . . . . . . . . . . 152 6.4.5 Oscillators Validity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 6.4.6

  T . (F c ) 6.4. Parametrization Setup R(J t s t (j))ψ t R(J t s t (i))ψ t R(J t s t (k))ψ t ψ t J t s t (i) J t s t (j) J t s t (k)

https://en.wikipedia.org/wiki/List_of_map_projections

https://en.wikipedia.org/wiki/List_of_map_projections

A 3-connected graph is graph that remains connected whenever fewer than 3 vertices are removed. This includes polygonal meshes where each face has at most 2 vertices on the boundary.

While these "cotan weights" are the correct discretization, they are unfortunately not always positive, which breaks the injectivity guaranty.

https://gitlab.com/franck.ledoux/mambo

https://github.com/BrunoLevy/GraphiteThree

Remerciements

with sphere topology will have total Gaussian curvature equal to 4π (g = 0), any surface with a single hole, a total Gaussian curvature of 0 (g = 1) and so on [O'Neill 2006, p.374].

co-bureau pendant près de trois ans et demi.

4

The Method of Moving Frames for Surface Global Parametrization Free boundary parametrization. So far, we focused on computing a parametrization with a cone metric where cones are constrained to have 2π/n curvature, with n > 1. By setting n = 1 in Equation (F n ), cones are therefore forced to take values of either 2π, which implies that at least one chart will be flattened or flipped, thus contradicting the injectivity condition of Equation (I 1 ), or -2π, which implies a "double covering" which is impossible in our setting (see Theorem 4.3). Therefore, no singularity can appear in a parametrization that satisfies Equation (F n ) for n = 1. Besides, by omitting boundary constraints of Equation (B) in the optimization, our algorithm is able to produce free boundary parametrization with minimal distortion for disk-shaped models. Figure 4.17 presents four of such parametrizations.

Comparison With Other Methods

We now provide comparisons with previous works computing rotationally seamless maps for n = 4 by considering our two distortion metrics scale and stretch. For a more precise analysis than just an integrated value, we plot distortion histograms in log scale of the triangle count. When quad meshes are provided, they are obtained by computing an integer grid map using the method of Bommes et al. [2013a] and by then extracting quads following [START_REF] Ebke | QEx: Robust Quad Mesh Extraction[END_REF]. Most importantly, they have the same singularities (positions and indices) as the input parametrizations.

Comparison with [START_REF] Levi | Direct Seamless Parametrization[END_REF] Levi directly computes a seamless parametrization from a triangle mesh using a greedy algorithm. However, this method seems very dependent on its initialization: for the Dilo model in Figure 4.20, the singularities appear on a single side of the mesh and seem unrelated to the geometry. The parametrizations provided by the author minimize the maximum stretch over all triangles. This can be observed in Figure 4.19 where the stretch is bounded. In comparison, our method yields a higher maximal value but a smaller stretch for a majority of triangles (see histograms), as well as a reduced number of cone singularities -16 against 217. Our optimization does not attempt to reduce triangle scaling in this case, thus our scale distortion is not as competitive. In Figure 4.21, we observe that our obtained quads are overall slightly less distorted for a smaller number of singularities (73 against 105).

(1ıω ij /2)r ij J j e i j = (1 + ıω ij /2)J i e j i (J ) Therefore, both versions of an edge in corresponding triangles should match in parameter space up to the rotation cay -1 (ω ij ) and the inverse parallel transport.

Local injectivity

In order to ensure local injectivity, we require that areas of triangles in the parametrization stay positive. Given our formulation with Jacobian matrices, this boils down to a simple positivity constraints on matrices' determinants:

Reconstruction

Now that we detailed the expression of our system of equations in this face-based discretization, we focus on the parametrization reconstruction. Given a set of Jacobian matrices J t that satisfy Equations (J ), (F n ) and (I), we will show that we can extract a valid seamless parametrization.

We can indeed use a very similar algorithm as the vertex-based reconstruction described in Section 4.6 with the difference that triangles are readily available as single charts and singularity cones can only appear at vertices. The reconstruction scheme is therefore simpler and can be done in four steps:

1. Reconstruct triangles independently by applying their matrix J t to their initial coordinates;

2. Recover a basis z per triangle from the power vector v by finding the smallest symmetry rotation along a tree;

3. Rotate each triangle with relation to their respective bases;

4. Recursively stitch adjacent triangles along the tree.