[tel-00004681, v1] Modélisation géométrique de surfaces lisses

232
MEMOIRE d’HABILITATION pr´ esent´ e par Stefanie Hahmann pour obtenir le grade de L’Habilitation ` a Diriger des Recherches de l’INSTITUT NATIONAL POLYTECHNIQUE DE GRENOBLE Sp´ ecialit´ e: Informatique et Math´ ematiques Appliqu ´ ees Mod´ elisation g´ eom´ etrique de surfaces lisses: Design et Fairing Date de soutenance: 21 d´ ecembre 2001 Composition du jury Pr. Guy MAZARE Pr´ esident Pr. Pere BRUNET Rapporteur Pr. Gerald FARIN Rapporteur Pr. Jean-Claude LEON Rapporteur Pr. Hans HAGEN Examinateur Pr. Bernard LACOLLE Examinateur Pr. Claude PUECH Examinateur Habilitation pr´ epar´ ee au sein du laboratoire LMC/IMAG tel-00004681, version 1 - 16 Feb 2004

Transcript of [tel-00004681, v1] Modélisation géométrique de surfaces lisses

MEMOIRE d’HABILITATIONpresente par

Stefanie Hahmann

pour obtenir le grade de

L’Habilitation a Diriger des Recherches

de

l’INSTITUT NATIONAL POLYTECHNIQUE DEGRENOBLE

Specialite: Informatique et Mathematiques Appliquees

Modelisation geometrique de surfaces lisses:

Design et Fairing

Date de soutenance: 21 decembre 2001

Composition du jury

Pr. Guy MAZARE President

Pr. Pere BRUNET Rapporteur

Pr. Gerald FARIN Rapporteur

Pr. Jean-Claude LEON Rapporteur

Pr. Hans HAGEN Examinateur

Pr. Bernard LACOLLE Examinateur

Pr. Claude PUECH Examinateur

Habilitation preparee au sein du laboratoire

LMC/IMAG

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Meinen Eltern

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Remerciements

Remerciements

Je tiens à adresser mes plus vifs remerciements aux membres de mon jury:Pere Brunet, Gerald Farin et Jean-Claude Leon qui ont accepte d’etre mesrapporteurs, Hans Hagen, Bernard Lacolle et Claude Puech que je remerciepour l’interet qu’ils portenta mes travaux, ainsi que Guy Mazare qui m’a faitl’honneur de presider ce jury.

Les travaux decrits dans ce memoire ontete effectues au sein de l’equipeModelisation Geometrique et Approximation du Laboratoire de Modelisationet Calcula Grenoble. Je tiensa remercier Bernard Lacolle, alors chef d’equipe,pour l’accueil dans sonequipe lors de mon arriveea Grenoble, pour les excel-lentes conditions de travail, et pour la confiance qu’il m’a accordee.

Je remercie chaleureusement lesetudiants dont j’ai dirige les recherches etqui ont contribuea ces travaux, en particulier Stefan Konz, Riadh Taleb et AlexYvart.

Un grand mercia Georges-Pierre Bonneau, Nicolas Szafran et Luc Biardpour leur aide et le soutien qu’ils m’ont apportes.

Enfin, je tiensa remercier Franc¸ois Robert, Jean-Louis Soler et Jean DellaDora de m’avoir accueillie si chaleureusementa l’ENSIMAG et de m’avoiroffert un environnement d’enseignement ideal, tres enrichissant et ouvert.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Table des matieres

Table des matieres

Synthese: Modelisation geometrique de surfaces lisses 5

1 Surfaces definies sur des triangulations polygonales quelconques 111.1 Continuite geometrique et probleme de compatibilite du twist 131.2 Etat de l’art 151.3 Vers une modelisation hierarchique de surfaces triangulaires lisses 18

2 Interpolation lisse reguliere par subdivision de triangles 202.1 Raccordement lisse en un sommet de la triangulation 202.2 L’algorithme en 3etapes 232.3 Interpolation de normales — localite stricte du schema 27

3 Parametres de forme 283.1 Necessite de parametres de forme 283.2 Generalisation du 4-split 293.3 Choix des parametres de forme 32

4 Interpolation lisse generalisee 354.1 Motivation 354.2 Compatibilite du twist 364.3 Construction des courbes frontiere et des tangentes trans-frontiere 384.4 Exemples 39

5 Design hierarchique 415.1 Hierarchisation de surfaces lineaires par morceau 425.2 Modele hierarchique de surfaces lisses 455.3 Exemples 48

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Table des matieres

6 Lissage de surfaces 516.1 Importance d’une surface lisse 51

6.2 Mesures et algorithmes 52

6.3 Outils de controle visuel 54

7 Une approche heuristique pour le lissage 557.1 Lissage local et iteratif de surfaces B-spline bicubiques 56

7.2 Recherche heuristique d’une solution optimale 59

8 Fairing local et iteratif utilisant des masques 628.1 Mesure de fairness 62

8.2 Uneetape de lissage et l’algorithme "FairC3" 64

8.3 Extension de l’etape de fairing: utilisation de masques de lissage 65

9 Bilan et perspectives 68

References 71

Articles et publications de 1995-2001 77

1 Triangular G 1 interpolation by 4-splitting domain triangles 79

2 Localizing the 4-split method for G1 free-form surface fitting 109

3 Smooth irregular mesh interpolation 125

4 Polyhedral Modeling 137

5 Polynomial surfaces interpolating arbitrary triangulations 147

6 Knot-removal surface fairing using search strategies 171

7 Shape improvement of surfaces 181

8 Visualization techniques for surface analysis 201

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Premiere Partie

Synthese: Modelisation

geometrique de surfaces lisses

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Introduction

Introduction

Les travaux de recherche decrits dans ce memoire d’habilitation se situentdans le domaine de la modelisation geometrique (Computer Aided GeometricDesign). Ce domaine trouve son origine dans le besoin en courbes et surfaces deforme libre dans la technologie CAD/CAM, et est devenu ces dernieres anneesun domaine de recherche important de l’informatique et des mathematiquesappliquees, dont la dimension applicative est cruciale.

Un modele geometrique est necessaire par exemple lorsque l’ordinateur estutilise pour la conception et la fabrication d’une piece de carrosserie. Il estconstitue d’un ensemble de donnees structurees, et doit en particulier decrirela geometrie de l’objet. A cette fin, on utilise presque toujours les courbes etsurfaces parametriques qui sont l’objet principal de mes recherches. Le modelegeometrique est d’une maniere generalea la base du traitement graphique dedonnees. Le champ d’application de ces algorithmes, loin de se reduirea laCFAO (Conception et Fabrication Assistees par Ordinateur), s’etenda des do-maines tels que la geographie, avec les methodes dites de “Scattered Data",a la medecine, par la reconstruction tridimensionnelle de donnees RMN,al’industrie du film grace aux techniques d’animation,a l’architecture...

Modelisation de Surfaces LissesLes recherches developpees dans ce memoire ne concernent que des travaux

post-doctoraux et leur sujet est bien distinct de ceux traites pendant la these. Ilne s’agit donc pas de prolongations des travaux de these.

Ces travaux portent sur le probleme de la modelisation de surfaces lisses.L’importance qui est donnee au caractere lisse d’une surface depend de l’utili-sation prevue de la surface, i.e. de l’application. L’exigence en terme de qualiteest par exemple tres grande dans l’industrie automobile ou la moindre imper-fection est inacceptable pour la surface d’une voiture. Les surfaces de treshaute qualite sont d’ailleurs dites de "classe A" dans le langage de certainsconcepteurs de logiciels CAO. Historiquement c’est dans ce secteur industrielque sont nees les methodes de base pour la conception de courbes et surfacesde forme libre: Bezier (Renault), De Casteljau (Citroen), Gordon (General

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Introduction

Motors), Coons (Ford). L’utilisation des technologies CAD/CAM basees surdes surfaces de forme libre type B-spline, s’est imposee dans tous les logi-ciels de conception assistee. Beaucoup d’objets banals de la vie courante,que ce soit par exemple un grille pain, un seche cheveux, ou un telephoneportable sont le resultat d’un processus de design base sur ce type de sur-faces. Les surfaces de ces objets, bien que leur objectif principal ne soit pasde plaire visuellement mais de satisfaire une certaine fonctionnalite, ne doiventpas pour autant comporter de defauts. Ces surfaces doiventetreesthetiquementlisses. D’autres domaines d’applications comme l’aeronautique ou la con-struction navale necessitentegalement des surfaces lisses, mais cette fois pourdes raisons fonctionnelles et techniques. Le carenage d’un avion ou la coqued’un bateau par exemple ne doivent pas presenter trop d’oscillations, afin derespecter certaines proprietes aero- ou hydrodynamiques.

Les travaux decrits dans ce memoire abordent la modelisation de surfaceslisses selon deux approches differentes. La premiere approche consistea faireen sorte - des le debut du processus de conception - que des contraintes liees aulissage de la surface soient respectees. La seconde approche se situea un stadeplus aval du processus de conception: elles consistea modifier une surface dejaexistante, de manierea la rendre lisse, tout en la deformant le moins possible.

Surfaces lisses de topologie quelconque

Modeliser des surfaces lisses de topologie quelconque aete une preoccupationpermanente en CAGD (Computer Aided Geometric Design). En effet lesparametrisations classiques de surfaces basees sur un produit tensoriel ne sontpas adapteesa la representation de topologies quelconques. Une premiere vaguede travaux de recherche a consiste a developper des interpolants polynomiauxde triangulations polygonales quelconques. Mais ces travaux n’ont pas donnede resultats convaincants, principalementa cause du decoupage non reguliereffectue sur chaque triangle donne en entree. Plus tard sont apparues les surfacesde subdivision, qui peuvent approximer ou interpoler un maillage de topologiequelconque. Ces surfaces rencontrent actuellement un succes grandissant dansles logiciels destinesa l’animation (Maya d’Alias-Wavefront,Softimage) et plusrecemment sont en passe d’etre introduites dans les logiciels de CAD/CAM*.Mais ces surfaces ont le defaut de ne pas avoir de parametrisation explicite. Deplus les surfaces de subdivision interpolantes produisent de mauvais resultatssi la triangulation donnee en entree n’est pas reguliere.

L’ambition des recherches menees sur lessurfaces lisses de topologie quel-conqueaete de revenira la source de la premiere vague de travaux conduits surles interpolants polynomiaux, mais en introduisant un autre decoupage, reguliercette fois ci, des triangles donnes en entree. Ce decoupage regulier a permisd’obtenir de meilleurs resultats que ceux donnes par les precedentes methodespolynomiales.

* comme le montre la these CIFRE de Loıc Le Feuvre avec Dassault Systemes, que j’encadre

depuis septembre 2001.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Introduction

Un autre avantage fondamental de ce nouveau decoupage regulier aetede permettre d’envisager une hierarchisation des procedes d’interpolation.Les methodes d’interpolation polynomiales deja existantes, basees sur undecoupage en trois de chaque triangle, par insertion d’un sommeta l’interieur,ne permettaient en effet pas l’etablissement d’un schema hierarchique. L’ap-plication hierarchique de ce decoupage en trois conduit tres rapidementa destriangles presque degeneres, eta un schema numeriquement instable. Con-trairementa ces methodes, le decoupage regulier utilise dans les nouveauxinterpolants presentes dans ce memoire ne conduita aucune degenerescencedes triangles. Cette difference cruciale a conduita rechercher l’etablissementd’un schema d’interpolation invariant par subdivision, i.e. qui donne le memeresultat qu’il soit applique a une triangulation oua cette meme triangulationapres une certaine subdivision reguliere. Il devient alors possible d’avoir unmodele de surface multiresolution, parametrique, et permettant de decrire destopologies quelconques, applicable dans des domaines aussi divers que la CAO,la realite virtuelle ou la medecine. Les modeles multiresolution de topologiequelconque ont donne lieua de nombreuses publications ces dernieres annees.Ils permettent en effet d’editer des modeles complexesa differentes resolutions,de representer de maniere compacte des modeles presentant des caracteristiquesa desechelles diverses, ou encore d’accelerer le rendu des surfaces complexes.Le nouveau modele hierarchique developpe dans ce memoire permet ainsitoutes ces applications, tout en possedant une parametrisation polynomiale ex-plicite.

Lissage de surfaces

Le developpement d’une nouvelle methode pour l’interrogation de la qualite desurfaces, capable de detecter des imperfections, lors de ma these a ensuite toutnaturellement conduita s’interesser aux algorithmes permettant d’ameliorerla qualite d’une surface deja construite. Le critere de qualite est dans ce casl’apparence subjective “lisse" de la surface, d’ou le nomlissage de surfacespour ce type d’algorithme.

Deux methodes de lissage, basees sur la diminution des variations des cour-bures, vontetre introduites. Les premieres utilisent des strategies de rechercheheuristiques ou systematiques. Les secondes reposent sur la convolution dureseau des points de controle de la surface par des filtres discrets, imposant lacontinuite de classe C3aux nœuds de la surface.

Ce memoire est structure de la maniere suivante:

Chapitre 1

Ce chapitre donne une introduction au theme de la construction de surfaceslisses de topologie quelconque, en exposant le probleme de twist que soulevele raccord d’un nombre arbitraire de facettes, et en donnant un brefetat de l’artsur les differentes approches developpees jusqu’a present. Les motivations destravaux presentes dans la premiere partie de ce memoire concluent ce chapitre.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Introduction

Chapitre 2

Une premiere methode d’interpolation des sommets d’un reseau triangulaire detopologie arbitraire par une surface G1 polynomiale par morceaux est presentee.L’originalit e de la methode consistea effectuer une subdivision en quatre destriangles, appelee 4-split. La surface a une representation explicite de Beziertriangulaire de degre 5, est affinement invariante, de support local et possedeun certain nombre de parametres de forme. Une premiere generalisation de lamethode permet en particulier d’accroıtre la localite du schema d’interpolation.

Chapitre 3

Diff erents travaux sur l’emploi optimal des parametres de forme de ce typed’interpolant, ainsi qu’une generalisation en vue de liberer les contraintes surles courbes du bords, faisant de cette methode un outil de design de formes detopologie quelconque performant, sont presentes dans ce chapitre.

Chapitre 4

Les travaux precedents incluant l’interpolant polynomial et ses generalisationsau niveau des parametres de forme se sont pourtant averes ne pasetre exploita-bles pour la multiresolution comme nous l’avions souhaite initialement. Seulela methode d’interpolation irreguliere qui fait l’objet de ce chapitre est appro-priee aux applications multiresolution, car elle possede la propriete d’invariancepar subdivision. Plus precisement, l’interpolation appliquee a une certainesubdivision de la triangulation donnee en entree donne le meme resultat quel’interpolation appliqueea la triangulation non subdivisee.

Chapitre 5

Ce chapitre expose le developpement d’un modele hierarchique de surfaceslisses base sur les algorithmes d’interpolation precedemment introduits. Lastructure de donnees pour le codage de l’information topologique et geome-trique est d’abord decrite pour le cas de surfaces lineaires par morceau et ensuiteadaptee aux surfaces lisses.

Chapitre 6

Une introduction au deuxieme theme de ce memoire - le lissage de surfacesdeja existantes - ainsi qu’aux methodes de controle visuel de la qualite d’unesurface est donnee.

Chapitres 7 et 8

Deux types de methodes de lissage de surfaces B-spline, basees sur la diminu-tion des variations des courbures, sont introduites. Les premieres utilisent desstrategies de recherche heuristiques ou systematiques. Les secondes reposentsur la convolution du reseau des points de controle de la surface par des filtresdiscrets, imposant la continuite de classe C3aux nœuds de la surface.

Ce memoire se conclue par un bilan et des perspectives au chapitre 9.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Surfaces definies sur des triangulations polygonales quelconques

Chapitre 1

Surfaces definies sur destriangulations polygonales

quelconques

La construction d’une surfacea partir d’un ensemble de points controlant intu-itivement sa forme est devenue, en CAGD, la methode la plus populaire pour lamodelisation de surfaces de forme libres (free-form surfaces). Une surface estgeneralement definie par une carte polynomiale (eventuellement rationnelle)d’un domaineplanairesubdivise en un reseauregulierde rectangles ou de tri-angles, conduisanta une collection de facettes produit-tensoriel ou triangulaires(Bezier ou NURBS produit tensoriel, B-splines triangulaires, Box-splines) [4,27, 48, 78, 3]. Ces surfaces, en particulier les NURBS (non uniform rational B-splines) se sont imposees dans les modeleurs geometriques professionnels pourle design de surfaces de forme libre comme CATIA, Euclide, Cascade, Ideas,mais aussi dans les logiciels destinesa l’infographie comme Maya, Softimage.

Il n’est pourtant pas possible de representer toute forme geometrique com-plexe par une seule surface produit tensoriel. Par exemple, quand le bord d’unesurface doit avoir l’allure d’une marche d’escalier comme illustre en fig. 1-gauche, alors une representation produit tensoriel unique ne peut la modelersans l’introduction de distorsions non souhaitable de la parametrisation. Uneautre difficulte apparaıt lors de la creation de formes geometriques lisses detopologie non rectangulaires comme la configuration triangulaire d’un simplecoin de valise, ou comme la configuration pentagonale d’un coin de maisonavec le trottoir, illustrees en fig. 1. Il est toujours possible de remplir ces regionsavec des facettes rectangulaires, mais cela introduit des sommets voisinsa troisou cinq facettes, ce qui est incompatible avec une subdivision reguliere dudomaine planaire requise pour les surfaces produit tensoriel. Des solutionsparticulieres ontete developpees pour des configurations bien precises [84, 30,86, 102]. D’autres solutions plus generales, comme les S-patchs [61] ne sontpas utilisables en pratique car leurevaluation est trop complexe.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 1

figure 1: Configuration non produit-tensoriel.

D’autre part et de maniere plus generale, les definitions classiques desurfaces citees plus haut ne permettent pas la modelisation de surfaces de typetopologique arbitraire, p. ex. les surfaces fermees, les surfaces avec une poigneeou avec des branches. Des donnees triangulees peuvent par contre representerdes types topologiques plus generaux de maniere unifiee, comme illustre fig. 2.

Si ces surfaces apparaissent encore rarement en CAO, elles sont courantesen realite virtuelle, pour la modelisation de personnages, en medecine, pourla modelisation de protheses, et de maniere generale pour la reconstructiontridimensionnelle d’objets reels.

figure 2: Triangulations polygonale de type topologique arbitraire.

Depuis une dizaine d’annees deux types de modelisation surfaciques basessur des triangulations arbitraires se sont developpes en parallele, avec desapplications (initialement) bien opposees:

- les surfaces parametriquesinterpolant une triangulation polygonale quel-conque,

- les surfaces de subdivisionapproximant ou interpolant un maillage trian-gulaire ou rectangulaire.

Les algorithmes de subdivision raffinement recursivement un maillage, jusqu’aconvergence vers une surface lisse. Les schemas non-interpolants [12, 17, 60]

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Surfaces definies sur des triangulations polygonales quelconques

generent des formes lisses et agreables, ils sont rapides et d’une complexitereduite, ce qui explique leur recent succes dans la communaute informatiquegraphique. Les schemas de subdivision triangulaires interpolants [20, 104]ne produisent pas toujours des surfaces de qualite suffisante. De maniereplus generale, les surfaces de subdivision n’admettent pas de definition ana-lytique. C’est la raison pour laquelle elles ne sont actuellement pas adapteesa la modelisation geometrique en vue d’une fabrication numeriquement as-sistee comme le sont les surfaces parametriques. Certains travaux tres recentssur les contraintes de bord [58], l’evaluation en un parametre [94], ou encorel’intersection et le trimming [59] tentent neanmoins d’adapter les surfaces desubdivision au domaine de la CAO.

Les travaux presentes dans la premiere grande partie de ce memoire auxchapitres 2-5 concernent dessurfaces parametriques interpolantes. Ces sur-faces interpolent un ensemble de points de

arbitrairement distribues, dontle type topologique est determine par une triangulation polygonale surfaciquereliant les points. Cette triangulation peutetre quelconque. Elle consiste en unensemble de faces triangulaires, d’aretes et de sommets ainsi qu’en les infor-mations d’adjacences entre ces entites, le tout devant representer une varietede dimension 2. Les surfaces sont triangulaires par morceau, et sont construi-tes en bijection avec les facettes triangulaires du maillage. Elles sont lissesdans le sens ou elles ont un plan tangent continu entre les facettes. Une tellecontinuite est appele continuite geometrique d’ordre 1, et est notee G1. Cetype de surfaces est le mieux adapte aux problemes de CAO, de reconstruction3D, de modelisation de formes complexes et de topologie quelconque pour lamedecine, ou la realite virtuelle.

Dans ce chapitre d’introduction, nous commenc¸ons en sect. 1.1 par preciserla definition de la continuite geometrique, et pareclairer les difficultes quesouleve le raccord d’un nombre arbitraire de facettes. Dans la section 1.2 lestravaux sont passes en revue dans unetat de l’art avec discussion. Enfin lasection 1.3 precise les motivations des travaux presentes dans la premiere partiede ce memoire qui sont liees au developpement d’un schema d’interpolationsurfacique parametrique hierarchique.

1.1) Continuite geometrique et probleme de compatibilite du twist

Le concept de continuite geometrique s’est revele etre tres avantageux par rap-port a celui de continuite parametrique. Il est plus souple et geometriquementplus significatif. De plus, le raccordement parametrique C1entre facettes sur-faciques depend de la parametrisation des facettes, et n’est donc pas invariantpar transformation des parametres. On dit que deux facettes surfaciques decourbe frontiere commune se raccordent avec la continuite G1 si le plan tan-gent est bien definie le long de la courbe commune. Ceci implique qu’enchaque point de la courbe frontiere commune, toutes les derivees premieres

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 1

sont co-planaires.

Nous allons brievement traiter la continuite G1 entre deux facettes avantd’expliquer par la suite le probleme qui se pose lorsque l’on veut raccorder unnombre arbitraire de facettes partageant un sommet. La methode de resolutionde ce probleme, appele incompatibilite du twist, permet de classer les differentsschemas d’interpolation de triangulations polygonales.

Continuit e G entre deux facettes triangulaires[23, 27, 18, 80]Soient et deux facettes de Bezier triangulaires de degre n. La facette (resp.) est parametree par (resp. ). Les notationscorrespondenta celles donnees dans la figure 3.

Deux facettes et se raccordent avec continuite G1 si et seulement si

Il existe des fonctions reelles telles que

et

sont les derivees trans-frontiere de et respectivement.La condition(C1) exprime la continuite C0 entre deux patchs. La condition(C2) traduit la coplanarite des vecteurs tangents. La condition(C3) assure unplan tangent bien defini, et la condition(C4) garantie la bonne repartition desderivees transverses sur ce plan tangent de part et d’autre de la courbe frontierecommune.

Probleme de compatibilite du twist

u i

ui

ui−1

ui+1

Si−1

Si

...

Si+1

pi−1

pi−1

pi

pi−2

p

figure 3: Parametrisation de n patchs autour d’un sommet commun.

Consideronsa present le probleme du raccordement G1 de patchs de Bezier ayant un sommet commun, comme illustre en fig. 3.La condition(C2) doit etre satisfaite entre toutes les paires de patchs , , (les indices sont toujours pris modulo autour d’un sommetde degre ). En derivant l’equation(C2) par rapporta , et enevaluant en , il vient:

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Surfaces definies sur des triangulations polygonales quelconques

Ce systeme d’equations fait apparaıtre deux types de quantites: celles qui nedependent que des courbes separant les patchs (

,

,

,

), et celles qui font intervenir les derivees croisees

, . Ainsi si l’on suppose que les courbes separant les patchs sontfixees, alors un systeme d’equations liant les derivees croisees, encore appeleestwists, doitetre verifie. Or il se trouve que la nature cyclique de ce systemed’equations fait qu’il ne possede en general pas de solution lorsque le degredu sommet est pair. C’est le probleme de compatibilite du twist. La manierede resoudre ce probleme est le point principal qui differencie les diverses ap-proches que nous allons presenter dans la section suivante.

1.2) Etat de l’art

Pour commencer cetetat de l’art, nousenumerons quatre proprietes geome-triques, qu’il est souhaitable de voir verifier par un algorithme d’interpolationde donnees par des surfaces lisses. Ces proprietes determinent en grande partiela qualite des resultats obtenus, ainsi que la faisabilite et l’interet pratique desalgorithmes. Par la suite, les differents travaux sont groupes selon la methodede resolution du probleme de compatibilite du twist, decrit dans la sectionprecedente. Enfin une discussion portant sur un comparatif de la qualite desresultats des divers algorithmes conclue cetetat de l’art.

Propri etes geometriques

- La localite : on peut dire qu’un schema de construction de surfaces estlocal lorsqu’un changement local du reseau surfacique, en entree, n’affectela surface d’interpolation que localement. La forme de la surface peut ainsietre controlee localement, et sonedition peutetre effectuee en temps reel.

- L’ interpolation de positionou deposition-normale: l’interpolation dessommets du reseau surfacique est l’une des proprietes importantes d’unemethode de construction. Il est aussi connu que l’interpolation des vecteursnormaux influence considerablement la qualite des surfaces.

- La representation polynomiale expliciteet undegre basdes patchs : chaquepatch est donne par un petit nombre de points de controle, ceci permet unstockage optimise de la surface.

- Les parametres de formeofferts par la methode permettent de satisfaireautomatiquement certaines proprietes geometriques tout en controlant lo-calement la forme de la surface.

Resolution de la compatibilite du twist

Le point principal differenciant toutes les methodes existantes est la resolutiondu probleme de compatibilite du twist. Cinq approches principales se dis-tinguent clairement et regroupent la quasi totalite des travaux portant surl’interpolation de triangulations polygonales.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 1

L’approche par subdivision Clough-Tocher(Farin [24], Piper [80], Shirmanet Sequin [92]) construit plusieurs sous-facettes pour chaque face du reseau.Chaque triangle domaine est subdivise en trois sous-triangles en joignant lebarycentre avec les trois sommets, c’est le decoupage dit "a la Clough-Tocher".Le probleme de compatibilite du twist est ainsi deplace des sommets au centrede chaque triangle ou il est resolu.

L’approche par combinaisons convexes(Nielson [72], Gregory [30], Hagen[33]), resoud le probleme de twist par l’introduction de quelques termes ra-tionnels dans une combinaisonconvexede plusieurs facettes polynomiales. Ledenominateur du twist devient nul, ce qui implique un twist non defini, et parla meme supprime le probleme de compatibilite du twist.

L’approche par facettes implicites(Bajaj et Ihm [1]) utilise la classe des facettespolynomiales implicites avec une singularite en chaque sommet.

L’approche par facettes degenerees(Peters [77], Bohl et Reif [9]) utilise laclasse des facettes polynomiales degenerees en chacun de ces sommets afin defaciliter la solution du probleme de compatibilite du twist.

L’approche des courbes frontieres (Herron [47], Peters [76], Loop [62]) con-sistea choisir des courbes frontiere compatibles avec le probleme du twist.

Les nouveaux schemas que nous developpons dans ce memoire et dont lamotivation ainsi qu’une description detaillee suivra, apportent deux nouvellesapprochesa cette liste:

Uneapproche par 4-split([41, 42, 43, 8]) qui combine l’idee de la subdivisionavec celles des courbes frontiere compatibles en introduisant une nouvellesubdivision du triangle domaine pour resoudre le probleme de twist.

Une approche hierarchique([44, 45, 103]) qui permet le calcul des courbesfrontiere generalisees et qui pour la premiere fois rend le schema d’interpolationhierarchisable.

Discussion

Si un interpolant offre des parametres de forme libres, il est toujours possible,a posteriori, d’appliquer un algorithme de fairing qui generalement ameliore laqualite de la surface. Le critere lisse (ou fair en anglais) a un caractere global, ilest donc en contradiction avec la nature "locale" des schemas. Ce qui importepour un schema d’interpolation de triangulation n’est donc pas seulement lacapacite theorique de produire des surfaces lisses, mais c’estegalement lespossibilites concretes pour le choix des parametres de forme produisant dessurfaces lisses, sans pour autant entrer en contradiction avec la localite desalgorithmes. La plupart des algorithmes ne sont d’ailleurs pas satisfaisantsacetegard.

Une discussion critique des differentes approches donne finalement:

- de maniere generale, le probleme d’interpolation avec continuite G1 resteun probleme difficile.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Surfaces definies sur des triangulations polygonales quelconques

- en particulier, les methodes de subdivision de type Clough-Tocher souffrentdu fait que les angles des triangles du reseau surfacique sont divises pardeux, ce qui allonge les sous facettes deux fois plus que les faces dedepart. Cela peut menera des triangles tres allonges pouvant creer desoscillations indesirables sur la surface finale. Par contre, ces methodessont les seules permettant de choisir les courbes frontiere sans contraintesainsi que l’utilisation de facettes polynomiales de bas degre. Mann [68]et Hoschek/Lasser [48] qualifient la methode de Shirmann/Sequin [92, 93]comme celle donnant les meilleurs resultats visuels.

- les methodes par combinaisonsconvexes ont l’inconvenient de donnerdes surfaces rationnelles de degre assezeleve. D’apres Mann et al. [68],les patchs de Gregory permettent d’obtenir des qualitesa peu pres satis-faisantes. Dans la these de Du [18], ces surfaces rationnelles ontete utiliseespour la reconstruction 3D. Mais tout calcul sur la surface (derivation, cour-bures, lignes de reflexion, etc) devient tres couteux.

- Les facettes algebriques ou degenerees sont tres originales du point devue theorique. Les premieres ont une definition implicite et non expliciteet necessitent un environnement de calcul specifique. Les secondes ontl’inconvenient d’imposer une contrainte severe sur les twists ce qui peutrendre difficile la modelisation de surfaces de topologies quelconques. Parcontre, les resultats sur des reseaux de configurationconvexesemblentetresatisfaisants.

- la methode de Loop est une approchea part, car elle n’a pasete concue audepart pour l’interpolation mais pour l’approximation du reseau surfacique.Si on impose l’interpolation, les courbes frontiere peuvent presenter desondulations reduisant ainsi la qualite generale de la surface. Pour l’approxi-mation, elle donne de bons resultats et la resolution du probleme de com-patibilite du twist est originale.

- La methode de Peters impose sur les courbes frontiere la contrainte d’etreC2 -compatibles avec des secondes formes fondamentales specifiees auxsommets. Cette methode ne possede pas suffisamment de parametres libresafin de controler localement la forme de la surface finale. Elle presenteneanmoins une originalite theorique dans la resolution du probleme decompatibilite du twist, avec des facettes triangulaires et/ou quadrilateres.

De maniere generale, Mann et al. [68] concluent dans leur article que lesmethodes par subdivision et combinaisons convexessouffrent toutes de pro-blemes de meme nature: il peut y avoir des ondulations - memea l’interieurdes patchs, et des zones plates. Les courbures fortes se concentrent autour dessommets et le long des courbes tandis que l’interieur des patchs reste relative-ment plat. L’origine probable de ces phenomenes, d’apres les auteurs, sembleetre la forme inadaptee et la mauvaise parametrisation des courbes frontiere,qui induiraient une distribution non-uniforme des courbures se repercutantal’int erieur des patchs.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 1

1.3) Vers une modelisation hierarchique de surfaces triangulaires lisses

Mes contributions sur les surfaces parametriques interpolant un maillage trian-gulaire quelconque decrites dans ce memoire ontete motivees par plusieurs fac-teurs. Les travaux de recherche sur les triangulations polygonales pour la visu-alisation ou l’infographie (modelisation, reconstruction 3D, animation), notam-ment autour des algorithmes de construction, de simplification, d’optimisationet de lissage [88, 46, 51 50, 49, 98, 16], ont connu recemment une crois-sance exponentielle. Parallelement, depuis une dizaine d’annees maintenant,les methodes de multi-resolution ont connuegalement un succes grandissanten modelisation geometrique et en visualisation [96, 66, 87, 22, 5, 6].

Dans cette mouvance, la motivation centrale des travaux presentes dansla premiere partie de ce memoire aete le developpement d’unschema multi-resolution pour des surfaces parametriques,applicable dans des domaines aussidivers que la CAO, la realite virtuelle ou la medecine. De precedents travaux ontpermis de franchir une premiereetape vers ce but [29], mais ils sont restreintsa l’utilisation de surfaces produit-tensoriels, et ne peuvent donc pas modeliserdes surfaces complexes de topologie arbitraire, telles que celles requises dansles domaines d’applications vises.

Dans la mise au point de ce schema multi-resolution de surfaces parame-triques, deuxelements sonta distinguer: d’une part le domaine de definitionde la surface, et sa hierarchisation, et d’autre part, l’algorithme d’interpolationlui-meme.

Triangulations Hierarchiques.

Compte tenu de la necessite de modeliser des surfaces de topologie ar-bitraire, le domaine de parametrisation qui s’est impose est une triangu-lation polygonale. Comme il aete evoque plus haut dans ce chapitred’introduction, ces triangulations permettent en effet de decrire les typesde surfaces complexes qui nous interessent. Cecietant acquis, il devientnecessaire pour mettre au point un modele hierarchique, de pouvoir enun premier temps hierarchiser le domaine de parametrisation choisi. Del’ etat de l’art des methodes d’interpolation de triangulation par des surfacespolynomiales se degageait le fait que tous ces algorithmes sont bases surun decoupage en trois des triangles, par insertion d’un sommeta l’interieurdu triangle, et connexion de ce nouveau sommet avec les trois sommetsdu triangle (decoupage dit "a la Clough-Tocher"). Ce decoupage ne peutevidemment pasetre utilise dans un schema hierarchique, puisqu’il con-duirait tres rapidementa l’introduction de triangles quasi-degeneres,et donca des algorithmes numeriquement instables. Par contre, le decoupage - ousubdivision - regulier d’un triangle en quatre, par connexion des milieux desaretes (decoupage denomme "4-Split"), est un procede de hierarchisationstable d’une triangulation. Ce procede est d’ ailleurs largement utilisedans le domaine des surfaces de subdivision [20], ou celui des ondelettes

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Surfaces definies sur des triangulations polygonales quelconques

geometriques triangulaires [64]. C’est la raison pour laquelle ce type desubdivision aete choisi pour le decoupage du domaine de parametrisationtriangulaire.

Interpolant invariant par subdivision.

Une fois le domaine de parametrisation choisi (triangulation polygonale), etle procede de subdivision fixe (subdivision 4-split), un algorithme d’inter-polation des triangulations hierarchiques ainsi definies doitetre determine.En plus des proprietes souhaitables dejaevoquees plus haut dans ce chapitre(parametrisation polynomiale, bas degre, localite du schema, ...), il devientnecessaire d’assurer l’invariance du schema relativementa la subdivisionde la triangulation. L’utilisateur d’un systeme interactif base sur ce schemadoit pouvoir subdiviser le domaine de parametrisation sans pour autant voirde modifications sur la surface resultante.

Ces deuxelements ontete le fil conducteur des travaux presentes dans lapremiere partie de ce memoire (chap. 2-5). Ils expliquent en particulierl’ evolution vers plus de generalite des differents interpolants presentes, dansle but d’en obtenir un qui satisfasse la condition d’invariance par subdivisionnecessairea la hierarchisation du schema.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 2

Chapitre 2

Interpolation lisse regulierepar subdivision de triangles

Rappelons tout d’abord que les caracteristiques delocaliteet derepresentationpolynomiale de bas degre sont des proprietes qu’un schema d’interpolationd’une triangulation polygonale devrait posseder pour des raisons de rapidited’evaluation, et de facilite d’execution de calculs sur la surface. Le problemede compatibilite du twist pourrait aisementetre resolue avec une approche dutype Clough-Tocher (decoupage en trois du triangle domaine par introductiond’un sommeta l’interieur). Mais une telle approche serait inexploitable dansune structure hierarchique. Une subdivision repetee du domaine parametriquede base menerait en effet au bout de quelquesetapesa des triangles quasi-degeneres, donca des problemes de stabilite numerique. Cela nous a amene achoisir une nouvelle direction.

Ce chapitre presente une methode originale d’interpolation d’une triangu-lation polygonale quelconque, qui est locale, polynomiale de bas degre (degre5), affinement invariante et possede des parametres de forme. L’originalite dela methode consistea effectuer une subdivision en quatre des triangles, ap-pelee 4-split dans la suite, en joignant le milieu des aretes des triangles dudomaine de parametrisation. Tout d’abord nous allons exposer en section 2.1comment le probleme de compatibilite du twist se pose concretement dansnotre cas, comment il est resolu, et en quoi le 4-split des triangles domaineen permet une resolution satisfaisante. Ensuite nous presenterons en sect. 2.2l’algorithme sans rentrer en detail dans les formules mathematiques. En sect.2.3 une premiere generalisation de la methode de base sera brievementevoquee.Elle vise en particuliera accroıtre la localite du schema d’interpolation.

2.1) Raccordement lisse en un sommet de la triangulation

Il a deja ete mentionne dans l’etat de l’art du chapitre precedent, que la concep-

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Interpolation lisse reguliere par subdivision de triangles

tion d’un interpolant polynomial d’une triangulation polygonale quelconquese focalise autour de la resolution du probleme de compatibilite du twist. Cepremier paragraphe formalisera ce probleme, et permettra aussi de fixer lesnotations qui seront utiles tout au long de ce memoire.

4-split

L’id ee generale de la methode d’interpolation par 4-split consistea faire cor-respondrea chaque triangle en entree, quatre patchs polynomiaux formant uneentite nommeemacro-patchs, comme illustre en fig. 4. Il existe donc unebijection entre les triangles d’entree et les macro-patchs. A l’interieur d’unmacro-patch, chacun des patchs polynomiaux est parametre sur un des sous-triangles obtenus par subdivision 4-split. Les aretes des triangles originaux sontainsi associees aux courbes frontiere des macro-patchs, qui sont polynomialespar morceau.

Les patchs de la surface que nous souhaitons construire sont construitslocalement autour des sommets. Soit

un sommet et sessommets voisins ordonnees selon l’orientation de la triangulation. L’entierest appele le degre du sommet. designent les macro-patchsautour d’un sommet. La parametrisation ainsi choisie est illustre en fig. 4.

u i−1

Si

.u i+1

ui

S i

Si−1

p0

1/2

1

pi

pi−1

pi+1

figure 4: Parametrisation des patchs autour d’un sommet.

Les fonctions scalaires

Pour que la surface finale ait un plan tangent bien definie en tout point, lacondition(C2) de continuite G1 doit etre satisfaite entre les facettes (voir sect.1.1). Notre methode pour assurer un raccord G1 entre des patchs polynomiauxa ete au depart influence par les travaux de Loop [62]. Par contre, le schemade Loop lui meme n’est pas conc¸u pour l’interpolation, mais seulement pourl’approximation d’une triangulation polygonale. Cela est du au fait que dansl’algorithme de Loop le bas degre polynomial et la localite du schema imposentde trop fortes restrictions aux courbes frontiere, impliquant une oscillation descourbes lorsque la triangulation est interpolee.

Faisons d’abord les memes hypothese que Loop sur les fonctions scalairesintervenant dans la continuite G1:

et ,

.Les conditions de continuite G1 entre deux facettes et s’ecrivent alorsde la maniere suivante :

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 2

. Comme illustre en fig. 3, l’indice fait referenceal’arete entre les sommets et.

Avant de pouvoir construire le raccord G1 en un sommet communa patchs, la fonction doit etre determinee. Pour cela on exprime lesequationsde continuite (1) en . On obtient le systeme de equations suivant :

ou

... ... ...

......

...

Le determinant de la matrice devant s’annuler, cela permet de calculerla valeur de

. Elle depend du degre du sommet

considere. Le meme calcul peutetre effectue au sommet, on obtiendraitla valeur

qui depend de, le degre de ce sommet. Lafonction doit interpoler ces valeurs aux extremites tout en respectant lalocalite du schema et un bas degre. C’est un des passages cruciaux de notreconstruction G1 [41], qui se differencie de celle de Loop.

Si nous prenions lineaire alors

dependrait de, et parconsequent les twists (dont le calcul fait intervenir la derivee

) depen-draient aussi des et le schema ne serait plus local. Donc pour separer lecalcul des derivees des des valeurs associees aux sommets voisins, le degredes devraitetre , comme dans Loop, si nous choisissions en un seulmorceau polynomial. Etant donnee que le degre des facettes est lie au degredes par les conditions (1), cela aboutiraita des facettes de degre tropeleve.Afin d’obtenir une surface de plus bas degre possible, il est donc souhaitable detrouver de degre minimal, tout en separant les calculs autour d’un sommetde ceux autour des sommets voisins.

Le 4-split du triangle domaine nous permet de concilier ces deux objectifs,en choisissant la fonction lin eaire par morceau. Ainsi la derivee de en0 reste independante de la valeur de en 1, tout en conservant un degre 1 pourla fonction. C’est precisement cette possibilite qui fait que le decoupage4-split permet une resolution satisfaisante du probleme de compatibilite dutwist.

11/2

1/2

1

Φ (1)i

Φ (0)iui

figure 5: fonction scalaire, lineaire par morceau.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Interpolation lisse reguliere par subdivision de triangles

Raccord G1 en un sommet communa facettes

Les conditions de continuite G1 en un sommet de degre de la triangulationconsistent en les equations (2) mettant en relation lesderivees premieresdes courbes frontiere au sommet (

). Lesderivees secondeset

les twists sont aussi impliques lorsque l’on veutetablir la continuite G1 en unsommet. Pour le voir il suffit de deriver lesequations (1) par rapporta et delesevaluer en , ce qui donne sous forme matricielle:

T

ou

...

...

...

...

...

Notons que la matrice est circulante [15]. Elle est singuliere quand ledegre du sommet est pair. Il n’y a donc en general pas de solution de cesysteme pour les twists quand les derivees premieres et secondes descourbes frontiere ontete fixees arbitrairement auparavant. C’est leprobl emede compatibilite du twist.

Le point clef pour le resoudre dans ce cas est de construire des courbesfrontiere telles que les vecteurs colonne et appartiennenta l’espace imagede la matrice . La solution du systeme contient alors les vecteurs twistcompatibles avec le reseau de courbes.

2.2) L’algorithme en 3 etapes

Notre algorithme, dont les details sont donnes en [41], s’execute en troisetapes:

(1) construction des courbes frontiere,

(2) construction des tangentes trans-frontiere,(3) remplissage des facettes.

(1) Construction des courbes frontiere

Les courbes frontiere sont construites en correspondance avec les aretes dela triangulation en entree. Cetteetape est cruciale dans la construction de lasurface, car la forme des courbes frontiere a une grande influence sur la forme dela surface. Les conditions requises sur les courbes frontieres sont les suivantes:

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 2

- interpolation des sommets du reseau surfacique,- realisation des conditions G1 aux sommets, i.e. les deux systemes (2), (3),- respect de la localite de l’algorithme.

Cette derniere condition implique que les donnees des courbes frontiere utiliseespour la réalisation des conditions G1 en un sommet sont independantes de cellesen les sommets opposes. Les donnees relatives aux courbes qui entrent dansles systemes (2) et (3) sont les derivees premieres et secondes. Mais on saitque le degre minimal pour separer les derivees premieres et secondes auxdeux extremites d’une courbe de Bezier est au moinsegal a 5. Une autremaniere de rendre independantes ces donnees consistea construire unecourbepolynomiale par morceaux degre 3constituee de deux segments se joignantavec la continuite C1. Ici encore, le 4-split esta l’origine de la baisse du degre.

b =p0i

b1i

b i

b3i

p

pi−1

pi+1

i

2

tangent plane

figure 6: Points de controle des courbes frontiere incidentes au sommet.

Adoptons pour la suite les notations matricielles suivantes pour les points deBezier des courbes frontiere entre et, :

...

...

...

...

...

Le choix des points de Bezier des segments de courbe incidents au sommet doit etre conforme au systeme (2) et (3). Dans [41] il est montre en detailque les points suivants verifient ces deux systemes, i.e. definissent des deriveespremieres et secondes qui sont dans l’espace image de , et des deriveespremieres qui sont dans le noyau de. Le probleme de compatibilite dutwist est ainsi resolu, les courbes frontiere sont dites "twist compatibles":

ou sont des matrices definies par :

si si sinon.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Interpolation lisse reguliere par subdivision de triangles

Les points de controle

et

du segment de courbe oppose, sontcalcules en appliquant les formules (4) et (5) aux sommets voisins de. est l’indice de relativement au voisinage de.

Remarque : Parametres libres

Les parametres libres controlent l’interpolation et les deriveespremieres et secondes. Il est important pour une apparence globalement lissede la surface de les choisir de maniere optimale. Nous reviendrons sur ceprobleme dans le chapitre 3.

Remarque : tangentes regulieres au sommet

Les formules (4) et (5) impliquent que les points et sont disposes, aune transformation affine pres, sur les sommets d’un polygone regulier autourde. C’est ce point qui distingue principalement les resultats presentes dansce chapitre et les chapitres suivantes. Dans le chapitre 3, cette contrainte deregularite sera relachee pour les derivees secondes, mais maintenue pour lesderivees premieres; alors que dans le chapitre 4 elle sera relachee pour toutesles derivees.

(2) Construction des tangentes trans-frontiere

Une fois les courbes frontieres compatibles aux twists trouvees, la deuxiemeetape vers la construction d’un reseau de facettes G1-continues consistea definirles tangentes trans-frontieres pour chaque courbe frontiere. Ces tangentes sontdeterminees par une formulation de la continuite G1 equivalentea (1) :

Les fonctions scalaires et les fonctions vectorielles sont determinees partrois conditions:

- continuite G1 le long de la courbe frontiere,

- les contraintes de twist aux points extremites,

- etre consistantes avec les courbes frontieres.

Ces conditions fixent certaines valeurs de ces fonctions qui ensuite doiventetreinterpolees tout en maintenant le degre de ces fonctions le plus bas possible.Ici encore le 4-split est important: au lieu d’obtenir le produit enun seul morceau polynomial de degre 4, le 4-split nous permet de choisir pource termedeux morceaux polynomiaux de degre 3se raccordant continument.

Remarque : Le degre des facettes

Les rubans de tangence sont construits sous forme cubique par morceaux ainsique les courbes frontiere. Ceci laisse penser les sous-facettes pourraientetrequartiques. Mais il s’est avere impossible en general d’obtenir des facettesquartiques sans que le schema ne devienne global. Ce point aete traite plus

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 2

precisement dans la these de Taleb [97]. Les sous-facettes doivent ainsietre dedegre 5.

(3) Remplissage des macro-facettes

Dorenavant, les macro-facettes sont considerees individuellement. La subdivi-sion 4-split du domaine menea la construction de quatre facettes triangulairespar macro-facette. Nous ne donnerons pas les valeurs des points de controledans ce memoire mais expliquerons brievement comment les calculer. Larangee frontiere et la premiere rangee interieure des points de controle de lamacro-facette sont obtenuesa partir des courbes frontieres et des tangentestrans-frontieres. Ces points assurent un raccordement G1 entre les macro-facettes voisines. Pour les formules exactes de ces points, voir [41]. Lespoints de controle interieurs restants sont choisis de telle manierea realiser unraccordement de continuite C1entre les quatre sous-facettes.

Les conditions de la continuite C1entre les sous-facettes internes d’unemacro-facette sont illustrees en fig. 7. Toute paire de triangle le long d’unecourbe interne doit constituer un parallelogramme, voir [27, 4].

a b

c d

a−b−c+d=0

figure 7: Conditions de parallelogrammes pour le raccordement C1entre les quatres sous-facettes le long des

trois courbes internes d’une macro-facette.

Nous avons pu montrer [41], que la premiere et la derniere paire de trianglesadjacents le long de chaque courbe (voir fig. 7) forment deja deux parallelo-grammes. Restea calculer les points de Bezier libres internes pour que les troispaires de triangles restantes le long de chaque courbe interne constituent aussides parallelogrammes. Cela peut se faire en quatreetapes:

(a) choisir d’une fac¸on arbitraire les trois points twists de la facette centrale,ce sont des parametres libres de forme (voir fig. 8.a),

(b) calculer les troisieme et le quatrieme points de Bezier le long de chaquecourbe interne en utilisant la seconde et la quatrieme condition de par-allelogramme (voir fig. 8.b),

(c) choisir arbitrairement les trois points de Bezier inconnus de la facettecentrale, ils sont aussi des parametres de forme libres (voir fig. 8.c),

(d) calculer les trois derniers points inconnus de Bezier restants des facettesexterieures, en utilisant la troisieme condition de parallelogramme le longde chaque courbe (voir fig. 8.d).

La surface est ainsi globalement G1 continue. Six points de controle parmacro-facette restent libres pour un controle supplementaire de sa forme.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Interpolation lisse reguliere par subdivision de triangles

(a)

(b)

(c)

(d)

figure 8: Quatre etapes pour remplir la macro-facette avec la continuite C: (a) choisir les trois twists du patch

central, qui sont libres pour le controle local de la forme. (b) calculer le troisieme et le quatrieme point de

Bezier le long de chaque arete en utilisant les conditions de la C-continuite. (c) choisir les trois derniers points

de Bezier du patch central, qui sont aussi des parametres de forme libres. (d) calculer les trois points de Bezier

restants, en utilisant les conditions de la C-continuite.

2.3) Interpolation de normales — localite stricte du schema

La methode de base du 4-split qui vient d’etre presentee n’est pas strictementlocale, dans le sens ou uneedition d’un sommet change la surface au-dela desmacro-facettes adjacentesa ce sommet. Ceci est du au fait que les courbesfrontiere et les tangentes trans-frontiere sont calculees autour d’un sommet entenant compte des sommets voisins de celui-ci, comme le montre lesequations(4). Ceci implique donc bien que le changement d’un sommet modifie nonseulement les macro-facettes adjacentesa ce sommet, maisegalement lesmacro-facettes adjacentes aux voisins de ce sommet. Une methode stricte-ment locale ne devrait modifier que les macro-facettes adjacentesa un sommetlors de sonedition.

La generalisation que nous proposons dans [43] repose sur la remarquesuivante : le voisinage d’un sommet, intervenant dans tous les calculs autourde ce sommet, peutetre remplace par un autre ensemble de points nonnecessairementegaux aux points voisins, sans pour autant affecter la continuiteG1 . La methode devient alors strictement locale. De plus l’interpolation desvecteurs normaux en les sommets devient alors possible, ce qui offre un outilsupplementaire de design.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 3

Chapitre 3

Parametres de forme

3.1) Necessite des parametres de forme

Il a ete deja evoque dans le chapitre 1 qu’un schema d’interpolation devraitpouvoir offrir suffisamment de degres de liberte tout en maintenant un basdegre polynomial de l’interpolant. Ces degres de liberte sont indispensables audesign de formes lisses et agreables (plaisantes), d’ou leur nom deparametresde forme. Il est evident que la triangulation polygonale dont les sommets sonta interpoler est predominante pour la determination de la forme de la surface.Idealement, la surface resultante devrait se comporter comme une peau lisseenveloppant la structure polygonale et arrondissant les aretes et les sommets.

figure 9: Interpolation de l’icosaedre pour differentes valeurs du parametre : 0.01, 0.12 0.2, 0.4. La ligne

du haut montre la surface et les polygones de controle des courbes. La ligne du bas montre les polygones de

controle et la triangulation polygonalea interpoler.

L’exemple de l’icosaedre permet une illustration simple de l’effet d’un desparametres de forme offert par la methode de 4-split. L’icosaedre est montre enbas en fig. 9 ensemble avec les courbes frontieres, differentes longueurs pourles derivees premieres ontete choisies. Puisque les sommets de cet icosaedrese trouvent sur la sphere unite, une reproduction de la sphere parait souhaitableet peut en effetetre obtenue avec ce schema pour un choix des parametresde forme. Une erreur maximale de a ete obtenue apres quelques essaismanuels des parametres de forme.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Parametres de forme

Concernant les parametres de forme deux difficultes majeures se posent.Premierement, posseder un grand nombre de degre de liberte sans qu’ils aientune signification geometrique n’est pas souhaitable. Deuxiemement, quandle nombre de parametres de forme est grand, comme dans notre schema, unchoix automatique des valeurs doitetre misa disposition. Ces deux aspects,l’interpretation geometrique et le choix automatique des parametres de forme,ont guide les travaux presentes dans ce chapitre.

La methode du 4-split presentee au chapitre 2 offre un certain nombre dedegres de liberte dont l’interpretation et le choix automatique ont fait l’objetd’une publication [42] (inclue page 125 de ce memoire). Il s’est avere par lasuite que cette methode de base souffre de contraintes de regularite trop fortessur les derivees premieres et secondes. Une generalisation du 4-split a doncete ensuite developpee, qui relache les contraintes sur les derivees secondes.Une etude detaillee du probleme de compatibilite du twist et de sa solutionproposee pour le 4-split a rendu possible cette generalisation. Les resultatscorrespondants ontete publiees dans [8] (inclue page 137 de ce memoire).

3.2) Generalisation du 4-split

Degres de liberte sur les courbes frontiere

La forme des courbes frontiere des facettes composant la surface interpolanteest preponderante dans la determination de la forme de la surface. On peutobtenir une surface localement aplatie si les courbes frontiere sont presqueplates. Mais si elles sont rondes, la facette correspondante seraegalementronde. Ce phenomene est illustre en fig. 9. D’ou l’importance d’avoir un ma-ximum de liberte dans la construction des courbes frontiere. Or, la methode du4-split offre en chaque sommet un seul degre de liberte vectoriel, la normale auplan tangent, et trois degres de liberte scalaires, , pour la constructionde tous les segments de courbes autour d’un sommet commun (cf.etape (1) del’algorithme en sect. 2.2). Le parametre controle la longueur des tangentesau sommet, les parametres agissent sur les derivees secondes.

La construction des courbes frontiere polynomiales est contrainte par leprobleme de compatibilite du twist qui impose en chaque sommet de severesconditions sur les derivees premieres et secondes. Une solution particuliere aete adoptee dans le 4-split du chapitre precedent. Tandis que les parametres (,vecteur normal) sur les derivees premieres sont geometriquement intuitifs, lesparametres pour les derivees secondes le sont moins. Ce constat nous aamene a developper une generalisation de la methode du 4-split qui permet unlibre choix de la derivee seconde pour chaque segment de courbe.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 3

Solution du probleme de twist revisitee

Les courbes frontiere polynomiales sont soumises aux conditions de continuiteet de twist aux sommets dont nous rappelons lesequations ici (voir aussi chap.2):

T

On rappelle que, designent les vecteurs colonne des deriveespremieres et secondes des segments de courbes frontiere en un sommet dedegre, et le vecteur compose des vecteurs twist.

Pour que le systeme de twist possede toujours une solution en, les vecteurs et doivent appartenira l’espace image de la matrice que l’on noteraIm , et doit en plus appartenir au noyau de la matrice que l’on noteraKer. La methode de Loop ainsi que le 4-split proposent deux choix par-ticuliers de et dans Im Ker et Im respectivement. Afinde construire et avec plus de libertes, il est necessaire de caracteriser lesdeux espaces Im et Ker.

Nouveau calcul des derivees premieres

Le fait d’avoir fixe les fonctions scalaires qui combinent les trois deriveespartielles le long des courbes frontiere dans la condition G1 (Condition (C2)en sect. 1.1) entre deux facettesa des valeurs constantes

implique que les

matrices et ont une structure particuliere. Elles sont circulantes. Parune analyse propre des deux matrices on peut demontrer que le noyau de lamatrice est engendre par les deux vecteurs

...

...

...

...

Or et appartiennent aussia l’espace image de la matrice , car il existe

deux vecteurs et tels que

ou

...

...

...

...

Le vecteur peut doncetreecrit comme une combinaison lineaire de et

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Parametres de forme

ou les vecteurs et peuventetre choisis arbitrairement. et sont donc desdegres de liberte pour le choix des derrivees premieres autour d’un sommet.

Interpr etation geometrique de l’equation (7):L’ equation (7) peutetre interpretee geometriquement pour faciliter le bon choixdes vecteurs et.

p b

a

r

r

r1

1

1

i

i−1

i+1

Tp

figure 10: Interpr etation geometrique des 2 vecteurs libres et dans la construction des derivees premieres.

Les lignes de en (7) sont les tangentes des courbes frontiere autour du som-met (voir fig. 10). Elles sont coplanaires dans le plan tangent en. est une base de ce plan tangent et

et sont les coordonnees des danscette base. Ces coordonnees,

signifient que les

points de controle de la premiere derivee forment une transformation affined’un polygone reguliera cotes. Cette transformation affine est explicitementdonnee par le choix des vecteurs de base du plan tangent

et.

Remarque:

Puisqu’avec cette methode on peut choisir les vecteurs de base du plan tangent,le schema peut donc aussi interpoler des vecteurs normaux pre-definis.

Nouveau calcul des derivees secondes

La deuxieme condition de continuite porte sur les derivees secondes des courbesautour d’un sommet. Elles doivent, comme les derivees premieres,etre dansl’espace image de . On peut demontrer que

Quand est impair, on peut donc choisir arbitrairement un vecteur, i.e.derivees secondes , car il existe toujours un vecteur tel que

Quand est pair, seules derivees secondes peuventetre choisiesarbitrairement. En pratique, et quelque soit la parite de, il suffit de se donner

un vecteur quelconque et de choisir comme derivees secondes .

ConclusionLa resolution du probleme de compatibilite du twist par un un choix de courbesfrontiere compatibles aux conditions G1 aux sommets aete generalisee dans ceparagraphe.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 3

3.3) Choix des parametres de forme

Dans un modeleur geometrique, les parametres de forme jouent un role clef,car ils permettent de creer des formes tres diverses pour une meme structure decontrole. Au paragraphe 3.1 nous avons retenu deux conditions necessaires surles parametres de forme: avoir une interpretation geometrique intuitive, offrir un choix automatique de leurs valeurs (valeurs par defaut).

La satisfaction de ces deux conditions permet en meme temps de repondrea laquestion principale:

Est-ce que la methode marche bien ?

Ou plus precisement, comment peut-on obtenir la forme souhaiteea partir d’unetriangulation donnee ? Le choix optimal des parametres de forme n’est pas tou-jours simple et depend beaucoup des applications. La forme de la surface finaleest tres sensible au "bon" choix de ces parametres. Il s’y rajoute la contrainteque le schema doit rester local, en particulier que les deux morceaux de courbescorrespondantsa une arete doiventetre construits de fac¸on independante.

Nous proposons deux types de procedures pour un choix des parametres deforme:

(1) design interactif,

(2) choix automatique base sur des

a) methodes heuristiques,

b) methodes d’optimisation,

c) methodes mixtes.

Pour le design interactif un modeleur graphique 3D aete developpe en collabo-ration avec Georges-Pierre Bonneau qui, apres lecture de la triangulation polyg-onale, calcule une surface interpolante par defaut, et permet ensuite la manipu-lation de la surface ou de la triangulation gracea des "manettes geometriques"(picking et deplacement de points, tangentes, normales,...) misesa disposi-tion. La localite du schema permet d’effectuer des manipulations en tempsreel a l’ecran. Si le nombre de sommets est tropeleve, le choix interactif desparametres libres devient trop fastidieux. Pour tout reseau surfacique il est detoute maniere indispensable de disposer de procedures de choix automatiquedes parametres de forme, qui seront presentees dans la suite.

Pour determiner les parametres de forme, il peutetre tentant d’avoir recoursades criteres portant sur les courbes joignant les sommetsa interpoler. En effet,la forme de ces courbes influence en grande partie la forme finale de la surface.Mais une telle methode aboutiraita un algorithme global, puisqu’il lierait lesvaleurs des parametres de forme en tous les sommets. Ainsi les deux segmentsdes courbes frontiere doiventetre determines de fac¸on independante l’un de

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Parametres de forme

l’autre pour garantir la localite du schema. Il suffit pour cela de choisir auxdeux extremites (aux sommets) les derivees premieres et secondes, la conditiond’un raccord C1fait ensuite que la courbe cubique par morceau est entierementdeterminee.

Les segments de courbe, i.e. les derivees premieres et secondes, autourd’un sommet sont determines en meme temps, car il n’y a pas assez de degre deliberte pour le faire separement. On procede en deuxetapes: d’abord le choixdes derivees premieres et puis celui des derivees secondes.

Choix heuristique des derivees premieres optimales

Deux degres de liberte vectoriels sonta disposition pour le calcul des deriveespremieres au sommet, ce sont les vecteurs et , base du plan tangent. Enpratique, il faut les determiner de telle fac¸on que les tangentes des courbesfrontieres approximent au mieux certaines tangentes qualifiees d’optimales,notees . Une regle heuristique basee sur la geometrie locale de la triangula-tion (celle de Piper [80]) permet en un premier temps de definir des tangentesoptimales qui seront ensuite approximees au sens des moindres carres:

Choix heuristique des derivees secondes

Quand le degre du sommet est pair, alors les derivees secondes peuventetre choisies librement, sinon seules derivees secondes sont libres.

Une maniere heuristique de proceder pour chaque courbe est d’essayerd’approcher la courbe cubique definie par interpolation des deux sommetsopposes sur une arete et des deux tangentes precedemment calculees. Lescourbes cubiques sont connues pour ne posseder au plus qu’un point d’inflexion,autrement dit, elles ondulent peu. Puisque les tangentes ontete estimees enfonction de la geometrie de la triangulation sous-jacente, le calcul des deriveesseconde par cette methode se faitegalement en fonction de la triangulation.

Une approche variationnelle

Un autre principe pour la determination de parametres de forme consistea em-ployer une minimisation d’energie afin d’obtenir des courbes lisses. Le point dejonction entre les deux segments est d’abord fixe de maniere heuristique (appar-tenancea une courbe cubique comme au paragraphe precedent par exemple). Ils’appellepoint cible, car en realite il ne sera qu’approche par la courbe. Il offred’ailleurs la possibilite de controler intuitivement et interactivement la formede la courbe: en deplacant ce point la courbe le suit. La necessite de fixer cepoint est due au fait que les deux segments de courbe doiventetre determineesindependant afin de garantir la localite de l’algorithme.

Ensuite la derivee seconde de chaque segment de courbe cubique peutetredeterminee separement en minimisant une fonctionnelle d’energie detaille plusbas.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 3

Cette approche variationnelle a pour objet de produire des courbes esthe-tiques et d’eviter les ondulations. Elle est un outil classique dans le domainedu "Variational Design" en CAGD. Ne citons que les travaux les plus connus,car a la fin de ce memoire nous y reviendrons [74, 34, 11, 7]. Nous utilisonsl’int egrale d’energie de tension generaliseequi consistea combiner l’energiede tension classique avec un controle sur la longueur d’arc [90, 71, 79], enversion linearisee, de la maniere suivante:

ou est une courbe cubique definie sur par les points de controle

, ,

,

, et est un parametre de lissage, permettant de courber oude tendre les courbes, i.e. de controler leur longueur. Notons que nous avonsremplace par le point cible .

Les differents principes pour la determination des parametres de forme opti-maux que nous venons de decrire ne sont que des exemples d’approches quenous avons developpes et experimentees. Les publications [42, 97, 8] contien-nent toutes un paragraphea ce sujet.

Lissage des macro-patchs

Le remplissage des macro-patchs n’a pas change par rapporta la version debase du 4-split. Comme dans le cas des courbes, les parametres libres optimauxpeuventetre choisis de maniere heuristique, variationnelle ou mixte. Il y a sixpoints de controle libre pour un remplissage lisse des patchs. En pratique, nousutilisons la minimisation d’energie suivante ( ou 3):

Bien que pour certaines triangulations des regles heuristiques donnent parfoisde meilleurs resultats, l’approche variationnelle est une methode permettantd’assurera interpoler l’interpolation par des macro-facettes lisses, quelque soitla triangulation.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Interpolation lisse generalee

Chapitre 4

Interpolation lisse generalisee

4.1) Motivation

La methode de base de 4-split presentee au chapitre 2 reposait sur un choixparticulier des derivees premieres et secondes autour des sommets de la trian-gulation: celles-ci se situent,a une transformation affine pres, sur les sommetsd’un polygone regulier. La generalisation presentee dans le precedent chapitre apermis de relacher cette contrainte pour les derivees secondes. Les degres de lib-erte ainsi requis ontete utilises pour obtenir des formes plus lisses. Neanmoinsles derivees premieres doivent encore verifier les contraintes de regularite. Orles derivees premieres influent fortement l’allure des courbes polynomiales.Ainsi si les aretes de la triangulation sont disposees plutot regulierement au-tour de chaque sommet, alors une disposition reguliere des derivees premieresconviendra, i.e. produira des courbes polynomiales frontiere dont l’allure suitnaturellement, tout en les lissant bien sur, les aretes de la triangulation. Maislorsque la triangulation est irreguliere, la contrainte de regularite des deriveespremieres peut engendrer des ondulations inacceptables.

figure 11: Au milieu: triangulation irr eguliere. A gauche: interpolation presente au chapitre 3. A droite:

interpolation par la methode generalisee presentee dans ce chapitre.

Ce phenomene est illustre en fig. 11. La triangulation polygonale se trouve aumilieu. La partie gauche montre une surface obtenue par la methode decritedans le chapitre precedent. Deux types de problemes sont visibles. Lorsqueles aretes incidentesa un sommet sonta peu pres de meme longueur, mais non-

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 4

regulierement reparties autour du sommet, alors des ondulations des courbesfrontiere apparaissent tangentiellementa la surface. Lorsque des aretes courteset d’autres longues sont incidentesa un meme sommet, alors des ondulationsorthogonalesa la surface voient le jour. La partie droite de la fig. 11 montre leresultat obtenu avec la methode qui est introduite dans ce chapitre, permettantde relacher la contrainte de regularite des derivees premieres. Les ondulationsdisparaissent clairement.

Cette section 4.1 a explique et illustre en quoi la contrainte de regularite portantsur les derivees premieres peut conduirea des ondulations indesirables dessurfaces interpolantes. Les deux prochaines sections montrent comment cettecontrainte imposee dans les methodes introduites aux chapitres 2 et 3 peutetrerelachee. L’algorithme resultant differe des precedentes dans les deux phasesde construction des courbes frontiere et des tangentes trans-frontiere. Parcontre, la phase de remplissage de l’interieur des macro-patchs est inchangee.La section suivante 4.2 detaillera la resolution de la compatibilite du twist etla section 4.3 decrira brievement la construction des courbes frontiere et desderivees trans-frontiere.

4.2) Compatibilit e du twist

Pour pouvoir relacher la contrainte de regularite des derivees premieres, il estnecessaire de revenira la source des methodes introduites precedemment. Lacontrainte de regularite est en effet une consequence de la simplification choisiepour les fonctions scalaires et intervenant dans la condition(C2) de con-tinuite G1, voir section 2.1. Ces fonctions ontete choisies dans les methodesprecedentes constantes,egalesa

. Ce choix impliquait lui-meme la valeur de

la fonction en 0: , et par suite la disposition reguliere des

derivees premieres autour de chaque sommet. Il est donc necessaire de ne plussupposer les fonctions et constantes. Des lors le probleme de compatibilitedu twist prend une forme differente que dans les methodes precedentes.

Enevaluant en un sommet, i.e. en 0, la condition generale(C2)de continuiteG1, il vient:

On rappelle que est l’indice tournant autour d’un sommet de la triangulation.L’indice a ete rajoute aux fonctions scalaires , traduisant le fait quecontrairement aux methodes precedentes, les valeurs de ces fonctions autourd’un sommet ne seront en general pasegales.

Dans les methodes precedentes, la demarche suivi aete de choisir lesvaleurs des fonctions scalaires, et d’en deduire les valeurs des derivees descourbes frontiere. Maintenant la demarche opposee est adoptee: on supposefixees les derivees premieres

a des valeurs quelconques, et on cherche

les valeurs correspondantes des fonctions scalaires. Bien entendu, les derivees

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Interpolation lisse generalee

premieres doiventetre choisies dans un meme plan, le plan tangent, puisque lasurface recherchee est G1. Ainsi les vecteurs

sont coplanaires, et la relation(C2) traduit precisement cette coplanarite.

Pour simplifier lesequations suivantes, on reutilise les notations

pour les derivees premieres,

pour les derivees secondes et

pour les twists. L’evaluation de deux produits vectoriels par

et des membres gauche et droit de(C2), suivie par celle des produitsscalaires avec un vecteur normal au plan tangent, fournit les conditionsnecessaires et suffisantes sur les valeurs :

L’interpretation geometrique de ces valeurs est illustree en fig. 12. Le degre deliberte se degageant de ces conditions provient de la coplanarite des troisvecteurs

.

r i

r i−1

r i+1

ν (0)i

µ (0)i

1

1

1

figure 12: Interpr etation geometrique des fonctions scalaires: Les valeurs sont proportionnelles

aux aires des triangles.

Le probleme de compatibilite du twist apparaıt en derivant la condition(C2)en 0:

Dans les methodes precedentes, les termes et s’annulaient puisque et etaient constantes. Et la compatibilite du twistetait resolue en imposantun choix particulier des derivees premieres et secondes. Dans la nouvellemethode, la compatibilite du twist peutetre resolue en choisissant des valeursquelconques pour les derivees premieres et pour les twists, et en deduisantde (9) la valeur de derivees secondes . Notons qu’aucun systeme lineairen’est a resoudre, puisque la derivee seconde n’apparaıt que dans une seuledesequations (9). Si cette resolution est plus simple dans ce sens, elles est parcontre moins intuitive que dans les methodes precedentes dans la mesure ou lestwists ont une signification geometrique moins direct que celles des deriveessecondes, quietaient auparavant les parametres libres. Il n’en reste pas moinspossible de choisir des derivees secondes optimales, et de determiner par la suitedes twists de telle manierea ce que les derivees secondes reelles imposees par(9) approximent aux moindres carres les derivees secondes optimales choisies.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 4

4.3) Construction des courbes frontiere et des tangentes trans-frontiere

La resolution de la compatibilite du twist presentee dans la section precedente4.2 fournit les informations suivantes en chaque sommet:

* les derivees premieres et secondes , * les twists* les valeurs en zero des fonctions scalaires .

Dans cette section, la construction des courbes frontiere et des tangentes trans-frontiere compatibles avec ces informations est decrite brievement. Les detailsont ete publies dans [44] (inclus page 147 dans ce memoire).

L’ ecriture symetrique de la condition de continuite G1, i.e. l’analogue de lacondition (6) sans la contrainte de regularite, prend la forme suivante:

Dans les algorithmes precedents, le systeme (10)etait resolu en choisissant lacourbe frontiere C1cubique par morceau interpolant les derivees premiereset secondes, et en determinant les derivees trans-frontiere verifiant (10) et inter-polant les derivees premieres et les twists. Dans le nouveau cadre generalise,cette demarche n’est plus possible, car elle aboutiraita des derivees trans-frontiere

,

, rationnelles, puisque les fonctions ne sont

plus constantes, mais lineaires, dans (10). Pour assurer qu’une solution poly-nomiale au systeme (10) existe, la seule maniere de proceder est de faire ensorte que le produit apparaisse en facteur dans les deux fonctionsvectorielles

et. Ainsi une simplification peut s’effectuer dans

les membres gauche et droit de (10), et une solution polynomiale peutetredeterminee.

Courbes frontiere

Pour que le produit apparaisse en facteur dans la derivee

le longde la courbe frontiere, tout en assurant une interpolation des derivees premiereset secondes aux sommets, ainsi qu’un raccord C1au point de jonction entre lesdeux morceaux de courbe, il faut choisir descourbes frontiere de degre 5 parmorceau. Un rapide calcul du nombre de contraintes en presence permet des’en convaincre, les detailsetant fournis dans l’article [44]:

interpolation des positions, derivees premieres et secondes enchaque extremite,

mise en facteur de pour chaque morceau de courbe, conditions de continuite C0 , C1,

——total: 12 qui correspond bien au nombre de points de controle disponibles

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Interpolation lisse generalee

dans deux morceaux de courbes de degre 5.

Derivees trans-frontiere

Il faut d’abord verifier que la fonction vectorielle peutetre choisie de basdegre, avec le produit en facteur. Les contraintes portant sur

proviennent des valeurs des derivees premieres et secondes et des twists dejafixees en les sommets. Il en suit que la position et la derivee de sont imposeesen les deux extremites de la courbe, i.e. pour et 1. Comme de plus

doit admettre le produit en facteur, peutetre choisi de la forme, ou est une fonction de degre 2 par morceau. Ce degre estsuffisant pour interpoler la position et la derivee de en les extremites, et pourassurer une continuite C0 de en 1/2, i.e. au point de jonction entre les deuxmorceaux de courbe. La continuite de est en effet imposee par la continuitedes derivees trans-frontiere.

Une fois ce calcul de effectue, et les courbes frontiere de degre 5 parmorceau calculees, alors les derivees trans-frontiere

peuventetre determinees de degre 4 par morceau. En effet, est de

degre 4, est de degre 4, et la simplification par ou dans (10)aboutit a un membre de droite de degre 4 donca des derivees trans-frontiere

de degre 4, et finalementa des patchs de degre 5comme dans les methodes precedentes.

4.4) Exemples

Cette methode se distingue de celles precedemment developpees, par un gainen flexibilite dans la construction des courbes frontieres. C’est ce que nousallons illustrer dans cette section.

figure 13: gauche: triangulation ouverte avec sommet deplace, milieu: surface interpolante obtenu avec la

methode optimisee du chap. 4, droite: surface interpolante avec derivees premieres arbitraires.

Un premier exemple comparatif montre l’importance d’un choix arbitraire despremieres derivees en les sommets. A gauche en fig. 14 on voit une simpletriangulation ouverte dont le sommet central superieur aete deplace. Les anglesentre les aretes incidentes en ce sommet varient beaucoup, et les longueursdes aretes sontegalement fortement differentes. C’est typiquement ce quenous appelons une triangulation irreguliere. Les courbes frontieres devraientrefleter ce comportement. La surface au milieu aete obtenue par l’anciennemethode. Bien qu’elle soit lisse, les courbes frontieres ondulent car ni les

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 4

derivees premieres ni les longueurs des courbes ne peuventetre adapteesa cetype de triangulation. A droite en fig. 15 la surface interpolante obtenue par lanouvelle methode illustre l’effet positif du gain en flexibilite de cette methoded’interpolation dite "generalisee". Figure 11 en estegalement une illustration.

figure 16: Mannequin. gauche: triangulation en entree, milieu: surface interpolante G1, droite: polygone de

controle.

figure 17: Zooms sur le mannequin, avec et sans polygone de controle des courbes frontiere.

Les figures 16 et 17 montrent le resultat de ce schema d’interpolation generalisesur une triangulation tres complexe (mannequin data set, courtesy Universityof Washington). De gauchea droite en fig. 16 sont illustres la triangulationpolygonale, la surface interpolante et le reseau de controle de Bezier de lasurface. A droite, les macro-patchs sont visibles, leur patch central est coloreen rouge.

Fig. 17 montre deux details de la surface interpolant le mannequin,achaque fois sans et avec le polygone de controle des courbes frontiere. Il seconfirme la theorie que les courbes frontiere arriventa bien suivre les aretes dela triangulation. Cela est possible grace au choix libre de toutes les deriveespremieres en les sommets.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Design Hierarchique

Chapitre 5

Design hierarchique

Les methodes decrites dans les chapitres precedents permettent d’interpoler unetriangulation polygonale quelconque par une surface lisse. Il est ainsi possiblede modeliser aisement des surfaces lisses de topologie quelconque. La localitedes algorithmes presentes permet par ailleurs de traiter des triangulations dontla taille n’est limitee que par la capacite de stockage. L’edition d’un parametrequelconque de la surface - position d’un sommet interpole, normale en cesommet, direction d’une derivee premiere, ... - se fait interactivement quelquesoit la taille de la triangulation interpolee.Cependant plusieurs raisons conduisenta envisager la hierarchisation des algo-rithmes d’interpolation precedemment introduits. Une modification sur une largeechelle d’une surface interpolant une trian-

gulation complexe n’est pas possible en pratique: meme si l’edition d’unparametre se fait interactivement, une modification globale necessiteraitl’ edition una un d’un tres grand nombre de parametres. La hierarchisationpermet au contraire tres facilement l’obtention de changements globaux,gracea l’edition d’un petit nombre de parametres dans lesetages superieursde la hierarchie.

Les surfaces reelles presentent frequemment des complexites locales, i.e.sont constituees en majorite de formes simples, mais font apparaıtre en desendroits precis des variations d’une finesse pluselevee. Il est interessantpour ce type de surfaces de pouvoir hierarchiser localement le modele.C’est le cas par exemple pour la representation sur un visage, de congesarrondis raccordant des pieces de carrosserie, ou d’asperites locales sur unorgane humain.

Le rendu, ou visualisation, d’une surface complexe peutetre accelere parune modelisation hierarchique. Plus l’objet est loin de l’observateur, moinsde details sont necessaires pour une meme precisiona l’ecran. A l’oppose,lorsqu’un observateur est tres proche d’une surface, il n’en visualise qu’unepetite partie, et il est donc interessant de ne transmettre au rendu que lapartie visible,eventuellement localement plus ou moins detaillee suivant la

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 5

distance de l’observateur. La encore une modelisation hierarchique capablede raffinements locaux est profitable.

5.1) Hierarchisation de surfaces lineaires par morceau

Avant de decrire en section 5.2 notre modele hierarchique de surfaces lisses,nous commeno¸ns par en presenter les fondements dans le cas plus simple dessurfaces lineaires par morceau. La section prochaine 5.2 decrira uniquementles changements necessairesa leurs adaptationa l’interpolant surfacique G1

introduit dans le chapitre precedent.

Structures de donnees

Information topologique

La hierarchisation choisie est une methode de raffinement local fonctionnantpar insertion de sommets. Un nouveau sommet est insere au milieu d’une aretedeja existante, les deux faces voisines - dites faces parentes -etant subdiviseesen quatre faces filles en reliant le nouveau sommet au milieu des quatre autresaretes des faces voisines. Ce schema d’insertion est illustre en fig. 18.

.

figure 18: Insertion d’un sommet.

Deux types de sommets sont alors crees: des sommets diteseditables, et d’autresdits non-editables. En effet, un sommet dont une face parente est subdiviseemais pas l’autre ne peut pasetre deplace car il se trouve par constructionau milieu de l’arete de la face non-subdivisee. Ainsi, si l’on subdivise uneseule fois une seule arete, on cree un sommeteditable et quatre sommets non-editables, comme illuistre en fig. 18. Lors d’une prochaine subdivision d’uneface voisine, un sommet non-editable peut devenireditable.

La structure de donnees adoptee pour coder cette hierarchie est double,refletant ainsi la hierarchie naturelle des niveauxeleves vers les niveaux pro-fonds pour les faces d’une part, et d’autre part celle des niveaux bas vers lesniveaux superieurs pour les sommets inseres. Il est en effet naturel de fairepointer une face vers ses quatre faces filles d’une part et d’autre part de fairepointer un sommet insere vers ces sommets parents, i.e. les sommets de l’aretequ’il subdivise. En fait pour des raisons d’efficacite d’implementation, un som-met insere est code en le faisant pointer vers les deux faces adjacentesa l’aretequ’il subdivise, plutot que vers les sommets de cette arete. Plus precisement,

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Design Hierarchique

l’information topologique et hierarchique est entierement codee grace aux deuxstructures de donnees suivantes:

Structure face

Structure arete

Information geometrique

L’information geometrique est constituee dans le cas des surfaces lineaires parmorceau, uniquement par les positions des sommets dans l’espace affine. Cetteposition pourraitetre tout simplement stockee par les coordonnees affines dessommets relativementa un repere absolu. Mais pour les applications d’editioninteractive qui nous interesse, il est profitable de retenir les coordonnees affinesrelativementa un repere dependant des informations geometriques situees auniveau directement superieura celui du sommet insere. Cette technique aeteintroduite dans le cadre des surfaces produit tensoriel par Forsey et Bartels [29].Ainsi lorsqu’une modification d’un sommet situe a un niveaueleve a lieu, alorscette modification entraıne en cascade un changement de toutes les positions dessommets situes dans la sous-hierarchie, de telle manierea ce que le mouvementglobal de la surface induit par le changement d’un seul sommet conserve lesvariations relativesde forme. Ce comportement est illustre par une simpleligne polygonale en fig. 19. Le changement de position d’un sommet situeen haut de la hierarchie obtenue par subdivision des aretes en deux, introduitun changement global "naturel" de la forme polygonale, en en conservant lesvariations locales.

figure 19: Variations relatives. o: pointedite, les autres suivent automatiquement.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 5

Le repere local attache a un sommet est choisi de telle maniere a conserverles variations normales et tangentiellesa la surface. L’origine en est le milieude l’arete que le nouveau sommet vient subdiviser. Son axe normal est dirigeselon la moyenne des deux normales des faces voisines de l’arete subdivisee.Un deuxieme axe est dirige selon l’arete subdivisee. Enfin le troisieme axe estdetermine par orthonormalisation, et en respectant l’orientation des triangles.Ce repere local est illustre en fig. 20.

figure 20: Repere local.

Dans un soucis d’efficacite, cette base est stockee dans la structure de donneescodant les sommets, bien qu’il soit possible simplement de la reevaluer en util-isant les pointeurs vers les deux faces parentes, deja stockees dans la structure.Par ailleurs un drapeau est utilise pour cocher si le sommet insere se situe aubord de la surface. Au final, la structure de donnees codant les sommets est lasuivante:

structure de donnees pour les sommets.

! "

#$%&'()*+

,$%&'()*+ -

Exemples de modeles hierarchiques

La figure 21 illustre un exemple simple de raffinement, d’edition a un niveaufin, puis d’edition a un niveau grossier d’un icosaedre. Les variations localesde forme sont conservees lors de l’edition du sommet dans le niveaueleve dela hierarchisation.

figure 21: Edition hierarchique de l’icosaedre. Les cercles remplis indiquent les sommetseditables. Le diametre

est proportionnel a la hauteur du sommet dans la hierarchie.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Design Hierarchique

La figure 22 montre un exemple plus complexe obtenuea partir de donneesde terrain sur une grille produit tensoriel, representant une partie du GrandCanyon. La hierarchie aete produite par un algorithme de raffinement, enpartant d’une triangulation de base constituee de deux triangles couvrant ledomaine carre, et en subdivisant les aretes pour lesquelles l’une au moins desdeux faces voisines a une distance maximum verticale aux donnees superieurea une valeur fixee. Les sommets inseres sont deplaces exactement sur la surfaceinterpolant bilineairement les donnees irregulieres. Le bas de la figure illustreun mouvement global du modele hierarchique, obtenu en ne modifiant que deuxsommets situes dans les niveauxeleves de la hierarchie.

figure 22: Edition hierarchique Canyon. En haut l’original, en bas apres changement des deux sommets

encercles.

5.2) Modele hierarchique de surfaces lisses

La section precedente a presente une structure de donnees modelisant des tri-angulations polygonales hierarchiques. L’idee de base pour hierarchiser unetriangulation aete d’inserer un sommet diteditable au milieu d’une arete, etde subdiviser regulierement les deux faces parentesa cette arete. De cettemaniere, la position du sommet peutetre modifiee, tout en maintenant la con-tinuite C0 de l’interpolant lineaire. Uneetape d’edition de ce modele peut se

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 5

decomposer en deux actionselementaires de nature distincte: l’une est unique-ment topologique, et l’autre est geometrique.

- Insertion d’un nouveau sommet par subdivision de l’arete et de ses deuxfaces voisines.Cette action ne modifie pas la geometrie de l’interpolant. Le nouveau som-met insere se trouve en effet au milieu de l’arete subdivisee,soit precisementsur l’interpolant lineaire. De meme la subdivision reguliere des deux facesvoisines ne fait que decouper l’interpolant, elle ne le modifie pas.

- Deplacement geometrique du sommet insere.Cette action contrairementa la precedente ne change pas la topologiedu modele, mais agit uniquement sur les informations geometriques dunouvelelement insere, en l’occurrence les coordonnees affines du nouveausommet.

Dans le developpement d’un modele hierarchique de surfaces lisses, ces deuxactions doivent exister. Cela signifie en particulier pour la premiere action quel’interpolant lisse doit pouvoiretre subdivise sans en modifier la geometrie.Si cette action de decoupage topologique est trivial pour l’interpolant lineaire,il n’en est pas de meme pour l’interpolant G1. Pour la deuxieme action celasignifie que l’on doit pouvoir changer les informations geometriques attacheesaux nouvelles entites inserees, et recalculer localement l’interpolant G1. Deplus, si l’utilisateur fournit de nouveau les informations geometriques corre-spondantesa l’interpolant de niveaueleve, il faut que le calcul local redonnecet interpolant.

Autrement dit, comme il avaitete enonce dans les motivations, sect. 1.3, ilfaut que l’interpolant soitinvariant par subdivision . Cette invariance par sub-division est illustree en fig. 23 pour une courbe. A gauche se trouve l’interpolantde niveaueleve (fig. 23.a). Pour subdiviser l’arete de droite, on commence parevaluer les informations geometriques de l’interpolant lisse pour le point dontle parametre est situe au milieu de cette arete (fig. 23.b). Dans cet exemplefictif ces informations geometriques sont constituees par la positon du sommet,et la tangente en ce sommet. Ensuite on recalcule localementa l’arete de droitel’interpolant, en utilisant ces informations, ainsi que celles attachees aux deuxsommets voisins. L’interpolant est dit invariant par subdivision si ce calcullocal a un niveau plus fin donne le meme resultat que l’interpolant initial (fig.23.c).

figure 23: Invariance par subdivision.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Design Hierarchique

En ce qui concerne l’interpolant developpe dans le chapitre 4, les informationsgeometriquesa prendre en compte sont de deux types:

- informations attachees aux sommets:position du sommet derivees premieres, ou est le degre du sommet, twists,

- informations attachees aux faces:6 points de controle libres par macro-patch (on rappelle qu’a chaqueface de la triangulation polygonale correspond un macro-patch del’interpolant lisse.

Sommets pour lesquels l'information est déjà connue

Sommets en lesquels l'information doit être évaluée

Faces en lesquelles l'information doit être évaluée

Support de l'interpolant local

figure 24: Informations geometriques pour l’interpolant local.

La figure 24 illustre les differentes informations geometriques entrant en jeudans le recalcul local de l’interpolant.

Puisque l’interpolant lisse du chapitre 4 est strictement local, il est effec-tivement possible de recalculer cet interpolant autour du sommet insere, enutilisant les informations geometriques illustrees en fig. 24. Le recalcul localne modifiant pas les deux premieres rangees de points de controle le long de lafrontiere du support (ligne hachee en fig. 24), on est assure d’obtenira nouveauune surface G1. La difficulte est de verifier que la nouvelle surface G1 obtenueest la meme que precedemment. Pouretre sur de reobtenir cette surface, il fautet il suffit de fixer tous les parametres libre du schema d’interpolation localen conformite avec cette surface. En effet, fixer tous les parametres libres im-plique l’unicite de l’interpolant local, et le choix conforme de ces parametreslibres signifie que la precedente surface G1 est un interpolant local pour cesparametres. Ces deux constats impliquent bien que l’interpolation locale re-donne la surface G1 existante, i.e. que le schema d’interpolation du chapitre 4est invariant par subdivision.

Il reste donca voir comment fixer tous les parametres libres du schemad’interpolation du chapitre 4 en conformite avec la surface G1 existante. Outreles informations geometriquesenumerees en fig. 24, ces parametres librescomprennent:

* Les valeurs des fonctions scalaires dans l’equation(C2) de conti-nuite G1.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 5

* Les valeurs de la fonction vectorielle dans lesequations symetriques (10)de continuite G1.

Si les fonctions et sont fixees aux extremites des aretes en raison del’interpolation des derivees premieres et des twists, leurs valeursa l’interieurde l’arete n’etaient contrainte precedemment que par l’objectif d’obtenir despatchs de degre minimum. En ce qui concerne les fonctions scalaires cette contraintea conduita choisir des fonctions lineaires en un seul morceausur l’ensemble de l’intervalle de definition, ce qui est en conformite avec lasurface existante qui est definie sur le niveau superieur de la hierarchie. Parcontre, la fonction aete choisie de la forme , avec de degre 2 parmorceau afin de pouvoir interpoler les positions et la derivee aux extremites, etd’assurer une continuite C0 au milieu de l’arete. Ce choix n’est pas conformeavec la surface existante, il faut en effet recourira une fonction definie surun seul morceau. Pour cela, on peut choisir en un seul morceau cubique,comme illustre en fig. 25.

W(0) W(1)

W'(0)

W'(1)

W(0) W(1)

W'(0)

W'(1)

figure 25: Ancien et nouveau choix de W.

Ce choix de implique une valeur de en conformite avec la surface G1

existante et assure ainsi un interpolant invariant par subdivision.

5.3 Exemples

En fig. 26 nous illustrons l’invariance par subdivision du schema d’interpola-tion sur l’exemple du cube. Les quatre figuresa gauche du haut vers le basrepresentent la triangulation initiale, la surface lisse interpolante, la surface avecle reseau des points de controle, et uniquement le polygone de controle. Danschaque macro-patch, le patch de Bezier central est en rouge, et les trois patchsde Bezier externes sont en bleu. Les quatre figures de droite representent lesmemeselements, apres subdivision d’une arete. Le reseau des points de controlese densifie, par contre la surface ne change pas, illustrant ainsi l’invariance parsubdivision.

La figure 27 represente une surface definie sur trois niveaux de subdivision.Le niveau superieur de subdivision est la surface cubique deja illustree dans lacolonne de gauche de la figure 26. Le deuxieme niveau de subdivision permetde modeliser les pattes, le cou et la tete. Le troisieme niveau modelise la queue.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Design Hierarchique

figure 26: IIllustration de l’invariance par subdivision sur l’exemple du cube.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 5

figure 27: Exemple de modele defini sur 3 niveaux hierarchiques.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Lissage de surface

Chapitre 6

Lissage de surfaces

Dans les chapitres suivants nous allons aborder la deuxieme thematique de cememoire, dediee au lissage de surfaces, qui completera ainsi la thematique glo-bale de mes travaux post-doctoraux, consacresa la modelisation geometriquede surfaces lisses. Contrairement aux chapitres precedents qui portaient sur laconstruction d’une surface lisse en interpolant des donnees, les chapitres suiv-ants porteront sur le lissage d’une surface deja construite. Chronologiquement,mes travaux sur ce dernier sujet datent d’avant les travaux sur la constructionde surfaces de topologie arbitraire, mais l’actualite du theme multiresolutionfait qu’il a ete preferable d’inverser l’ordre de presentation.

Les paragraphes 6.1 et 6.2 introduisent le tres vaste sujet du lissage et leparagraphe 6.3 conclue ce chapitre en abordant les aspects de controle visuel dela qualite des surfaces, sur lesquels j’ai redige unetat de l’art pour un livre [40].Enfin les chapitres 7 et 8 suivants presenteront divers algorithmes de lissagepour certains types de surfaces deja construites.

6.1) Importance d’une surface lisse

Le probleme lie au "fairness" (qui peut approximativement se traduire parcaractere lisse) est d’importance centrale durant le processus de design desurfaces de forme libre. Les courbes et surfaces sont souvent issues d’unprocessus de reconstruction d’un objeta partir de donnees discretes de mesure.Celles-ci sont en general entachees d’erreurs de mesure, ce qui rend le procededu design de "belles" courbes et surfaces complexes. Il y a deux manieresde proceder a la reconstruction. D’une part, l’etape de la conception peutintegrer directement la notion de fairness en utilisant les parametres libresafin de satisfaire un certain critere de lissage. Cette maniere de proceder estdenommee design lisse. D’autre part, certains defauts de surface peuventpersister apres avoir interpole ou approxime des donnees: il est alors necessairede procedera unlissagea posteriori, appele fairing, qui corrige des parties desurface sans pour autant trop modifier la surface. Les travaux introduits dansce chapitre et developpes dans les deux chapitres suivants appartiennenta ce

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 6

second type de methodes.

6.2) Mesures et algorithmes

Comme le mot "fairness" (caractere lisse) dans le monde du design (creation,conception) est principalement lie a l’esthetique, il est tres difficile de le decrireet de le definir de maniere unique. Une surface est dite fair ou esthetiquementlisse quand elle estvisuellement plaisante. Elle ne doit pas posseder

- de bosses, de creux, de zones plates, d’irregularites surfaciques meme tresminimes de tout genre.

Le caractere lisse d’une surface est ainsi principalement lie a la notion de- courbure et aux variations des courbures.

Une autre interpretation de la notion lisse fait referencea- la continuite (geometrique ou parametrique).

La fairness d’une surface reflechissante, comme celle d’une carrosserie devoiture, peutegalementetre caracterisee en terme de

- comportement des lignes de reflexion de la lumiere.D’autres criteres plus techniques d’une imperfection surfacique peuventetre

- le depassement d’une valeur limite de courbure imposee par exemple parl’outil de fraisage,

La diversite des caracterisations que nous venons de presenter fait qu’il n’y a pasde formule mathematique unique permettant de mesurer la fairness. Les travauxqui ont marque ce domaine de recherche et d’application jusqu’aujourd’hui sesont inspires de la physique. Quand on prend par exemple une fine latte enbois et qu’on lui applique des forces laterales aux extremites, la courbe decritepar cette latte deformee sera toujours lisse. Physiquement, la latte minimisetoujours l’energie de tension

. Les methodes, dites "variationnelles"utilisent certainesenergies ou quantites physiques comme mesure de fairness.Pour les surfaces parametriques on peut rencontrer :

- l’ energie de plaques minces (strain energie) [74]

avec les courbures principales et l’ element de surface.

- l’ energie de plaques minces approchee [74, 34, 11]

- l’ energie de plaques minces linearisee

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Lissage de surface

- ”jerk energy” approchee [36]

- les mesures de fairness aplatissantes, arrondissantes et roulantes [81]

ou , , ou .

- les variations de courbures [69]

ou sont les directions principales.

Quand les Bezier ou B-splines sonta la base des representations surfaciques,l’ energie (12) peutetre minimisee par une optimisation [63]. Elle est non-lineaire, car la fonctionnelle d’energie (12) depend non-lineairement des pointsde controle de la surface. Des methodes de lissage non-lineaires baseessur l’energie (16) existentegalement [69], mais elles ont souvent des tempsd’evaluation des fonctionnelles et des temps de convergence des methodesnumeriques iteratives tres grands [69].

L’approche commune quievite ce probleme consistea supposer qu’une surfaceparametrique est assez plate et d’en conclure que la metrique sur la surface nediff ere pas beaucoup de celle du plan. Ainsi les mesures de fairness baseessur les courbures , ,

peuventetre approximees pardes combinaisons des derivees premieres, secondes ou tierces qui sont lineairesen les coefficients. C’est l’approche qui aete a l’origine des mesures (13) et(14). Bien que cette supposition ne soit pas realiste, elle est largement acceptee[74, 13 56]. Dans [31] une simplification plus sophistiquee de (11) pour dessurfaces parametriques est proposee.

Pour revenir au probleme de depart, i.e. passer une surface lissea traversun nuage de points mesures, il est propose par plusieurs auteurs de combinerl’expression de l’energie avec celle de l’erreur totale au sein d’une minimisationpar moindres carres, voir p.ex. [36]. De maniere generale, les parametres libresd’une courbe ou surface sont utilises soit au cours du processus de design, soitau lissage post-processing afin de minimiser des criteres d’energie. L’approchevariationnelle aegalementete utilisee pour le developpement de schemas desubdivision pour plaques minces [100]. A cote des methodes variationnelles ilexiste des methodes de fairing qui se basent sur d’autres mesures de fairness.Celles qui feront l’objet des deux chapitres suivants en sont des exemples.

Il existeegalement ce qu’on peut appeler lepre-lissage des donnees. Cesmethodes discretisent les invariants surfaciques (par exemple les courbures)

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 6

par des differences finis et traduisent ainsi les mesures de fairness aux donneesdiscretes [21]. Ainsi le fairing peutetre applique aussi aux triangulationspolygonales de topologie arbitraire, i.e.a des surfaces lineaires par morceau.Cela peutetre utile si les sommets de la triangulation proviennent de capteurs3D et sont entachees d’erreurs. Une methode effective de lissage consisteaattenuer le bruit dans une triangulation en supprimant les frequences hautes[98, 16]. D’autres approches consistenta minimiser une mesure de fairnessdiscretisee [101, 56]. Pour plus de references sur ce domaine qui n’est quevoisin de celui du lissage de surfaces de forme libre, le lecteur pourra consulterla bibliographie des travaux cites ci-dessus.

6.3) Outils de controle visuel

La fairness est principalement une caracteristique esthetique d’une surfacequi ne peut se mesurer reellement que visuellement. Cela estevidemmenttres subjectif, mais c’est la demarche qui s’est imposee par exemple dans leslogiciels de CAO, car les concepteurs de surfaces d’automobiles se serventdes lignes de reflexion simulees pour decider si la qualite d’une surface estbonne. Bien qu’un algorithme de lissage a besoin de quantifier la fairnessmathematiquement, ce qui decide souvent en pratique de la qualite d’une surfaceest son allure visuelle plaisante. Dans cette optique des methodes de controlevisuel des surfaces ontete developpees.

Pour l’ouvrage collectif de C. Bajaj intitule "Data Visualization Techniques" [2]j’ai ete inviteea rediger unetat de l’art sur les methodes de visualisation pourl’analyse et le controle de qualite de surfaces, en particulier utilisees dans lecontexte du lissage [40]. Ce chapitre detaille les methodes de simulation baseessur la reflexion lumineuse d’une surface mesurant ainsi sa fairness globale,les methodes visualisant la convexite des courbes et surfaces, les methodesaoffset variable eta carte de couleur pour l’analyse des courbures surfaciques etd’autres proprietes se quantifiant par un nombre scalaire, et les methodes deslignes caracteristiques (courbures, geodesiques)egalement pour l’analyse decertaines proprietes geometriques.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Une approche heuristique pour le lissage

Chapitre 7

Une approche heuristiquepour le lissage

Puisque le lissage est une propriete globale d’une surface la plupart des metho-des de lissage deja citees dans le chapitre precedent sontegalement de natureglobale. Une autre approche,localecelle-ci, consistea lisser une surface dejaexistante en modifiantit erativementun petit ensemble de points de controle achaque fois afin d’obtenir une forme globalement plus lisse. L’idee communea ces algorithmes est de converger, par des iterations locales, vers la solutiond’un probleme global.

Il existe une approche de ce type [32] qui se base sur un critere de lissagetres classique, une simplification linearisee de l’energie de plaque mince:

. A chaque iteration un seul point de controle est deplace

afin de minimiser la mesure de lissage. L’algorithme est rapide et sembleobtenir de bons resultats. L’inconvenient, qui d’ailleurs est communa toutes lesmethodes utilisant des criteres variationnels simplifies, est que la fonctionnelle n’approxime l’energie de plaques minces que sous certaines conditions quine sont pratiquement jamais verifiees par les surfaces parametriques. Plus dedetailsa ce sujet se trouvent dans [31].

Une autre approche de type local iteratif, duea Farin et al. [25] se basesur une mesure de lissage tres rapidea evaluer: la somme des sauts de laderivee de la courbure en les nœuds de la courbe

.Cette mesure qui ne s’applique qu’aux courbes (cubiques C2 par morceau) estd’origine geometrique. L’algorithme utilise des suppressions/reinsertions denœuds commeetape du lissage. L’inconvenient est qu’il ne converge pas versune courbe optimale. Les auteurs proposent simplement d’arreter les iterationsau premier minimum qu’atteint la mesure de lissage. Ces methodes iterativessont locales, donc tres rapides et elles permettentegalement de restreindre sidesire la zonea lisser sur la surface.

Les travaux que nous allons presenter dans ce chapitre et qui ontete publies

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 7

dans[37] et [38] portent sur la continuation des travaux de Farin et Sapidis en lesetendant aux surfaces B-splines. Le probleme de la non-convergence heritee del’algorithme sur des courbes est plus complexe dans le cas des surfaces. Deuxapproches heuristiques sont alors introduites dans cet algorithme de lissagepour la resolution de ce probleme. La section 7.1 decrit l’operation de baseeffectuee lors de chaque iteration de notre algorithme, et propose un premieralgorithme de lissage. La section 7.2 reprend la meme iteration, mais proposedes heuristiques pluselaborees pour lisser une surface.

7.1) Lissage local et iteratif de surfaces B-spline bicubiques

Dans cette section, nous presentons un algorithme de lissage pour des surfacesB-spline C2 cubiques. Cette algorithme est base sur une suite d’iterations modi-fiant localement la surface. Les sections 7.1.1 et 7.1.2 presentent des methodesde lissage de courbes, desquelles notre algorithme s’est inspire. La section7.1.3 presente une generalisation naıve de ces methodes aux surfaces, qui a ledefaut de ne pasetre locale. Enfin la section 7.1.4 presente la generalisationlocalisee et un algorithme de lissage base sur cette generalisation.

7.1.1 La mesure de lissage de Kjellander

Kjellander [55] aete le premiera proposer un algorithme de lissage pourdes courbes cubiques par morceau et C2 continues base sur une mesure delissage particulierement adapteea ce type de courbes: la somme des sauts desdiscontinuites de la derivee de la courbure en les nœuds (points de jonctions)de la courbe:

avec

Ce critere geometrique est motive par le fait qu’une courbe est consideree lissequand

sa fonction de courbure est continue, a le signe appropriee, et est leplus proche possible d’une fonction monotone par morceau, avec lemoins de morceaux possibles.

Kjellander se rapproche de cet ideal en diminuant iterativement les sauts desderivees de la courbure. Les iterations de Kjellander sont neanmoins globales,car elles entraınent un recalcul de la courbe entiere due au fait qu’il s’agit decourbes Hermite C2 . La generalisation aux surfaces [57], produit tensorield’Hermite, a le meme defaut. La methode est iterative mais globale pourchaque iteration.

7.1.2 L’algorithme KRR de Farin/Sapidis

L’annulation de la mesure locale (17) en un nœud d’une courbe C2 cubiquepar morceau estequivalenta la rendre C3, donc C en ce nœud, ce quirevientegalement au remplacement de deux segments de courbes par un seul.L’algorithme de Farin et Sapidis [25, 26, 85] execute cette operation pourdes courbes B-spline, en modifiant seulement localement un petit nombre detrois ou cinq points de controle par une operation que l’on notera KRR (Knot

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Une approche heuristique pour le lissage

Removal and Reinsertion). A chaque iteration le nœud avec la plus grandevaleur est selectionne. L’operation KRR enleve ce nœud de la suite desnœuds. La nouvelle courbe ainsi obtenue approxime l’ancienne, car un pointde jonction a disparu, deux segments cubiques sont maintenant approximes parun seul. Cette procedure est locale, elle ne fait intervenir que trois ou cinqpoints de controle. Ensuite, le meme nœud est reinsere, pour ne pas changerla structure initiale de la courbe. Cette reinsertion par contre ne modifie pas laforme de la courbe.

A chaque iteration une mesure est misea 0, et en meme temps les valeurs et sont modifiees. Il se peut donc que cette operation sur le nœud n’entraıne pas une diminution de la mesure globale. L’algorithme ne convergedonc pas forcement vers le minimum global de la fonction, et de plus la suitedes valeurs de au cours du lissage n’est pas monotone decroissante. Il s’areteau premier minimum atteint.

7.1.3 KRR pour des surfaces B-spline

Une definition produit tensoriel pour des surfaces polynomiales offre la possi-bilit e d’appliquer directement la plupart des algorithmes sur des courbes (DeCasteljau,elevation de degre, derivation, ...), en fixant un des parametres et enexecutant l’algorithme dans la direction de l’autre parametre. Cette procedureest repetee pour chacune des valeurs du premier parametre. Enfin une derniereapplication de l’algorithme dans la direction du premier parametre permetd’obtenir le resultat final.

Soit et

deux suites de nœuds et

une surface produit tensoriel B-spline bi-cubique ou sont les points de

controle, les fonctions de base B-spline d’ordre 4 et (! " #)les nœuds interieurs.

La suppression d’un nœud surfacique interieur correspond en faita lasuppression de toute une ligne de nœuds dans la grille sous-jacente des nœudsinterieurs . L’operation KRR sur un nœud, note -KRR correspondainsi a l’application d’un KRR unidimensionnel aux courbes B-splineobtenues pour constant.

Apres reinsertion du meme nœud, 3 ou 5 rangees de points de controleontete modifiees par cette operation par rapporta la surface initiale. Le nombrede rangees modifiees depend de l’algorithme de suppression utilise, (voir [65,26, 85, 38] pour les details). Uneetape de KRR surfacique en direction, un-KRR, fonctionne de maniere analogue.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 7

Remarque:

Uneetape-KRR rend les derivees partielles tierces en direction de la surfacecontinue, i.e.

. Un resultat analogue existe pour l’etape-KRR. Par contre, il est importanta noter que l’application successive de-KRR et puis-KRR, ou l’inverse, ne rend la surface generalement pasC3-continue au nœud . Seule la continuite de la derniere applicationKRR est garantiea la fin de cette double procedure. En effet l’application dudeuxieme operateur de lissage “casse" le resultat du premier operateur. C’estd’ailleurs la remarque qui a motive les travaux qui seront presentes au chapitre8.

7.1.4 Localisation du KRR, et algorithme de lissage

Une modification du KRR surfacique qui le rend mieux adapte pour le lissagede surfaces permet dans la suite de presenter un algorithme iteratif de lissagepour les surfaces B-spline produit tensorielles bicubiques par morceau quicontrairementa la methode globale de Kjellander est local. C’est plutot uneextension des travaux de Farin/Sapidis mais qui apporte en plus une solutionau probleme de convergence.

Il s’avere que le KRR surfacique decrit en section 7.1.3, n’est pas utilisableen tant que tel comme un pas de lissage "local", car 3 voir 5 lignes entieresde points de controle de la surface sont modifies. Ce n’est pas suffisamentlocal. C’est peut-etre la raison pour laquelle Farin/Sapidis proposent (dans laconclusion de [26]) comme extension de leur methode aux surfaces de simple-ment considerer les rangees et colonnes de points de controle comme courbesB-spline et de les lisser independamment les unes les autres avec leur algo-rithme courbe. Cela n’est pas vraiment un lissage de surface, car aucun criteresurfacique n’est diminue.

Notre algorithme essaye d’etre une "vrai" extension surfacique. La demarchesuivie profite de deux observations :

- Uneetape de KRR surfacique ne change pas le nombre de points de controlede la surface.

- Le but de rendre une derivee partielle troisieme continue au nœud peutetreegalement atteint en n’appliquant le KRR unidimensionnel qu’a3 (ou 5) (voir dans l’article) courbes B-spline. C’est ce que nous appelonsle KRR localise.

Chaqueetape de KRR localise que ce soit en ou ne modifie ainsi que

(ou ) points de controle de la surface et rend la derivee partielle troisiemecontinue en direction ou resp. Les formules et explications detaillees setrouvent publiees dans [38].

L’algorithme de lissage qui en resulte mesure la fairness au nœud par unemesure locale ou (ou resp.) estegala la differencepositive de la derivee partielle en (ou resp.) d’une fonction de courburenormalisee au nœud . Nous avons fait ce choix d’une mesure dependant

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Une approche heuristique pour le lissage

de la parametrisation dans un souci de rapidite d’evaluation. Il serait possiblede la remplacer par une mesure intrinseque qui impliquerait l’evaluation descourbures principales et des directions principales. Ceci est extrement couteuxcomme le montrent les algorithmes de lissage de Sequin/Moreton [69].

La somme des mesure locales

forme la mesure globale de fairnessque l’algorithme doit minimiser. Audepart la mesure locale estevaluee en chaque nœud afin de determiner le nœudrepresentant la plus grande mesure locale. La partie de la mesure locale laplus grande determine la direction du/-KRR localise a appliquer commeetape de lissage. Quand p.ex. , alors un-KRR est applique. Ensuiteles valeurs locales sont misesa jour pour repeter ce procede jusqu’a ce qu’uncertain critere decide d’arreter les iterations.

7.2 Recherche heuristique d’une solution optimale

L’algorithme de lissage presente dans le paragraphe precedent selectionne lenœud et la direction pour laquelle la valeur de la mesure locale est la plusgrande. C’est la valeur qui contribue le plusa la mesure globale de fairness (18) de la surface. Le fait que le KRR localise la mettea zero laisse doncsupposer une diminution de. Mais un certain nombre de mesures localesen des nœuds voisins sontegalement modifiees lors d’uneetape de lissage surun nœud. Il est donc possible qu’apres plusieurs iterations ne diminue pas.Un minimum de atteint par ces iterations n’est que local et une autre suited’it erations de KRR localise peut conduirea un autre minimum local de lafonction, qui represente peut-etre une surface plus lisse. Quelle est donc lasuite d’etapes/-KRR localises qui mene au minimum global de ?

Une recherche systematique de la solution optimale reviendraita fixer un nom-bre maximal d’iterations et a parcourir un arbre de profondeur ou chaquenœud parent a fils ( etant le nombre de nœuds interieurs de la surface,candidats au KRR).

... ......

...kp1 kp2 kpq

kp1 kp2kpq

...

...

...

kp1 kp2 kp

kp1 kp2kpq

q

level 0

level 1

level k

figure 28: A gauche: arbre de recherche systematique. a droite: exemple d’un arbre BFS. "kp" d esigne les

couples de nœuds interieurs (knot pair).

La complexite de cette recherche serait . Comme la complexite de cetterecherche systematique d’une solution optimale est tropelevee pour permet-tre un temps d’execution acceptable, nous proposons l’emploi d’une methodeheuristique d’optimisation. Ce type de methodes est tres peu utilise en CAGD.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 7

A la connaissance de l’auteur elles n’ontete utilisees en CAGD que pour la con-struction de triangulations optimales d’un ensemble de points 2D [89]. Pourtantleur application est tres bien adaptee au probleme du lissage. En effet dans lagrande majorite des algorithmes de lissage existants la mesure mathematique defairnessa minimiser n’est pas directement lieea la mesure de fairness visuelle(ligne de reflexion), qui elle est determinante pour un jugement sur la qualite.Il n’est donc pas primordial de trouver le minimum global tant qu’on en estproche et que le resultat visuel est satisfaisant.

Nous avons choisi de poursuivre deux approches pour la selection de la suitede nœuds en lesquels l’operation de lissage/-KRR localisee est appliqueedans le but de minimiser le plus possible la mesure globale de fairness.

Best First Seach

Le Best-First-Seach [82], note BFS, cherchea reduire la complexite polyno-miale de la recherche systematique du minimum global dans l’arbre, (voir fig.28-gauche). L’idee est de ne parcourir que les chemins interessants, i.e. leschemins qui menent probablementa la surface la plus lisse.

Notre algorithme de lissage BFS [38] fonctionne de la maniere suivante.Partant de la surface initiale le premier niveau de l’arbre est cree en executantl’operation KRRa tous les nœuds interieurs en partanta chaque fois de lasurface initiale. Chaque fils de la racine represente ainsi une nouvelle surfaceayant subi uneetape de lissage. Toutes ces surfaces sont triees par rapportaleur mesure globale de fairness (18). La meme procedure est appliqueea lasurface ayant la plus grande valeur (i.e. ayant eu la premiere position dans laliste triee eteliminee ensuite). Puis tous ses fils sont ranges dans la liste triee.Et la procedure recommence avec le premierelement de la liste. L’algorithmese termine apres une profondeur prefixee de l’arbre. La complexite "bestcase" est de , (voir en fig. 28-droite), celle du "worst case" estcomme pour la recherche systematique.

Simulated Annealing(recuit simule)

Le simulated annealing, note SA, est une methode heuristique pour la resolutionde grands problemes d’optimisation. Elle assurea une "grande probabilite" detrouver un minimum global d’une fonction cout. En 1983, des chercheursIBM ont developpe cet algorithme en analogie avec un processus heuristiqueen physique de materiaux: celui du refroidissement optimal de metal, qui estune tache tres complexe.

Le SA est un algorithme iteratif qui permet de faire des "bons pas" (ceuxqui diminuent le cout) et des "mauvais pas" (ceux qui augmentent le cout).Ces mauvais pas sont necessaires pour pouvoir sortir d’un minimum local dela fonction cout. La probabilite qu’un mauvais pas soit accepte diminue lorsde l’avancee des iterations. La topographie d’une fonction de cout unidimen-sionnelle est illustree en fig. 29. L’algorithme offre beaucoup de parametresqui sonta fixer en fonction du problemea resoudre (comme par exemple lafonction probabilite decroissante), et qui generent les conditions d’arret.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Une approche heuristique pour le lissage

startposition

local minimumglobal minimum

figure 29: Topographie d’un processus d’optimisation SA unidimensionnel.

Dans le cas du lissage la fonction cout a minimiser est la mesure globale defairness (18). Pour chaque iteration KRR un nœud est choisi soit au hasardsoit en fonction de la mesure locale. Le SA ne garantie pas de trouver leminimum global, mais son utilisation s’est avere tres rapide et efficace. Desexemples sont donnes dans [37] et encore plus detailles dans [38] (inclus page171 de ce memoire).

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 8

Chapitre 8

Fairing local et it eratifutilisant des masques

Nous avons pu montrer dans le chapitre precedent que l’operation de lissageKRR qui est globale sur une surface peutetre modifiee de telle manierea cequ’elle donne lieua un algorithme de lissage local de surfaces B-spline. Deplus, l’utilisation de methodes heuristiques a permis d’optimiser la recherched’une surface la plus lisse possible tout en conservant des temps d’executiontres courts. Un inconvenient des methodes presentees en chapitre 7 ressortde la remarque faite en section 7.1.3: l’operation locale de lissage faite en unnœuda chaque iteration de l’algorithme n’assure pas la continuite C3"totale"en ce nœud, mais seulement la continuite C3le long d’une seule directionparametrique en ce nœud.

Dans le present chapitre nous apportons un nouvel algorithme de lissage local etiteratif quia chaque iteration rend la surface localement C3continue en un nœud.L’operation de lissage se base sur les conditions de continuite C3en un nœud dela surface et s’applique comme un filtrea un sous-ensemble (local) de pointsde controle. Plusieurs extensions de cette idee de base ontete developpees etont donnee lieua une publication dans une revue [39] (jointe page 181 de cememoire).

8.1) Mesure de fairness

L’objectif de ce paragraphe est l’etablissement et l’evaluation de la mesurelocale de lissage ainsi que la description d’uneetape de lissage. L’algorithmevisea lisser des surfaces B-spline bicubiques de continuite C2 . C’est la classede surfaces la plus souvent utilisee en pratique.

Notations

Rappelons brievement les notations importantes pour la suite. Soient deux

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Fairing FairC3

entiers positifs et deux sequences de nombre reels ,

avec et . Les fonctions de base B-spline

cubiques par morceau associees avec la suite de nœuds sont notees

(ou alors simplement). Elles sont normalisees pour se sommera 1. Unesurface produit tensoriel B-spline d’ordre (4,4) est alors definie par

ou sont les points de controle formant le reseau de controle de.

Les couples de nœuds dont les indices appartiennenta sont les nœuds interieurs de la surface.Nous les appelons lescouples de nœuds libres, car ils sont les candidats pour lesetapes de lissage. Une surface B-spline bicubique est composee de patchs polynomiaux qui se raccordent avec continuite C2 aux nœuds quandtous les nœuds sont simples (i.e. , , ).

Il est important de remarquer que la propriete dusupport localdes fonctionsde base implique que chaque point de controle n’a qu’une influence localesur la surface, i.e. une influence aux seuls parametres .

La mesure de lissage en fonction des points de controle

Le principe de lissage est encore le meme que celui de Kjellander [57],Farin/Sapidis [25] et celui du chapitre precedent,a savoir qu’une surface B-spline bicubique de classe C2 est considereeetre plus lisse au couple de nœuds , , quand elle y est de continuite C3.

Uneetape locale de lissage executee au nœud a ainsi pour but dediminuer (voir de mettrea 0) la somme des differences des derivees partiellesd’ordre 3 en . Et l’algorithme iteratif a pour but de diminuer la sommede ces mesures locales, globalement sur toute la surface, i.e. en tous les nœudslibres.

Une surface est de continuite C3au point si et seulement si toutes lesderivees partielles d’ordre 3

, de sont

continues en . Dans le cas d’une representation B-spline de la surfacenous pouvons profiter d’une certaine regularite des fonctions de base, qui faitque toutes les derivee partielles mixtes d’ordre 3

pour , sont continues. Les sont des combinaisons lineaires de cer-

tains points de controle qui se calculent en appliquant les formules de derivationconnues pour les surfaces B-spline [27].

Cette continuite est due au fait que les fonctions B-spline et

sont continues quand et . Seules les derivees partielles

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 8

d’ordre 3 en une seule direction interviennent ainsi dans la mesure de fairnesslocale au nœud , que l’on peut donc definir de la maniere suivante:

$

! " %

ou les termes

et

peuventetre exprimes enfonction de 21 points du reseau de controle. Ils sont illustres schematiquementen fig. 30. Leur formulation exacte est precisee dans [39], qui se trouve en page181 de ce memoire.

La mesure globale de fairness consiste ainsi en la somme des mesureslocales sur toute la surface

&

$

ce qui correspond au principe de fairnessevoque au debut de ce paragraphe.

8.2 Uneetape de lissage - l’algorithme "fairC3"

L’objectif d’une etape de lissage est double :- mettre la valeur local au nœud qui contribue le plusa la mesure

globale ,- deformer la surface le moins possible.

L’ etape de fairing que nous proposons va concilier ces deux objectifs de lamaniere suivante. correspond aux deux conditions

et

Il a eteevoque dans la section precedente que 21 points de controle de la surface(voir fig. 30) interviennent dans le calcul de ces deux quantites. Il y a donc beau-coup plus de degres de liberte que de conditionsa satisfaire. Pour justementsatisfaire le deuxieme objectif de deformation minimale, une minimisation ausens des moindres carres des distances entre les nouveaux et les anciens pointsde controle correspondants est utilisee, sous la contrainte d’obtenir .Les 12 points de controle exterieurs, marque avec en fig. 30 restent fixes, i.e.ne seront pas modifies, ce qui rendra l’etape de lissage encore plus locale.

L’ etape de fairing peut ainsietre decrite par

Minimiser '

sous les deux contraintes

ou designent les 9 points de controle modifies de la surface.

k-4 k-3 k-2 k-1 k

l-4

l-2

l-1

l

l-3

dk-2,l-2

points de controle inchangées

points de contrôole modifies

figure 30: Les points de controle impliques dans un pas de lissage.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Fairing FairC3

Remarque 1: Aspects pratiquesLa technique des multiplicateurs de Lagrange permet de resoudre ce problemed’optimisation par un systeme lineaire , dont la matrice ne dependque des nœuds. Il n’y a donc pas de matricesa inverser quand il s’agit delisser une surface B-spline uniforme. Il suffit dans ce cas de calculer l’inverseune fois pour toute et de n’effectuer que des multiplications matrice-vecteurachaque iteration.

Remarque 2: Comparaison avec uneetape de KRR surfaciqueLes 9 points de controle sont identiquesa ceux utilises dans uneetape de KRRsurfacique de la methode de lissage du chapitre 7 precedent, mais cette fois lasurface devient C3continue au nœud en lequel l’etape de lissage s’applique.

Remarque 3: L’algorithme FairC3L’algorithme local et iteratif correspondanta l’etape de lissage decrite plushaut, peutetre schematise par le squelette suivant:1. Calculer la valeur initiale de la mesure globale!: (21)2. #.*,( (condition d’arret =) )/

(a) choisir , tel que : (20)(b) executer uneetape locale de fairing au nœud : (23)(c) calculer la nouvelle mesure globale!

(0).

8.3) Extensions de l’etape de fairing: utilisation de masques de lissage

La technique de lissage qui rend la surface localement C3continue au nœudtraite, introduite dans la section precedente, s’avereetre exploitable dans uneoptique plus large. Il est en effet possible d’imposer la continuite C3nonseulement en un nœud, mais aussi en un groupe de nœuds correspondants parexemplea 4 points, oua 1 segment complet. Les details de ces generalisationsainsi que d’autres extensions sont donnes dans [39]. Uneetape d’iterationcorrespond alorsa la modification de 16 points pour le schema "4-points", oude 20 points pour le schema "1-segment", comme illustre en fig. 31 et 32.

masque lissage "4-points" :

k-4 k-3 k-2 k-1 k

l-4

l-2

l-1

l

l-3

dk-2,l-2

3continuite C

k+1

l+1

figure 31: Les points de controle impliques dans le pas de lissage 4-point.

masque de lissage "1-segment"

k-4 k-3 k-2 k-1 k

l-4

l-2

l-1

l

l-3

u c ]u ,u [k-1 k

3continite C pour

dk-2,l-2

, v = vl

figure 32: Les points de controle impliques dans le pas de lissage 1-segment.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 8

Resultats

Les resultats experimentaux que nous avons obtenus sont satisfaisants. Pre-mierement les temps d’execution sont courts, et deuxiemement les modifica-tions des points de controle de la surface sont minimes. Ce dernier point esttres important car un algorithme de lissage ne doit pas "trop" deformer la sur-face. Nous mesurons apres chaqueetape de lissage l’erreur maximale entre lespoints de controle de la nouvelle surface et ceux de la surface initiale. Quandon souhaite ne pas depasser une certaine tolerance predefinie, alors on peutinterdire lesetapes de lissage qui font depasser cette tolerance. L’erreur quenous mesurons est de plus une erreur de securite, car elle ne mesure que lesdistances entre points de controle. Or, les distances reelles entre les surfacessont toujours inferieures ouegalesa celles-ci gracea la propriete "enveloppeconvexe" des surfaces B-spline [27].

figure 33: Surface avec 225 points de controle. Les imperfections sont visualisees par des isophotes tracees sur

la surface.

figure 34: Surface issue de l’algorithme de base 1-point apres 500 iterations.

Le premier exemple que nous montrons est extrait de l’article [39]. La surfacepossede points de controle et a une parametrisation uniforme. Cettesurface aete obtenuea partir de points de controle appartenanta la sphere unite,et en deplacant les points interieurs legerement pour introduire des imperfec-tions dans la surface. En fig. 33 est illustree la surface initiale,a gauche par uneimage ombree,a droite avec des isophotes (courbes pour lesquelles l’angle entrela normale et un vecteur donne est fixe) temoignant des imperfections severesque nous avons artificiellement creees. Au bout de 500 iterations, l’algorithmede base (1-point) resulte en la surface illustre en fig. 34. Les lignes d’isophotesse sont nettement ameliorees. La mesure globale de fairness a diminuee de&

a &. L’erreur relative maximale entre les points de

controle ( ! ! s’elevea 0.01, la valeur moyenne

etant de 0.001. Le temps d’execution est tres rapide avec 0.3 s sur une SGIOctane.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Fairing FairC3

Le deuxieme exemple que je souhaite presenter n’a pasete publie. Il a seule-mentete presente lors d’un congres SIAM on Geometric Designa Nashville.C’est un exemple "real world", car la surface provient d’une conception CAO*reelle, representant une partie du capot d’une voiture de marque Daimler-Benz,(voir fig. 35). Les lignes d’isophotes dans la deuxieme figure (en partant dela gauche) visualisent une imperfection qui doitetre lissee sans trop deformerla surface, i.e. sans que la forme globale ne change. C’est ce type de surfacesauquel les algorithmes de lissage doivent reellement faire face. Il est doncimportant de pouvoir valider un algorithme sur de tels exemples reels.

figure 35: A gauche: une petite bosse dans la surface d’un capot d’une voiture visualise par des isophotes tracees

sur la surface. A droite: la surface obtenue apres lissage.

* Courtesy P. Kaklis, NTU Athenes, TMR Fairshape

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 8

Bilan et perspectives

Les travaux de recherche qui ont fait l’objet de ce memoire traitent de deuxaspects de la modelisation geometrique de surfaces lisses. Le premier theme(chapitres 6-8) concerne le lissage de surfaces spline deja existantes. Les algo-rithmes de lissage heuristiques (chap. 7) ainsi que l’algorithme ’fairC3’ (chap.8) sont iteratifs et locaux. Ils operent sur un critere de lissage qui, contraire-menta ce qui se fait classiquement, n’est pas proportionnela uneenergie. Cecritere prend en compte la somme des sauts de la derivee troisieme. Le butest de modifier la surface afin de minimiser ce critere, et ainsi de lisser la sur-face. L’inconvenient que peut representer la dependance de la parametrisationest compense par des proprietes telles que la localite et l’invariance affine,au moins pour l’algorithme ’fairC3’. Les algorithmes ontete valides par unensemble de cas tests comprenant un cas reel de carrosserie de voiture.

Une ouverture possible des methodes developpees aurait puetre le lissagede donnees discretes, comme p.ex. les triangulations representant des objets3D captes par un scanneur 3D. Ce pas vers cette autre application n’auraitpas ete tres grand, car les algorithmes que nous avons developpe agissentdeja comme des "filtres" sur les points de controle de la surface. Ils sontd’ailleurs proches des techniques introduites en 1995 [98] pour les triangula-tions. Plutot que d’aborder ce theme, j’ai prefere privilegier une autre directionde recherche tout en restant fidele aux surfaces lisses: les methodes mul-tiresolution (MR) en modelisation geometrique. Le succes que connaissentaujourd’hui ces methodes me donne finalement raison.

Le deuxieme theme est l’interpolation lisse de triangulations polygonales.Nos travaux sur ce sujet (chapitres 1-5) qui ont debute en 1998, et en particu-lier les recents travaux sur l’interpolant hierarchique, font aujourd’hui partied’un des ‘grands‘ themes d’actualite en modelisation geometrique: la mul-tiresolution. Les differents interpolants que nous avons developpe reposent toussur la decomposition du type 4-split, qui consistea subdiviser regulierementen 4 les triangles. Ce type de subdivision de triangulations polygonales estparticulierement bien adapte aux methodes multiresolution, puisqu’elle con-serve les angles des triangles, et peut ainsietre hierarchisee de maniere stable.Les surfaces interpolantes sont polynomiales par morceau de degre 5, quatre

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Fairing FairC3

morceaux de surface correspondenta un triangle donne en entree.Les premiers travaux (en collaboration avec GP. Bonnneau) qui incluent

l’interpolant 4-split regulier et ses generalisations au niveau des parametres deforme (these de R. Taleb) se sont pourtant averees ne pasetre exploitables pourla multiresolution (DEA de E. Gilbert) comme nous l’avions souhaite initiale-ment. Seule la methode suivante d’interpolation irreguliere est appropriee auxapplications multiresolution, car elle possede la propriete d’invariance par sub-division. Plus precisement, l’interpolation appliqueea une certaine subdivisionde la triangulation donnee en entree donne le meme resultat que l’interpolationappliqueea la triangulation non subdivisee.

Comme premiere application MR nous avons pu construire un modelesurfacique triangulaire hierarchique (DEA A. Yvart) generalisant les splinesproduit tensoriel hierarchiques introduites par Forsey et Bartels [29]. Con-trairementa ces dernieres, notre methode permet de representer des surfacesde topologie quelconque. Par la suite nous allons avec A. Yvart (en theseBDI depuis sept. 2001) continuer le developpement d’applications MR baseessur cet interpolant. Un de nos projets concerne la reconstruction MR d’objets3D par une surface lisse. De nombreuses questions interessantes, comme laparametrisation d’un ensemble de points non-structures (par rapporta une tri-angulation polygonale) vont se poser.

Le theme MR en modelisation geometrique est devenu de maniere generalun pole de recherche actuel et futur autour duquel est ne un certain nombre deprojets de recherche et de collaborations:

- Il s’agit d’abord de la participation depuis Janvier 2000 au projet europeenRTN MINGLE (Multiresolution IN Geomeric modELing) en tant que co-partenaire pour Grenoble. Avec 9 partenaires de 6 pays (SINTEF et Sim enNorvege, Max Planck Institut fur Informatik et TU Munchen en Allemagne,Cambridge en Angleterre, Univ. Gene en Italy, Univ. Tel Aviv et Technionen Israel, UJF en France) nous developpons et animons des recherches dansdivers domaines de la MR en modelisation geometrique. Le but principal,la formation de pre- et post-doctorants europeens sur ce sujet, est de notrecote quasiment atteint avec l’encadrement du post-doc M. Bastian (TUDresden, Allemagne, 7 mois au LMC), du pre-doc J. Mikkelsen (SINTEF,Norvege, 6 mois) et du post-doc M. Hoffmann (Uni Eger, Hongrie, 12mois) d’avril 2000 jusqu’a aout 2002.

- Une these CIFRE (Loıc Lefeuvre, ex-ENSIMAG) en collaboration avecDassault Systemes, vient de debuter. Le sujet porte sur les surfaces desubdivision et leurs applications en CAO.

Les deux projets suivants s’articulent autour d’un sujet de recherche plusspecifique: les schemas MR de courbes et surfacessous contraintes:

- Le premier est un projet PLATON (PAI) qui est mene depuis un an avec P.Kaklis de la NTU Athenes sur les outils de design intuitifs en CAGD.

- Le second est le projet IMAG AMOA sous la responsabilite de V. Perrierauquel je participe. Le stage de B. Sauvage (ete 2001) sur les courbes MR

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 8

sous contraintes (aire, longueur constantes) a apporte des premiers resultatsencourageants, incitanta poursuivre ce theme en sujet de DEA ou de theseen collaboration avec GP. Bonneau et MP. Cani du laboratoire GRAVIR.

Au niveau international un autre projet de recherche et de validation de larecherche vient de naıtre:

- Il s’agit d’un projet europeen IST-RTD (Recherche et Developpement),intitule MUST.USE.IT (Multi Sense Tensor User Interface), depose avec5 partenaires (AVS Danemark, Linkoping University Suede, University ofKaiserslautern Allemagne, INTECS Italy et INPG France) dans le 6emeprogramme cadre de la CE. Ce projet comporte trois grands volets: visuali-sation de champs de tenseurs, visualisation de qualite de surfaces (sous maresponsabilite) et realite virtuelle. La coordination est prise en charge parla compagnie AVS (Advanced Visual Systems A/S) qui fabrique le logicielconnu sous le meme nom.

Les techniques MR proviennent du traitement du signal. Elles ontetedeveloppees et appliquees depuis leur introduction en informatique graphiquedans des domaines aussi divers que le calcul de radiosite pour le rendu realiste,la visualisation de donnees volumiques, la representation de squelettes pourl’animation de surfaces implicites, ou encore la modelisation et la simplificationd’objets 3D polygonaux.

Les methodes MR pour les surfaces lisses sont en grande majorite basees surles schemas de subdivision et s’appliquent aux surfaces de topologie arbitraire.Les methodes interpolantes sont rares, car elles produisent souvent des surfacessouffrant d’imperfections de forme. La plupart des methodes ne font doncqu’approximer un maillage polygonal agissant comme un polyedre controlantla forme de la surface finale. Elles permettent alors d’obtenir des formes lisses.Par contre, concernant les surfaces parametriques, il n’existe que des schemasMR produit tensoriel comme les splines hierarchiques ou les ondelettes B-spline.

Les travaux presentes dans ce memoire et qui ont aboutia une methoded’interpolation polynomiale hierarchique de triangulations polygonales, re-pondenta ce manque en surfaces interpolantes polynomiales, lisses, de topolo-gie arbitraire, et permettant une modelisation hierarchique. Nous avons ainsijete les bases theoriques et algorithmiques qui vont maintenant constituer l’outilprincipal pour le developpement de differentes applications, comme la recons-truction 3D, ou la modelisation et l’edition de surfaces polynomiales lissesadiff erents niveau de detail, a l’aide de techniques MR.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

References

References

1. Bajaj C., Smoothing polyhedra using implicit algebraic splines, ComputerGraphics26 (2) (1992), 79–88.

2. Bajaj C., Visualization techniques for surface analysis,Advanced Visual-ization Techniques, John Wiley, (1999).

3. Bohm W., The de Boor algorithm for triangular splines, in Barnhill R.,Bohm W. (eds.): Surfaces in Computer Aided Geometric Design, North-Holland (1983), 109–120.

4. Bohm W. and Farin G. and Kahmann J., A survey of curve and surfacemethods in CAGD, Computer Aided Geomteric Design1, (1986), 1–60.

5. Bonneau G.P., Hahmann S., Nielson G.M., BLaC-Wavelets: a multiresolu-tion analysis with non-nested spaces, IEEE Proceedings Visualization’96,(1996), pp. 43–48.

6. Bonneau G.P., Multiresolution analysis on irregular surface meshes, IEEETransactions on Visualization and Computer Graphics4 (4), (1998), 365-378.

7. Bonneau G.P. and Hagen H., Variational design of rational Bezier curvesand surfaces, inCurves and SurfacesII, Laurent, Le Mehaute, Schumaker(eds.), (1994), 51–58.

8. Bonneau G.-P., Hahmann St., Polyhedral modeling, IEEE Vis’00 proceed-ings, (2000), 381–387.

9. Bohl H. and Reif U., Degenerate Bezier patches with continuous curvature,Computer Aided Geometric Design14, (1997), 749–761.

10. Brunet P., Increasing the smoothness of bicubic spline surfaces, In R.Barnhill and W. Bohm (eds.)Surfaces in CAGD’84, North-Holland (1985).

11. Brunnet G., Hagen H. and Santarelli P., Variational design of curves andsurfaces, Surv. Math. Ind.3, (1993), 1–27.

12. Catmull E., Clark J., Recursively generated B-spline surfaces on arbitrarytopological meshes, Computer Aided Desigb10, (1978), 350–355.

13. Celniker G., Gossard D., Deformable curve and surface elements for free-form shape design, ACM Computer Graphics25, (1991), 257–265.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

References

14. Chiyokura H. and Kimura F., Design of solids with free-form surfaces,Computer Graphics17 (13), (1983), 289–298.

15. Davis P.,Circulant Matrices, Wiley, (1979).16. Desbrun M., Meyer M., Schroder P., Barr A., Implicit fairing of irregular

meshes using diffusion and curvature flow, in proceedings SIGGRAPH’99,ACM, (1999), 317–324.

17. Doo D., Sabin M., Analysis of the behaviour of recursive division surfacesnear extraordinary points, Computer Aided Desigb10, (1978), 356–360.

18. Du W. H., Etude sur la representation de surfaces complexes : applicationa la reconstruction de surfaceechantillonnees, These, Department Image,TELECOM, Paris, (1988).

19. Du H.W., Schmitt F., On the G1 continuity of piecewise Bezier surfaces: areview with new results, CAD22 (9), (1990), 556–573.

20. Dyn N., Levin D., Gregory J., A butterfly subdivision scheme for surfaceinterpolation with tension control, ACM Transactions on Graphics9 (2),(1990), 160–169.

21. Eck M., Jaspert R., Automatic fairing point sets, inDesigning Fair Curvesand Surfaces, N. Sapidis (ed.), SIAM (1994), 45–60.

22. Eck M., DeRose T., Duchamp T., Hoppe H., Lounsbery M., StuetzleW., Multiresolution analysis of arbitrary meshes, in Proceedings of SIG-GRAPH’95, ACM New York, (1995), 173–182.

23. Farin G., A construction for visual C continuity of polynomial surfacepatches, Computer Graphics and Image Processing20 (1982), 272–282.

24. Farin G., Smooth interpolation to scattered 3D data, inSurfaces in CAGD,R. Barnhill, W. Boehm (eds.), North Holland Publishing Company, 1983,43–63.

25. Farin, G., Rein G., Sapidis N., and Worsey A.J., Fairing cubic B-splinecurves, Computer Aided Geometric Design4 (1987), 91–103.

26. Farin G., Sapidis N., Curvature and the fairness of curves and surfaces,IEEE Computer Graphics & Applications9 (1989), 53–57.

27. Farin G.,Curves and Surfaces for Computer Aided Geometric Design,Academic Press, New York, 4th edition, (1996).

28. Farin G., Hansford D.,The Essentials of CAGD, AK Peters, (2000).29. Forsey D., Bartels R., Hierarchical B-spline refinement, Proceedings of

SIGGRAPH’88, ACM New York, (1988), 205–212.30. Gregory J.A., N-sided surface patches, inThe Mathematics of Surfaces, J.

Gregory (ed.), Clarendon Press, Oxford (1986), 217–232.31. Greiner G., Variational design and fairing of spline surfaces, Proc. Euro-

graphics 1994, 143–154.32. Hadenfeld J., Local energy fairing of B-spline surfaces, inMathematical

Methods for Curves and Surfaces, Morten Dæhlen, Tom Lyche, LarryL. Schumaker (eds.), Vanderbilt University Press, Nashville & London,(1995), 203–212.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

References

33. Hagen H., Geometric surface patches without twist constraints, ComputerAided Geometric Design3 (1986), 179–184.

34. Hagen H., Schulze G., Automatics smoothing with geometric surface pat-ches, Computer Aided Geometric Design4 (1987), 231–236.

35. Hagen H., Pottmann H., Curvature continuous triangular interpolants, inMathematical Methods in Computer Aided Geometric DesignTom Lyche,Larry L. Schumaker (eds.), Academic Press, New York (1989), 373–384.

36. Hagen H., Santarelli P., Variational design of smooth B-spline surfaces, inTopics in geometric modeling, H. Hagen (ed.), SIAM Philadelphia, (1992),85–94.

37. Hahmann S., Konz S., Fairing bicubic B-spline surfaces using simulatedannealing, inCurves and Surfaces with Applications in CAGD, A. LeMehaute, L. L. Schumaker, C. Rabut (eds.), Vanderbilt University Press,(1997), 159–168.

38. Hahmann S., Konz S., Knot-removal surface fairing using search strategies,Journal of CAD30 (2), (1998), 131-138.

39. Hahmann S., Shape improvement of surfaces, Computing Suppl.13,(1998), 135-152.

40. Hahmann S., Visualization techniques for surface analysis, Chapter 4 inC. Bajaj (ed.): Advanced Visualization Techniques, John Wiley, (1999),49–74.

41. Hahmann S., Bonneau G-P., Triangular G interpolation by 4-splittingdomain triangles, Computer Aided Geometric Design17 (2000), 731–757.

42. Hahmann S., Bonneau G-P., Taleb R., Smooth irregular mesh interpolation,in Curve and Surface Fitting: Saint-Malo 1999Albert Cohen, ChristopheRabut, and Larry L. Schumaker (eds.), Vanderbilt University Press, Nash-ville, (2000), 237–246.

43. Hahmann S., Bonneau G-P., Taleb R., Localizing the 4-split method for G1

free-form surface fitting, Computing Suppl. 14, (2001), 185–198.

44. Hahmann S., Bonneau G.-P., Parametric surfaces over arbitrary triangu-lations, IEEE Transactions on Visualization and Computer Graphics,aparaıtre (2002).

45. Hahmann S., Bonneau G.-P., Yvart A., Hierarchical triangular surfaces,Rapport de recherche LMC-IMAG, en preparartion.

46. Hamann B., A data reduction scheme for trianguleted surfaces, ComputerAided Geometric Design11, (1994), 197–214.

47. Herron G., Smooth closed surfaces with discrete triangular interpolants,Computer Aided Geometric Design2 (1985), 297–306.

48. Hoschek J. and Lasser D.,Fundamentals of Computer Aided GeometricDesign, A.K. Peters, (1993).

49. Hoppe H., DeRose T., Duchamp T., McDonald J., Stuetzle W., Surfacereconstruction from unorganized points, in proceedings SIGGRAPH’92,ACM New York, (1992), 71–78.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

References

50. Hoppe H., DeRose T., Duchamp T., McDonald J., Stuetzle W., Meshoptimization, in proceedings SIGGRAPH’93, ACM New York, (1993),19–26.

51. Hoppe H., Progressive meshes, in proceedings SIGGRAPH’96, ACM NewYork, (1996), 99-108.

52. Jensen T., Assembling triangular and rectangular patches and multivariatesplines, inGeometric Modeling: Algorithms and new Trends, G. Farin(ed.), SIAM (1987), 203–220.

53. Kirkpatrick S., Gelatt C.D., Vecchi M.P., Science220(1983), 671.54. Kirkpatrick S., Optimization by simulated annealing, J. Stat. Phys.34

(5/6), (1984), 975-987.55. Kjellander, J. A., Smoothing of cubic parametric splines, Computer Aided

Design15 (1983), 175–179.56. Kobbelt L., Discrete fairing, in proceedings of the Seventh IMA Conference

on the Mathematics of Surfaces, (1997), 101–131.57. Kjellander, J. A., Smoothing of bicubic parametric surfaces, Computer

Aided Design15 (1983), 289–293.58. Levin A., Combined subdivision schemes for the design of surfaces satisfy-

ing boundary condiditons, Computer Aided Geometric Design16 (1999),345-354.

59. Litke N., Levin A., Schroder P., Trimming for subdivision surfaces, Com-puter Aided Geometric Design18 (2001), 463–481.

60. Loop C., Smotth subdivision surfaces based on triangle meshes, Master’sThesis, University of Utah, Department of Mathematics, (1987).

61. Loop C., De Rose T., A multisided generalization of Bezier surfaces, ACMTransactions on Graphics8, (1989), 204-234.

62. Loop C., A G triangular spline surface of arbitrary topological type, Com-puter Aided Geometric Design11 (1994), 303–330.

63. Lott N.J., Pullin D.I., Method for fairing B-spline surfaces, Computer AidedDesign20 (1988), 597–604.

64. Lounsbery M., Multiresolution analysis for surfaces of arbitrary topologicaltype, Ph.D. thesis, University of Washington, (1994).

65. Lyche T., Morken K., Knot removal for parametric B-spline curves andsurfaces, Computer Aided Geometric Design4 (1987), 217–230.

66. Mallat S.G., A theory for multiresolution signal decomposition: the waveletrepresentation, IEEE Transactions on Pattern Analysis and Machine Intel-ligence11 (7), (1989), 674-693.

67. Mann S., Surface approximation using geometric Hermite patches, Ph.D.dissertation, University of Washington, (1992).

68. Mann S., Loop C., Lounsbery M., Meyers D., Painter J., DeRose T.,Sloan K., A survey of parametric scattered data fitting using triangularinterpolants, inCurve and Surface Design, H. Hagen (ed.), SIAM (1992),145–172.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

References

69. Moreton H.P. and Sequin C.H., Functional optimisation for fair surfacedesign, Computer Graphics26 (2), (1992), 167–176.

70. Neamtu M., Pluger P., Degenerate polynomial patches of degree 4 and5 used for geometrically smooth interpolation in, Computer AidedGeometric Design11 (1994), 451–474.

71. Nielson G., Some Piecewise Polynomial Alternatives to Splines UnderTension, inComputer Aided Geometric Design, R. Barnhill, Riesenfeld(eds.), (1974).

72. Nielson G., A method for interpolating Scattered Data Based Upon a Min-imum Norm Network, Mathematics of Computation40, (1983), 253–271.

73. Nielson G., A transfinite, visually continuous, triangular interpolant, inGeometric Modeling: Algorithms and new Trends, G. Farin (ed.), SIAM(1987), 235–246.

74. Nowacki H., Reese D., Design and fairing of ship surfaces, inComputerAided Geometric Design, R. Barnhill and W. Bohm (eds.), North-Holland,(1983), 121–134.

75. Peters J., Local smooth surface interpolation: a classification, ComputerAided Geometric Design7, (1990), 191–195.

76. Peters J., Smooth interpolation of a mesh of curves, Constructive Approx-imation7 (1991), 221–246.

77. Peters J., Parametrizing singularly to enclose vertices by a smooth para-metric surface, in Proceedings of Graphics Interface ’91, S. MacKay, E.M.Kidd (eds.), Canadian ManComputer Communications Society, Kurt Ake-ley, (1991), 1–7.

78. Piegl L., On NURBS: a Survey, Computer Graphics and Applications11(1), (1991), 55-71.

79. Pilcher D., Smooth Parametric Surfaces, inComputer Aided GeometricDesign, R. Barnhill, Riesenfeld (eds.), (1974).

80. Piper B.R., Visually smooth interpolation with triangular Bezier patches,in Geometric Modeling: Algorithms and new Trends, G. Farin (ed.), SIAM(1987), 221–233.

81. Rando T., Roulier A., Designing faired parametric surfaces, ComputerAided Design23 (1991), 492–497.

82. Richter M.M., Prinzipien der kunstlichen Intelligenz, B. G. Teubner, Stutt-gart 1989.

83. Roulier J. and Rando T., Measures of Fairness for Curves and Surfaces, inDesigning Fair Curves and Surfaces, S. Sapidis.(eds), SIAM (1994).

84. Sabin M., Non-rectangular surface patches suitable for inclusion in a B-spline surface, in tex Hagen P., (ed.), Proceedings Eurographics’83, North-Holland (1983), 57–69.

85. Sapidis, N., Farin G., Automatic fairing algorithm for B-spline curves,Computer Aided Design22 (1990), 121–129.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

References

86. Sarraga R., G1 interpolation of generally unrestricted cubic Bezier curves,Computer Aided Geometric Design4 (1987), 23–39.

87. Schroder P., Sweldens W., Spherical Wavelets: Efficiently RepresentingFunctions on the Sphere, in proceedings SIGGRAPH’95, ACM, (1995),161-172.

88. Schroeder WJ., Zarge Z.A., Lorensen W.E., Decimation of triangle meshes,in proceedings SIGGRAPH’92, ACM, (1992), 65–70.

89. Schumaker L.L., Computing optimal triangulations using simulated an-nealing, Computer Aided Geometric Design10 (1993), 329–345.

90. Schweikert D., An interpolation curve using a spline in tension, Journal ofMath. and Physics45, (1988), 312–317.

91. Selesnick S., Local invariants and twist vectors in CAGD, Computer Graph-ics and Image Processing17, (1981), 145–160.

92. Shirman L.A., Sequin C.H., Local surface interpolation with Bezier pat-ches, Computer Aided Geometric Design4 (1987), 279–295.

93. Shirman L.A., Sequin C.H., Local surface interpolation with Bezier pat-ches: errata and improvements, Computer Aided Geometric Design8(1991), 217–221.

94. Stam J., Exact evaluation of Cutmull-Clark subdivision surfaces at arbitraryparameter values, in proceedings SIGGRAPH’98, ACM, (1998), 395–404.

95. Stollnitz E., DeRose T., Salesin D.,Wavelets for Computer Graphics: aprimer, Part 1, IEEE Computer Graphics and Applications15, (1995).

96. Stollnitz E., DeRose T., Salesin D.,Wavelets for Computer Graphics:Theory and Applications, Morgan Kaufmann Publishers, San Francisco,(1996).

97. Taleb R., Design geometrique de surfaces de topologie arbitraire, These dedoctorat, Universite Joseph Fourier, Grenoble, 2001.

98. Taubin G, A signal processing approach to fair surface design, in proceed-ings SIGGRAPH’95, ACM, (1995), 351–358.

99. Turk G., Re-tilling polygonal surfaces, in proceedings SIGGRAPH’92,ACM, (1992), 55–64.

100. Weimer H., Warren J., Subdivision schemes for thin plate splines,ComputerGraphics Forum17, (1998), 303–314.

101. Welch W., Witkin A., Free-form shape design using triangulated surfaces,in proceedings SIGGRAPH’94, ACM, (1994), 247–256.

102. Van Wijk J.J., Bicubic patches for approximating non-rectangular controlmeshes, Computer Aided Geometric Design3 (1986), 1–13.

103. Yvart A., Modelisation hierarchique de surfaces G1, Memoire de DEAMathematiques Appliques, Grenoble, Juin (2001).

104. Zorin D., Schroder P., Sweldens W., Interpolating subdivision for mesheswith arbitrary topology, in proceedings SIGGRAPH’96, ACM, (1996),189–102.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Deuxieme partie

Articles et Publications de

1997a 2001

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 1

Triangular G 1 interpolation by4-splitting domain triangles

Cet article marque le debut des travaux sur l’interpolation de triangulationspolygonales de topologie quelconque. Il aete presente lors du seminaireinternational "Geometric Design"a Dagstuhl en 1999.

Projet Platon : Le Projet Platon (Plan d’Actions Intégrés du MinistŁre desAffaires EtrangŁres) est une collaboration franco-hellénique entre P.Kaklis etN.Sapidis de l’université technique d’AthŁnes et S.Hahmann et G.-P.Bonneaudu LMC intitulée "Intuitive Tools for Geometric Design". Elle a débuté enjanvier 2000. Son but est le développement d’outils intuitifs pour le designgéométrique. S. Hahmann a visité l’équipe de Prof. Kaklis en sept. 2000.Reference:

[41] Triangular G1 interpolation by 4-splitting domain triangles, S. Hahmann,GP. Bonneau,CAGD 17 (8), pp. 731-757 (2000).

Resume:

Cet article presente une methode d’interpolation des sommets d’une triangula-tion polygonale de topologie quelconque par une surface lisse. La surface estpolynomiale par morceau, a une representation de Bezier triangulaire explicitede degre 5, est affinement invariante et de support local. L’originalite de lamethode consistea effectuer une subdivision en quatre des triangles, appelee 4-split. Ce 4-split permet notamment d’obtenir des surfaces polynomiales de basdegre et la localite du schema d’interpolation. Le probleme de compatibilitedu twist qui apparaıt lors du raccordement G1 d’un nombre pair de facettespolynomiales autour d’un sommet commun est resolu par la construction decourbes frontieres twist compatibles. Un certain nombre de parametres deforme permettent un controle local de la forme de la surface.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Computer Aided Geometric Design 17 (2000) 731–757www.elsevier.com/locate/comaid

Triangular G1 interpolation by 4-splitting domain triangles

Stefanie Hahmann∗, Georges-Pierre BonneauUniversity of Grenoble, Laboratoire LMC-IMAG, B.P. 53, F-38041 Grenoble cedex 9, France

Received September 1999; revised March 2000

Abstract

A piecewise quintic G1 spline surface interpolating the vertices of a triangular surface mesh ofarbitrary topological type is presented. The surface has an explicit triangular Bézier representation,is affine invariant and has local support. The twist compatibility problem which arises when joiningan even number of polynomial patches G1 continuously around a common vertex is solved byconstructing C2-consistent boundary curves. Piecewise C1 boundary curves and a regular 4-splitof the domain triangle make shape parameters available for controlling locally the boundary curves.A small number of free inner control points can be chosen for some additional local shape effects. 2000 Elsevier Science B.V. All rights reserved.

Keywords:G1 continuity; Triangular Bézier surfaces; Twist compatibility; Interpolation; Triangle4-split

1. Introduction

Defining surfaces from a set of points, which control in an intuitive way the form of asurface due to Bernstein–Bézier or B-spline basis functions has been becoming one of themost popular methods for modeling free form surfaces. The surface hereby is defined asa regular polynomial (possibly rational) map of a planar domain, tessellated into a regulargrid of rectangles or triangles, resulting in a collection of tensor product or triangularpatches. Such surface definitions generally don’t allow the representation of surfaces ofarbitrary topological type.n-sided patches can fill inn-sided holes in rectangular patchconfigurations and offer therefore the possibility to represent general closed surfaces orsurfaces with handles. Nevertheless if one wants to model entire surfaces withn-sidedpatches, restrictions on the control net must be accepted.

∗ Corresponding author. E-mail: [email protected].

0167-8396/00/$ – see front matter 2000 Elsevier Science B.V. All rights reserved.PII: S0167-8396(00)00021-2

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

732 S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757

A widely accepted and popular way in defining surfaces without any limit of topologiesis the use of smoothly joined triangular patches, where each patch is defined over theunit triangle. They have the advantage to provide a uniform description for all possibletopologies without any restriction on the number of faces that meet at a vertex, or on thenumber of edges of the faces.

The paper is concerned with defining a geometrical smooth surface by interpolating atriangulated set of points inR3. Such a triangulated point set which we callsurface meshshould be 2-manifold and is allowed to represent surfaces of arbitrary topological type.There is no restriction on the order of the mesh vertices (i.e., the number of faces that meetat a vertex). Furthermore the surface mesh furnishes topology information, which is a datastructure generating adjacency informations relating vertices, edges and faces. We assumethat the surfaces mesh is already given.

Local smoothtriangular interpolantsof an arbitrary surface mesh have been developedby many. These previous works are the most directly related to the results found here in thesense that they interpolate a control net and not only approximate it. They can be dividedinto different groups depending on how they solve the “vertex consistency problem”, whichoccurs when joining with G1 continuity an even number of C2-patches around a vertex. Theearliest of these schemes are Clough–Tocher-like domain splitting methods (Farin, 1982;Piper, 1987; Shirman and Séquin, 1987; Jensen, 1987). Since the surface mesh trianglesare divided into sub-triangles, we refer to them asmacro-triangles. Three quartic G1

patches per macro-triangle interpolating positions and normals are produced. One problemis how to employ the free parameters in order to get pleasing shapes. Convex combinationschemes (Nielson, 1987; Hagen, 1986; Hagen and Pottmann, 1989; Gregory, 1986), blendside-side or side-vertex operators in order to interpolate transfinite position, tangent orcurvature data of the boundary curves. They are rational patches without consistentlydefined twists at the vertices. The use of singular parameterizations (Neamtu and Pluger,1994) is another possibility but seems to have problems in defining pleasing shapes. Theboundary curve schemes (Peters, 1991a; Loop, 1994) first create C2-consistent boundarycurves and then fill in the patches polynomial. Furthermore some special interpolationmethods can be found in (Herron, 1985; Van Wijk, 1986; Sarraga, 1987). They all makeeither restrictions on the mesh topology or on the input data, and are therefore notgeneral enough in order to be compared with the methods listed above. An overviewand comparison of most of these methods can be found in (Mann, 1992; Mann et al.,1992).

The surface interpolation scheme of an arbitrary mesh of points inR3, which is presentedin this paper will satisfy the following requirements. They are desirable for the reasons thatwill be explained below:

– the surfaceinterpolates the verticesof the given surface mesh. And if desired, theinterpolation condition can be relaxed in order to only approximate the mesh,

– the surface is G1 continuousfor visual smoothness,– the surface ispiecewise triangularand the definition domain of the surface is the input

surface mesh itself,– the surface can be of arbitrary topological type,– the surface results of a local interpolation method, where only a few data of the

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757 733

corresponding mesh triangle and its neighbors is used. Global interpolation schemesgenerally result in a big system of equations where all input data influences the shapeof every patch,

– an explicitclosed form polynomial and low degreeparameterization is given for eachpatch. Fast surface evaluations and calculus on the surfaces, such as derivatives andcurvature, are important for rendering and interrogation purposes,

– the surface isaffine invariantand shape parametersare available for local shapecontrol.

An interesting triangular G1 surface spline, which motivated this work, was recently givenby Loop, and consists of triangular Bézier patches of degree six, one per macro-triangle.All requirements are satisfied except one: interpolation is theoretically possible, but leadsto unwanted surface undulations in practice (Loop, 1994). These undulations are due tosevere constraints on the second derivatives along the boundary curves, at each end-point.The surface mesh therefore only acts as a control mesh which is approximated and notinterpolated.

In this paper we present an interpolating quintic G1 triangular spline surface, which isa generalization of Loop’s scheme. All requirements are fulfilled. Four Bézier patches permacro-triangleare created by a local scheme. The basic idea, which allows to performinterpolation without undulations, is to use a regular 4-split of the domain triangles. Asa consequence of the 4-split, the constraints between derivatives at each end-point ofthe boundary curves are relaxed, and an interpolating curve network, without unwantedundulations, can be built. This approach has never been used before for parametric G1

interpolation of triangulated surface meshes inR3. The advantage over the Clough–Tocher-split is that tiny triangles are avoided, the sub-triangles are more regular. Mesh verticesof arbitrary order are allowed. The vertex consistency problem is solved by constructingC2-consistent boundary curves. The 4-split doesn’t solve the vertex consistency problem,like the Clough–Tocher-split does, but it introduces enough degrees of freedom enablingto produce this new quintic surface spline. It will furthermore been shown in this paperthat the additional vertices of order six which are introduced by the 4-split don’t presentthe vertex consistency problem and that the four patches per macro-triangle join C1-continuously to each other.

The paper is organized as follows. Section 2 reviews the G1 conditions when a pair ofparametric surfaces meet and when a collection of parametric patches meet at a corner.The “vertex consistency problem” which arises when an even number of patches meet ata corner is discussed. Section 3 briefly recalls the results of Loop, and shows an examplewhere unwanted oscillations occur when interpolating meshes with this method. Section 4gives some general remarks on the 4-split of the macro-patches. The following Sections5–8 concentrate on the different steps of the surface construction resulting in an explicitrepresentation of the four Bézier patches which interpolate the corners of a mesh triangle.Examples illustrating different meshes interpolation are given in Section 9. Eventually,Section 10 offers some concluding remarks and directions for future work.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

734 S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757

2. Notations and G1-conditions

2.1. Surface mesh

LetM denote the inputsurface mesh. It consists of a list of vertices and a list of edges.Together they describe a 2-manifold mesh inR3 whose faces are triangles. The number offaces/edges incident in one vertex is referred asorder of a vertex.

We aim to construct a piecewise triangular surfaceS that interpolates the givenverticesV . The spline surface is composed of triangularmacro-patchesMi which arein one-to-one correspondence with the mesh facets. They are all polynomial images of theunit triangle inR2, composed of four Bézier triangles each, joining G1 continuously. Weassume the reader is familiar with Bézier curves and surfaces (Farin, 1997; Hoschek andLasser, 1993).

The algorithm for constructing the spline surface consists mainly of three steps– constructing boundary curves,– constructing cross-boundary tangents,– filling in the patches.

The boundary curves of the macro-patches are constructed in correspondence with a meshedge. Therefore there is a one-to-one correspondence between the mesh faces and themacro-triangles ofS. It is therefore convenient for the following sections to choose aparameterization of the macro-patchesMi around a common vertex, sharing pairwise acommon boundary as illustrated in Fig. 1.

All subscriptsi = 1, . . . , n are taken modulon, wheren is the order of the mesh vertexcorresponding toMi(0,0). The parameterui lies in the interval[0,1].

In order to allow a unified treatment of the surface patches, the surface meshM issupposed to be closed. We shall point out that since the scheme is local, there should be notheoretical difficulties in treating meshes with boundaries. This is left for further research.

2.2. G1 continuity between two adjacent patches

Consider two adjacent patchesMi−1(ui−1, ui) andMi(ui, ui+1) that share a commonboundary, i.e.,Mi−1(0, ui)=Mi(ui,0) for 06 ui 6 1.

Fig. 1. Parameterization of macro-patches around a vertex.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757 735

Two adjacent patchesMi , Mi−1 join at a common boundary with G1 continuity if andonly if there exist three scalar functionsΦi , νi andµi such that

Φi(ui)Miui(ui,0)= νi(ui)Mi

ui+1(ui,0)+µi(ui)Mi−1

ui−1(0, ui), ui ∈ [0,1], (IC )

whereνi(ui)µi(ui) > 0 (preservation of orientation) andMiui(ui,0)×Mi

ui+1(ui,0) 6= 0

(well defined normal vectors).Miui

denotes the partial derivative ofMi with respect to theparameterui .

2.3. G1 continuity of a network of patches

If one wants to join several patches together in a network of patches with G1 continuity, itcan happen that satisfying condition(IC) for all edges can present serious difficulties. Thisproblem has been mentioned by several authors, first by Van Wijk (Van Wijk, 1986) and iscalled “vertex consistency problem”. At a vertex, wheren patches meet, G1 continuity cangenerally not be achieved by simply solving the linear system ofn equations(IC). Thissystem can have singularities, which are not easy to overcome. At such a vertex, the G1

continuity is directly related to the twists (the second order mixed partial derivatives at apatch corner). For polynomial patches, which lie in the continuity class C2, both twists areidentical:

∂2Mi

∂ui∂ui+1(0,0)= ∂2Mi

∂ui+1∂ui(0,0), i = 1, . . . , n.

Therefore, additional conditions at the patch corner, which involve the twists, have to besatisfied for G1 continuity of a network of patches:

νi(0)Miuiui+1

(0,0)+µi(0)Mi−1ui−1ui

(0,0)

=Φ ′i (0)Miui(0,0)+Φi(0)Mi

uiui(0,0)+ ν′i (0)Mi

ui+1(0,0)+µ′i (0)Mi−1

ui−1(0,0),

i = 1, . . . , n. (IT )

This system of equations is obtained by differentiating(IC) with respect toui taken atui = 0.

Now, for solving the G1 problem at a vertex two strategies can be employed:– fix the boundary curves and solve(IT ) for the twists, or– fix the twists and solve then equations(IT ) for the boundary curves.

Both strategies, which should maken patches joining G1 at a common vertex, will not givea solution in general for the same reason. They lead to linear systems of equations with acirculant matrix, which is singular ifn is even and greater than 2 (Van Wijk, 1986; Peters,1991b; Loop, 1994).

2.4. C2-consistent boundary curves

A closer look to (IT ) shows that the right hand side only contains first and secondderivatives of the patch boundary curves at the common vertex. Whether or not thelinear system (IT ) can be solved depends therefore on the choice of the boundarycurves. Boundary curves are called to beC2-consistent, if the right hand side vectors

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

736 S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757

[. . . ,Miui(0,0), . . .]T and[. . . ,Mi

uiui(0,0), . . .]T lie in the image space of the rank deficient

system (IT ).The present interpolation scheme solves the problem by first constructing C2-consistent

boundary curves of the patch network. This ensures G1 continuity at the patch vertices by(IT ). In order to get an overall G1 surface,(IC) has to be satisfied between all adjacentpatches. We therefore define cross-boundary tangents along each edge satisfying(IC) and(IT ). It has to be noticed, that both steps are not independent, the values of the cross-boundary tangents at the vertices are already fixed by the boundary curves because of thefollowing equality:Mi

ui+1(0,0)=Mi+1

ui+1(0,0), i = 1, . . . , n.

3. Loop’s scheme

Loop constructs sextic G1 triangular Bézier patches in one-to-one correspondence withthe input mesh faces. In this section we briefly recall the method of Loop in order to pointout later the differences with our work. Details are in (Loop, 1994).

Boundary curves & vertex consistency

Around a vertexp of ordern, with neighbor verticespi of orderni , Loop uses thefollowing scalar functionsΦi, νi,µi in systems (IC ) and (IT ):

Φi(ui)= cos

(2π

n

)B2

0(ui)+1

2B2

1(ui)+(

1− cos

(2π

ni

))B2

2(ui), (quadratic) (1)

νi(ui)=µi(ui)= 1

2. (constant)

The following choice for the first three Bézier pointsf 0i ,f

1i ,f

2i of the boundary curve

betweenp andpi enables us to find a solution to system (IT ) aroundp:

f 0i = αp+

(1− α)n

n∑j=1

pj ,

f 1i = αp+

1

n

n∑j=1

(1− α + β cos

(2π(j − i)

n

))pj , (2)

f 2i =

1

3p+ 1

6pi−1+

1

3pi +

1

6pi+1.

The boundary curve betweenp andpi is of degree 4, and has control pointsf 0i , . . . ,f

4i ,

wheref 3i ,f

4i are constructed asf

0i , f

1i from the opposite vertexpi .

α andβ in (2) are shape parameters. There is no shape parameter forf 2i . In fact, since the

boundary curve has degree 4, the middle control pointf 2i must be computed symmetrically

from both end-points.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757 737

Fig. 2. A typical case where undulations in the curve network happen, when interpolating with Loop’spatches. The top shows the interpolation case,α = 1. To remove the oscillations, a smaller value ofα

has to be chosen, and the original mesh is not interpolated (bottom).

Cross-boundary tangents

The cross-boundary tangents are set to be equal

∂Hi

∂ui+1(ui,0) =Φi(ui)∂Hi

∂ui(ui,0)+Ψi(ui)V i (ui), (quintic)

∂Hi−1

∂ui−1(0, ui) =Φi(ui)∂Hi

∂ui(ui,0)−Ψi(ui)V i (ui), (quintic)

(3)

which ensures automatically that (IC ) is satisfied. The scalar functionΨi and the vectorfunction V i are built of minimal degree so as to interpolate the values of the cross-derivatives and the twists at the verticesp andpi :

Ψi(ui) = sin2π

n(1− ui)+ sin

niui, (linear)

V i (ui) =n∑k=1

vki B3k (ui), (cubic)

(4)

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

738 S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757

wherev0i =

∑nj=1V

0ijpj and

v1i =

n∑j=1

κiV0ij + pj

23Φi(0)Ψi (0)

if j = i + 1,

−23Φi(0)Ψi (0)

if j = i − 1,0 otherwise,

with

V 0ij =

1

n4β sin

2π(j − i)n

and

κi = 1− 1

3Ψi(0)

[tan

π

n

(6Φi(0)−Φ ′i (0)

)+Ψ ′i (0)].v2i andv3

i are constructed asv0i , v

1i from the opposite vertex.

Each triangular patchH must be of degree 6 because of the quintic cross-boundarytangent functions (3). From the boundary curves (2 times degree elevated) and the cross-boundary tangents the first two rows of Bézier control points ofH are calculated. Theremaining middle control point of each patch is chosen so thatH has quintic precision. Intwo special cases Loop’s patches are quintic (the three patch vertices have same order) orquartic (the three patch vertices are of order 6).

4. Regular 4-split

Subdivision of the domain into several pieces has been shown to be of benefit tointerpolation by piecewise polynomial curves or tensor product surfaces. The polynomialdegree can be kept low and additional degrees of freedom allow for shape improvements.

For the same purpose we split the domain triangles into 4 sub-triangles by joining theedge midpoints together, see Fig. 3. Each triangularmacro-patchM, which interpolatesthe 3 vertices of a surface mesh triangle, will be a piecewise C1 quintic surface.

For the following developments we first consider the macro-patch as a whole.The boundary curves and cross-boundary tangents are thereforepiecewise polynomial

Fig. 3. 4-split of all domain triangles.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757 739

functions. The four sub-patches are then considered independently when filling-in themacro-patches with the C1 quintic Bézier triangles.

4-splitting the domain triangles for parametric G1 interpolation is the key issue of thepresent method. It doesn’t cause additional problems, as one would probably think; incontrary! We shall point out, that we don’t use the 4-split in order to solve the vertexconsistency problem as the Clough–Tocher methods do. The advantages are obvious,because the number of degrees of freedom per macro-patch is increased. They can be usedto perform interpolation of vertices and to efficiently control the shape. The additionalvertices, which are created at the edge midpoints, are of order 6. But the vertex consistencyproblem is implicitly solved by the special construction of the boundary curves and thecross-boundary tangents of the macro-patches, as will be shown in Section 8.

5. Choice of scalar functionsΦi, νi ,µi

For the interpolating spline surface presented in this paper one of the most importanttargets is to keep the total degree of the patches as low as possible. IfMi(ui, ui+1)

is a triangular surface of total parametric degreed , thenMiui(ui ,0), Mi

ui+1(ui,0), and

Mi−1ui−1

(0, ui) are of degreed − 1 in Eq.(IC). When joining patches G1 continuously, theconditions(IC) and (IT ) must be satisfied. It is important to choose the scalar valuedfunctionsΦi, νi ,µi such that they don’t raise the degree of the final patches. Ideally thiswould mean to takeΦi linear andνi,µi constant and the degree of the patches would notbe raised when satisfying Eq.(IC).

One of the main contributions of this paper is to show that we can make it possible. Firstimportant point is the choice ofΦi . For locality reasons, Loop is not able to takeΦi linear,he takes it quadratic, which finally leads to patches of degree six, one degree more than ourproposal.

For symmetry reasons we chooseνi = µi = 12 and as a simplification we suppose that

Φ0 := Φi(0) andΦ1 := Φ ′i (0) for i = 1, . . . , n. These assumptions imply that the G1

conditions now state as follows:

Φi(ui)Miui(ui,0)= 1

2Miui+1

(ui ,0)+ 1

2Mi−1ui−1

(0, ui), (IIC )

νi(0)Miuiui+1

(0,0)+µi(0)Mi−1ui−1ui

(0,0)=Φ ′i (0)Miui(0,0)+Φi(0)Mi

uiui(0,0).

Varying i from 1 ton leads to the following linear system of equations:

T t =Φ1r1+Φ0r2, (II T )

where

T =

12 0 · · · 0 1

212

12 · · · 0

. . .

0 · · · 12

12 0

0 · · · 0 12

12

,

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

740 S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757

r1=

M1u1(0,0)

...

Mnun(0,0)

, r2=

M1u1u1

(0,0)

...

Mnunun

(0,0)

,

and t is the vector of the twists. In (Loop, 1994) it was now shown, that it is possibleto determineΦ0 andΦ1. For ui = 0 it is easy to see thatMi

ui+1(0,0) = Mi+1

ui+1(0,0).

Eqs. (IIC) (i = 1, . . . , n) taken atui = 0 are therefore transformed into the followinghomogeneous system

Φ0 −12 0 . . . 0 −1

2−1

2 Φ0 −12 0

0. . .

. . .. . .

...... 00 −1

2−1

2 −12 Φ0

M1u1

...

Mnun

=O, (5)

where the determinant is equal to

n−1∏i=0

cos

(2πk

n

)−Φ0

for some integerk (Davis, 1979). A non-trivial solution exists if and only ifΦ0= cos(2πkn),

wheren is the order of the vertexui = 0. k = 1 was set to insure that theMiui

span a planeand are ordered properly, thus

Φ0=Φi(0)= cos

(2π

n

). (6)

In an analogous way, one obtains

Φi(1)= 1− cos

(2π

ni

), (7)

whereni is the order of the opposite vertex.If one takes the functionsΦi as linear blending functions, this would imply that

Φ1 = Φ ′i (0) in (II T ) depends on the orderni of the opposite vertex. This would makethe algorithm global instead of local, which is not acceptable. Since (Loop, 1994) wanteda single polynomial patch per input triangle, he was forced to takeΦi quadratic in order toseparate vertex informations and to keep the algorithm local.

In our new method, the 4-splitting of domain triangles enables us to separate vertexinformations by taking the functionsΦi piecewise linear, continuous, defined on[0, 1

2]and[12,1], with Φi(1

2)= 12, as shown in Fig. 4.

Φi(ui)=

cos2πn(1− 2ui)+ ui for ui ∈ [0, 1

2],(1− ui)+ (1− cos2π

ni)(2ui − 1) for ui ∈ [12,1].

(8)

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757 741

Fig. 4. Scalar valued functionΦi(ui), piecewise linear.

This choice is justified by the observations thatn = ni implies Φi(1) = 1 − Φi(0)(and thereforeΦi is a single linear function) andn = ni = 6 impliesΦi(ui) = 1

2 for allui ∈ [0,1].

This choice forΦi would not have been possible without 4-splitting the domaintriangles.

6. Boundary curve network

The boundary curves of the macro-patches are constructed in correspondence to theedges ofM. This is the most important step in the surface construction method, becausethe shape of this curve network has great influence on the surface shape. The requirementson the boundary curves are the following:

– interpolating the vertices ofM,– satisfying the G1 conditions(II C), (II T ) at the end points,– keeping the surface scheme local.

The locality requirement imposes to construct the curves such that they satisfy(IIC),(II T ) at one vertex (end point) independently from the opposite vertex. The first andsecond derivatives at the curve’s end points are involved in system(II T ). A polynomialcurve which separates these informations of both end points should be of degree> 5. Theadvantage of the domain 4-split is now, that it allows to takepiecewise C1 polynomialcurves of degree3. Each boundary curve between two adjacent mesh vertices consists of 2cubic pieces, which are constructed independently from each other.

Let denote the polynomial piece of the boundary curve between the neighboring verticesv of ordern and the vertexpi of orderni in Bézier form by the control pointsbi0, . . . ,b

i3,

see Fig. 5.0, 12,1 is the subdivision of the parameter interval for the whole boundary

curve. Around each vertex ofM the control pointsbi0,bi1,b

i2, i = 1, . . . , n, of all incident

boundary curves can be constructed independently from the joining curve piece of theopposite vertices, i.e., the first and second derivatives can be isolated at each vertex. The“midpoints” bi3 are constructed in order to have C1 joints between the two curve pieces.These points correspond to the parameterui = 1

2, i.e., the midpoint of an edge ofM, wherethe 4-split has been accomplished. The control points of the joining piecesbk0,b

k1,b

k2 and

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

742 S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757

Fig. 5. Control points of the boundary curves at vertexv.

bk3 = bi3 are found when treating the boundary curve pieces incident inpi , wherek is theindex ofv relative to the neighborhood ofv.

For simplification it is convenient to adopt a matrix notation:

b0 :=b1

0...

bn0

, b1 := b1

1...

bn1

, b2 := b1

2...

bn2

, p :=p1...

pn

,wherep is referred as to thevertex neighborhoodof v.

The boundary curves have to be constructed in order to have one-to-one correspondencebetween the macro-patches and the faces ofM. Therefore the boundary curve end pointsshould correspond to the vertices ofM. Looking at vertexv,

bi0= v, i = 1, . . . , n,

should hold for interpolation. This is a special case of the more general setting

bi0= αv + (1− α)n∑j=1

pj

n, (9)

whereα ∈R is a shape parameter controlling the interpolation. In matrix representation (9)corresponds to

b0= αv +B0p, (10)

whereB0 is an× n matrix withB0ij = 1−α

n, i, j = 1, . . . , n, andv = [v, . . . ,v]T.

The pointsbi1 define the tangent plane ofS and the first derivative at the boundary curveend point:

r1i :=Mi

ui(0,0)= 6

(bi1− bi0

). (11)

Additionally, they have to maker1 lying in the image space ofT in (II T ) and to satisfy(IIC). A solution to that problem is to taker1 as the local averaging of the vertex

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757 743

neighborhood ofv which is known asfirst order discrete Fourier approximation top (VanWijk, 1986; Peters, 1993; Loop, 1994):

r1i =

n

n∑j=1

cos

(2π(j − i)

n

)pj , i = 1, . . . , n, (12)

whereβ is a shape parameter controlling the magnitude of the tangent vectors.Combining (11) with (10) and (12) gives

b1= αv +B1p, (13)

where

B1ij =

1− α + β cos(2π(j−i)

n

)n

, i, j = 1, . . . , n.

The pointsbi2 are related to the second derivatives at the boundary curve end point:

r2i :=Mi

uiui(0,0)= 12

(bi2− 2bi1+ bi0

)(14)

and have to lie in the image space ofT in (II T ).It has been shown (Loop, 1994) thatd i = 1

6(2v + pi−1+ 2pi + pi+1) suffices to thatcondition. Since any affine combination of points, which lie in the image space ofT alsodoes, let define

bi2 := γ0bi0+ γ1b

i1+ γ2d

i , γ0+ γ1+ γ2= 1

= bi0+ γ1(bi1− bi0

)+ γ2(d i − bi0

),

whereγ0, γ1, γ2 are shape parameters controlling the value of the second derivative. Thematrix expression is given by

b2=[(γ0+ γ1)α + γ2

3

]v +B2p, (15)

where

B2ij =

(γ0+ γ1)(1− α)+ γ1β cos(2π(j−i)

n

)n

+ γ2

1/6 if j = i − 1, i + 1,1/3 if j = i ,0 otherwise.

The boundary curves have to be C1-continuous at the knotui = 1/2 in order to getcontinuous cross boundary tangents later, which results in

bi3=1

2

(bi2+ bk2

), (16)

wherebk2 belongs to the joining curve piece constructed from the vertex neighborhood ofpi .

The piecewise cubic boundary curves of the macro-patches ofS can now be calculatedby using Eqs. (10), (13), (15) and (16) for each vertexv ofM. They form a C2-consistentcurve network.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

744 S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757

The first and second derivatives at the corners,r1i , r

2i , lie in the image space ofT . It is

now possible to solve(II T ) for the twist

t = t1...tn

, with t i =Miuiui+1

(0,0), i = 1, . . . , n,

by observing that the control points (10), (13), (15) are constructed such that they lie in the

image space ofT , i.e., there exist some pointsbi

0, bi

1, bi

2 such that

T bi

0= bi0, T bi

1= bi1, T bi

2= bi2.Due to the simple structure of the matrixT , it is easy to verify that

bi

0=1

2

(bi0+ bi−1

0

),

bi

1= αv +n∑j=1

(1− α)+ β[cos(2π(j−i)

n

)+ tan(πn

)sin( 2π(j−i)

n

)]n

pj ,

bi

2= γ0bi0+ γ1b

i

1+1

3γ2(v + pi + pi+1),

are solutions of these three equations.It follows that

Φ1r1+Φ0r2= 6Φ1(bi1− bi0)+ 24Φ0(bi2− 2bi1+ bi0)

= (−6Φ1+ 24Φ0)bi0+ (6Φ1− 48Φ0)bi1+ 24Φ0bi2

= T [(−6Φ1+ 24(1+ γ0)Φ0)bi0+ (6Φ1+ (−48+ 24γ1)Φ

0)bi1+ 8γ2Φ

0(v + pi + pi+1)].

From Eq.(II T ) the following expression of the twists is obtained:

t i = 8γ2Φ0(1− 3α)v

+n∑j=1

−24γ2Φ0(1− α)n

+ (6Φ1+ (24γ1− 48)Φ0)β

[cos2π(j−i)

n+ tan

(πn

)sin( 2π(j−i)

n

)]n

pj

+ 8γ2Φ0(pi + pi+1), i = 1, . . . , n. (17)

Since the method of this paper is an interpolation scheme,α = 1 is generally chosen. Inorder to avoid undulations of the boundary curves, for each vertex a set of three free shapeparametersβ,γ1, γ2 (γ0 = 1− γ1− γ2) is available. As mentioned above,β controls themagnitude of the tangents andγ1, γ2 the second derivatives and therefore the shape of thecurves, see also Section 9.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757 745

7. Cross boundary tangents

Once C2-consistent boundary curves have been found, the second step in constructinga network of G1 continuous patches is to define the cross-boundary tangentsMi

ui+1(ui,0)

andMi−1ui−1

(0, ui) for each boundary curve of the curve network. The conditions on themare three

– satisfy the G1 condition(IIC) along the boundary curve,– satisfy the twist constraint at the end points,– be consistent to the curve network.

With the curve network, the values of the cross-boundary tangent functions at the cornersare already fixed, see Fig. 6.

A convenient way to define cross-boundary tangents that ensure G1 continuity is thefollowing:

Miui+1

(ui ,0)=Φi(ui)Miui(ui,0)+Ψi(ui)V i (ui),

Mi−1ui−1

(0, ui)=Φi(ui)Miui(ui,0)−Ψi(ui)V i (ui), (18)

whereΨi is some scalar function andV i some vector function.To see that (18) implies(II c), simply add the two equations in (18). To see that(II c) im-

plies (18), chooseΨi(ui)V i (ui)=Φi(ui)Miui(ui,0)−Mi−1

ui−1(0, ui)=−Φi(ui)Mi

ui(ui ,0)+

Miui+1

(ui,0).The degree ofΨi andV i in (18) decides now about the degree of the surfaceS. The

productΦiMiui

is piecewise C0 cubic, see (8) and Section 6. Therefore,ΨiV i should notbe of degree higher than 3. Due to the domain 4-split it will again be possible to constructthese functions continuous and piecewise polynomial of degree 1 and 2.

The function valuesΨi(0) andV i (0) are now determined following (Loop, 1994). Thecross-boundary tangents have to correspond to the tangents of the boundary curve tangentsat the end points. The first equation of (18) evaluated atui = 0, gives

Miui+1

(0,0)=Φi(0)Miui(0,0)+Ψi(0)V i (0)

⇔ r1i+1=Φ0r1

i +Ψ 0V i (0) (19)

Fig. 6. Cross-boundary tangents at the vertices are fixed by the boundary-curves.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

746 S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757

in terms of Section 5, with the simplifying assumptionΨi(0)= Ψ 0 for all i. Expanding (19)by using (12) and (6) results in

Ψ 0V i (0)= sin

(2π

n

) n∑j=1

nsin

2π(j − i)n

pj .

An appropriate choice ofΨ 0 is therefore

ψ0= sin

(2π

n

).

From the opposite end point, the productΨi(1)V i (1) can be obtained analogously, whichgivesΨi(1) = sin 2π

ni, whereni is the order of vertexpi . Hence the functionΨi can be

chosen linear, which is minimal degree:

Ψi(ui)= sin

(2π

n

)(1− ui)+ sin

(2π

ni

)ui, ui ∈ [0,1]. (20)

The functionV i cannot be taken linear, because it’s derivative depends on the twists. Whendifferentiating the first equation of (18) with respect toui and evaluating atui = 0

Miui+1ui

(0,0)=Φ ′i (0)Miui(0,0)+Φi(0)Mi

uiui(0,0)+Ψ ′i (0)V i (0)

+Ψi(0)V ′i (0). (21)

The derivativeV ′i (0) appears in relation to the twistt i =Miuiui+1

(0,0) =Miui+1ui

(0,0).It explains, why the cross-boundary tangents have to be constructed subject to the twists.From (21) one gets therefore

V i′(0)= 1

Ψ 0

[t i −Φ1r1

i −Φ0r2i −Ψ 1

i V i (0)], (22)

whereΨ 1i = Ψ ′i (0)= sin(2π

ni)− sin(2π

n) depends oni.

V i (1) andV i ′(1) are known from the opposite vertexpi . A Hermite interpolation ofthese four valuesV i (0),V i ′(0),V i (1),V i ′(1) would result in a cubic polynomial. Thedomain 4-split of the present method allows to lower the degree by one by takingV i as apiecewise C0 quadratic function requiring thatV i (1

2−)= V i (1

2+). In fact, as will be shown

in Section 8.3, it is only required thatV i is C0-continuous.For the quadratic piece ofV i corresponding to the vertexv one gets in terms of

Bernstein–Bézier representation the following control points:

vi0=n∑j=1

nsin

2π(j − i)n

pj ,

vi1=n∑j=1

1

ψ0i

[(6φ1− 48φ0+ 24φ0) tan

n

)− 6ψ1

i

]× βn

sin

(2π(j − i)

n

)pj +

4

ψ0i

γ2φ0(pi+1− pi−1),

vi2 free subject toV i

(1

2

−)= V i

(1

2

+).

(23)

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757 747

In matrix form, the control points ofV i are given by

v0= V 0p,

v1= V 1p,

where

V 0ij =

nsin

(2π(j − i)

n

), i, j = 1, . . . , n,

V 1ij =

1

ψ0i

[(6φ1− 48φ0+ 24φ0) tan

n

)− 6ψ1

i

nsin

(2π(j − i)

n

)+ 4

ψ0i

γ2φ0

1 if j = i + 1,−1 if j = i − 1.

As written above,V i is only required to be C0-continuous, and therefore the value ofvi2 isfree. Nevertheless, in the example shown in Section 9, we have chosen C1-continuousV ifunctions by takingvi2= 1

2vi1+ 1

2vk1, wherevk1 is known from the opposite vertexpi .

Piecewise cubic cross-boundary tangents have been constructed in this section. How-ever, the surface will only be piecewise quintic, because up to now, it is an open questionhow to use the degrees of freedoms in order to obtain a local piecewise quartic surface.This is subject of current research.

8. Macro-patches in Bézier form

From now up, the macro-patches are considered individually. The domain 4-split leadsto the construction of 4 triangular patches per macro-patch for which the Bézier controlpoints will be given in this section. The border and first inner row of control points of themacro-patch can be found from the boundary curves (Section 6) and the cross-boundarytangents (Section 7). They ensure the G1-join to the neighboring macro-patches. In orderto have an overall visually smooth surface, the remaining inner control points are used tojoin the 4 sub-patches C1-continuously. Six control points per macro-patch remain free forlocal shape control.

8.1. Notations

A triangular Bézier patch of degreed is given by

B(u, v,w)=∑

i+j+l=di,j,l>0

b(i,j,l)Bdi,j,l (u, v,w), u+ v +w = 1,

whereu,v,w ∈ [0,1] are the barycentric coordinates of a point inside the domain triangle,and bi are the Bézier control points. The basis functionsBdi,j,l (u, v,w) = i!j !l!

d ! uivjwl

are known as generalized Bernstein polynomials. For more details about triangular Bézierpatches, see (Farin, 1997; Hoschek and Lasser, 1993).

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

748 S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757

Fig. 7. Parameterization of the macro-patchM , labeling of sub-patches and derivative directions.

The 4 triangular Bézier patches of degree 5 which compose the macro-patchM aredenoted byS1, S2, S3, Sm and are parameterized as in Fig. 7.

The Bézier control points ofM are therefore denoted resp. bys1(i,j,l), s

2(i,j,l), s

3(i,j,l),

sm(i,j,l), wherei + j + l = 5. uk = ak+1 − ak are vectors between the domain verticesand define the directional derivatives[DukM](u, v,w) of M. Furthermore, letEk(u) =ak(1− u)+ ak+1u, for u ∈ [0,1], define an edge function and letnk be the order of themesh vertex which is interpolated byM(Ek(0)).

8.2. Finding boundary and first (row) derivative control points ofM

Let denote the piecewise cubic boundary curve by

M(Ek(u)

)= ∑3i=0 b

Li B

3i (2u) for u ∈ [0, 1

2],∑3i=0 b

Ri B

3i (2u− 1) for u ∈ [12,1],

k = 1,2,3, (24)

wherebLi ,bRi are the control points of the two curve pieces, computed in Section 6.

The cross-boundary tangentMiui+1

(ui ,0) of Section 7 is here given by

[−Duk+2M](Ek(u)

)=Φk(u)[DukM](Ek(u))+Ψk(u)V k(u), (25)

where

[DukM](Ek(u))

=

6∑2i=0(b

Li+1− bLi )B2

i (2u) for u ∈ [0, 12],

6∑2i=0(b

Ri+1− bRi )B2

i (2u− 1) for u ∈ [12,1],k = 1,2,3, (26)

is the derivative ofM(Ek(u)) along the edgeuk ,

V k(u)=∑2

i=0 vLi B

2i (2u) for u ∈ [0, 1

2],∑2i=0 v

Ri B

2i (2u− 1) for u ∈ [12,1],

k = 1,2,3, (27)

is the cross-derivative function of Section 7, andΦk,Ψk are the scalar functions defined,respectively, in Sections 3 and 7 by

Φk(u)=

cos2πnk(1− 2u)+ u for u ∈ [0, 1

2],(1− u)+ (1− cos 2π

nk+1)(2u− 1) for u ∈ [12,1],

(28)

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757 749

Fig. 8. Boundary and first derivative control points ofM corresponding to boundaryu1.

Ψk(u)= sin

(2π

nk

)(1− u)+ sin

(2π

nk+1

)u, u ∈ [0,1]. (29)

Let us now consider the boundary ofM corresponding tou1 which is common to thepatchesS1 andS2. The control points are labeled as in Fig. 8.

A double degree elevation of (24) results in the control points of the piecewise C1 quinticBézier curve, which is the boundary curve ofM corresponding to directionu1:

s1(5,0,0) = bL0 ,s1(4,1,0) =

2

5bL0 +

3

5bL1 ,

s1(3,2,0) =

1

10bL0 +

3

5bL1 +

3

10bL2 ,

s1(2,3,0) =

3

10bL1 +

3

5bL2 +

1

10bL3 ,

s1(1,4,0) =

3

5bL2 +

2

5bL3 , s1

(0,5,0) = bL3 .

(30)

s2(5−i,i,0), i = 0, . . . ,5, are found analogously frombRj , j = 0, . . . ,5.

The first row of inner control pointss1(4−i,i,0), s

2(4−i,i,0), i = 0, . . . ,4, ofM can be found

by the cross-boundary derivatives

[−Du3M](E1(u)

)=

10∑4i=0(b

L(4−i,i,1) − bL(5−i,i,0))B4

i (2u) for u ∈ [0, 12],

10∑4i=0(b

R(4−i,i,1) − bR(5−i,i,0))B4

i (2u− 1) for u ∈ [12,1].(31)

The left hand-side of (31) can be found by combining (25) with (26)–(29). It is piecewisecubic and must be degree elevated, before rearranging of (31) finally leads to

s1(4,0,1) = s1

(5,0,0)−3c1

5bL0 +

3c1

5bL1 +

s1

10vL0 ,

s1(3,1,1) = s1

(4,1,0)−6c1+ 3

40bL0 +

3− 6c1

40bL1 +

3c1

10bL2 +

3s1+ s280

vL0 +s1

20vL1 ,

s1(2,2,1) = s1

(3,2,0)−1

20bL0 −

1+ 4c1

20bL1 +

c1+ 1

10bL2 +

c1

10bL3 +

s1+ s2120

vL0

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

750 S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757

+ 3s1+ s260

vL1 +s1

60vL2 ,

s1(1,3,1) = s1

(2,3,0)−3

20bL1 +

3− 6c1

40bL2 +

6c1+ 3

40bL3 +

s1+ s240

vL1 +3s1+ s2

80vL2 ,

s1(0,4,1) = s1

(1,4,0)−3

10bL2 +

3

10bL3 +

s1+ s220

vL2 , (32)

and

s2(4,0,1) = s2

(5,0,0)−3

10bR0 +

3

10bR1 +

s1+ s220

vR0 ,

s2(3,1,1) = s2

(4,1,0)−9− 6c2

40bR0 +

3− 6c2

40bR1 +

3

20bR2 +

s1+ 3s280

vR0 +s1+ s2

40vR1 ,

s2(2,2,1) = s2

(3,2,0)−1

20bR0 −

2− c2

10bR1 +

5− 4c2

20bR2 +

1

20bR3 +

s2

60vR0

+ s1+ 3s260

vR1 +s1+ s2

120vR2 ,

s2(1,3,1) = s2

(2,3,0)−3− 3c2

10bR1 +

3− 6c2

40bR2 +

9− 6c2

40bR3 +

s2

20vR1 +

s1+ 3s280

vR2 ,

s2(0,4,1) = s2

(1,4,0)−3− 3c2

5bR2 +

3− 3c2

5bR3 +

s2

10vR2 ,

(33)

wherecj = cos(2πnj), sj = sin(2π

nj). The control points corresponding to the boundariesu2

andu3 are obtained by shifting the indices in (30) and (32), (33) once and twice to the left.

8.3. Filling-in the macro-patches by piecewise quintic Bézier triangles

All control points, which are involved in joining the macro-patches pairwise G1 arehighlighted in Fig. 9. In this section, it will be shown that it is possible to join the 4 sub-patchesS1, S2, S3, Sm with C1-continuity and how the remaining control points are usedfor that.

Fig. 9. Control points known from the boundary curves and their cross-boundary tangents, ensuringpairwise G1 continuity between macro-patches.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757 751

Vertex consistency and C1-continuity at the edge mid-pointsTwo questions should be answered for the general understanding of the present

triangular interpolation scheme:– The macro-triangle edge mid-points are vertices of order 6. Why don’t they present

the vertex consistency problem?– Why using (the stronger) C1 conditions for filling-in the macro-patches (instead of

G1 conditions)?In fact, both questions can be answered simultaneously: it turns out that the cross-

boundary tangents constructed in Section 7 already ensure continuity of the first partialderivatives at the edge mid-points. To prove this, we temporarily switch to the notations ofSection 7. The partial derivatives around an edge mid-point are shown in Fig. 10.

We have to prove thatMiui+1

(12+,0) = Mi

ui+1(1

2−,0), Mi−1

ui−1(0, 1

2+) = Mi−1

ui−1(0, 1

2−)

(continuity at 12 inside one macro-patch) andMi

ui+1(1

2,0) =Mi−1ui+1

(0, 12), M

iui−1

(12,0) =

Mi−1ui−1

(0, 12) (continuity between the two macro-patches joining at the common edge). The

other identities follow from the C1-continuity of the common boundary curve.The continuity of the partial derivatives inside one macro-patch can easily be seen

from (18): sinceΦi(ui),Miui(ui,0),Ψi(ui),V i (ui) are all continuous atui = 1

2, then

Miui+1

(ui,0) andMi−1ui−1

(0, ui) are also continuous atui = 12.

It remains to prove the continuity of the partial derivatives between the joining macro-patches. We will prove the first identity,Mi

ui+1(1

2,0) =Mi−1ui+1

(0, 12), the second identity

Miui−1

(12,0)=Mi−1

ui−1(0, 1

2) can be proven analogously.

Sinceui+1= ui −ui−1, it follows thatMi−1ui+1

(0, 12)=Mi−1

ui(0, 1

2)−Mi−1ui−1

(0, 12). In this

last identity, we replaceMi−1ui−1

(0, 12) by its value from (18):

Mi−1ui+1

(0,

1

2

)=Mi−1

ui

(0,

1

2

)−[Φi

(1

2

)Miui

(1

2,0

)−Ψi

(1

2

)V i

(1

2

)].

Fig. 10. Partial derivatives at the edge mid-points.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

752 S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757

Fig. 11. The control points around macro-patch boundary mid-points form an affine transformationof a regular 6-gon.

But Φi(12) = 1

2, andMi−1ui(0, 1

2) = Miui(1

2,0) (the two macro-patches share the samecommon C1-continuous boundary curve), therefore:

Mi−1ui+1

(0,

1

2

)=Φi

(1

2

)Miui

(1

2,0

)+Ψi

(1

2

)V i

(1

2

)=Mi+1

ui+1

(1

2,0

).

Thus we have shown that all C1-continuity conditions around the edge mid-points arealready fulfilled by the cross-boundary tangents constructed in Section 7. Therefore thereis no vertex-consistency problem at these points, and it is natural to use the stronger C1-continuity conditions for filling-in the macro-patches. In other words, the 6 Bézier pointsaround an edge mid-point form an affine transformation of a regular 6-gon, as shown inFig. 11.

Computing the unknown Bézier pointsThe necessary and sufficient C1-continuity conditions between two internal Bézier

patches inside one macro-patch are shown in Fig. 12: all pairs of adjacent triangles inFig. 12 must form a parallelogram.

From the previous proof, we know that the first and last pairs of adjacent triangles inFig. 12 already form parallelograms.

Fig. 12. C1-conditions between two adjacent quintic Bézier patches inside one macro-patch.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757 753

Fig. 13. Four steps for filling-in the macro-patchM with C1-continuity: (a) choose the three twists ofSm, which are free for local shape control, (b) compute the third and fourth Bézier points along eachedge using the C1-continuity conditions, (c) choose the three last free Bézier points ofSm, which arealso free shape parameters, (d) compute the remaining three Bézier points using the C1-continuityconditions.

It remains to compute the free Bézier points such that the other three pair of trianglesalong each edge inside on macro-patch also form parallelograms. This is be done in foursteps:• choose the three twists points of the internal Bézier patch arbitrarily; these are free

shape parameters (see Fig. 13(a)),• compute the third and fourth Bézier points along each internal curve joining two

Bézier patches using the second and fourth parallelogram conditions (see Fig. 13(b)),• choose the remaining three unknown Bézier points of the central patches arbitrarily;

these are free shape parameters (see Fig. 13(c)),• compute the three remaining unknown Bézier points of the outer patches using the

third parallelogram condition along each edge (see Fig. 13(d)).

9. Results

The first example shows how the new shape parametersγ0, γ1 (γ2 = 1 − γ0 − γ1)can be used to remove unwanted undulations in the curve network interpolating the

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

754 S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757

Fig. 14. Removing unwanted undulations in the interpolating curve network. The left part showsthe interpolation of an icosahedron with the method of (Loop, 1994). The right part shows theinterpolation with the new method presented in this article. The new shape parameters enable usto remove the undulations. The control-polygons are in red, and the boundary curves are in blue.

input triangular mesh. The left part of Fig. 14 shows the result from (Loop, 1994) wheninterpolating an icosahedron by choosingα = 1.0. The value ofβ is 0.1. The right partshows the curve network from the new interpolant presented in this paper, with the samevalues forα andβ , but with the new shape parametersγ0 = −3.7, γ1 = 4.6, γ2 = 0.1.The boundary curves are blue and the control-polygons are red. The bottom part of Fig. 14shows one of the boundary curve in blue, with its control-polygon in red. The methodin (Loop, 1994) yields a single quartic control-polygon (bottom left), while our methodyields two cubic control-polygons joining C1-continuously (bottom right). Since the sameβ value was chosen in both methods, the first and second control-points at each end ofthe boundary curves are the same in both results. Choosing negative values for the newshape parameterγ0 enables to smooth out the control-polygon and the associated boundarycurve.

The color plate (Fig. 15) shows the interpolation of a deformed icosahedron ((a) and (b))and of a triangular mesh with vertices of various orders ((c) and (d), vertices of orders 3,4, 5, 6, and 8 are visible on these views). For the surfaces shown in the color plate, thesix free control-points mentioned in section 8 were computed automatically based on theminimization of an local energy functional.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757 755

Fig. 15. Color plate: (a) and (b) show the interpolation of a deformed icosahedron, where all verticeshave order 5, (c) and (d) show a surface interpolating a mesh with vertices of various orders. Theleft part shows the control-polygons of the Bézier patches (in blue and red), and of the boundarycurves (in turquoise). The yellow points along the boundary curves are the edge middle-points. Theinterpolated points are red.

10. Discussion and conclusion

This paper has introduced a new method for interpolating a triangular surface meshwith arbitrary topological type by a piecewise quintic G1 spline surface. A C2-consistent

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

756 S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757

curve network solves the vertex consistency problem. Each macro-patch depends on only3 vertex neighborhoods. The interpolant is therefore local.

The main contribution of this paper is to base the interpolation method on a 4-split ofthe domain triangles. It has been shown that it can be of benefit for several reasons: First,each macro-patch consists of four quintic Bézier patches. The number of control points istherefore high enough in order to solve the G1 interpolation problem for arbitrary triangularmeshes. Second, the boundary curves of the macro-patches are allowed to be piecewisepolynomial curves. The degree of these curves can therefore be kept low.

Both characteristics of the 4-split imply finally that several degrees of freedom areavailable for additional shape control. Thus, for a given input mesh quite different shapesof the final surface are possible. This can go from a nearly flat surface imitating the controlnet to a rounded and blew up surface. An in some sense optimal shape would probablylie between it. The question of how to choose the degrees of freedom can not be treatedhere in detail, since too much possibilities exist depending of the result one wishes toobtain. However, in a first time one can proceed as follows: the degrees of freedom can beseparated into two groups whether they act on the boundary curves or inside a macro-patch.The last group consists of the six control points per macro-patch which are highlighted inFigs. 13(a) and 13(c). A minimization of an energy norm keeps the scheme local and givessatisfactory results. The shape parameters of the boundary curves are the scalar valuesα,β, γ0, γ1 ∈ R (see Chapter 6). For each mesh vertex one set of these parameters isavailable.α is generally set to be equal 1, otherwise the control net is not interpolatedbut approximated by the surface.β controls the length of the tangent vectors at the vertexandγ0, γ1 determine the inner shape of the curve pieces incident to a vertex. It is obviousthat the curve network is of essential importance for the final surface shape. Up to nowwe proceeded by choosing one globalβ > 0 by hand for the entire surface and then bydeterminingγ0, γ1 for each vertex by minimizing some constrained curve energy norm.This simple heuristic has both advantages, it keeps the scheme local and linear.

However, ongoing research focuses on completely automatic ways to determinethese scalar parameters. The free control points can also be incorporated into theseconsiderations subject to smooth the surface. Future work will also focus on the properhandling of open triangular meshes.

References

Davis, P. (1979), Circulant Matrices, Wiley.Farin, G. (1982), A construction for visual C1 continuity of polynomial surface patches, Computer,

Graphics and Image Processing 20, 272–282.Farin, G. (1997), Curves and Surfaces for Computer Aided Geometric Design, 4th edn., Academic

Press, New York.Gregory, J.A. (1986),N -sided surface patches, in: Gregory, J. (Ed.), The Mathematics of Surfaces,

Clarendon Press, Oxford, 217–232.Hagen, H. (1986), Geometric surface patches without twist constraints, Computer Aided Geometric

Design 3, 179–184.Hagen, H. and Pottmann, H. (1989), Curvature continuous triangular interpolants, in: Lyche, T. and

Schumaker, L.L. (Eds.), Mathematical Methods in Computer Aided Geometric Design, AcademicPress, New York, 373–384.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

S. Hahmann, G.-P. Bonneau / Computer Aided Geometric Design 17 (2000) 731–757 757

Herron, G. (1985), Smooth closed surfaces with discrete triangular interpolants, Computer AidedGeometric Design 2, 297–306.

Hoschek, J. and Lasser, D. (1993), Fundamentals of Computer Aided Geometric Design, A.K. Peters.Jensen, T. (1987), Assembling triangular and rectangular patches and multivariate splines, in: Farin,

G. (Ed.), Geometric Modeling: Algorithms and New Trends, SIAM , 203–220.Loop, C. (1994), A G1 triangular spline surface of arbitrary topological type, Computer Aided

Geometric Design 11, 303–330.Mann, S. (1992), Surface approximation using geometric Hermite patches, Ph.D. Dissertation,

University of Washington.Mann, S., Loop, C., Lounsbery, M., Meyers, D., Painter, J., DeRose, T. and Sloan, K., (1992),

A survey of parametric scattered data fitting using triangular interpolants, in: Hagen, H. (Ed.),Curve and Surface Design, SIAM, 145–172.

Neamtu, M. and Pluger, P. (1994), Degenerate polynomial patches of degree 4 and 5 used forgeometrically smooth interpolation inR3, Computer Aided Geometric Design 11, 451–474.

Nielson, G. (1987), A transfinite, visually continuous, triangular interpolant, in: Farin, G. (Ed.),Geometric Modeling: Algorithms and new Trends, SIAM, 235–246.

Peters, J. (1991a), Local cubic and bicubic C1 surface interpolation with linearly varying boundarynormal, Computer Aided Geometric Design 7, 499–516.

Peters, J. (1991b), Smooth interpolation of a mesh of curves, Constructive Approximation 7, 221–246.

Peters, J. (1993), Smooth free-form surfaces over irregular meshes generalizing quadratic splines,Computer Aided Geometric Design 10, 347–361.

Piper, B.R. (1987), Visually smooth interpolation with triangular Bézier patches, in: Farin, G. (Ed.),Geometric Modeling: Algorithms and new Trends, SIAM, 221–233.

Sarraga, R.F. (1987), G1 interpolation of generally unrestricted cubic Bézier curves, Computer AidedGeometric Design 4, 23–39.

Shirman, L.A. and Séquin, C.H. (1987), Local surface interpolation with Bézier patches, ComputerAided Geometric Design 4, 279–295.

Van Wijk, J.J. (1986), Bicubic patches for approximating non-rectangular control meshes, ComputerAided Geometric Design 3, 1–13.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 2

Localizing the 4-split method forG1 free-form surface fitting

Ce travail porte sur une premiere generalisation de la methode d’interpolationreguliere basee sur le 4-split.

Reference:

[43] Localizing the 4-split method for G1 free-form surface fitting, S. Hahmann,GP. Bonneau, R. Taleb,Computing Suppl. 14, pp. 185–198 (2001).

Resume:

Ce papier presente une generalisation de la methode d’interpolation de basedu 4-split. La methode de base n’est pas strictement locale car l’edition d’unsommet change la surface au-dela des facette adjacentesa ce sommet. Enremplacant dans le calcul des courbes frontieres et des derivees trans-frontiereautour d’un sommet, le voisinage de ce sommet par un autre ensemble de pointsle schema devient strictement local, sans pour autant affecter la continuite G1.De plus, l’interpolation de vecteurs normaux en les sommets devient ainsipossible.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Localizing the 4-Split Method for G1 Free-Form Surface Fitting

S. Hahmann, G.-P. Bonneau, and R. Taleb, Grenoble

Abstract

One common technique for modeling closed surfaces of arbitrary topological type is to de®ne them bypiecewise parametric triangular patches on an irregular mesh. This surface mesh serves as a controlmesh which is either interpolated or approximated. A new method for smooth triangular mesh in-terpolation has been developed. It is based on a regular 4-split of the domain triangles in order to solvethe vertex consistency problem. In this paper a generalization of the 4-split domain method is presentedin that the method becomes completely local. It will further be shown how normal directions, i.e.tangent planes, can be prescribed at the patch vertices.

1. Introduction

Numerous areas of application such as geometric modeling, scienti®c visualiza-tion, medical imaging need to pass a surface through a set of data points. Not allof them need smooth surfaces. In geometric design, however, it is often desirableto produce visually smooth surfaces, i.e. surfaces with continuously de®ned tan-gent planes. Closed surfaces of arbitrary topological type can generally not bede®ned as a map of domain on R2 into R3 without introducing undesirable sin-gularities. De®ning a surface on a triangulated mesh where every patch is theimage of one domain triangle allows for arbitrary topological types.

The problem of constructing a parametric triangular G1 continuous surface in-terpolating an irregular mesh in space has been considered by many. All methodsare local and can be classi®ed depending on how they solve the vertex consistencyproblem, which occurs when joining with G1 continuity an even number of C2-patches around a vertex: there are Clough-Tocher domain splitting methods [2, 9,15, 16], convex combination schemes [4, 5, 6, 13], boundary curve schemes [14, 10],algebraic methods [1], singular parameterizations [12], quasi G1 interpolants [11].

Recently another type of triangular interpolation schemes has been developed [7]which can be called triangular 4-split method. A regular domain triangle 4-splitleads to the construction of four quintic Be zier patches which form a macro-patchin one-to-one correspondence to a mesh face. They have one polynomial degreeless than Loop's scheme [10] but one degree more than Piper's [15] or Shirman-Se quin's methods [16]. The triangle 4-split is a new approach in parametric tri-angular mesh interpolation and has several advantages, as explained in chapter 3.1.

Computing 65, jjj±jjj (2001)

S W 0 1 S 0 1 0Journal number Manuscript number B Dispatch: 6.2.2001 Journal : Computing No. of pages: 14

Author's disk received Used Corrupted Mismatch Keyed 4

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

It is also a local scheme in that changes of a vertex in the surface mesh only modifya small number of surface patches. But it is not completely local. Complete localitywould mean that changes of a mesh vertex only aect the patches incident to thisvertex. This is a very important property, because more the scheme is local, themore it is well adapted for use in an interactive design system. Real-time modi®-cations of a complex object require minimum computation and display time.

The main aim of the present paper is to generalize the triangular 4- split method inorder to make it completely local. A welcome side eect is that interpolation oftangential data will now be possible. In Section 2, the vertex consistency problemis described, and some notations are introduced. In Section 3, it is shown how theG1 interpolation/approximation scheme introduced in [7] can be made completelylocal by using a virtual neighbourhood for each input vertex. Section 4 shows howthe complete locality can be used to interpolate tangent planes, or to optimize theshape of the output G1 surface. Eventually, Section 5 gives some examples.

2. The Vertex Consistency Problem

2.1. Notations

For the purpose of this paper, a control mesh M is a set of vertices, edges andtriangular faces that describe an oriented 2-manifold in R3. The number of facesor edges incident to a vertex is referred to as the order of a vertex. The set ofvertices sharing the edges incident to a vertex is called vertex neighbourhood.

In one-to-one correspondence to the mesh faces a collection of triangular patchesjoining each other with tangent plane continuity is constructed. They are calledmacro patches Mi and consist of four C1 continuous triangular Be zier patches.The resulting piecewise polynomial surface S can either be an approximation tothe control mesh or it can interpolate the vertices of M. In both cases, it canoptionally interpolate given normal directions at the patch vertices. The reader issupposed to be familiar with Be zier curves and triangular Be zier patches, other-wise details can be found in [3].

2.2. G1-conditions

When constructing a network of polynomial patches with G1 continuity specialattention has to be paied to what happens at the patch vertices. For this reason,the parameterization of the macro-patches has been chosen as illustrated inFig. 1. Each macro-patch Mi is the image of the unit triangle in R2.

The index i 1; . . . ; n is taken modulo n, where n is the order of the mesh vertexcorresponding to Mi (0, 0).

Let Miÿ1uiÿ1; ui and Miui; ui1 be two adjacent patches that share a commonboundary, i.e. Miÿ10; ui Miui; 0 for ui 2 0; 1. Miÿ1 and Mi meet with G1

continuity if there exists a scalar function Ui such that

SW01/S010/2 S. Hahmann et al.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Uiui @Mi

@uiui; 0 1

2

@Mi

@ui1ui; 0 1

2

@Miÿ1

@uiÿ10; ui; i 1; . . . ; n:C

These simpli®ed G1-conditions are used in order to keep the scheme of as lowdegree as possible.

Diculties can now arise when joining several polynomial patches togetheraround a common vertex with G1 continuity. This problem has been men-tioned by several authors and can be called vertex consistency problem [14] ortwist compatibility problem [17]. At a vertex, where n patches meet, G1 conti-nuity can generally not be achieved by simply solving the linear system of nequations C. The G1 continuity at such a vertex is directly related to thetwists. For polynomial patches, which lie in the continuity class C2, both twistsare identical

@2Mi

@ui@ui10; 0 @2Mi

@ui1@ui0; 0; i 1; . . . ; n:

Therefore, additional conditions at the patch corner, which involve the twists,have to be satis®ed for G1 continuity of a network of patches:

1

2

@2Mi

@ui@ui10; 0 1

2

@2Miÿ1

@uiÿ1@ui0; 0 U1 @Mi

@ui0; 0 U0 @

2Mi

@ui@ui0; 0; i 1; . . . ; n

1

where U0 : Ui0 and U1 : U0i0 are further simplifying assumptions to theG1-conditions in the present paper. System (1) is obtained by dierentiating Cwith respect to ui taken at ui 0.

Figure 1. Parameterization

Localizing the 4-Split Method for G1 Free-Form Surface Fitting SW01/S010/3

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

In matrix notation, the system (1) states as follows

T t U1r1 U0r2;T

where

T

12 0 1

212

12 0

. ..

0 12

12 0

0 12

12

266666664

377777775; r1

@M1

@u10; 0

..

.

@Mn

@un0; 0

26666666664

37777777775; r2

@2M1

@u1@u10; 0

..

.

@2Mn

@un@un0; 0

26666666664

37777777775;

and t is the vector of the twists.

This system can have singularities when n is even, due to the circulant structure ofthe matrix T , when solving for the twists. In that case, special solutions of the ®rstand second derivatives of the boundary curves at the vertex have to be found inorder to get a solution of system T . In the present paper a similar solution to [7,10] is given. It consists of determining patch boundary curves, such that the ®rstand second derivative vectors r1, r2 lie in the image space of the matrix T . Moredetails in chapter 3.2.

3. Generalized Triangle 4-Split Interpolation Method

3.1. Domain 4-Split

Let us ®rst introduce the basic idea of the present method as introduced in [7]. Weaim to construct a piecewise polynomial surface interpolating or approximationthe control mesh M by a complete local method. The vertex consistency problemwill be solved by constructing ®rst a network of boundary curves subject to T .An obvious requirement on these curves is therefore, that their ®rst and secondderivatives at the vertices should be independent from each other. This impliesthat a boundary curve corresponding to an edge of M has to be of degree 5 atleast. Another important requirement on the curve network is to keep the poly-nomial degree as low as possible.

To this intend a regular 4-split of the domain triangle is introduced as shown inFig. 2. It enables us to take piecewise polynomial boundary curves of degree 3instead of 5. The twist compatibility system T can now be solved for each vertexindependently. This means, that for each vertex of M the cubic boundary curvepieces corresponding to the edges incident to that vertex can be constructedindependently from the joining curves pieces.

In general, the 4-split allows to construct not only a low degree curve networkbut also low degree cross-boundary tangents, which ®nally leads to a piecewise

SW01/S010/4 S. Hahmann et al.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

quintic surface spline. Each macro-patch Mi is composed of four quintic Be ziertriangles.

3.2. Boundary Curve Network and Cross-Boundary Tangents

A network of curves being the boundary curves of the macro-patches is con-structed in correspondence to the edges of M. These curves are so-called twistcompatible curves because they satisfy twist compatibility conditions T .Each boundary curve between two adjacent patches is a piecewise (2 pieces) cubicBe zier curve parameterized on f0; 12 ; 1g. Around each vertex of M the controlpoints bi

0; bi1; b

i2, i 1; . . . ; n, of all incident boundary curves are constructed in-

dependently from the joining curve piece of the opposite vertices. The ``mid-points'' bi

3 are then constructed in order to have C1 boundary curves. See Fig. 3for the notations.

At a vertex v the Ui-functions which are de®ned on the incident edges to v, are ®rstdetermined by calculating Ui0 and Ui1 from system C by solving it for ui 0

Figure 2. 4-split of the domain triangles

Figure 3. Control points of the boundary curves at vertex v

Localizing the 4-Split Method for G1 Free-Form Surface Fitting SW01/S010/5

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

and ui 1 resp., which gives U0 Ui0 cos 2pn

ÿ and Ui1 1ÿ cos 2p

ni

. The

domain 4-split now enables to seperate vertex derivatives and to take the

Ui-function piecewise linear.

Uiui cos 2pn 1ÿ 2ui ui for ui 2 0; 12

1ÿ ui 1ÿ cos 2pni

2ui ÿ 1 for ui 2 1

2 ; 1

8<:Let us now adopt a matrix notation for the boundary curve control pointsbetween v and pi; i 1; . . . ; n:

b0 :b10...

bn0

264375; b1 :

b11...

bn1

264375; b2 :

b12...

bn2

264375; p :

p1...

pn

264375; v :

v...

v

24 35;where p is referred to as the vertex neighborhood of v.

The following choice for the boundary curve Be zier points near the vertex vsatis®es the G1-conditions C. Simultanously, these control points lie in theimage space of matrix T , and therefore allow to solve the system T for the twists.See also [7, 10]:

b0 av B0p;

b1 av B1p;

b2 c0 c1a

c23

v B2p; c0 c1 c2 1;

3

where B0;B1;B2 are n n matrices de®ned by

B0ij

1ÿ an

B1ij

1ÿ a b cos 2pjÿin

n

B2ij c0 c11ÿ a c1b cos

2pjÿin

n

c2

1=6 if j iÿ 1; i 1

1=3 if j i

0 otherwise

8<:4

The free parameters a; b; c1; c2 control the interpolation/approximation of meshvertices, the ®rst and second derivatives. In [8] it is shown how they can be setoptimally. The control points of the joining curves pieces bk

0, bk1, b

k2 and bk

3 bi3 are

found by applying the formulas (3) and (4) to the neighbouring mesh points pi ofv. k is the index of v relative to the neighborhood of pi.

SW01/S010/6 S. Hahmann et al.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

The cross-boundary tangents are subject to the G1 conditions C, the vertexconsistency constrains T and the curve network and are set to be equal

@Mi

@ui1ui; 0 Uiui @Mi

@uiui; 0 WiuiViui;

@Miÿ1

@uiÿ10; ui Uiui @Mi

@uiui; 0 ÿWiuiViui:

5

The scalar functionWi and the vector functionVi are built ofminimal degree so as tointerpolate the values of the cross-derivatives and the twists at the vertices v and pi:

Wiui sin2pn1ÿ ui sin

2pni

ui linear

Viui Xn

k1vk

i B2k2ui ui 2 0;

1

2

; piecewise quadratic

6

where

v0 V 0p; v1 V 1p; v2 1

2v1 1

2vk1 : 7

The n n matrices V 0 and V 1 are given by

V 0ij

6bnsin

2pjÿ in

; i; j 1; . . . ; n;

V 1ij

1

w0i

6/1 ÿ 48/0 24/0 tan pn

ÿ 6w1

i

h i bnsin

2pjÿ in

4

w0i

c2/0 1 if j i 1

ÿ1 if j iÿ 1,

8

where U0 Ui0, U1 U0i0 and W1i W0i0 are known from (2) and (6).

Although the boundary curves and the cross-boundary tangents are piecewisecubic, the macro-patches will be piecewise quintic. With quartic patches a vertexconsistency problem could occur at the boundary mid-points which are supple-mentary vertices of order 6 (see domain triangle 4-split). This problem is auto-matically solved by the special choice of the cross-boundary tangents (7).

The explicit Be zier representation of the boundary curves is already known. Inorder to obtain quintic curves two degree elevations have to be performed of (3).Some further simple calculations combining (5)±(8) with (3) are necessary to getthe ®rst inner row of Be zier points of the macro-patches from the cross-boundarytangents. The formulas are explicitly given in [7].

Localizing the 4-Split Method for G1 Free-Form Surface Fitting SW01/S010/7

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

3.3. Filling-in the Macro-Patches

Each macro-patch is composed of four quintic triangular Be zier patches. Theboundary curves of a macro-patch are the twice degree elevated curves of Section3.2. The cross-boundary tangents of Section 3.2 determine the ®rst inner row ofcontrol points after one degree elevation. The remaining 15 inner control points,which are highlighted in Fig. 4, are used for joining the four inner patches with C1

continuity. Six of them can be chosen arbitrarily.

3.4. Complete Locality

The present triangle 4-split method has several properties. It is an ane invariantscheme because only ane combinations of mesh vertices of M are used. Anexplicit closed form Be zier representation of the quintic patches is known. Severalshape parameters and free control points are available for local shape modi®ca-tions or shape optimizations. And the present method is local in that changes of amesh vertex of M only aect a small number of patches.

Locality is a very important property for interpolation schemes. The advantagesof the locality are obvious: the algorithms are generally numerically stable, nolinear systems of equations have to be solved here. The algorithms are fast, be-cause local modi®cations of the input data imply only local updates of the in-terpolating surface. Interactive real-time modeling of 3D objects with a large andcomplicate input mesh becomes possible.

It is easy to see, that the 4-split method is local: the algorithm works in two steps.First the boundary curves and cross-boundary tangents are constructed piecewisearound each vertex and then joined together. For each vertex v the incoming curvepieces (Fig. 5) are calculated by using only the local neighbourhood pointsp p1; . . . ; pnT of v, see equations (3) and (7) and the icosahedon example inFig. 6(a). Once the boundary curves and cross-boundary tangents are ®xed asecond step of the algorithm consists of calculating the remaining inner controlpoints for each macro-patches locally, i.e. independent from the neighbouringmacro-patches.

Figure 4. 15 free inner control points making macro-patches C1

SW01/S010/8 S. Hahmann et al.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Modi®cation of a mesh vertex v has therefore in¯uence on all the macro-patcheshaving v in common, and on all the macro-patches having the neighbourhoodpoints p p1; . . . ; pnT of v in common. This is due to the boundary curve con-struction, as mentioned below. For the icosahedron example, Fig. 6b shows allboundary curves which are concerned, when vertex v is modi®ed.

In turns out that this method is not as local as it is desirable and useful. It will nowbe shown, that it is possible to generalize the 4-split method in order to make it acomplete local interpolation scheme. Complete local means here, that modi®ca-tions of a mesh vertex v only in¯uence the n (order of v) macro-patches incident tov, see ®g. 6(c). To this end the control points of the boundary curves, b0, b1, b2,and the control points of the cross-boundary tangents v0, v1 should be madeindependent of the vertex neighbourhood p of v. It can be observed that satisfyingthe G1-condition for b0, b1, b2 and v0, v1 doesn't depend on a particular choice ofp. The curve control points bi

1 for example satisfy the G1-conditions because theyare the result of an ®rst order Fourier approximation of n distinct points. Thus

Figure 5. Boundary curves incident to v. A ®rst step of the algorithm consists of calculating these curvepiece for each vertex, idem for the cross-boundary tangents, and of joining them together in the middle

Figure 6. The input mesh is a regular polyhedra, an icosahedron. a Local neighbourhood points pi of amesh vertex v. b Boundary curves which depend on vertex v. The control polygons of the piecewisedegree ®ve curves are shown. c Macro-patches and boundary curves depending on vertex v when using

the concept of virtual neighbourhoods in the algorithm

Localizing the 4-Split Method for G1 Free-Form Surface Fitting SW01/S010/9

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

they make the ®rst derivative of the boundary curves lying in the image space ofT . Similarly for the others. Furthermore, the construction of the boundary curvepieces (3) and the cross-boundary tangent pieces (7) is local around a mesh vertexv. The vertex neighbourhood p can therefore be replaced by another new ``virtual''neighbourhood p p1; . . . ; pnT . The following equations replace (3) and (7) inthe algorithm.

New boundary curve's Be zier points:

b0 av B0p;b1 av B1p;

b2 c0 c1ac23

h iv B2p; c0 c1 c2 1;

9

v0 V 0p; v1 V 1p; v2 1

2v1 1

2vk1; 10

where the matrices B0;B1;B2; V 0; V 1 are given by (4) and (8). Doing this for allmesh vertices ®nally leads to a complete local mesh ®tting scheme.

4. Choice of Virtual Vertex Neighbourhood

Up to now the 4-split method calculates ®rst and second order derivative infor-mations of the surface S at a vertex v by using the n neighbourhood points

Figure 7. The virtual neighbourhood points pi lie in a plane together with the vertex v orthogonal to Nin order to make the surface interpolating the given normal vector N

SW01/S010/10 S. Hahmann et al.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

p1; . . . ; pn of v. They are vertices of the input mesh and are therefore not free. Inthe generalized method, presented in the previous chapter, this set of n points canbe chosen arbitrarily for each mesh vertex. How these novel degrees of freedomcan be used in order to obtain pleasing shapes or in order to create shapes designhandles is now shown in the following subsections.

4.1. How Many Degrees of Freedom?

By replacing the true neighbourhood points p1; . . . ; pn by the virtual neighbour-hood points p1; . . . ; pn additional degrees of freedom are created at ewach vertex.They can be used either for normal vector interpolation at the mesh vertices or forsurface fairing methods. The number of degrees of freedom depends on how thepoints pi are combined in equation (9) and (10). The number of degrees offreedom for calculating the ®rst derivative points in (9) for example is equal to therank of the matrix B1, which is equal 2. How these two vector valued degrees offreedom can be employed is subject of the next sections.

4.2. Interpolation of Normal Vector Input

The tangent plane of S at a vertex v is spanned by the points bi1; i 1; . . . ; n and

v. These n 1 points are all lying in the same plane, since the boundary curve's®rst derivatives

@Mi

@ui0; 0 6bi

1 ÿ v

satisfy the G1 conditions at the vertex v. The Be zier control points are obtainedfrom a weighted averaging of the virtual neighbourhood points pi given by:

b1 b11...

bn1

264375 v b

n

Pnj1 cos

2pjÿ1n

pj

..

.Pnj1 cos

2pjÿnn

pj

2666437775:

In other words, the normal vector of S at a vertex v is the weighted combinationof the normal vectors of the n planes spanned by fv; pi ; pi1g. The weights comefrom the G1 conditions, but the points pi are free. It is therefore possible tointerpolate a given normal vector at the mesh vertices. To this end, the orientedpoints pi have to lie in a plane together with v, which is orthogonal to the givennormal vector.

4.3. Shape Optimization

By replacing the true vertex neighbourhood of a mesh vertex v by the new pointspi , i 1; . . . ; n, which are free, extranous degrees of freedom have been created

Localizing the 4-Split Method for G1 Free-Form Surface Fitting SW01/S010/11

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

for the whole surface scheme. If normal direction interpolation is not desired, thepoints pi can be determined by some optimization process on the curve network.

The shape of the resulting surface depends mainly on the shape of the boundarycurves. A ``well shaped'' curve network should f.ex. avoid undulations. The freevirtual neighbourhood p and the free curve shape parameters b; c1; c2 areavailable for each mesh vertex. They can be determined by local or global opti-mization on the curve network by using some minimum norm criteria, like energyfunctionals. Based on this concept of virtual neighbourhood points, the paper [8]proposes and tests various appropriate criteria for shape optimizations.

5. Complete Local Fitting of Arbitrary Meshes

A ®rst example, Fig. 8, simply illustrates the surface construction steps: inputmesh, boundary curves, ®lling-in the macro-patches. The input mesh is a trian-gulated regular polyhedron with 12 vertices on the unit sphere, called icosahe-dron. The boundary curves are computed ®rst, see Fig. 8a. The paramater a is setto one, the mesh vertices are therefore interpolated. The macro-patches are then®lled-in with foru quintic Be zier patches each. The resulting surface is shown inFig. 8b. The shape parameters and free inner control points have been chosen inorder to approximate the unit sphere. The L1-error between the surface and the

Figure 8. Interpolated icosahedron with isophote analysis

Figure 9. Interpolated icosahedron with dierent shape parameters

SW01/S010/12 S. Hahmann et al.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

unit sphere is 0.0033. An isophote analysis in Fig. 8c shows the global smoothnessof the spline surface.

It is then possible to choose other shape parameters, which are stretching theboundary curves and ¯attening the macro-patches see Fig. 9a or rounding out thecurves and patches. see 9b.

The complete locality of the surface scheme is illustrated on the icosahedronexample in Fig. 10. In both example one mesh vertex has been modi®ed and it canbe observed that only the surface macro-patches incident to this vertex have beenmodi®ed, see Fig. 10b,d. The left image of each example shows the control nets ofthe Be zier patches. The four patches of each macro patch are colored individually,see Fig. 10a,c.

The next example, Fig. 11, shows another surface with vertices of order 6 and 4.Additional to the input mesh normal directions are interpolated at the mesh

Figure 10. Locally modi®ed icosahedron

Figure 11. Normal interpolation, vertices of order 4 and 6

Localizing the 4-Split Method for G1 Free-Form Surface Fitting SW01/S010/13

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

vertices. They are shown as gray lines in Fig. 11. The shape parameters are ®xedautomatically by a local form optimization method (Section 4.3).

References

[1] Bajaj, C.: Smoothing polyhedra using implicit algebraic splines. Comput. Graphics 26, 79±88(1992).

[2] Farin, G.: A construction for visual C1 continuity of polynomial surface patches. Comput.Graphics Image Proc. 20, 272±282 (1982).

[3] Farin, G.: Curves and surfaces for computer aided geometric design 4th ed. New York: AcademicPress, 1997.

[4] Gregory, J. A.: N-sided surface patched. In: The mathematics of surfaces (Gregory, J. ed.),pp. 217±232. Oxford: Clarendon Press, 1986.

[5] Hagen, H.: Geometric surface patches without twist constraints. Comput. Aided Geom. Des.3, 179±184 (1986).

[6] Hagen, H., Pottmann, H.: Curvature continuous triangular interpolants. In: Mathematicalmethods in computer aided geometric design (Lyche, T., Schumaker, L. L. eds.), pp. 373±384.New York: Academic Press, 1989.

[7] Hahmann, S., Bonneau, G.-P.: Triangular G1 interpolation by 4-splitting domain triangles.Comput. Aided Geom. Des. 17, 731± 757 (2000).

[8] Hahmann, S., Bonneau, G.-P., Taleb, R.: Smooth irregular mesh interpolation. In: Curve andsurface ®tting: Saint-Malo 1999 (Cohen, A., Rabut, C., Schumaker, L. L. eds.), pp. 237±246.Nashville: Vanderbilt University Press, 2000.

[9] Jensen, T.: Assembling triangular and rectangular patches and multivariate splines. In: Geometricmodeling: algorithms and new trends (Farin, G. ed.), pp. 203±220. Philadelphia: SIAM, 1987.

[10] Loop, C.: A G1 triangular spline surface of arbitrary topological type. Comput. Aided Geom.Des. 11, 303±330, (1994).

[11] Mann, S.: Surface approximation using geometric Hermite patches. PhD dissertation. Universityof Washington, 1992.

[12] Neamtu, M., Pluger, P.: Degenerate polynomial patches of degree 4 and 5 used for geometricallysmooth interpolation in R3. Comput. Aided Geom. Des. 11, 451±474 (1994).

[13] Nielson, G.: A trans®nite, visually continuous, triangular interpolant. In: Geometric modeling:algorithms and new trends (Farin, G. ed.), pp. 235±246. Philadelphia: SIAM, 1987.

[14] Peters, J.: Smooth interpolation of a mesh of curves, Construct. Approx. 7, 221±246 (1991).[15] Piper, B. R.: Visually smooth interpolation with triangular Be zier patches. In: Geometric

modeling: algorithms and new trends (Farin, G. ed.), pp. 221±233. Philadelphia: SIAM, 1987.[16] Shirman, L. A., Se quin, C. H.: Local surface interpolation with Be zier patches. Comput. Aided

Geom. Des. 4, 279±295 (1987).[17] Van Wijk, J. J.: Bicubic patches for approximating non-rectangular control meshes. Comput.

Aided Geom. Des. 3, 1±13 (1986).

S. Hahmann, G.-P. Bonneau and R. TalebLaboratoire LMC-CNRSUniversity of GrenobleB.P. 53, F-38041 Grenoble cedex 9Francee-mail: [email protected]

SW01/S010/14 S. Hahmann et al.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 3

Smooth irregular mesh interpolation

Ce travail a fait l’objet d’une presentation lors d’un colloque international ainsiqu’a un atelier franc¸ais. Un poster sur ce travail aete produit pour le salonTEC’99 a Grenoble et pour la presentation du projet SAGA-IMAG.

Reference:

[42] Smooth irregular mesh interpolation, S. Hahmann, GP. Bonneau, R. Taleb,in Curve and Surface Fitting: Saint-Malo 1999Albert Cohen, ChristopheRabut, and Larry L. Schumaker (eds.), Vanderbilt University Press, Nash-ville, pp. 237–246 (2000)

Interpolation G1 triangulaire par subdivision uniforme de triangles, S.Hahmann, GP. Bonneau, R. Taleb, Dans les actes desJournees GDR ALP"Courbes, Surfaces et Algorithmes", Grenoble, 15-17 Sept. (1999).

Resume:

La construction d’une surface lissea partir d’une triangulation irreguliere estpresentee. Le caractere lisse d’une surface corrrespond dans ce casa uneapparence "plaisante". Une surface lisse doit plaire esthetiquement. Ce quiimporte pour un schema d’interpolation de triangulation n’est pas seulementla capacite theorique de produire des surfaces lisses, mais c’estegalementles possibilites concretes pour le choix des parametres de forme produisantdes surfaces lisses. Il ne faut pour autant pas entrer en contradiction avec lalocalite des algorithmes. Dans cet article nous proposons un certain nombred’heuristiques et de methodes d’optimisation pour un choix automatique deformes lisses tout en garantissant la localite du schema d’interpolation.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Æ !

! " # $ % & ' % & & ( & ' ) *% % ) %% ' +, & - ' Æ ' & &% #. . / & &

"#$ !"# $% &&&' () *) +*,-*./////////0 0 )

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

012

' & ' '

3 1 ! $% 4 +, & %% #. % 5. 6%6,4. 27 $% & 8 % & & ) % 9 $% % & 9 " & %' ) ' % ! ' '

& $% & %4 & :

% 0% 3 & % & %% & % ' & % 9 ; ! < ; = & ' > > > ;

( % 9 ; ? % & & 3 4 +, 0 % & ( & &

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

017

u i−1

Mi

.u i+1

ui

Mi

Mi−1

p0

1/2

1

%

& ( % = & &( ( & ' @

@

> <;

0

> A

;

0

> ;

& ' < >

&

%

% %

% )

& & / & 9 ' 1

= & $% & & & & ) 4

9 % % =

? & & ( & 0 +, > ; ! '

< ;

( % BC * 6 9 0

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

0$>

b =v0i

b1i

b i

b3i

p

pi−1

pi+1

i

2

tangent plane

&

! ' @% & ) ) @> @; ; < > < ; & @ < @> <

@; < ;

$% & '

= @% &

@ <

; 0 A >

; A ;

0 ; ;0

# & ' & < ; 8

D 8<

D 8<

D 8<

D 8<

D 8<

& D & +, '

) ; & ' 1$8

D < DAD

D < DAD

D < A A

1

DAD

1

& )

<

;

<

; A

<

A ; A

A

; < ; A ;;1 < > &

$

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

0$;

) 6 1 & & & (

<

1 $ '

&= ' " '

! "

% ( ; ' &= 6 00 4

> < @

> A E

> < @

> E

E % & 8

E < 0

; A

0

<

0 >

;

0 & 4

&

D < D D < D D <;

0D A

;

0D F

<

0

< ;

<

;

$2 A 0$

0

A

$

; < A ;; < ;

2

& @ < @> @ < @

> E < E

> =& 0

# #

? % * 4 +, % & 6 00 % 6 01 )

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

0$0

& 1 ; & 9 & ( & * Æ *% & & +, % & 9 18 ( 1 & & ) ( 9 1

S0

S3

S2S1

a b

c d

a−b−c+d=0500 410 320 230 140 050

005

104 014

203 113 023

302 212 122 032

041131221311401

! & ' '

( ) )

(a)

(b)

(c)

(d)

$ * ' &

+, % 8 & +, G

9 +,

( & +, 9

=& +, G 9

=& +, 9

! % &' ( # "

" ! & ( Æ

- 4 & 9 $ % ' &= +, % # )

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

0$1

&= & " % &= ) B& C &= Æ ! 6 0 $% # % 4 / & 4 B& C ? / & H & &

' 1 $ & & & ' ! ) & < ;> " ' < D ) 9 ' < ; & Æ % & &

& + .

I & % & %4 & &

& & -& & % ? & ( & 9 & 9 0 ? & =

&

& ( 5 2 J D <

) . & D 4 D

& ' %

4 = 4 1 F 4 & BC 4 % & & %4

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

0$$

BC 8

7

& &

D

< DAD ;>

D D 8< D )'& ' )' &

& 4

D & 8 4 4 & & D &

<

A K

& & =

)' K

K

(

<;

; A 7 A 7K

K ;;

D & & & ;

<

A

> ;0

00 DI" & ) & &=

J 0 0 4 ' % J ' 4 &= = H. LHH F (

) " ( )#

- &= % ; +, % * & & 4 % 6' & = 9 7

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

0$

& 4 & < 0 1

<

A

A

D

<

DA DA < 0 1 ;1

& <

4 +, %

D <

=& 9 $ 1 0; & $ % =& 0; 0; ' < < <

$ *

+ + * +

+

9 & ' & / & & & % & & & & % < ;> < >; < ;> < 0> < >> %

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

0$

7 %;0 - BC < ;72 < 0171 < >0> 9 & 4 F100 ' % ;1 & < 1 1>7> & % ! % & %"8

*(

; + %5 M M : +, 5%N #! # L,, # # 6= ! O 5 J L!;77$ ;P2

0 9 ! 5 H& Q= $ ;77F

1 M 6 %5 + $%% * ! I

$ # * ! * ! I ;77$ 1>1P11>

L 6 * # L # I L N 5 I3 O 6 ! ) M M 6!L ;770 ;$P;F0

L 6 R # )

L IS # # #6= : R 5 H T # ;77

F H ! % &= L * , ;721 01P0F;

2 5 +3 : & +, 9 6!L;72F 00;P011

7 6 #! *M 6,4 # & +, % * ! I ;72F 0F7P07

6 M %5 + 3 # L, **H36%L!+5 19%12>$; *' 7 9

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 4

Polyhedral Modeling

Ce travail apporte un nouveau calcul des courbes frontieres pour la methoded’interpolation de triangulations 4-split et libere ainsi des degres de libertessupplementaire pour un design de formes lisses. Il aete presente lors d’uncolloque international IEEE Vis’00.

Reference:

[8] Polyhedral Modeling, GP. Bonneau, S. Hahmann,IEEE Visualization’00proceedings, pp. 381-387 (2000).

Resume:

La forme des courbes frontiere est preponderante dans la determination de laforme de la surface. Il est pour cela important de posseder un grand nom-bre de degres de liberte dans leur construction. Or, la construction des courbesdans la methode d’interpolation du 4-split (comme dans la plupart des methodesd’ailleurs) est soumisea la satisfaction de contraintes liees aux twists. Uneetudedes proprietes des matrices intervenant dans la condition de continuite G1 per-met de degager un maximum de parametres de forme sur les courbes frontiere.La flexibilite ainsi gagnee est utilisee pour des algorithmes d’optimisation deforme bases sur une minimisation d’energie.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Polyhedral modeling

Georges-Pierre Bonneau Stefanie Hahmann

Laboratoire LMC - CNRSUniversity of Grenoble, France

Abstract

Polyhedral meshes are used for visualization, computer graphicsor geometric modeling purposes and result from many applicationslike iso-surface extraction, surface reconstruction or CAD/CAM.The present paper introduces a method for constructing smooth sur-faces from a triangulated polyhedral mesh of arbitrary topology.It presents a new algorithm which generalizes and improves thetriangle 4-split method [7] in the crucial point of boundary curvenetwork construction. This network is then filled-in by a visualsmooth surface from which an explicit closed form parametrizationis given. Furthermore, the method becomes now completely localand can interpolate normal vector input at the mesh vertices.

Keywords and phrases: triangular meshes, visual continuity,arbitrary topology, visualization.

1 INTRODUCTION

Polyhedral meshes consisting of a collection of vertices, edges andtriangular faces which describe an oriented 2-manifold in IR aredealt with in many applications. They result f.ex. from iso-surfaceextraction algorithms like marching cubes. Surface reconstructionmethods used for virtual reality purposes of CAD/CAM applica-tions produce a fine triangulated polyhedral mesh approximatingan object from which a 3D scanner has sampled millions of unor-ganized data points. In medical imaging where CT or MRI scannerproduce a set of slices with a grid of gray level values a 3D volumeis reconstructed. But contour line approximation on each slide fol-lowed by contour reconstruction also produces a polyhedral mesh.They also occur in CAD/CAM applications where the classical ten-sor product surface models fail. Topological complex situations likeinner corner blends need an extraneous treatment. Surfaces definedon polyhedral meshes can however represent surfaces of arbitrarytopological type.

In particular in CAD/CAM applications or surface reconstructionbut also for computer graphics or visualization purposes, it is oftendesired to get a visual smooth representation of the object which is

Laboratoire LMC-IMAG, BP.53, F-38041 Grenoble Cedex 9, France.E-mail: [bonneauhahmann]@imag.frURL: http://www-lmc.imag.fr/lmc-mga/Georges-Pierre.BonneauURL: http://www-lmc.imag.fr/lmc-mga/Stefanie.Hahmann

roughly approximated by a polyhedral mesh. On one hand surfacesubdivision algorithms converge to a smooth surface starting from apolyhedral mesh, but they generally don’t provide an explicit closedform expression of the resulting surface. Therefore, computationson such surfaces like intersections or evaluations of intrinsic quan-tities like curvature can become tricky. On the other hand, and thisis the subject the present paper deals with, parametric polynomialsurfaces fulfill all these requirements. The polyhedral mesh servesas a control mesh. Recall that, since every polyhedra can be tri-angulated, it is sufficient to consider as input a triangular mesh.Triangular surface patches which join with geometric continuity inorder to produce an overall smooth surface while interpolating themesh vertices can then be computed.

The main difficulty in developing a triangular interpolation schemefor polyhedral meshes of arbitrary topological type consists of en-suring the G continuity (visual smoothness, tangent plane continu-ity). Three kinds of schemes exist for polynomial representations:the Clough-Tocher-like domain splitting methods [3], [12] the G

continuous constructions [11]; or the twist compatible boundarycurve schemes [8], [7]. Further non-polynomial methods also exist[5], [6], [10], [1]. In addition to an explicit closed form parametriza-tion, the scheme should be local. This means that a local modifi-cation of the polyhedral control mesh should only locally affect thesurface. This allows an interactive modeling of smooth surfaces byinteractive modeling of polyhedral meshes.

The present paper deals with such a polyhedral modeling method. Itis based on a recently developed method [7], called 4-split method(chapter 2), and presents a new algorithm (chapter 3) which gen-eralizes and improves the 4-split scheme in such a way that thenumber of degrees of freedom for the construction of the boundarycurves can significantly be increased. A more flexible and more in-tuitive control of the surface shape is now possible. Further featuresof the scheme are localness and normal vector interpolation at themesh vertices.

2 THE 4-SPLIT METHOD

The triangular 4-split method interpolates a polyhedral mesh ofarbitrary topology by a visual smooth (G continuous) piecewisequintic Bezier surface. It is local, affine invariant and provides anexplicit closed form parametrization. Several degrees of freedomare available for shape control.

The following subsections briefly present first the method’s basicidea and why this is benefit in comparism to other existing schemes.Then the algorithm itself is outlined without going into too muchdetail, but enough for reproducing this method.

Let the polyhedral control mesh be a set of vertices, edgesand triangular faces that describe an oriented 2-manifold in IR.The surface which interpolates the vertices of is composedof triangular surfaces which are in one-to-one correspondenceto the mesh facets and which meet with tangent plane (G) conti-nuity along the common boundary curves. The ’s are piecewise

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

polynomial images of the unit domain triangle, we call them macro-patches.

2.1 Four split of the mesh triangles.

The basic idea of the present method is to subdivide each domaintriangle into four subtriangles by joining together the edge mid-points. Each macro-patch therefore consists of four Bezier patches.A convenient parametrization of the macro-patches concentrates onthe mesh vertices, see fig. 1.

u i−1

Mi

.u i+1

ui

Mi

Mi−1

p0

1/2

1

Figure 1: Parameterization of patches around a common vertex.

This triangle 4-split has several advantages:

- it allows to introduce more degrees of freedom for eachmacro-patch,

- the boundary curves and cross-boundary tangents are piece-wise polynomial functions (2 pieces),

- the surface scheme is local.

It will be seen later that the requirements on the boundary curvesconcern their first and second derivatives at the endpoints. In orderto keep the surface scheme local the derivatives should be indepen-dent from one vertex to another. Instead of degree 5 curves, piece-wise curves need only to be of degree 3. Similar considerationshold for the cross-boundary tangents and finally the macro-patchesare composed of four quintic Bezier triangles, which is the lowestpossible degree for this kind of methods.

The polyhedral 4-split mesh interpolation method consists of threemain steps:

- generating first and second derivative informations at themesh vertices,

- computing first order cross derivatives along the curves,

- computing inner Bezier points for each macro-patch.

2.2 Generating first and second derivative infor-mations at the mesh vertices.

The first step of the algorithm consists of constructing a networkof piecewise cubic C boundary curves of the macro-patches inter-polating the mesh vertices. It turns out that the G conditions forjoining a network of patches together imposes quite restrictive con-ditions on the set of boundary curves incident to a common meshvertex.

Let be a mesh vertex of order , i.e. is common to meshfacets (or edges) and therefore has neighbour points . The first and second derivatives of the boundary curves in arenot free. The boundary curve network is constructed from thesederivative informations by computing for each vertex the curve

pieces incident to that vertex. Since each piece of curve is acubic Bezier parameterized over

, this means that the con-

trol points , , must be computed. They are directly re-lated to the first and second derivatives at the curve’s endpoints by The complementary curve pieces are computed when the neighbourmesh vertices are treated. Finally, the curve network is closed bycomputing for each boundary curve the middle control point which is common to both curve pieces and which should be calcu-lated such that the two pieces join with C continuity.

Let us consider a mesh vertex and its curve pieces as illus-trated in fig. 2.

b =p0i

b1i

b i

b3i

p

pi−1

pi+1

i

2

tangent plane

Figure 2: Boundary curves incident to a mesh vertex.

The control points are fixed by the interpolation condition.Then the first and second derivative informations of the bound-ary curves have to be calculated in order to determine and .These derivatives have to satisfy a set of equations (see (4) and of chapter 3) and are therefore not free. The following solution hasbeen found [7], which consists of

if if otherwise

(1)

where is taken modulo . A few degrees of freedom are nevertheless available for each vertex. The controlpoints form an affine transformation of a regular n-gon. They alllie in the same plane, which is the tangent plane at . controlsthe magnitude of the first derivatives. The second derivative controlpoints lie in a plane containing the 3 points , and . More details can be found in [7].

2.3 Computing first order cross derivatives alongthe edges.

The second step of the algorithm is also related to the G conti-nuity conditions. It consists of computing the network of tangentplanes along the boundary curves. The boundary curves determinealready the tangent planes of the macro-patches at the mesh ver-tices. At each curve point the tangent plane is spanned

by the curve derivative

and one of the cross-boundary

derivatives

.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

pi−1

pi+1

pi

p

Mi(u ,0)

ui

Mi(u ,0)

ui+1 ii

Figure 3: Cross-boundary tangents.

The cross-boundary derivatives are defined as

(2)

where and are scalar functions and is a vector valuedfunction. These functions should

- be of minimal degree, and

- interpolate the first and second derivatives at the curve end-points.

It turns out that is a piecewise continuous degree two polyno-mial, which can be written in Bezier form. As in the case of theboundary curves, only the pieces incident to the mesh vertex arecomputed:

with

if if

is free subject to

(3)

where

,

,

,

, and is the order of is a linear function,

therefore the cross-boundary tangents are therefore piecewise cu-bic. However, the surface must be of degree 5 in order to ensureC continuity between the 4 inner Bezier patches. The ribbons ofcross-boundary tangents are now determined, and the first inner rowof control points of the macro-patches can be computed from (1)and (3).

2.4 Computing inner Bezier points.

Each macro-patch is composed of four quintic triangular Bezierpatches. The boundary curves of the macro-patch are the twicedegree elevated curves of section 2.2. The cross-boundary tangentsof sect. 2.3 determine the first inner row of control points after onedegree elevation. The remaining 15 inner control points, which arehighlighted in fig. 4-left, are now computed by joining the four in-ner patches with C continuity. The necessary and sufficient C-continuity conditions between two internal Bezier patches insideone macro-patch are shown in fig. 4-right: all pairs of adjacent tri-angles must form a parallelogram, otherwise continuity wouldnot be possible. In [7] it was shown, that the first and last pairs ofadjacent triangles in fig. 4-right already form parallelograms (grayshaded).The 15 control points are therefore subject to 9 linear parallelogramequations ensuring C joints of the 4 patches. 6 control points are

a b

c d

a−b−c+d=0

Figure 4: C-conditions between two adjacent quintic Bezierpatches.

thus free for shape control of the macro-patch. Minimization of anenergy functional produces a well shaped smooth surface.

3 GENERATING DERIVATIVE INFORMA-TION AT THE MESH VERTICES

The polyhedral mesh interpolation method which we now wantto describe in detail has the same skeleton as the 4-split methodsketched out in chapter 2. It preserves all the attractive features butgeneralizes the method in an important point, that is the construc-tion of the boundary curve network. A more flexible approach willbe presented offering more degrees of freedom which are necessaryin order to obtain a well shaped curve network. It is well knownthat visual smoothness, which stands for G continuity, generallydoesn’t always guarantee a “nice shape” [9]. “Bad” shape features,like wiggles, bumps or self-intersections, should be avoided andthe shape inherent to the polyhedral input mesh should be repro-duced smoothly. It is therefore obvious that the construction of theboundary curve network is the crucial point of such an interpolationmethod; it is predominant for the final result.

The generalized method we propose for the construction of aG compatible curve network interpolating a polyhedral mesh isdue to a detailed study of the G and the twist conditions whichare imposed at the mesh vertices. This leads to a new and quitedifferent approach as what has been done until now in related works[7], [8]. The benefit is threefold: more freedom and intuitive controlfor the boundary curve network is available; one gets a more localinterpolant; normal vector interpolation becomes possible.

3.1 Continuity.

Let us start by remembering that two patches and sharing acommon boundary curve meet with first order geometric continu-ity, denoted G, if they share a common tangent plane at all pointsof their common boundary, i.e. if there exist three scalar functions such that

Y (s,0)t

X (0,s)r

Y (s,0)s

X

Y

r

s

t

Figure 5: G continuity between two adjacent patches.

When joining polynomial patches together to a network of patcheswith G continuity special attention has to be paid to the patch cor-ners. The idea is to construct the triangular surface patches in one-to-one correspondence to the polyhedral mesh faces. Let us con-sider the patches parameterized as in fig. 1, each triangular patch

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

is the piecewise polynomial image of the unittriangle. is taken modulo .

In order to obtain at the end an explicit expression for each patchsome simplifying and symmetric assumptions on the G conditionshave to be made as follows:

The G condition between a pair of surface patches and

now looks as follows:

(4)

At the patch corner , i.e. for , the condition (4) can bewritten in matrix form as follows:

(5)

where

. . .

. . .. . .

......

...

Note, that is a vector containing the first partial deriva-tives of the patch boundary curves at the vertex .The function can be determined from the fact that should be satisfied and that the derivative of at shouldnot depend on the value . should also be of lowest possibledegree which leads to the following choice:

for

for

(6)

3.2 Twist Compatibility.

When joining polynomial patches around a common vertex withG continuity an additional condition has to be satisfied at the com-mon vertex. It is called twist compatibility condition and given by

(7)

where

. . .

...

...

...

It is obtained by differentiating with respect to and evalua-tion at . The condition must hold because polynomialpatches lie in the continuity class , implying that the twist terms(mixed partial derivatives) are identical.Different approaches exist in order to solve the twist compatibilityproblem [12], [10], [11], [8], [7]. We solve the system whichis singular if is even, by constructing a twist compatible bound-ary curve network i.e. boundary curves are determined such thatthe vectors and lie in the image space of . It will turnout in the following subsections that the kernel of and the imagespace of is explicitly known [2]. This will enable us to charac-terize the vectors and with a maximum number of degreesof freedom while simultaneously satisfying equations , (5), .Once the first and second order derivatives of the boundary curvesat the vertices, , , are known, the whole curve network is alsoknown. The construction of the cross-boundary tangents and theinner patches can then be continued as in the 4-split method, seechapter 2 in order to obtain a smooth polyhedral mesh modelingmethod.

3.3 First order derivatives.

Let us now explain how the boundary curves can be determined.They will consist of piecewise (two pieces) cubic curves in orderto keep the scheme local by separating first and second derivativesfrom one vertex to its neighbouring vertices. The final triangularpatches will be given explicitly in Bezier form, let us therefore usethe Bernstein-Bezier notations [4] for the boundary curves as well.

Let

, be a cu-

bic Bezier curve. Its derivatives are given by

. At the end point one ob-

tains for the first and second derivatives

For the boundary curve pieces incident to the vertex weadopt the notations as illustrated in fig. 2. The joining curve piecesare determined from the neighbouring vertices (locality of thescheme). is already known (interpolation of the mesh ver-tices), the vector is therefore determined by the control points and is determined by the control points , . From(5) and follows that the vector should lie in the kernel of and in the image space of . and are cyclic matrices [DAV79].The kernel of is spanned by two vectors

...

...

...

...

(8)

and lie also in the image space of , because two vectors

and

exist such that

and

where

...

...

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

and

...

...

The vector can therefore be written as a linear combination of and

(9)

where the vectors and are the degrees of freedom and can bechosen arbitrarily.

Geometrical interpretation:

Equations (8) and (9) can be interpretated geometrically in order toindicate the correct way for choosing and .

p b

a

r

r

r1

1

1

i

i−1

i+1

Tp

Figure 6: Geometrical interpretation of the vectors and .

The components are the tangents of the boundary curves at thecommon vertex which are all lying in the same plane, which is thetangent plane at (see G-condition ). is the basis

of the tangent plane and are the coordinates of in this

basis, see fig. 6. These coordinates,

,

imply that the first derivative control points of the

boundary curves form an affine transformation of a plane regular-gon. This affine transformation is explicitly given by the choiceof the tangent plane basis and .

For practical use of these theoretical considerations it is now im-portant to choose and such that the tangents of the boundarycurves in fit the best. For this purpose we first determine “op-timal tangents”, denoted , by a simple heuristic rule and thenapproach them in a least squares sense. The heuristic rule [12] con-sists of choosing the optimal tangent vectors as lying in theplane spanned by the edge and a mean normal vector of themesh facets at , see fig. 7.

These are the tangents which we want to reach by using a linearleast squares approximation

in order to determine and .

n

p

pi

ri opt1

Figure 7: “Optimal” first derivatives.

3.4 Second order derivatives.

A further requirement on the boundary curves is to have secondorder derivatives at the end points lying in the image space of thematrix . We can therefore choose any vector , such that

(10)

where is an arbitrary vector. is a cyclicmatrix. If (order of the vertex ) is odd, then is invertible,and thus second derivatives for the boundary curves can bechosen arbitrarily. And if is even, has only rank , there-fore some chosen second derivatives, denoted can only beapproximated, for example through a linear least squares approxi-mation

Since the matrix has nearly full rank, this least squares minimiza-tion approaches quite good the desired second derivatives. As anexample, see fig. 12, where the input mesh consists only of verticesof even order.

Note, that the total amount of resp. vector valued de-grees of freedom are available at each vertex. Once these secondorder derivatives are fixed, i.e. the control points are fixed, thewhole boundary curve network is entirely fixed. Remember, thateach boundary curve is a piecewise cubic curve, which is requiredto be C continuous, therefore the control points and of aboundary curve between the vertex and its neighbour vertex have to be identical and

.

3.5 Target middle points & target derivatives.

It’s not quite evident how to choose the “optimal” second orderderivatives at a vertex for the boundary curves. On one hand, thescheme should keep a local one, i.e. both curve pieces of a bound-ary curve have to be constructed independent from each other. Onthe other hand, fixing and ( is the index of in the neigh-bourhood of ) determines finally the shape of the boundary curvebetween and .

In order to cope with both problems we propose the following so-lution. For each boundary curve we choose a middle control point,called target point and a derivative at that point, see fig. 8, whichwe want to approach or interpolate by the curve. This is equivalentto choosing and . It keeps the scheme local, but allows at thesame time a control of the whole curve.Furthermore, these control handles offer an intuitive way for con-trolling the curve network. Optimal values can be found either byusing a heuristic rule, or by minimizing some energy norm.

Note, that for odd order vertices, these optimal target handles canbe interpolated exactly, while otherwise they have to approximatedin a least squares sense.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

p = bp = b

i

ik0

0

Figure 8: Target point and target vector.

Figure 9: Torus mesh, left with bad target points, right with correcttarget points.

Figure 9 illustrates how important it is to have a maximum num-ber of degrees of freedom for the second order derivatives. Onthe right some optimal target points and target derivatives havebeen approached. They are shown in red with respect to a cubicparametrization. The smooth surface is also shown together withthe control polygon of the boundary curves (blue). They are shownas degree 5 curves (two times degree elevated). The sensitivity ofthe interpolation scheme is shown on the left figures, where some“bad” target points and tangent have been chosen.

3.6 Twist information.

Once the vectors and are determined the system can besolved for the twist vectors . An explicit expression can be givenas follows

(11)

This expression is used in the next step of the algorithm, which isthe construction of the cross-boundary tangent ribbons along theboundary curve network. Here it is important to know the twistsexplicitly, because otherwise it would not be possible to provide anexplicit expression of the final surface. For this purpose and the lastsetp of filling-in the macro-patches C-continuously one proceedsanalogously to the 4-split method, see sections 2.3 and 2.4.

Remark 1: normal interpolation Since we are able to exactlychoose the tangent plane basis vectors, all one has to do in order

Figure 10: Polyhedral mesh – smooth surface with boundary curvenetwork.

Figure 11: control polygon – smooth surface with boundary curves.

to interpolate a given normal vector at the vertex is to choose thesetwo tangent plane vectors orthogonal to that given normal.

Remark 2: Locality of the scheme The scheme is local in thesense that moving one vertex will only affect the macro-patchesaround that vertex, and more over will leave the tangent ribbons ofthe opposite edges to that vertex unchanged.

4 RESULTS

The first example stresses the ability to interpolate meshes witharbitrary topology. The input mesh is available at ftp://ftp.cs.washington.edu/pub/graphics/meshes. Fig.10-left shows the input mesh. Fig. 10-right shows the resulting G

surface together with the boundary curves. The order of the verticesranges from 4 to 8 in this example. Fig. 11-left shows the controlpolygons of each of the triangular Bezier patches. Different col-ors have been used in order to distinguish the four Bezier patchesper macro-patch. The curve control polygons are also highlighted,while the interpolated points are shown in red. Fig. 11-right showsthe surface together with the boundary curve control polygons. Itshould be pointed out that we used a very crude treatment for thesurface border and some additional work should be done on howto handle open meshes. Fig. 12, 13 show at the top an input mesh,in the middle the resulting surface together with the interpolatedpoints in red, and the bottom the control polygons. For the torus in-put mesh in Fig. 14 a heuristic rule in order to find optimal secondderivatives (see sect. 3.4) has been used. Even though all ver-tices have an even order, which means less degrees of freedom inthe choice of the second derivatives, the torus is nearly reproduced.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Figure 12: Figure 13:Top to bottom: polyhedral mesh, smooth surface, control polygon.

Figure 14: Polyhedral mesh – smooth surface – smooth surface withboundary curves.

References

[1] C. Bajaj. Smoothing polyhedra using implicit algebraicsplines. Computer Graphics, 26(2):79–88, 1992.

[2] P. Davis. Circulant Matrices. Wiley, 1979.

[3] G. Farin. A construction for visual C continuity of polyno-mial surface patches. Computer Graphics and Image Process-ing, 20:272–282, 1982.

[4] G. Farin. Curves and Surfaces for Computer Aided GeometricDesign. Academic Press, New York, 1997.

[5] J. A. Gregory. N-sided surface patches, pages 217–232.Clarendon Press, Oxford, 1986.

[6] H. Hagen. Geometric surface patches without twist con-straints. Computer Aided Geometric Design, 3:179–184,1986.

[7] S. Hahmann and G-P. Bonneau. Triangular G interpolationby 4-splitting domain triangles. Computer Aided GeometricDesign, to appear.

[8] C. Loop. A G triangular spline surface of arbitrary topolog-ical type. Computer Aided Geometric Design, 11:303–330,1994.

[9] S. Mann, C. Loop, M. Lounsbery, D. Meyers, T. DeRoseJ. Painter and, and K. Sloan. A survey of parametric scat-tered data fitting using triangular interpolants, pages 145–172. SIAM, 1992.

[10] G. Nielson. A transfinite, visually continuous, triangular in-terpolant, pages 235–246. SIAM, 1987.

[11] J. Peters. Smooth interpolation of a mesh of curves. Con-structive Approximation, 7:221–246, 1991.

[12] B. Piper. Visually smooth interpolation with triangular Bezierpatches, pages 221–233. SIAM, 1987.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 5

Polynomial surfaces interpolatingarbitrary triangulations

Ces travaux portent sur une nouvelle methode d’interpolation de triangulationspolygonales qui represente le point de depart vers une modelisation hierarchiquede surfaces lisse et vers des applications multiresolution. L’article vient d’etreaccepte pour publication dans une revue internationale.

Reference:

[44] Polynomial surfaces interpolating arbitrary triangulations, S. Hahmann,GP. Bonneau,IEEE Transactions on Visualization and Computer Graph-ics, a paraıtre.

Resume:

Le 4-split des triangles sur lequeletaient basees les methodes precedentesd’interpolation de triangulations polygonales est bien adapte aux subdivisionshierarchiques de triangulations, du fait que les angles soients preserves. Pour-tant il s’est avere que ces methodes d’interpolation ne sont pas adaptablesades applications multiresolution. Dans ce but nous developpons une nouvellemethode d’interpolation qui est hierarchisable, car elle possede la proprieted’invariance par subdivision. Plus precisement, l’interpolation appliquee aune certaine subdivision de la triangulation donnee en entree donne le memeresultat que l’interpolation appliquee a la triangulation non subdivisee. Cetravail theorique de base permet maintenant le developpement d’un modelehierarchique de surfaces lisses ainsi que des applications multiresolution di-verses.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

!" #$

%& '() *+ + *

"& '() *+ + , +

-& ./0-1-2

.3 43

53 306 7

+$ 8 ! 9:87

$

-& 281-2

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

!

"

# $ $

%

# &' !'

$ (

$

) $ $

" *

$ #

$ +

$

28$ 28 ; -0$ 72$ -!2$ 8 $

28 7 0$ 7 < 7- 7 0$ 7$ 2 $

8

,

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

%0 < -!2 - 8 8 7!8 =>?.7

53. 7 0 %7!8 58 7 0 0 2 2 - !

!! ;? !8 8 7!8 7 0 -!

! 7 8 $ 0 <0 0 72 7 0 - 0 @8

8 ,-! 8 <0 72 7 --

! "-7 87 A 0 0 72 7 8 !2

0 B 87 A 2 -0 8 B 8

! 7!8 7 0$ - 7 8 <8! 8 < 7 & 0

! 0 0! C8 <8! 0 - 0 2 0 D

< 0 < 7 C8 <8! 8 -! 0 7 0 0! !

! -0 7 0 < 7 %--2 0 -- -0! 8!

-!2 8 72 7 <0 7!8 7 0 8 !2

<0 --! -! 0 8-- %0 "7 <0 0 0

! !7 -0- -! 0 ! <0 72

72 7$ 7!8 72

%< !A 0 ! 0 788! E ! 8!

8 $ 0 8 8!! 0 -0 %0 0 !

8!2 7 0<B -0 D! 7- 7 0$ <0 0 - 72 0

72 %0 7 77 ! <0 0 B! 8 5 872

0 < ! 0 8! 0 - - !Æ 8& !2 <0 0 -0

0 8 / < 8 27 8 0 82 8 E8

-0! 8! <B 28 => 7 0 0 2 ,-!

28 -0 <0 72 7 7 88 ! 8

8 -!2 8 88 @8 B F! -0 8

8 0 7 2 72 7 8 0 72 0

28 8$ - !2 D! 2 !2 0 ; $ G

2 D! <0 2 2 0 ,; $ 0 - 7 0 72

8 8 < 8A - 8!8 0 5 0 0 7-

7 8 0 7- -0! %0 -0! ! 8! 8

0 " 0 - 7- <0 - 72 72

0 77 < !8 < 7 -0! 0 ! 8!8$

<0 72 28 28 : 0 78 2 28 8!!!

82$ ! !2 => 7 0 ! 0 0 82

%0 => 7 0 ! - 7 0 ! - 7 0$ 0 =>

7 0 ! <0 8 %0 - 7 0 0- !

<0 8 %0 B !A <0 8 78 !8 ! 7 H,I -0!

0 0 8 < 7 < 0

78 "$ 2 0 78 !2 J0 0 78 -0! < ! 02

F ! 0 - Æ - 28 2$ 0 < -0!

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

! -7 0 F ! %0 < ! 8<!

8!8 <0 72 28 28

%0 77 2>! < - ! - 8 2

7 8$ 0 7 78 ! <B < 0 8 0 -

!A 8 -0! <0 0 < 0 2 @8 8 0

72 7 8 %0 0 ! 7 0 20- ' ) <0 0

- -7! 0 7 %0 F < 7 ' , ) 87! %0

8 2 8 <B 72 0 -0 ! 8 2

0 2 2 0 8 ! 0 ! < !D

7 0 .7 ' ) F 8 0 -2 => 7 0 7 0

! "7 0< 8 0- J 0 2 0 ! - !2 !

-78 7 ' ) 0 -0! . < 7 8 ! -7

0- <B %0 8!2 -B F ! - ! 80

0

%0 7- < !! F! 7- 7- 8 <0 0 7

2 28! 8 -0 <0 2 7 8 %0 2 -0

72 8 08! ,-! %0 0

7 ! -0 %0 @8- 0 8

7- < !2 7$

7 0 -0 $

!F! !

-0 0 02 72 07

%0 -0 @8- 2 $ ! G 0 <0 !F

0 8 J 0 2 < 07! 8 !2

7

%0 2 7 !8 8 2 7- 7 0

7! 0 -0 : 0 7 0 8! 8 7! !2

! 7 0 ! 7 : 0 7 0 8 7- -2 0

8 !- 2 %0 7- 7 0 ! 8 7!

=> 8 !2 <0 7 0 0 7- @8

') K

' ) 28 7 0 !2 <0 7

0 0 7- @8 ' ) K

')

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

u i−1

Si

u i+1

ui

Si

Si−1

0

1

Si−1

1p

pi

pi−1

pi+1.

..

.

%0 7 0 0 8 < - 8 !F! 8! 0 <0 0

0 7 J !7 0 0 <2 7-> 8 !

-0 " #, ! 200! 7 !! 2-

%0 2 ! %0 7 0 8! 0 " 8-!

H I 0 7- 7!2 0 8 < ! $

0 7 0 0 7->! 0< F2 , 0 <2 < ! L') 0

D2 &

L') &K ' ) K ' ) H I

J @8 8 72 8 2 7 2 88 %2

7 8 !9 !7! 7-> 8 ! %2 7

8 0 - 8! !F F ! 8 - 7-

8 ; !! 2 7-!7!$ < -

7- -7 0 8

%0 8 08! 88 <0 0 - 0 88 2 2

7 < 0 7 0 %0 ! 0 2 7 0

8 8 20- %0 0 F! < !D 7 0 !

0 -0 <0 8- 7 0 - %0 0 0

F! 0 8! 8 0 -0 ! 0 8! 2

! < !D 7 0 02 -- 8! 8 L')

%0 - <0 2 7 8 0 " 0 8 M$ $ 8 0 0

M')

' ) K ')

' ) ( ')

' ) ')

<0 ')') '7 ) !

' )

' ) K

'< !F! - ) %0 -8 - 0 0 0 7 ! 2

0 8! 8 L < 7$ F2

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Siui

Siui+1

Si−1ui−1

Si

Si−1

Γi

%0 2 < !- 0 -0 " 0 8! 8

M$ $ ! 0 7 0 $ K E 8 0 F 8-

8 J @8 0 7 0 7- <0 !2 0 0 <0

7 7 0 < @8 0- -- 7 !2 !

!F! "7 ! $ -2 0 < !9 < 0 2

- ! -78 0-

! "#$

%0 7 0- !8 7 H,,I$ .0-$ .=@8 H,I ! -

0 H$ *I <0 0 ! 0 - ! 82 820% 0 !- 7

%0 <B 0 8! H+I %0 77 2 -0 !

8 0 7- 7 0 !2 8 7 -0 %0 7- 7-

7 $ 0 0 8 0 < -7 0 %0

7- ! 72 0 !- 2 820% 0 B 0 2

!8 2 < 7 0 ;8 0 < !2 < !2

!- 07 %0 0 0 <0

8! 8 0 8 77 H*I %0 -7! 7- ! 28

7 0- ! 8!$ 0 0- 8A - 07 !

%0 7 HI !7! 0 7- 0- <0 0 8 7 0

-0 < !2 " ! 02 7 2 0

8 M$ $ @8 ')$ -

& M 8 !2 ,

K

! 0 < 7- %0 7 8 0 F" 0 7 0 8!

8 87 !2 !- 7 " / 0< @8 8

"2 0 7 ! 2 0 0

0- < ! 0$ 8 0 < 0 ! 0 < 7-$ -! 8 <B

0! 7 -0! 0 7 -0! H,I

+

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

& M 7 < 8 !2

K

B2 79 < !2 2 0 8 $ ! <2 0

!2 M ! !8 2 7 < 7- 8! 8 !

8! 2$ < ! 820 !2 !- 0 8 <B

8 %0 8 7 0 '!8 0 !- 2 7) !2 F !

7 0 -0

8 8 0 0 7 8 2 K K ! N-0O

0 8 $ 87 07 0 78 -0 28 28

- "-7 0 0 ! 2 !2 - 0 - "$ 0

- G 2 D - @828 2 0 8

78 -0 -B "- !Æ 8 F! 72 -0 8 %0 -

7- 8 7 8! 8 $ 0 8

72 8 0

E 8 0 7- B! 77 2 7 0

78 -0 2 7-> 0 -0 <0 7 < 0 8

/<$ 0 7 !9 -B -

J0 < < !7 0 7 77 < -0 7 -0!

<0 0 < 8! "$ <0 -2

0 - - 0 7 0- 7- !2 F %0 8 <

J0 0 !A < 82 8

< "7! ! 0 <2

E0 28 7 " 8!2 0 " - 0- H$ #$

$ #I$ 8! 8 0- H,I$ 2 -0! H,I$ 28 7-> HI$

@8 8 H+I$ ! -0! -0 <0 ! " H,I

% & ' %(

%0 20- 0 7 -0! - 0 8 7&

') 8! 8 <B$

',) 8! 2$

') F 7 0

%0 F < 7 B! 20 8 0 ! < "-

! 0 ! -0 " J 2 F ! ! ! 0

7 0 8! 8 0 %0 ! 0 8! F! 8 <B

72 0 ! ! <0 0 0 -7

*

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

)* +#

%0 2 7 8 ! -0 " 0

@8 ') < 0 7 0 -2 0 " 8! 0 7-

K &

M') L

') K ') L

') ( ') L') K ',)

%0 ! B -!8 8 8 0 0 "$ 0 0 7 !

') ! 0 F ! 0 0 8! 8 L$ L$ ! L$

F2

Γ’ (0)iΓ’ (0)i+1

Γ’ (0)i−1

"

:@8 ',) 0 0 8 0 8 8! " 0 F

! 0 8! 8 - 0 2 ! < ! B< 0

0 !2 0 7 0 ! 0 !2 0 8 <

2 7 0 < !2 7$ 0 B7 0 !2 0 8

< 7 %0 < ! H$ ,I$ <0 K K < 0< 0

77 0 0 K K 0 F ! - =>

7 < - Æ - 28 7 2 %0 !

! 7 0 ! 8! " %0 820 !-

02 0 ! 0 8 0 " !!$ ! 2 -0

8 -7 F 8! -0 8! 8$ < 7!

8 . H*I$ ! 0 0 0 F ! <0 -

!- 7 2 ') 0< 7< >- 0 "-7 2

F2 $ + ! * '20)$ ! 0 ! " " %0 2 7!2

K 0< F2 '20) 8 0 0 0 $ 0

2 ! 8! 8 <0 8!8$ ! 08 87 07

F2 + 20 E 0 $ 8 < -0! 0

2$ 0< F2 '-!!)$ ! 08 - 8! 8 8!8$

0< F2 * '20)

%0 2 K !9 < 0 0 8!

89 ! 0 -0 /<$ <B < 0 78 -0 -

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

28 0 - @828 2 77 2 -0 7->

<8! -B 7 0 -0 @8!

! # & )* +#

-7F $ 8 F !8 0 <2 0 2 'F !

) 0 8! 8 -0 "&

&K L') K

' )

8 < "7 0< !- 0 @8 <0 0 ! @8 ',)$

- ')$ ')$ M') ! 0 89 2 $ K

-87 ' 7!8 ) 0 !" 0 @8 M') ')

') K 0

7$ 2 0 8! @8

<0 0 0 -87! '! 7!8 ) 0 0 '- 0 ) 2

' ) - @8 B , ;2 0 !" $ 2 0

<2 -8

') K

M') ') K

M') K ')

%0 2 0 8! 8 0 0 20 !

! 2 0 2 0 - 7$ - 0 2 7 %0 0

8 ') ! ') F"! 87 M') @8 ')

.- -8 0 !7! J ;8 HI$ 8 0 8 0 -7!

7 0

7 < 0 0 -> M') 8 0 0 ') ') K %0

0 -! 0 ! -> 0 2> 0 28 <0

') K ') K , ! < -7 0 -78 0 8! 8 <0

0 7!8 8PP

2 ') 0< >- "-7 " <0 " -- !2

0 0 89 2 ! 0 => 7 0 8!

8 0< F2 '-!!) %0 ! 0 < -0! <0 0 ! !

%0 2 7 7!2 8 $ ') K

') $ 0< F2 '20) %0 !2 0 B28! 0< 0 !

0

#

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

- * .' " $ " *

/ " " $ 0

,*

') K ')

-8 ') 0 0 <2 2- -2& 0 7 2 $ $

0 8 ') 77 0 0 2 Q'( ( )

! ') 77 0 0 2 Q'( (

)$ F2 +

di

di−1

di+1

ν (0)i

µ (0)i

1

1

1

') ')

! "

E 0 8 ') !-! 0 -0 "$ 0 8 B

'7 <) 2 0 !- 2 !2 <0 0 !F! &

'7 <) " M & H I #,

%0 ! ! 0 7 0 8! 8 ! <0 02

8 -0 " %0 <0 !A2 ') <0 7

! 82 K $ K E 0 <2 -

! 8 0 -0 &

M') K ')

M

') ( ')

( ') ( ') K ')

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

<0 &K L ') K

' ) ! 0 ! 8! 8 ! 0

"$ ! &K

' ) ! 0 < 7 0 0 " %0

< ! 0 ! ! 0 8B< 0 @8 %0 <

7 ! 0 0 < ! 0 -7 8 0 @8

7 - 0 0 ! 2 8 0 ! ! 5

- 0 ! 0 /< 0 < 0 < "7!

0 -0 " < < 0 F"! 0 ! <0 0 8

0&

0 7 '7 -0 )$

0 2$

0 ! ! 0 7 0 8! 8$

0 < 0 7 0 88!2 0 "

E 0 -7! 0 8 <B -7! @8 /-

8 < < 202 <0 0 7 0 ! 8! 0

8 0 <8! 2 ! 7 0$ < < "7 0 "

#+ ! #,, # $!

J0 < 2 0 8! ! 2 0 - 7 0

8! 8 %0 8 0 8 < !D 7 0 @8

! ') 8 8! 0 8

%0 7 0 ! - <0 8 2 0 -- 8!$ 0

" 0 8 M ! 8! 8 #, 8 0 0 0

<2 < @8 0!&

, ')

' ) K M') L') ( ') ')

, ')

' ) K M') L') ') '+)

%0 @8 < ')$ '+) ! ') !!2 87 @8 ')$ '+)

- , B< 0 ! 8 ! 28

0 0 2 0 %0 -7 0< 0 0 2

' ) !

' ) !F! @ ')$ '+) < ! <8!

2 %0 0 7 0 <8! ! <0 8

- @8-& 0 7 8 -8 7-

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

#

! B7 0 7- 7 0 0 8! 8 L --

-0 " 0 8 0 0 0 0 <2 !& 0 !

L') K

' ) !F! 7!8 0 8 !

8! 7 < 7- 8 $

L') &K ') ') ') K '*)

%0 0 '*) 0 7 0 ! 7- 8 ') ! '+) 5<$

"7 -8 0 8! 8 2 -2 0 8 8

0 2 ! ! ! 0 " - , 8D 0 7-

! '*) < < 202 : 0 8! 8 F 8@8

!F! 7 < $ %&' # L')$ H I$ -7! < 7

%0 < 7 !

0< F2 *

b = 0 pi

b = 0 pL

b 1L

b 2L

b 2R b 1

R

(

%0 7

!

!-! 72 0 7$

2 ! ! ! B< 0 ! 7 '-0 )

%0 8 !F 0 89 ! '*) 0 7 < @8!

=> 7 !! ! $ K ,

B<

-

!

$ 7 ! 2 L ! B<

-7 0 Æ '*) 20 <0 0 < ! "72

8 L K , !- " 0 -2 8B<

- ), #,,

%0 2 <0 0 28 2 7 8 < !D 7 0

0 ! ') ! '+) %0 @8- 0 8B< 8

< 0 -7 <0 0 7- @8- %0 0 -

-872 0 0 8 ! ' '*)) &

') &K ') ') ') H I ')

,

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

. !$ 0 ! 7 '-0 ) 0 -7 <0 0 8! 8

2 -78! ' ,)$ 0 <2 0!&

' ) K

K

%0 - 0! 0 77 "$ 0 F" 0 8 0 ! 7$

')$ ') 28$ 0 -7 < -78! ' ,)

0 " ! 0 ! 0 ! 7$ 0 F" 0 8

')$

')

W(0)

W’(0)

W(1)

W’(1)

)

! < ! -7 2 F"! < 7

0 ! < 0 7 < @8! 8 /- 8 <

0 0 7 < @8 @8 7- $ - @8 ')$ '+)

20 <0 ') < 0 0 2 < 0 7 < 8

@8 7- 0 7 !9 0 !2 0 7 0 <0 0

@8 F 8 0 8! 8 "7 => 7

-78! ! - 0 7 !2 !

. # /0# *

%0 0! ! 7 0 20- 0 8 0 8 7 0

!-2 0 -2 7 /< 0 0- ! <0 B!

! -8 0 8F 0 < @8 <! < 3 0 <

0 287 8 => 7 0 ! 78 -0 2 - 7 0

' !8 )

8 8 - 0 0 - 7 0 8! 8 7 < @8

8 2 < 7 D2 <0 8 0 7- 8 %0

8!2 7-> 0 - 7 0 ! 7 0 !-

2$ 0< F2 #

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

u i−1

Si

.u i+1

ui

S i

Si−1

p0

1/2

1

*

%0 - 7 0 F -7! 8 @8 28 => 7 0 -

! < B< 0 ! 0 8! ! 0 F <

7$ B ! F2 %0 ! 28 D <

- 7 0 /< 0 -2 7 0 - 7 0

$ 8 0 D < 0 8 7 0 ! 2 7

88 H*I 0< 0 < 28 => 7 0 0 - !2 D

<0 8 2 0 -- 8! 7 8 2 '8

8 7) 0 -- 8! 7 ! Æ -7

0 !- 2 0 7 -0! 0 7 0 !F! 0 8 2

<0 0 -7 0 0 7 8 2 7 -8 72-$

F2 20 . 0 72- @8 ! 0! 0 8!

!2 -!7$ 0 -2 7 F ! 0

8! # 72- @8 %0 + 7 -

07

a b

c d

a−b−c+d=0

+ &

1 $ 20& 2

- &

7 2 -0 <0 0 7 -0! !

0 0 8 <B A !2 !- %0 < - 07

< -!2 -7" 07 8 8- 0 !2 !-

0 -0 " ! $ 0 7$ 0 2$ !

< <0 0 %0 0 - 7 0 7!2 -0 $ 0

" 7 %0 !2 !- 0 < - !2& $ -

0- A 8 2- < F" 0- . !$ 0 8-8

820 < 8 2 -0 8

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

! " ,- . " "

8 0 78 -0 0 @8 !A 72 8 !$

0 8 72 B 0 -0 <0 0 -

20 %0 @8 0 < 2 -0 8 - 0 8

H*I B< 0 0 2 -0 0 - !Æ 8 02

-0 7 0- E0 7 8 !2 8 B G 7$ 07

7 $ 8 ! 2 0 !2 !-

F2 $ , - 20$ 0 8 0< <0 0 7 0 -

78 -0 'F2 20)

3 00

$

0 !2 !- ! 87 82 - 08 8 2-

! 8$ 8 0 0 0 82 8 2 8Æ 0 8

0 -0 "$ 0 0 $ 7!2 0 7 0

! 0 8! 89 ! 7 87 @8 0 -0 " ! -B

0 8 72 0 -0 /<$ < 7 F" 0- 0<

0 " $ 0 0 %20 <0 0

! !$ 0 !- 0 8! 8 -2 0

" %0 8 <B <0 0 7! 0 7 0 0 - -7 7

<! 2 -0 ! < 72 8 . 0 8 8 !

7! 0 -0 !2$ < 0 0 <2 2- 8 8

F" 0 2& 2 0 !2 < 0 " ! B 0 8

0 0 2 7 ! 0 7 7! 0 !2 !

0 - ! <0 0 ! 777 %0 !8 2

0 2 B 77! H,,I$ 2 8

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

8 %0 2 80- 8! 8 !2 0!$ <0 0

-!F! ; 270 72- 2- 8 8

2 0 G 0 8 0 %0 8 F2 $ , -

20 ! -7 2 0 -88

0 "$ 0 %0 !- 0 ! !

0 8! 8 8! 0 $ @8 ') %0 @8 0< 0

< 7- 7 0 0 ! 78 H$ ,$ ,$ $ I R

< < 8$ 8 H*I 0< 0 0 !

8 %0 F-! 0 7 %0 B 8 08 8

0 8 ! 8 8 @8 --> ! 0 0-

7 F $ < --> 0 <2 2 2$ >! 0

79 !2 2& ( , (

0 !2 !- <0 0 F"! 87 <$ < 0 8

8@8 !F! 7 0 8! 8 ! -7 8! 2 '

,)

0 0 - 7 0 0 07

' ) %0 !9 !A - 0 78 !7! -0! H,I J

2 8 0 - @8 2 --> 0 -78 0

< %0 "7! - ! HI

.

J 2 0 <0 "-7 - 07 %0 "-7 < - -

7 <0 ! <B ! 820% 0 72$ 8 0 <B

< ! . 9 0 77 H*I 82 - - 07 %0

-0! 82 820% 0 7 H,,$ ,$ I 0 0 !2 ! !2 8

7- 7 0 ! 0 7 0 7 - 7 0 %20 <0 H,I 0

< 2 /<$ 0 70 ! 8 "-7 F2 !

-7! <0 0 8 0< 9 77 0< 0 8 -0! !

8 J 0 0 - !8 0 7-> 0 8

<0 0 -0 8 0 7 0 2 %0 -7! 08 0

7- 8! F2 -7 <0 F2 H*I

+

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

# " * $

$ $

" * $

$ 0

0 0 < 0< 0 8 8 < 7 -0!

28 -0 <0 28 8$ B - ! 2 !2 D2 --

"$ O!O ! @8 2 D2 2 -- !2 %0 8

B< 82 8 8 0 -0 < -7 0 8 8 <

-0! <0 0 ! 0 -0! ! 28 2 0

0 2 8! 0 7!

28 0< -0 <0 28 8& 7 -- -0 <0

$ $ ! +S 0 !2 -- 0 " 0 0 -

20$ ! 2 - @828 %0 20 7 F28 0< 0

-0 82 - 0 0 " 2 77$ ! 0

!2 D 2 !2 0 " 28 + 0< 0 72 8

0 < -0 <0 0 78 !8 ! 7 -0! H,I : 0 8 0<

< & <0 ! <08 0 - 7 0 8! 8 J0 0 8 !

0 28 -0 7 'F28 +)$ 0 8 0 28 -0 0

87 07 'F28 +20) 5 7 8 0 02 8!8 0

8 2 0 0 !2 <0 0 D! <0 0 " 'F28 +20)

%0 0 !8 0 0 0 20 2 0 "

0 - %0 9 !7 0 20 0 8 28 * 0< 0 8

0 < -0! 0 -0$ 0 72 8 0 07$ 8<!

*

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

8!8 !!

%0 " "-7 ! -0 <0 F ! 0 28 28

0< < !A < < < 8 %0 82 72 8

! <0 0 -0!$ F2 #$ 0 -7! <0 0 8 0 <

-0!$ F2 , 2$ 8<! 8!8 !! <0 0 < -0! !

2 8 ! 7 8 -B 0< 0 - 7 0

8! 8 -0 < 0 !2$ 8 0 0 0

F ! ! 0 0 20 8! " E 0 $ 0

28 2 0 0 F ! 0 ! -0! 0 <0

- 7 0 8! 8 ! 0 0 8 0 8<! 8!8

' F2 #)

-7 0 8 8 0< F2 , 0 8 ! <0

0 < 28 7 8! 8 0-& 0 8G 8!

0- HI 2 0 07 0 8 7 0 78 -0

* *

$ $ + $

$ Æ

( $

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

) $

* $ Æ

+ $

$ +

#

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

4 $ $

28 ,, ! , 0< 0 8 8 72 0- - -7" ! $

0 -@8 ! ' 8 J02) %0 20 7 F28 ,,

0< 0 0 @8 => 7 0 %0 7 0 0 - 7 0

! ! 28 , 0< < ! 0 -@8 72 8 $

<08 ! <0 0 72 0 8! 8 5 2 0

-0 ! 0< 0 8! 8 -0 < 0 !2 0 78 -0

%0 7 8 0 0 0 F !

1

J 0 !8 ! < -0! 72 ,-! 28 -0 <0

7- 8 -7! => 7 0 !2

J0 78 - 0- ! 28 2 0 0 F !

0 7! $ 0 < -0! < -7 0 0

2 J 0 0< 0< ! F ! ! ! -

0 7! ! 0 8! 8 < 7! $

8 0 0 7- 7 < !2 8! -7 <0 7

8 - 0-$ 0 < -0! < F! 72 07$ <08 8<!

,

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

8!8$ 0 7! -0 0 28 8$ 2 0 ! 2

!2 D2 -- "$ G ! 2 2 D2 2 -- !2

88 <B < 8! 7 8 0 F- 0 7 0- !

0 0 8 -0! 8>! 28 7 0 78 2$ < < 0<

0 8 7 0- F& < < 7 0 772 8 7

0- 8 8!!! 28 ! 0 - 72 8 $

0 <! 0 7 0- 8! 8! J < 8!

-88 -!2 0- 0 !2 ! ! -7" 07 !A

!

$"!)

J <8! B 0B 0 %4 < 0 078 --

%0 <B < 7 877! 0 :87 --8 0 -<B 72-$

<0 0 3 0 %2 5<B 5: '88 5 - -!:2$

/35###*)

2

HI 0 3$ < T$ U8 < > $ < < ;$ -78 70 !

-2 2$ #*

H,I DD $ .-02 70! 82 -7 2 7$ -78 70

',) '##,)$ *#V

HI 8 $ 2 0 -0 8 7 8 $ 3 0 !

J W0- '!) .8 ;9$ 50/! '#)

HI ;8 /J$ . 0- $ ; '#)$ '##)$ +V*

HI ; 5$ ;$ 2 T $ 8G 8! 0- 8 7

<0 $ % 70 * '##)$ +V+#

H+I $ 8 8 8 7- 8 7 0$ -

78 70 ! -2 2 + '#,)$ ,*,V,,

H*I $ 2 5 2 / '$ !- $

5< CB$ 0 !$ '##*)

HI 2 T $ 5!! 8 7 0$ 5 T 2

'!)$ ! $ E"! '#+)$ ,*V,,

H#I /2 /$ - 8 7 0 <08 < $ -78 !!

- ;2 '#+)$ *#V

HI /2 /$ . 08> $ 8- -02 <0 2- 8 7 0$ -

78 !! - ;2 '#*)$ ,V,+

,

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

HI /2 /$ - /$ 88 88 28 7$

2 / ' %- 0$ . 08-B

'!)$ !- $ 5< CB '##)$ *V

H,I /0- .$ 8 $ %28 7 72 !-

2$ -78 !! - ;2 ( ',)$ *V**

HI /0- .$ 8 $ % 3$ .-0 28 -0 7$ 2

5 6* 5 &777 0$ 070 38$ !

. 08-B '!)$ 4! $ 50$ ',)$ ,*V,+

HI T %$ -2 28 ! 28 7 0 ! -8 7$

* / $ $ '!)$ . '#*)$

,V,,

HI 7 $ 28 7 8 72 7$ -78 !!

- ;2 '##)$ V

H+I .$ .8 77"- 82 2- /- 7 0$ 0; !$

J02$ '##,)

H*I .$ 7 $ 8 $ ;$ T$ ;3 %$ . U$

8 7- ! ! F2 82 28 7$ 2

5 '$ / /2 '!)$ . '##,)$ V*,

HI 5-8 $ 82 $ ;2 7- 7 0 !2 ! 8!

2- -0 7 #,$ -78 !! - ;2

'##)$ V*

H#I 5 $ F$ 8 88$ 28 7$

* / $ $ '!)$ . '#*)$ ,V,+

H,I 5< B /$ 3 ;$ ;2 ! 2 07 8 $ 3 0 ! J

W0- '!)$ -78 !! - ;2$ 50/!$ '#,)$ ,V

H,I T$ .-0 7 -0 8$ 8 77"- (

'##)$ ,,V,+

H,,I 7 3$ 48 -0 7 <0 28 => 7 0$

* / $ $ '!)$ . '#*)$ ,,V,

H,I . B .$ ! < ;$ -78 70 !

-2 2 ($ '#)$ V+

H,I .0- $ .=@8 /$ 8 7 <0 => 7 0$ -78

!! - ;2 '#*)$ ,*#V,#

H,I 4 JDB TT$ 8 7 0 77"-2 28 -0$

-78 !! - ;2 '#+)$ V

,,

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 6

Knot-removal surface fairingusing search strategies

Ces travaux concernent le lissage de surfaces B-spline. Deux algorithmes delissage iteratifs et locaux ontete developpes. Le premier a fait l’objet d’unepresentationa la conference internationale "Curves and Surfaces"a Chamonixen 1996. Les deux approches ont ensuiteete presentees au seminaire interna-tional "Geometric Modeling" de Dagstuhl en 1996.

Un article plus complet comprenant les deux approches developpees aetepublie dans une revue internationale.

References

[37] Fairing bicubic B-spline surfaces using simulated annealing, S. Hahmann,S. Konz, in Curves and Surfaces with Applications in CAGD, A. LeMehaute, L. L. Schumaker, C. Rabut (eds.), Vanderbilt University Press,pp. 159–168, (1997).

[38] Knot-removal surface fairing using search strategies, S. Hahmann, S. Konz,Journal of CAD 30 (2) pp.131-138, (1998).

Resume:

Deux algorithmes iteratifs de lissage de surfaces B-spline cubiques de classeC2 sont presentes. La fairness est mesuree commeetant la somme des discont-nuites des derivees de courbures en les nœuds de la surface. L’etape de fairing(lissage) qui consiste en une suppression et re-insertion (Knot Removal andReinsertion, note KRR) d’un nœud precedemment selectionne a pour but de di-mininuer la mesure de fairness et de lisser ainsi la surface. Ce type d’algorithmea dejaete employe pour des courbes B-spline. Sa generalisation surfacique triv-iale par produit-tensoriel resulte en un algorithme iteratif dont chaque iteration

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

est globale, ce qui n’est pas souhaitable. Nous proposons une version sur-facique du KRR qui, elle, est locale. De plus, des strategies de recherche, l’uneheuristique, l’autre systematique, sont introduites afin de minimiser au mieuxla mesure de fairness au cours des iterations dans le but d’obtenir la surface laplus lisse possible. Ces strategies permettenta l’algorithme de base qui n’estpas convergent de lisser la surface au dela du premier minimum local qu’atteintla mesure de fairness.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Knot-removal surface fairingusing search strategiesStefanie Hahmann†* and Stefan Konz‡

This paper presents two automatic fairing algorithms forparametric C2-continuous bicubic B-spline surfaces. The fairingmethod consists of a knot-removal and knot-reinsertion step whichlocally smooths the surface. Search strategies like best-first-searchand simulated annealing are searching for the global minimum ofthe fairing measure. The best-first-search algorithm constructs onlypartially a search tree and reduces significantly the complexity of asystematic search. Simulated annealing is a heuristic algorithmwhich needs a probability function and some further parameters asinput. Both methods can satisfy end constraints and tolerances.Their performance is discussed for two numerical experiments.q 1998 Elsevier Science Ltd. All rights reserved

Keywords: B-spline surfaces, fairness, knot insertion, knotremoval, simulated annealing, best-first-search

INTRODUCTION

The free form surface has been becoming an indispensablepart of powerful CAD-systems. Bicubic tensor product B-splines, which are the subject of this paper, are often used ingeometric modelling due to their well known advantages,which result basically from the local support of the basissplines and their dependence on the knot vector. However,the designer is not always satisfied with the fairness orsmoothness of the resulting surface obtained from inter-polation or approximation of some data sets.

In the literature, many different fairing criteria are offeredwhich are either more aesthetically or more technically based.Finally it is the designer’s subjective decision to accept asurface as fair or not. In most cases an appropriate graphicalinterrogation method1,2 is used, which has the capability toemphasize surface imperfections and which allows a visualinspection of fairness or unfairness during the design process.

Principles of surface fairing

A fair surface can be obtained in two different ways:

• modelling surfaces with constraints• post-processing surface fairing.

The first way includes the fairness criterion as a constraintin the design process. The degrees of freedom of the surfacegeometry are used as parameters in an optimization method.The so-called variational design of smooth surfaces, con-sists of the minimization of a physical based fairness criteria(i.e., minimal bending energy of torsion and flexure, mini-mal jerk), which is incorporated in the interpolation orapproximation process (see Refs3,4 for examples andfurther details).

Non-linear surface smoothing methods can be found inRefs 5–8. These methods are often time-consuming due tothe non-linear constraints, but they do not approximate thephysical criteria.

The other way to obtain fair surfaces is to apply a post-processing fairing method to a given surface. Such a surfacealready has (approximatively) its final shape but someimperfections occur (e.g., digitization errors). The fairsurface is not allowed to change its shape too much (seeRefs 9–11 as examples).

Motivation

The fairing criteria are of very different kinds, such asminimal energy criteria12, criteria based on the surfaceareas13, or aesthetic criteria, such as light reflectionbehaviour of a surface14. We want to focus here first on afairing principle specific to cubic spline curves, which wassuccessfully used by Farin/Sapidis15 as a local scheme, andby Kjellander16 as a global scheme. The method of Farin/Sapidis is based on the fairing principle that:

(C) a C2-cubic B-spline curve is fair if the curvaturefunction k(s) is continuous, has the appropriate sign,and is as close as possible to a piecewise monotonefunction with as few as possible monotone pieces15.

A curve x is therefore fairer thany at te(a,b) if

lkx9(t þ ) ¹ kx9(t ¹ )l # lky9(t þ ) ¹ ky9(t ¹ )l, ( p )

wherekx9, ky9 mean the derivative of the curvature ofx andy with respect to the arc length. (*) is always an equalityexcept at the interior knots of the B-spline curve. Farin/Sapidis use then a knot-removal–reinsertion step at themost offending knott*, which makes the curve momentarilyC3-continuous att* before proceeding to other knots. Theiterations continue as long as the global fairing measure(sum of the curvature discontinuities over all knots)decreases.

In the present paper we introduce a new fairing methodfor bicubic tensor product B-spline surfaces based on theknot-removal–reinsertion step combined with two search

Computer-Aided Design, Vol. 30, No. 2, pp. 131–138, 1998q 1998 Elsevier Science Ltd. All rights reserved

Printed in Great Britain0010-4485/98/$19.00+0.00PII: S0010-4485(97)00078-X

131

*To whom correspondence should be addressed.†Laboratoire LMC-IMAG, University of Grenoble, B.P. 53, F-38041Grenoble, Cedex 9, France‡Fachbereich Informatik, Universita¨t Kaiserslauten, D-67653Kaiserslauten, GermanyPaper Received: 1 January 1997. Revised: 10 July 1997

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

strategies, the ‘‘best-first-search’’ and ‘‘ simulated anneal-ing’’. This fairing method will be local in contrast to Kjel-lander’s method for bicubic surfaces. The principal reasonfor incorporating search strategies into the fairing process isto overcome the drawback of Farin/Sapidis’s algorithm,which stops when the global fairing measure achieves itsfirst local minimum.

The following section begins by fixing the notations,recalls some knot-removal–reinsertion algorithms anddescribes Farin/Sapidis’ curve fairing algorithm. In orderto solve the problems mentioned above we want to presenttwo fairing algorithms for B-spline surfaces based on spe-cial search strategies like best-first-search and simulated-annealing. The heuristic simulated-annealing algorithm,for example, depends on a probability function and someother parameters and searches for a global minimum of thefairness measure. Both algorithms are searching for the glo-bal minimum of the fairness criterion and result in an opti-mal surface. The paper then discusses with some examplesthe performance of both fairing methods for bicubic B-spline surfaces. Some concluding remarks indicate general-izations to preserve tolerances and end constraints.

KNOT REMOVAL FOR B-SPLINE CURVESAND SURFACES

Knot removal for curves

Given two positive integersn and k and t ¼ (ti)nþ ki ¼ 0 a

sequence of real numbers witht i , t iþk (i ¼ 0,…,n). Thenþ 1 B-spline basis functions of orderk (degreek ¹ 1)associated with the knot vectort are denoted by

(Ni,k, t)ni ¼ 0

(or simply byNi,k) and are assumed to be normalized to sumto one. They span a linear space of functions:Sk,t.

A parametric B-spline curvex in R2 of orderk, defined bya set of control pointsd ieR2 and a knot vectort, is given by:

x(t) ¼∑n

i ¼ 0diNi, k(t), te[tk¹ 1, tnþ 1] , (1)

where each component belongs toSk,t. Note that the B-spline curvex(t) is only defined over [tk¹1, tnþ1], i.e., overn¹ kþ 2 intervals, tk,…,tn are calledinner knots. x is apiecewise spline which is at mostCk¹2-continuous at theknotst i, (i ¼ k,…,n).

The knot-removal step consists of approximating a givenspline

x ¼∑n

i ¼ 0diNikt

by a spline

x ¼∑n¹ 1

i ¼ 0diNikt

on a knot vectort which is a subsequence oft with one knotless. It follows thatx can be expressed on the same basis asx, because ofSk, t , , Sk, t , i.e.

x ¼∑n¹ 1

i ¼ 0di Ni,k, t ¼

∑n

i ¼ 0DiNi, k, t : (2)

The control pointsD ¼ (D0,…, Dn) are obtained from the

control pointsd ¼ (d0,…,dn¹1) by

D : ¼ Ad (3)

whereA is the (n þ 1,n)-matrix, calledknot insertion matrixof orderk from t to t. We can assume without any restric-tion, thatt ¼ t\ t jþ1, ( j þ 1)e k,…,n, then A is given by:

Ij ¹ kþ 2

Aj

In¹ j

2666437775 with

Aj ¼

(1¹ aj ¹ kþ 2) aj ¹ kþ 2

] ]

(1¹ aj) aj

2666437775 ð4Þ

a r ¼tr þ 1 ¹ trtr þ 3 ¹ tr

(tr ¼ tr for r ¼ 0;…,j; tr ¼ tr þ 1 for r ¼ j þ

1,…,n ¹ 1). I m being them-dimensional unit matrix17.While knot insertion does not change the shape of the

curve, the ‘‘inverse’’ process of knot removal cannot becarried out in general without changing the shape, exceptthe case where the curve isCk¹1 at t jþ1, i.e., its continuityorder is higher than it should be according to its multipli-city). In the future we will use knot removal for bicubicsurfaces, therefore, we restrict the following considerationsto the cubic case, i.e.,k ¼ 4.

There are now different possibilities to determineapproximated solutions of the knot removal problem:Ad ¼ d (d unknown).

From the approximation point of view, knot removal canbe solved by minkx ¹ xk: xeSkt , with respect to someappropriate normk·k. For more details see Ref.18. In general,all control points are involved in that knot-removal proce-dure, which is therefore a global one.

We want our fairing methods to work as locally as pos-sible. This means, that after reinsertion of the removed knott jþ1 (2), a minimum number of control points of the curvexshould differ from the original control pointsd i. The knot-removal problem can locally be solved by calculating anapproximate solution of the overdetermined (3,2)-subsys-tem Ajd ¼ d (4), which states as follows:

aj ¹ 2 0

(1¹ aj ¹ 1) aj ¹ 1

0 (1¹ aj)

2666437775 dj ¹ 2

dj ¹ 1

24 35

¼

dj ¹ 2 ¹ (1¹ aj ¹ 2)dj ¹ 3

dj ¹ 1

dj ¹ ajdj þ 1

2666437775 ð5Þ

and di ¼ di for (i ¼ 0;…,j ¹ 3) and di ¼ di þ 1 for (i ¼ j þ1,…,n).

Different approximate solutions of this system are possi-ble. A detailed description of these knot removal algorithmscan be found in Refs19,20.

We want to focus on two of them, because they can alsobe used for knot removal in the surface case:

Minimal region knot removalSolve the linear system (5) without the second equation.

Knot removal surface fairing: S Hahmann and S Konz

132

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

After reinsertion oftj þ 1 one getsDj ¹ 2 ¼ dj ¹ 2 andDj ¼ d j

and only the control pointd j¹1 has moved. This knot-removal–reinsertion step changes the curve only in theinterval [t j, t jþ4] and is therefore the most local knot removalprocedure19. Nevertheless it should be mentioned that thedifference between both curves will generally be higher thanin the following case.

Least squares knot removald j¹2 and d j¹1 are determined as least squares solution ofsystem (5). Hence, three control points have moved, suchthatS2

i ¼ 0kD j¹i ¹ dj ¹ ik¼ min. The influence on the curve islimited to three control points, i.e., to the interval [t j¹2, t jþ4]

15.

Knot removal for surfaces

Let us now describe the classical way to remove and reinsertknots in the bivariate case. To do so, the knot operationshave to be adapted to the tensor product surface description.Note that it is an inherent property of tensor products that alot of algorithms on surfaces (e.g. de Boor algorithm, degreeelevation,…) can be reduced to the monodimensional curvealgorithms with respect to one of the two parametersu andv.

Let k andl be two positive integers and letu ¼ (ui)nþ ki ¼ 0 and

v ¼ (vj)mþ lj ¼ 0 be two knot vectors withui , uiþk andvj , vj þ l .

A parametric tensor product B-spline surfaceX in R3 oforder (k,l) is then defined by:

X(u,v) ¼∑n

i ¼ 0

∑mj ¼ 0

dij Ni,k,u(u)Nj, l,v(v),

(u,v) e [uk¹ 1, unþ 1] 3 [vl ¹ 1, vmþ 1], (6)

where the coefficientsd ijeR3 form the control net, and whereðui ; vjÞði ¼ k;…;n; j ¼ l;…;mÞ are calledinner knots. Formore details about B-splines see Refs21,22.

Knot removal for surfaces means removing knot linesfrom the underlying knot grid(ui , vj)n, m

i, j ¼ k, l : Knot removaland reinsertion, for example, in thev-direction (e.g.,removing the knot vsþ1) therefore works as follows:One has to apply a univariate knot removal algorithm(see (2)–(5)) successively to the following (n ¹ k þ 1)univariate B-splines:

xi(t) ¼∑mj ¼ 0

dij Nj, l,v(t), t e [vl ¹ 1, …,vmþ 1] , i ¼ k, …,n

(7)

at the inner knott ¼ vsþ1. After re-numbering the rows ofcontrol points one gets finally the surface

X ¼∑n

i ¼ 0

∑m¹ 1

j ¼ 0dij Ni,k,uNj, l, v ¼

∑n

i ¼ 0

∑mj ¼ 0

Dij Ni, k, uNj, l,v,

wherev is the subsequence ofv with one knot (vsþ1) less.The control pointsD ij are obtained after reinsertion of theknot line vsþ1 into v by:

for i ¼ k, …,n do Di : ¼ Ai di ,

whereDi ¼ D i0,…,D im and di¼ di;0;…; di;m¹ 1 and Ai

corresponds to the univariate knot insertion matrixA (3), (4).Note, that this knot removal step makes the surface cross

derivatives of third order at the patch boundaries atvsþ1

continuous, i.e.

]3X]v3 (u,v¹

sþ 1) ¼]3X]v3 (u,vþ

sþ 1):

Bivariate knot removal and re-insertion in theu-directionworks analogously. With knot removal first in theu-direc-tion and then in thev-direction, or vice versa, it is generallynot possible to obtainC3-continuity at (ui, vj). Several var-iants and applications of knot insertion and removal for B-spline surfaces can be found in Ref.23.

Farin/Sapidis’ fairing algorithm

Farin/Sapidis’ fairing algorithm for cubic splines is based onthe fact that after a knot-removal–reinsertion step of theknot t j the new curvex(t) is C3 at t j. Hence, the local fairnessmeasure decreases to zero:

zj ¼ jk9(t þj ) ¹ k9(t ¹

j )j: (8)

By repeating this procedure several times, always at the mostoffending knot (i.e.,tk with zk ¼ max(zi): ie(4,…,n), theycould expect that the sum of the local measures:

y ¼∑n

i ¼ 4zi (9)

decreases also. According to their fairness criterion (8),y isan appropriate global measure to control the number ofmonotone pieces of the entire curve. Therefore Farin/Sapidis’ algorithm states as follows:

DO 1. compute y ¼ o z i

2. determine t j with z j ¼ max ( z i )3. knot-removal–reinsertion step at t j

UNTIL (stop if a suitable criterion isfulfilled).

We want to close this section with the conclusion that aknot-removal–reinsertion step has a local fairing effect andcan therefore be used in a fairing method for the entirecurve, or tensor product surface resp. The main problem isto find a sequence of knots such that repeated knot-removal–reinsertion at these knots leads to a global mini-mum of the fairness measurey (9).

FAIRING B-SPLINE SURFACES

The curve fairing method can easily be extended to bicubictensor product surfaces. Sure, one can simply apply thecurve scheme to each row and each column of control pointsof the surface control net (see Ref.24). This procedure hastwo main disadvantages: the fairness measures are notadapted to the surface geometry and therefore do not justifythe selection of a knot as the most offending one. And the‘‘stop’’-criterion for the algorithm does not guaranteefinding the global minimum of the fairness measurey.The algorithm stops when the first local minimum of thatfunction is reached. And this is probably not the lowest one.We present now two surface fairing algorithms which arebased on knot-removal–reinsertion (which is a very fastfairing step) and which use two search strategies tooptimizethe fairing process.

Instead of performing the fairing step at the most offend-ing knot while expecting the global fairness measure todecrease15, we intend to perform the fairing step uniquelyat knots which ensure a decreasing fairness measure. Thefairing methods are based on the following parameters:

(A) fairing step: knot-removal–reinsertion(B) fairness measure (local and global)

Knot removal surface fairing: S Hahmann and S Konz

133

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

(C) visualization(D) the scheduler (selection method) which determines

the sequence of knot pairs to be treated(E) stop-condition of the iteration.

A so-called search tree(see Figure 1) describes allpossible surfaces after a fixed numberk of fairing steps.The surface, which minimizes the fairness criterion istaken as the faired surface.

The search tree advises on the root of the startingsurface to be faired. Each vertex of the tree represents aB-spline surface that results from one fairing step(knot removal and reinsertion) at one knot of the parentvertex. The edges of the tree are marked with the knotpair kpi, which is treated by the knot operations. Thesearch tree lists systematically all possible steps of thefairing algorithm. Each path from the root to a leaf of thetree describes the history of one algorithm call. The labelskpi in Figure 1 stand for the different inner knot pairs. Asfor the knot vectorsu ¼ (0,0,0,0,1,2,3,4,4,4,4),v ¼(0,0,0,0,1,5,7,7,7,7) we getkp0 ¼ (u4,v4) ¼ (1,1), kp1 ¼(u4,v5) ¼ (1,5),…, kp6 ¼ (u6, v5) ¼ (3,5).

At least one of the leaves represents a surface with aglobal minimum of the fairing measure. The globalminimum (after k iterations) can only be found whenperforming a polynomial numberO((n·m)k) of fairingsteps. The aim of the search strategies is to find this pathwithout constructing the whole tree because of the poly-nomial number of vertices. The way the search tree isconstructed and transversed, depends on the two searchstrategies, best-first-search and simulated annealing.

The five mean characteristics (A)–(E) of our fairingmethods are now presented.

(A) Fairing step

We use a knot-removal–reinsertion as a local fairingstep for the surface and refer to it as KRR. The bivariatemethod presented earlier has the drawback of being global.If one knot line is removed, e.g.vsþ1, then the wholecolumns of control pointsdi;s¹ 2, d i,s¹1, di;s ði ¼ 0;…; nÞ ismodified.

Our knot-removal–reinsertion step (KRR) is a localizedversion of the classical method. It locally performs a fairingstep at the inner knot pairs (urþ1,vsþ1) (r,s ¼ 3,…,n,m) bymodifying only a small set of control points at each step.Removing and reinsertion of the knot linevsþ1 makes thethird-order partial derivative

]3X]u3 (u,vsþ 1)

continuous for all ue[u3, unþ1]. We only need thesurface to have this third-order partial derivative continuousat the knot (urþ1, vsþ1). Therefore, it is not necessary to

remove and reinsert the whole knot line. The followingLemma shows that it is sufficient to apply the univariate(curve) KRR atvsþ1 for only three curves, which are definedby three columns of the surface control points.

Lemma

Given a bicubicC2 B-spline surfaceX(u,v) as defined in(6). If the three curvesx i(v) ¼

Pmj ¼ 0 dij Nj, 4, v(v)(i ¼ r ¹ 2,

r ¹ 1, r) areC3-continuous inv ¼ vsþ1, then the third partialderivative

]3x]u3(u,v)

of the surface is continuous at (urþ1, vsþ1) (analogous foru).

Proof: Substituting theC3-continuity condition of thethree curves at a point (vsþ1) into that for surfaces at apoint (urþ1, vsþ1) gives the desired result. A

In the following we distinguish KRR inu- andv-direc-tions. KRR in thev-direction means that we remove andreinsert a knotvsþ1 from the knot vectorv. Similar to theunivariate case we prefer the following two methods.

Minimal region algorithm, called mr-KRR, in the v-direction. The univariate minimal region knot removal isapplied to remove and reinsert the knott ¼ vsþ1 from threecurvesx i(t) ¼ Sm

j ¼ 0dij Nj, 4, v(t)i ¼ r ¹ 2, r ¹ 1, r. The samecan be done in theu-direction. The distance of the old con-trol net from the new one can be relatively high, becauseonly one control point per curvedi,s¹1 has been modified.The surface is thenC3-continuous with respect tov at theknot (urþ1, vsþ1), see Lemma (analogous foru).

Least squares algorithm, called ls-KRR, in the v-direction. Here also the univariate least-squares knotremoval and reinsertion step is applied three times tox i(t) ¼Sm

j ¼ 0dij Nj,4,v(t) for i ¼ r ¹ 2, r ¹ 1, r at the knott ¼ vsþ1. Analogous inu-direction. This method minimizesthe squared distance between the old and new controlnet by moving nine control points:d ij, i ¼ r ¹ 2, r ¹ 1,r andj ¼ s¹ 2, s¹ 1, s. Therefore the shape of the surfacedoes not change very abruptly.

Notice that there is no symmetry in the KRR-steps. Chan-ging u andv leads to different results, because they dependon different control points. Applying KRR first in au-direc-tion and then in av-direction leads to a surface which is onlyC3-continuous with respect tov.

The general purpose of a fairing method is to obtainmaximal fairing effect within a predetermined ‘‘tolerance’’.For small tolerances the ls-KRR seems to be the most appro-priate method. Otherwise both methods lead to satisfyinggood results (see Examples).

(B) Fairness measure

The local measureszuij , zv

ij , of a knot pair (ui, vj)from a surface X(u,v) which evaluate the fairnessof the knot pair are defined by the partial derivation ofa curvature functiong(u,v) ¼ g(kmin(u,v), kmaxðu; vÞ)along one of the two parameters of the surface, wherekmin, kmax are the principal curvatures. The Gaussian

Knot removal surface fairing: S Hahmann and S Konz

134

Figure 1 Search tree of the iterative fairing method

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

curvatureK ¼ kmin·kmax or k2min þ k2

max,… are appropriatecandidates forg.

zuij ¼

j]g]u

(ui , vj)j

k]X(u,v)

]uk, zv

ij ¼j]g]u

(ui ,vj)j

k]X(u, v)

]vk: (10)

According to the selected curvature function the automaticfairing algorithm will evaluate all knot pairs.

Finally, the sum of the curvature-slope discontinuities(local measures) from all knot pairs will define theglobalfairing measurey which will be minimized by the fairingalgorithm:

y ¼∑i, j

zuij þ zv

ij : (11)

Remark: If zuij . zv

ij , then the fairing step KRR will beapplied in theu-direction and vice versa. The local measurezuij or zv

ij which contributes the most to theC3-continuity atthe knot (ui, vj) determines whether KRR is done in theu-orthe v-direction.

(C) Visualization

An appropriate technique for emphasizing visually thefairing effect is a light reflection method. The fairingmethod reduces surface irregularities and provides a morepleasing shape. Those aesthetic aspects are well captured byisophotes, reflection line or highlight lines25,14,26, becausethey are very sensitive to changes in the surface normals.Therefore, we chose the isophote method.

(D) and (E) scheduler and termination conditions

The selection of the knot pair and the search for theglobal minimum of the fairing measure can be done in twoways.

Best-first-search fairingThe first method which is using the best-first-searchstrategy, tries to minimize the polynomial effort of asystematic search for the global minimum in the search tree.Here we begin with the initial surface on the root of thesearch tree and try to span only the interesting paths of thetree.

Starting with the initial surface, the first level of the treeis spanned after performing KRR for each inner knot pair(q ¼ (n ¹ 3)(m ¹ 3) new surfaces are produced). All thesesurfaces are sorted in order to build a ranking list withrespect to their increasing global fairness measure. Thesame operations are now repeated with only the first surfaceof the ranking list. The newq surfaces are also added intothe ranking list. And so on…

Under the assumption that the optimal surface (in thesense of the smallest global measure) is found when theKRR step is only performed on the first surface of theranking list, the algorithm stops after a fixed numberk(fixed before by the user) of fairing levels in the tree (seeFigure 2).

The resulting algorithm counts in the best caseO(k·n·m)fairing steps (i.e., is linear in the number of control points)and in the worst caseO((n·m)k) steps, which is the same for asystematic search withk tree levels. For more details aboutthe best-first-search technique, see artificial intelligence lit-erature, for example Ref.27.

Simulated annealing fairingSimulated annealing is a heuristic method to solve largeoptimization problems. It ensures ‘‘with high probability’’finding a global minimum of the function of interest, whereiterative methods often get stuck at a local minimum. In1983, IBM researchers28,29 found an interesting analogy inmaterial physics, where the heuristic process of an optimalannealing of metal is a quite difficult task.

Simulated annealing is a stepwise algorithm which isallowed to makegood steps(i.e., steps which improvesome measure of quality) and to makebad steps(thosethat do not). Those bad steps are necessary in order toleave a valley of a local minimum. The probability that badsteps are accepted decreases while the algorithm proceeds.

This algorithm can be compared with the hill climbingmodel: searching in this case the maximum of a functionone can imagine that a hill climber is searching for thehighest top. Depending on the departure point, he has towalk on tops (good steps) and valleys (bad steps) in orderto reach the highest summit. Therefore, he must not stopwalking when he arrives at the first top. In this case hewould only find a local maximum. Sometimes the climberought to take a descending path. This helps to avoid a localmaximum. In general, the topography of the problem is notknown in advance. Hence it is natural to use a probabilityfor the acceptance of bad steps and in order to ensure thatthe algorithm stops.

In our fairing context, a function has to be minimizedin contrast to the hill climbing model. The measure ofquality is the global fairness measurey (eqn (11)), whichhas to be minimized by a sequence of fairing steps, the knot-removal–reinsertion (KRR)-step. A topography of a simu-lated annealing optimization process is shown inFigure 3.

At each stage of the algorithm a knot pair (ui, vj) of thecurrent surface is chosen either randomly or by a ranking listwith respect to the local fairness measurezu

ij þ zvij at each

knot pair. While the KRR-step increasesy, the steps areaccepted as good steps. Otherwise, a random numberve[0,1] is chosen for the bad steps and is accepted with acertain probability. As the probability for bad steps getssmaller during the algorithm it becomes less and less

Knot removal surface fairing: S Hahmann and S Konz

135

Figure 2 Possible search tree for the best-first-search algorithm

Figure 3 Topography of an optimization process

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

possible to leave the current minimum of the fairnessmeasure and the algorithm stops there.

Let max_kpbe the number of inner knot pairs. If thenumber of stages of the algorithm in controlled by theinteger max_step, the probability function P at eachstagetk (k ¼ 1,…, max_step) should be a monotonouslydecreasing function. Some examples are shown inFigure 4.

The decreasing sequence of real numberst1 . t2 .tmax_step is called annealing schedule and controls theprobability that bad steps will be done. The morethey decrease, the less probable is a bad step. Once theannealing schedule is fixed, for example as a linear scheduletk ¼ max_kp

k , an appropriate factord in the probabilityfunction P has to be chosen. Two examples are shown inFigure 4.

At each stagek the number of good steps is limited bymaxstep, in order to avoid making too many good steps atthe beginning and to get stuck at a local minimum. A gen-eral suggestion we can make for the choice of the parametermaxstepis to take it to half that ofmax_kp.

There are two possibilities for the algorithm to stop. Ingeneral, the algorithm should stop whenblimit times insuccession the making of a bad step was refused (due tothe decreasing probability of making bad steps). In thiscase there is no further way out of the current valley. Theactual minimum is accepted as the optimal one. When thealgorithm seems to be in an infinity loop, it stops after amaximal number of stagesend_temp(final temperature).

This should be an emergency stop, and a large enoughend_temphas to be chosen to allow a regular stop.

The simulated annealing algorithm does not guaranteefinding a global minimum, but it is well known that it isan effective way to search one. This algorithm has, forexample, been used in CAGD by Schumaker30 for comput-ing optimal triangulations.

EXAMPLES

Before comparing the two fairing algorithms based on best-first-search and simulated annealing, we first want toillustrate the different fairing effects of the two KRR-strategies: least-squares KRR and minimal region KRR, seeFigure 5.

Figure 5ashows an unfair surface which isan academicexamplewith only 25 inner knots. One now expects from afairing method that the high variations of curvature, whichoccur in the middle of the patch and on the boundary,become smaller or disappear. We then run the simulated

Knot removal surface fairing: S Hahmann and S Konz

136

Figure 4 Probability of accepting bad steps (d ¼ 0.5, 1, 2).

Figure 5 Fairing effect of the two different KRR-steps: (a) initial surface.(b) Fairing with least-squares KRR. (c) Fairing with minimal-region KRR

Algorithm (simulated annealing for fairing surfaces)

for k ¼ 1…, end_temp dodo

for r ¼ 1…, max_step dochoose randomly a knot pair kplet X be the current surface, X the faired surface after KRRif yX . ythen make KRR; X: ¼ X; b_count ¼ 1 /* good stepelse choose a random number 0 # v # 1

if v , P( k)then make KRR; X: ¼ X; b_count ¼ 1 /* bad stepelse b_count þ ¼ 1 /* bad step refused

end foruntil (b_count $ blimit ) /* no more improvement

end for

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

annealing fairing (parameters:g(u,v): ¼ k2max þ k2

min(10),max_step¼ blimit ¼ 10) once with the least-squaresKRR-step (Figure 5b) and once with the minimal-regionKRR-step (Figure 5c).

The global fairness measureyorigin ¼ 1.3·10¹4 decreasesto y fair_ls ¼ 2.1·10¹6 and y fair_mr ¼ 1.8·10¹7 in 32 and 71steps. As was assumed above, the ls-KRR is better adaptedfor shape preserving fairing, while a more flattening fairingeffect is achieved with the mr-KRR.

The following two experiments are based on test surfacesclose to the real CAD/CAM world because they representnoisy data sets [slightly (1 and 2%) perturbed data]. Fromthe definition of both search strategies it is clear that theyapply to different kinds of surfaces. The complexity ofthe best-first-search algorithm is linear (with respect to thenumber of inner knots) in the best case, otherwise it haspolynomial complexity. If one claims from both algorithmsto run in ‘‘reasonable’’ time (i.e., some cpu seconds) it isobvious that only the simulated-annealing algorithm canrun on surfaces with several (hundreds) of control points.Various experiments show that the best-first-search algorithmworks better for surfaces with less than 50 control points,because it is nearer to a systematic search than thesimulated-annealing algorithm. For both experimentsg ¼kmax·kmin was used.

The first example is an application of the best-first-search(BFS) algorithm, shown inFigure 6a,b. The unfair surfacehas 25 inner knots (i.e., 81 control points). The depth(maximum number of levels) of the BFS-tree isk ¼ 20 inthis experiment, which results in a relatively high runningtime of 15 s (IBM RS6000).k decides finally about thenumber of fairing steps and has to be chosen by the user.The total fairness measure decreased fromyorigin ¼1.88·10¹6 to y fair_mr ¼ 1.72·10¹7 when applying theminimum-region KRR as fairing step (this example isshown in Figures 6 and 7), and to y fair_ls ¼ 2.25·10¹7

when applying the least-squares KRR step.We a posteriorimeasured the maximal distance

tmax ¼maxkdij ¹ Dij ksize of surface

(of corresponding control points) between the original andthe faired surface ofFigure 7. After normalization weobtainedtmax ¼ 0.013. The lines mapped on the surface

are isophotes (Figure 6b, 7b). They indicate the degree offairness visually before and after fairing.

The second numerical experiment uses the simulatedannealing algorithm. The initial (unfair) test surface has256 inner knots, seeFigure 8a,b. This is an appropriateexample for the simulated annealing algorithm, because ithas more than 50 control points. The global fairness measuredecreases fromyorigin ¼ 3.92·105 to y fair_mr ¼ 1.59·104

for this surface using the mr-KRR step. The normalizedmaximal distance in this case givestmax¼ 0.037. Simulatedannealing is a non-deterministic process, which means thatseveral runs of the algorithms with always the same inputhave different output. This is usually a negative point of thisalgorithm. In the field of surface fairing it is an advantage,because fairness is basically a subjective criterion anddepends on the designer’s point of view. It can be observedthat several runs of the simulated annealing algorithmalways stop after ca. 400 steps with nearly the sameresult, i.e., a faired surface, as inFigure 9a,b (runningtime 20 s). Isophotes are used to visually control the fairing.

If the user is not satisfied by the result, the algorithm hasto be run again. Perhaps he has to adjust the annealingparameters in order to increase or decrease the number ofsteps. In practice, the designer only needs a few runs to seewhich parameters fit well for the given surface. The runningtime of our prototype program varies between 2s and 20 s,depending on the number of surface control points and thenumber of fairing steps. The example presented here is in acertain sense a worst case with respect to running time.

In comparison with the BFS algorithm, 400 fairing stepsfor the simulated annealing algorithm are equivalent to adepth of onlyk ¼ 2 in the BFS-tree for the second testsurface. Remember that for one level of the BFS algorithm256 fairing steps are evaluated and produce 256 differentsurfaces. Each of them was faired at one knot pair. Depth 2means therefore that the final surface only differs by twoKRR steps from the original one (only the first surface of theranking list after two steps is retained). As a conclusion wecan state that the heuristic simulated annealing fairing

Knot removal surface fairing: S Hahmann and S Konz

137

Figure 6 (a) Initial B-spline surface with 25 inner knot pairs. (b) Isophoteanalysis

Figure 8 (a) Initial B-spline surface with 256 inner knot pairs. (b)Isophote analysis

Figure 9 (a) The faired surface provided by the simulated annealingalgorithm. (b) Isophote analysis

Figure 7 (a) The faired surface provided by the best-first-search algo-rithm. (b) Isophote analysis

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

method is a very effective way to search for a minimum ofthe fairness measure when the initial surface has many con-trol points.

Finally, notice that a systematic search for the globalminimum of the fairness measure (after only 20 KRR-steps ¼ 20 search tree levels) would have required25620(!) KRR-steps.

CONCLUSION AND REMARKS

Two fully automatic and locally working surface fairingalgorithms were developed in this paper. They are based onknot removal and knot insertion as fairing steps, combinedwith two search strategies which search for the globalminimum of the fairness function. Only the basic function-ality of these algorithm was illustrated with the aid of twoexamples. It is important for fairing methods to preservesome shape properties and to keep within tolerances. Withlittle programming effort we were able to improve thepresent algorithms in the following way.

Preservation of end constraints

If all inner knots are involved in the fairing process, only thecorner points of the surface are not modified. However, thealgorithm can be restricted to work only on a subset ofknots. On the one hand, this limits the fairing to a local areaon the surface. On the other hand, end constraints, likeborder curves and border derivative, can be preserved byexcluding some rows and columns near the border from thefairing process.

Preservation of tolerances

A given tolerancet can be preserveda posteriori byallowing only such fairing steps which keep the new surface(u,v) within the prescribed tolerance:kX ¹ XkL` , t. Inpractice the usualL`-norm can be approximated by thediscrete l `,u,v-norm on the control points, because thefollowing estimation holds (for each componentc ¼ 1,2,3 ofa parametric B-spline surface):

kXc ¹ XckL` # kXc ¹ Xckl`u,v ¼maxi, j

ldcij ¹ d

cij l :

Further details about this estimation and its application tocurve fairing with knot removal can be found in Refs18,31.

REFERENCES

1. Hagen, H., Hahmann, S. and Schreiber, T. et al., Surface interrogationalgorithms. IEEE Computer Graphics and Applications, 1992,12(5),53–60.

2. Hahmann S., Visualization techniques for surface analysis. InDataVisualization Techniques, ed. C. Bajaj. John Wiley, Chichester, 1996.

3. Hagen, H. and Santarelli, P., Variational design of smooth B-splinesurfaces. InTopics in Surface Modeling, ed. H Hagen. SIAM, 1992,pp. 85–92.

4. Bonneau G.-P., and Hagen, H., Variational design of rational Be´ziercurves and surfaces. InCurves and Surfaces in Geometric Design, ed.P.-J. Laurent, A. Le Me´hauteand L. L. Schumaker. A. K. Peters,Wellesley MA, 1994, pp. 51–58.

5. Lott, N. J. and Pullin, D. I., Method for fairing B-spline surfaces.Computer Aided Design, 1988,20, 597–604.

6. Ferguson, D. R., Frank, P. D. and Jones, K., Surface shape controlusing constrained optimization on the B-spline representation. Com-puter Aided Geometric Design, 1988,5, 87–103.

7. Moreton, H. P. and Se´quin, C. H., Functional optimization for fairsurface design. Comp. Graph., 1992,26, 167–176.

8. Greiner, G., Variational design and fairing of spline surfaces,Proc.Eurographics, 1994, pp. 143–154.

9. Brunet, P., Increasing the smoothness of bicubic spline surfaces. Com-puter Aided Geometric Design, 1985,2, 157–164.

10. Kjellander, J. A., Smoothing of bicubic parametric surfaces. Compu-ter Aided Design, 1983,15, 289–293.

11. Hadenfeld, J., Local energy fairing of B-spline surfaces. InMathema-tical Methods for Curves and Surfaces, ed. M. Daehlen, T. Lyche andL. L. Schumaker. Vanderbilt University Press, Nashville and London,1995.

12. Hagen, H. and Schulze, G., Extremalprinzipien im Kurven- undFlachendesign. InVerfahren der graphischen Datenverarbeitung, ed.J. Encarnacao and J. R. Hoschek. Springer, Berlin, 1990, pp. 46–60.

13. Rando, T. and Roulier, J.A., Designing faired parametric surfaces.Computer Aided Design, 1991,23, 492–497.

14. Klass, R., Correction of local irregularities using reflection lines.Computer Aided Design, 1980,12, 73–77.

15. Sapidis, N. and Farin, G., Automatic fairing algorithm for B-splinecurves. Computer Aided Design, 1990,22, 121–129.

16. Kjellander, J. A., Smoothing of cubic parametric splines. ComputerAided Design, 1983,15, 175–179.

17. Bohm, W., Inserting new knots into B-spline curves. Computer AidedDesign, 1980,12, 199–201.

18. Lyche, T. and Morken, K., Knot removal for parametric B-spline curvesand surfaces. Computer Aided Geometric Design, 1987,4, 217–230.

19. Farin, G., Rein, G., Sapidis, N. and Worsey, A. J., Fairing cubic B-spline curves. Computer Aided Geometric Design, 1987,4, 91–103.

20. Eck, M. and Hadenfeld, J., Knot removal for B-spline curves. Com-puter Aided Geometric Design, 1995,12, 259–282.

21. De Boor C.,A Practical Guide to Splines. Springer, New York, 1978.22. Schumaker L. L.,Spline Functions: Basic Theory. John Wiley, New

York, 1981.23. Goldman R. N. and Lyche, T. (Eds),Knot Insertion and Deletion

Algorithms for B-Spline Curves and Surfaces. SIAM, 1993.24. Farin, G. and Sapidis, N., Curvature and the fairness of curves and

surfaces. IEEE Computer Graphics and Applications, 1989,9, 53–57.25. Poeschl, T., Detecting surface irregularities using isophotes. Compu-

ter Aided Geometric Design, 1984,1, 163–168.26. Beier, K.-P., Highlight-line algorithm for real-time surface quality

assessment. Computer Aided Design, 1994,26, 268–277.27. Richter, M. M.,Prinzipien der ku¨nstlichen Intelligenz. B. G. Teubner,

Stuttgart, 1989.28. Kirkpatrick, S., Gelatt, C. D. and Vecchi, M. P., Science, 1983,220, 671.29. Kirkpatrick, S., Optimization by simulated annealing. J. Stat. Phys.,

1984,34, 975–987.30. Schumaker, L. L., Computing optimal triangulations using simulated

annealing. Computer Aided Geometric Design, 1993,10, 329–345.31. Pigounakis, K. D. and Kaklis, P. D., Convexity-preserving fairing.

Computer Aided Design, 1996,28, 981–994

Stephanie Hahmann is an associateprofessor at the Polytechnic Univer-sity of Grenoble (INPG-ENSIMAG)and a member of the research labLMC-IMAG, France. Her researchcenters on geometric modelling,surface interrogation and scientificvisualisation. Dr. Hahmann recieveda D.E.A. in numerical analysis fromthe University of Paris VI, France,an MS in mathematics from theUniversity of Braunschweig, Germany

and the Ph.D. degree in computer science from the University ofKaiserslautern, Germany, in 1994.

Stefan Konz was born in Wittlich,Germany, in 1967. He recieved hismaster of science in computer sciencein 1994 from University Kaiserslau-tern, Germany. He currently worksat Nemetshek AG in Munich anddevelops software solutions for thearchitectural part of their cad system.

Knot removal surface fairing: S Hahmann and S Konz

138

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 7

Shape improvement of surfaces

Ce travail a fait l’objet d’une presentationa la conference internationale "SIAMon Geometric Design" en 1997 pour laquelle il n’y a pas de proceedings. Lapublication s’est faite ensuite dans une revue internationale.

Reference:

[39] Shape improvement of surfaces, S. Hahmann,Computing Suppl. 13, pp.135-152, (1998).

Resume:

Cet article decrit une methode de lissage de surfaces B-spline qui repose surla convolution du reseau des points de controle de la surface par des fil-tres discrets, imposant la continuite de classe C3aux nœuds de la surface.L’algorithme qui en decoule est local, car les filtres ne s’appliquent qu’a dessous-ensembles de points de controle. Contrairement aux methodes presenteesdans le chapitre precedent, ou apres chaque iteration la continuite C3"totale"en ce nœud n’est pas assuree, mais seulement la continuite C3le long d’uneseule direction parametrique en ce nœud, le present algorithme rend la surfacelocalement C3continue en ce nœud. Plusieurs extensions de cette idee de basesont developpees.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

! " #

$ % &"

$ '

'

% #

(#

)# # "

& # !

* +,, ,- ,. / 0

" " +,1/ $

!"# $ !

%& ' () ) ( # ' () ) * )

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

# #

2 & +/ +,3/

+/ " # ' +-/

" 4!

" &" # "

& 2 , 5 "

"& " 2 6 -

2 . # # " "

" " 5

"

$78 " # $

" 9 " 5

$ ' :

(& ;

* +, 6 6/ )!

+,< ,6 / "

# + - < ./

8 ' = "

+,3/ # ' " "

2 6 "

Æ

># ( "

? # "

@ # # "

" ! (

" #

"&

*

> * % A

B :; B :; :; :;

C( +1/

# 9

## $ 5

# DE & 9 % ' F

#

)# # #

,

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

$ ' " :A;

C( +/ 8 9 ##

" # ( #

A

4! #

4 C(@ * +1/ "

##

9 & 4! #

! &

" :

& ; C # +, , 3/ #

& +,/ # " 9

& # ! #

# Æ ' C # & @ &

! *

" " : ; ## " #

&

" C(

*@ "

% "

? " 2 .

2 4! "

#" 5 7# # 6 B

:; B :;

" % "

: B < ; 4! "

:; : ; '

:; $

:- -; 5

: ; B

:;:; : ; G B + / + / :;

6

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

X

2,1

0,0

4,0

u

v

u u uu

v

v

3

4

3 4 5

Ω

d

d

d

B - B 6

" Æ * &

" ? HH & : ;

& : ; B :- -; :- .; :; ? &

" $ 4!

: ,;: ,; ! 6 "

( ! &

4!

#

: ; + / + / * 4! +. ,/

* # " 5 %#

C(@ :2 ,;

+/ 4! "

: ; : ;

: ; : ;

" & : ; $

9 ##

& : ; "

&

" " #

$ : ; ##

: ; ? B

" : I B 6 !;

## 4 4! #

## : " ; G

: ; B JJ

:; :; :,;

-

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

" : ;

* +3/ 5

" + / + / I B 6

: , ,;

9 ! !

& : ; : ;

* 5 "

K: ; B:

;: ;

B

:;

:;

B

K: ; B:

;: ;

B

:;

:;

B

:6;

"

B : ; B : ;

% & : B B B 6 ;

# Æ K K : ; "

* , : B 3 B ,6 B ;

* , "

## K: ; K: ;

control net

k-4k-3 k-2 k-1 k

l-3

l-2

l-1

l

l-4

-1/62/3

2/3

2/3

2/3

8/3

-1

-2/3-2/3

-1

-48/3

-1/6

-1/6-1/6

control net

k-4k-3 k-2 k-1 k

l-3

l-2

l-1

l

l-4

-1/6

2/3

2/3

2/3

2/3 8/3

-1

-2/3

-2/3

-1-4

8/3

-1/6

-1/6

-1/6

Æ ""

K: ; #$ K: ; # $

.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

: ; 5

B K: ; I K: ;

: ; :-;

, " " * 6

k-4 k-3 k-2 k-1 k

l-4

l-2

l-1

l

l-3

dk-2,l-2

% ""

" " " %

B

:.;

" '

$

" " 5 "

"

:; & : ; " : ; B

:; :;

: ; : B <;

# : ; "

: ; 2 :; " " :.; 2 :;

= "

$ & : ;

% ' " %# "

K: ; B < K: ; B < :3;

, :&"; ## " % : :6; * 6;

5

L #

" " !

3

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

L ! "

" "

" * - , @ @

: Æ * -; & 5 = ! %

" , :

* -;

k-4 k-3 k-2 k-1 k

l-4

l-2

l-1

l

l-3

dk-2,l-2

unchanged control point

changed control point

& ""

#'$

" L

M' : L; B

L ( :3; :1;

% ? +6</

N: L ; B : L; I :K: ;; I :K: ;; :;

:;! %

N

LB < %

N

B < %

N

B < %

:;

' :; & : ; #

% :; " L " B < "

: ;

% & :;

& B B #

1

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

, - -, 3 3

, < - -, 3 3

, ,- ,-< , 3 3

, - -, 3 3

, - -- 3 - 3 ,- 3 - 3 - < <- 3 - 3 ,- 3 - 3 - < <

LLLLLLLLL

B

,,,,,,,,,

" B : I - I I I - I ;

B : I - I I I - I ;

0 #

!#! " L )

4! ! % 5 #

5 $ " !#!

" %#

F " : ; #

&

" 9

9

&

:.;

, : B ;

:; : ; " : ; B :-;

:; : ; :1;!:;

:; "

$ " #

$ "

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

5 = &

"

% +,3/ # #

# $ ' " #

$ 5 "

# # #

: ; B B ! :<;

5 " " # #

$ " >

# 9 4 %

9

( ))*

! + *,,

5 " " &

"

:* .; " "

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

.. & '

" .<< B < 1

< <<< " : ;

" : ; " B L

" B < < : # <<<; .<<

# <6 :27 0; '

! % :; @

# >

!#

# * 3

$ " Æ

,<,< 33 & '

* 1

" ( -,,

# + .,,,

3<<< : 1 ;

B <

B < <6 " *

" " % " B < <<3 <3O :

# <<<;

<

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

!

$ & /

9 * # :;

& : .. ; $

$ &

&

:1; #

: ; 2

## ! % 5

% " : * - <;

1-point fairing mask :

k-4 k-3 k-2 k-1 k

l-4

l-2

l-1

l

l-3

dk-2,l-2

k l3C -continuity at (u ,v )

& 0

? " " !

# : ;

P

" (

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

$ ! : * ;

! - : ;

K: ; B < K: ; B <

B I B I

:;

Q ! %

"

M' : L; B

L ( :; :,;

" L : B 6 R B 6 6; 3 :;

4-point fairing mask :

k-4 k-3 k-2 k-1 k

l-4

l-2

l-1

l

l-3

dk-2,l-2

3C -continuity

k+1

l+1

-

$ & #

" " ( "

" ( :;! #

# + / 5

A ! %

"

1-segment fairing mask :

k-4 k-3 k-2 k-1 k

l-4

l-2

l-1

l

l-3

u c ]u ,u [k-1 k

3C -continuity for (u,v )l

dk-2,l-2

0

,

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

## :!; #

5 " #

:

; B

:; + +

: ; B

:; + +

:6;

> - :

;

: ; " : B - ;

B

B - :-;

" : ; + + $ ! " #

- % :-; - " ! % !

,< L : B - B - ; " ##

% :-; !

M' : L; B

L ( :-; :.;

" * ,

)" " &

" ( :;!

= * 6

4-segment fairing mask :

k-4 k-3 k-2 k-1 k

l-4

l-2

l-1

l

l-3

(u,v) c ]u ,u [ x ]v ,v [k-1 l+1k+1 l-1

3C -continuity for

dk-2,l-2

-

! & " #

# + + 5 + +

6

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

5 ## #

B:

; B

:; + +

B:

; B

:; + +

B:

; B

:; + +

B:

; B

:; + +

:3;

< #

B

B

B -

B

B

B -

:1;

,. : B - B - ; ## < %

! % !

,. " < :* 6;

M' : L; B

L ( :1; :;

"

! 4! * "

" & ! !

& !

? 5 "#

! ! B

! -! B3

! ! B,<

! -! B,.

)# # -!

% Æ

$ * - "

,.,. "

-

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

"

( *)*

+ 0 1 2,,,

! + - 1 *,,,

= " Æ ! :* .; -!

:* 3; -! #

"

.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

: B ,. # B ; M ## "

! 4

B 3 .

B <

B .<

$ # " " %

<< F ! # 36

-! # ,

,<<<< " -!

"

B < 4 @ &

%

"

$ 4!

Æ " #

* " "

&

#

" &

% 9

! % 5

"

M ! ##

& $ " @

$ # # " "

& " L "

"

'

&

! # : *

1; 2 ##

9 " "

" " & &

3

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

u

v

u uu

v34

3

J

free inner knots

u4

v

n+1

vm+1

" #

!"#$

4 C! A! ! % !

$ 8 ! :-; ,3S,11

, 4T = " & 4! # $ 8

:<; S,<

6 4 7! A A U 4V' # !

% " 3 4 ! ? $ ? MVV

? ? 2& : ; $ C = M$ :-; .S.

- 4 $

7 8 :.; .1S3-

. 8 4 5 3 2 )" W& 1

3 >& M A C # 4! # $ 7!

8 :.; ,.S,,

1 * 7 7 F ) 2 $ = * 4! #

$ 7 8 :1; S<6

* 8 F 8 *& C 2

' 4! $ 7 8

:; 1S<6

7 7 U > -

-6S.-

< A ? 4! 6 6

% " M 8X ? ? ? 2& : ;

U Q# ) # Y ? .

A A 7 # $ 7 8 :.; ,,6S

,,1

, A A 7 2' $ "

$ 7 8 :1; ,6S,6.

6 A A 2 U 4! &

A A :; 2$M :,; .S,

1

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

- A 2 U ' % 4

78 & 4(( :;

. A 2 2 C' C!#

$8

3 A & 8 ? + %34 $ C 6

1 C( $ 2 $ 8

:6; 1.S1

C( $ 2 $ 8

:6; ,S,6

C F $

8 :<; 16S11

,< ? ) 8 M 4! $

8 & :; .1S3<-

, ? C M& C # 4! #

$ 7 8 :1; ,1S,6<

,, M > ) % 3 4 F 4

F F : ; $ :1-; 16S,<

,6 M A A 2V% * '

7 ! :,; 31S13

,- ) 7M 2 " #

% 3 4 F 4 F F : ; $

:1-; ,<S,6.

,. )"& A 8 F 8 %34 F 4!

= 4T : ; )!A :6; ,S6-

,3 8 $ 7!

8 :-; 36S3

,1 F $ F 8 $

8 :; -,S-1

, 2 ) 7 * $ 4! #

$ 8 :<; ,S,

, 2& ? ? +1 & = )" W&

6< 2 7 = ! 3

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

Chapitre 8

Visualization techniques forsurface analysis

Cetetat de l’art sur les methodes d’interrogation de surfaces et de visualisationfait l’objet d’un chapitre dans un livre sur les techniques de visualisation dedonnees,a la demande de C. Bajaj,editeur de ce livre.

Reference:

[40] Visualization techniques for surface analysis, S. Hahmann, Chapitre in-vite dans C. Bajaj (ed.):Advanced Visualization Techniques, John Wiley,(1999).

Resume:

L’analyse visuelle d’une surface est un outil tres important pour des appli-cations de CAO ou d’informatique graphique. Partout ou des surfaces deforme libre sont utilisees on a besoin d’interroger leur qualite en fonction dedivers aspects: l’apparence visuellement plaisante, une fairness technique, descontraintes geometriques, ou simplement des proprietetes intrinseques d’unesurface. Cet article donne unetat de l’art sur les methodes d’analyse visuellede surfaces. Il commence par rappeler les bases de la geometrie differentielle,avant de presenter les diverses methodes simulant la reflexion de lumiere, lesmethodes des surfacesa offset varialble, les methodes de color mapping ainsique les methodes des lignes caracteristiques.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

!"""

! " ! # $ % & ' # () * + ! $ , $* %* %* - . . / . (

*

#$$ #%&%' ($) &*+' '$ + ,- .-/01! '$ .$

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

! "

0 1+213 ,/ , 4 4 5 6 4 1+2137 5 5, 1 , , 5 8/ -/ 9:/ ;/ < =.>/ ; =>/# ?/ =*> @

6 7 6 , A7 5 3 0 , 8 / /@ , , 1 - ?,

6 ,) 0, 5, , ) 7 B 4 , , 4 8 -/ 4 , / @ 9 , , 1,

3 5 4 ,

0 , ' / , , , 4 0 ' / ?

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

, C / / / -,/

, ' , 1 ,

/ 8 @ , 6

3 A 4 / 7 / 0 / ?

- /

7 -

0 ? ? 6 , # =!> 1 7 / , C 4 / ) ', ?

8 / ( @/ / /

0, , , , 8/ -/ 9 ? =>@

0 7 + ' 5 D 5 5 9 / ? -/ , , ) / +7 / ,) , , 2 7 , A & ) 5 , /

? 4 / D 9

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

, 5/ , ' , 8 @ 6 , -

0 ' , 0 , C 8+ =%>/ E =>/ <,) =$>/ 9:=*>@/ , ) 4

u

w

u

w

N

XX1

X2

uw-plane

#

7 $%-/

F 8@ F

8@8@8@

8@ $%2 8@

8@ 0 4 / 7)/ / ! DF

/ 2 DF

0 8@ 4

8@ DF! 2

! 2 8@

0 4 , , ) D 4

! 0 / ? ? / 1 =8 @ 8 @> 7 4 88 @ 8 @@

0 85 @ ,

2 F F !!2 G !2 G 22

2 8@

F / 8 F @/ DF 2 0 0 / /

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

) 8@ B 4 4 4 , , / 4 , 4 D

F F !!2 G !2 G 22

2 8@

F F / F 0 4

0 , ,

N

XC

p

&

0 4 , ) ' 5 F % D

F 8@ F

F

F

F

F

!! G !2G 222

!! G !2G 222 8*@

F 4 / 4 0 5 8*@ 8 -@ !! D !2 D 22 F !! D!2 D 22/ , / F 0 - ! 2 8@ ! 2

2 !! !2 22!! !2 22

F % 8.@

*

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

0 - ! 2 , 5

8!! G !!@G !2 G !2@ F %

8!2 G !2@G 22 G 22@ F % 8@

!! !! !2 !2!2 !2 22 22

F % 8!@

! 2 8! F 34/ 2 F 3@ 0 !/ 2 4 7 0, , - 8! F 2@ 4 1 8! F 2 F %@ 7 , H / ,- 0 , 5 8@

" 0 ! 2 ,

! F G

2

2 F

2 8$@

0, 4 ,

F!!22 2!2!!22 2!2

F!2!2 !!22 22!!

8!!22 2!2@

8%@

; 8$@ F !2

F! G 2

8@

! 2 / / %/ 8 -D @ ! 2 ' / / %/ ! 2 )/ ( )

.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

, 0, 0, ,) 7 , ) 5 0 7) / ,

#

4- - , I 8 #/ A ? =%>/ 9 ?/;?/ # =>@ 6 JK 0 , - A ?=*> , , 1 , , 6 -/ 4 8 =.>/ 6 4 / " =%>/ / ; ? =%>@ # A ? =%> Æ - , 0 ,

$

- ) ( 0, , , (

#

0 1 , # 7&=>/ ;- < , 1 9 J

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

K 9 I , 4

A ( / ? (

0 + , , / , ' 0, , 9 / , ) 4 / ?

%

0 , ) 8@ / 8@ ; D

8 @ F 0 G

$%/ 4- ,

N

reflection line Nb a

L0

P

s

αα

%'

0 C / , / / 4 ; , D

G

F

8@

8@

F 8@

8@

!

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

F / F 0 ; 4- , / 7 , 5 ? D

G F 8@

8@ DF

0 7 5 , L , , / - , , , 1 8 < =!>/ =.>@; * , )

& %'

'

0 , ) / , ,

1 4 ) 0 ) , 4 -

8 @ F 0 G !

8 / ! 4 / $%@/ ; 8@ 8@ 0 8@ /8 @ -

"8@ F 8@ G 8@ $%

$

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

/

F=! > =0 >

=! >

)/ 4 .

L0

B

X

E(s) = X + sN

highlight line

N

( (

0 - / # 8# 4- @ 4 ; / 9 =>

)

# ) 0 ,) , 5 ,/ 8@ ) / ,D

8@ F $ 8@

$ $% 4- / 4 A 8$ F %@

L

N

isophote

α

α = const

* $

%

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

/ ) / I 4 ! ' $ 8 @ ; ! ! ' '

+ " +,

A/ / ) 4 / , 4 B ,, / D

! 8 =>@ ; $/ , ? I 0 8@ , 0 ,

- 0) -

- !) -

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

1 , ) / 7 8?@ / , ' 0 5 , 8@ ,

, / 7 ? , , ) / 7 0 4 $ E / 0 C , 8@

) 0 / 8 @/ , ) 7 ? B / , ' ,/

0 7 / M 1 % / N C MC C + - 6 C , , 5D

!!OOG !28OO GOO@ G 22OO F %

0 / , 8 @ C / C 1 / 8@ ! 2 2 ? / !7 , ? 2 , 6 ! 2 / 5/ + !/ 2 /

y

y

t

t

1

2

f

i1

i2

.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

B $ 0 $ C C & , 8 F @/ 4 % $ , + ! 2 5/ & F N F & F 0 , , ? D

D & D C ! 2

' ! 2 D , &8O F (L O F (@

'34

D '34 F ) 27 , ,

3 =$> ; / ! 27

!) 2)

6 , 8 @ , / 0 , / ? 1 8 *@ ) 8(/ @ 0

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

/ ,

0 /? / ,/ -,/

' )

0 ? 8/ -/ 9 =>/ ;/ 6 =>@ 1 ) 1 , P 8 @ F 8 @ G 8 @

(

0 , , 8 @ <C => -

(

# Æ

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

"/

0 ) 5 / , 0 0 , # # =>/=$>/ ? ,0 /

( "8@ 4 D

8@ F 8@ G*8@"8@

*8@ 8@ "8@ "8@ F8@/ 1 8@ *8@ F !! 8@ *8@ F !2 8@D

8@ F 8@ G ! 8@8@ F

0 ) D

+ 8@ F 8@ G &8! 2@8@ $%

& 8@/ 4

X

F = X + f(κ ,κ )N1 2

N

0 & , , / - ? & ! 2

*

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

& F !2 ( & F 8! G 2@ & F 82! G 22@ , & F !G 2 & F & F !

& F $,- '

' / ) + D

D + 2

, ) ,D ) D

0 ' ' ) D

-, ) ) ) 27 -7

01) ))

, 1 / ! F 2 F % 0, ,? , 0 , ' D

& F !G 2

& F 2! G 22

1

1 , - 8@/ ( -/ ( ? '

& F ! 2 F

8@ + 8@ 1 - 4 * 0 ) ,

.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

& !

8 @ -,/ I

() , ) / , + ' / I

9, '

& F 2! G 22

) , 7) , ! 0

( * +

1 , 7 . 0 ) , 0 ' /

& F

.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

;

* ,

6 , , J K 0 ) , 0) ) , , ; ! , , 5 !7 07 I / ) , ,

+ ( +

!

0 , / , J KD (

!

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

6 , - 7 , - ( 6 , ,D / )

2

8@ / , / , , , / 0 /7

08@ F G /88@ @ 8@

8@

8@

0 =>D 8@ , 0 /7 08@ 8@ , 80 0@/ , ( /

0 9Q) , - 7 / ; $ 9 -D 1 ; $ / , ) (

- - - .

$

0 , ( ; / 8 / @ - (

B 8 @ F 88 @ 8 @@1 , 8 F 0@ , , 8 0@ G 18 0@ G F %

4 / 8 @ 8 @ +' 8 @D

8 @ F

28 @18 @

F

N

N N

N

N N

$

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

0 * ,

8@ F 88@ 8@ 8@@ , 8@ D

8@ F ! 2

! 2F

=2 !>

! 2

0 D

8 @ F 0/ 8 @ , F 0

8@ ( 80 0@/ ,

. # -/

0 ? 8; $@/ , 5 C ,8 @ ; , / # ? =>

" #

B , ) ) +

& # )

1 7 / 4 0 , ) , , , 8/ - + =$>/ 9 ? =>/ 9 =>/ ; =.>@/ ? / / , 5,

%

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

0 ( , , / , ( /

1 , ) , 9 ? => #6 8/ / ,@ , "(9 6 ;, =*>

1 - 7 =%/> D

" ( 9 %% 7 % % % % 7 % % ,% 7 %. % % %. 7 %! % 5%! 7 % % %

( -,/ ( / / ) , - , / , 8 @

0 Æ / , )

& $ 1

0 , ) + + , / C 1 4

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

- ) , / , 6 ) => C 5, 5 )

$ #

,) / ? ' , 0, I 0 / ? ; / / I , 4 A - =!>/;? =>

( 3 ,

7 / 0,

0 ! 2 6 9 H, 5, 7 1 ? 83?/ B/ ?? =>@/ 1(+R/ 7 1 3?/ ?? => ,

#/ 4 ' , 7/ ? +- =!>/ ? =!> B I -

E, 4 5 8@ 6 45 8@

N F

F '8!2 G !2@

N F

F '8!! G !!@

8.@

' , 7) 6 , 5 8@/

N F

F 3822 G 22@

N F

F 38!2 G !2@

8.@

R 1(+D 1 ( +

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

0 N N 8.@ 8.@ , / , 5 , 8@ ? ' 3 B , 7 ) , )

!!

2

G !2

G 22

2

F 8.@

6 8.@ 8.@ ,/ 8.@

' F

!!8!2 G !2@2 !28!2 G !2@8!! G !!@ G 228!! G !!@28.@

3 F

!!822 G 22@2 !2822 G 22@8!2 G !2@ G 228!2 G !2@2 8.*@

! 2

0 / 7 ' 5 8.@ , 8.@8 8.@ 8.@ , @/ 7 D 7 7 !" 7 / ? 1 =6> 0 8@ / 56 9 ? => 3? => - ' 3 0, 5 8.@ 8.@

( " )

( 1 4 ? / - 0 , - 8 - <,) =$>/ E =>@

1 8@ F 8 @ F 88 @ 8 @@ , S8 @ F 88 @ 8 @@ 0 0 ! , 8 @ 8@

F

NS2 F

!! N2 G !2 N N G 22 N2 8..@

B ,

P8 @ F 8 @ G 4%8 @

P8 @ F 8 @ G 458 @ 8.@

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

4 / % 5 , %8%@ F %8@ F 58%@ F 58@ F % B 4 - 0 8.@ 5 8..@ ? , 4 46 4 F % - / E 5D

6M

6 N

6M

6F %

6M

6 N

6M

6F %

8.!@

M8 N N@ F

!! N2 G !2 N N G 22 N2 0 #/ 4 ,

0 / 7 , 5 8@ 5D

2

2G T!!!

2

G T!!2

G T!22

2

F %

2

2G T2!!

2

G T2!2

G T222

2

F %

8.$@

T 8/C/? F /@ # ? D

T! F = 2>

=! 2> T2 F

=! >

=! 2>

1 8@/ 4 ' 57 1 5, , 8@ 8 @ , 5 8.@

; 5 8.$@ 4 5 8 @D

F

F

F T!!!

2 T!!2 T!22

2

F T2!!

2 T2!2 T222

2

8.%@

1 "7< 0 / , Æ ,7 / 4 1 ;? =>

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

4, 5 , "5 , 35 ', 'D 0/ / 1+ ./ U./ 8$!!@

46, 75 6, 5 ', 7D 6 , / EEE( V 1 (/ $U*/ 8$!.@

4, 89$D 0 5D / / 7/ 0 "/ H, 3 / 8$!@

4, 89$5 #, :D #7 5, / 1+ (8@/ .!U/ 8$$@

* 4;, <D / =WWW>. 4;, <5 , "5 8, =D 6, WWWW 1(+

U.%/ 8$!@ 4, >5 $, 75 :, 5 'D + / &/

( U!/ 8$!*@! ?1, "D 01 / // " */ (7&/

/ 8!$.@$ ?, 7D 1 , /

( / &8@/ *U./ 8$!@% #, $>D / 7#/ E7

'/ 8$.@ 0, 3$D / H,

/ / AX/ 8$.@ 6, !D ( ' ,/ 3

/ " 3 8 @/ 31 6/ .U!*/ 8$!@ , "D / 1

/ 8$!!@ , "5 ), @6D 7

/ EEE ( V 1 -/ *U*/ 8$!$@* , 7?5 ?, 5 , 85 ', 7D

# #/ / 1 7B,/ 8$$%@. , D / ( / *U*$/ 8$$@ ', '5 ', D () D 1

/ &)I$/ 9/ %U./ 8$$@! ', '5 ', 5 , !5 @6A, :5 <;, 45

', $D 6 / EEE ( V 1 8*@/ *U.%/8$$@

$ ', '5 ', 5 , !D &) 7 / 1+ */ **U**/ 8$$*@

% ', 5 @6, 'D 6 ;: / D( 3 / ? ; ( (&/ $U/ 8$!@

', >5 8, !5 '6, >D , 7) 5, 7 / E I!$/$$U%$/ 8$!$@

', ?5 #9B, D / 7 ,/ A Y?/ 8$*@

*

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004

'6, 7D + / 1(+ / !U$/8$!@

'6, 7D 6 / 1(+ / $U%*/ 8$!*@* '6, 7)5 3, ?D 2

/ 8$$@. 8, 05 8, D 6

/ 1+ ./ U./ 8$!!@ 8A, 7D 6 / 1+/ &/ !!U$/

8$!@! 8, D / 1+ /

U/ 8$!%@$ 8/, D / H 0 / 0/ 8$*$@% 3, 45 6, ?D / EEE

(V 1 8!@/ !7* 8$!@ >6, !5 $66 >D ' ,

/ & %/ .U/ 8$$@ >6, !5 < 905 $66, @D H

1(+ / U./ 8$$.@ >, 6D 6 D ,/ ;/ (8 @D

( 3 / $U%/ 8$!@ >, 6D / 3/ "8 @D 37

6 / *$U/ 8$!@* @6, 3 D 07 4 / EEE 0

1, (8@/ U*%/ 8$!@. $, #D 1 7 / 1(+ / .U/

8$!@ $, !D + / 1(+ / .U

.!/ 8$!@! $, D / H, 8$$@$ $, 'D &) 7 /

E I!$/ *$U*./ 8$!$@% C, "5 , ?D 97 / EEE (

V 1 &8@/ U* 8$!*@ /, ?D 14 -D )/

( *8@/ U$/ 8$!@ , "D $ / B,7

8$!.@

.

tel-0

0004

681,

ver

sion

1 -

16 F

eb 2

004