Modélisation, reconstruction et animation de personnages virtuels ...

172
Mod´ elisation, reconstruction et animation de personnages virtuels 3D ` a partir de dessins manuels 2D Olfa Triki-Bchir To cite this version: Olfa Triki-Bchir. Mod´ elisation, reconstruction et animation de personnages virtuels 3D `a partir de dessins manuels 2D. Informatique [cs]. Universit´ e Ren´ e Descartes - Paris V, 2005. Fran¸cais. <tel-00273248> HAL Id: tel-00273248 https://tel.archives-ouvertes.fr/tel-00273248 Submitted on 14 Apr 2008 HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destin´ ee au d´ epˆ ot et ` a la diffusion de documents scientifiques de niveau recherche, publi´ es ou non, ´ emanant des ´ etablissements d’enseignement et de recherche fran¸cais ou ´ etrangers, des laboratoires publics ou priv´ es.

Transcript of Modélisation, reconstruction et animation de personnages virtuels ...

Modelisation, reconstruction et animation de

personnages virtuels 3D a partir de dessins manuels 2D

Olfa Triki-Bchir

To cite this version:

Olfa Triki-Bchir. Modelisation, reconstruction et animation de personnages virtuels 3D a partirde dessins manuels 2D. Informatique [cs]. Universite Rene Descartes - Paris V, 2005. Francais.<tel-00273248>

HAL Id: tel-00273248

https://tel.archives-ouvertes.fr/tel-00273248

Submitted on 14 Apr 2008

HAL is a multi-disciplinary open accessarchive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come fromteaching and research institutions in France orabroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, estdestinee au depot et a la diffusion de documentsscientifiques de niveau recherche, publies ou non,emanant des etablissements d’enseignement et derecherche francais ou etrangers, des laboratoirespublics ou prives.

UNIVERSITE RENE DESCARTES - PARIS VCentre Universitaire des Saints-Peres

UFR DE MATHEMATIQUES ET INFORMATIQUE

These presentee en vue de l’obtention du grade de Docteurde l’Universite RENE DESCARTES - PARIS V

Discipline : Sciences de la Vie et de la Matiere

Specialite : Mathematiques et Informatique

Par Olfa TRIKI BCHIR

Sujet de la these :

Modelisation, reconstruction et animation

de personnages virtuels 3D

a partir de dessins manuels 2D

Soutenue le 11 Octobre 2005, devant le jury compose de :

Monsieur le Professeur Georges STAMON PresidentMonsieur le Maıtre de conferences Henri HUDRISIER RapporteurMonsieur le Maıtre de conferences Hamid RAHBAR RapporteurMadame le Professeur Francoise PRETEUX Directeur de theseMadame le Professeur Christine GRAFFIGNE ExaminateurMonsieur le Maıtre de conferences Titus ZAHARIA ExaminateurMonsieur Olivier MARRE Examinateur

Remerciements

Je souhaite tout d’abord exprimer mes respectueux remerciements a Madame le ProfesseurFrancoise Preteux, responsable de l’Unite de Projets ARTEMIS de l’INT et directeur de cettethese pour m’avoir accueillie dans son equipe et m’avoir ainsi permis de realiser ce travailpassionnant. Qu’elle soit assuree de ma profonde reconnaissance pour la qualite de la formationdont elle m’a fait beneficier et pour ses conseils avises.

Je tiens a remercier tout particulierement Monsieur le Docteur Titus Zaharia, Maıtre deConferences a l’Unite de Projets ARTEMIS pour m’avoir encadree avec rigueur tout au longde cette formation doctorale. Ses suggestions scientifiques et recommandations pedagogiquesont toujours ete fort precieuses.

A Monsieur Georges Stamon, Professeur a l’Universite Paris V, qui me fait l’honneur depresider ce jury, je tiens a adresser mes chaleureux remerciements et a exprimer mon grandrespect.

Que Messieurs Henri Hudrisier et Hamid Rahbar, Maıtres de Conferences a l’UniversiteParis VIII et a l’Universite de Caen, rapporteurs de ce memoire, trouvent ici l’expression detoute ma gratitude pour leur lecture minutieuse et l’interet qu’ils ont porte a cette recherche.

A Madame Christine Graffigne, Professeur a l’Universite Paris V, je tiens a temoigner tousmes remerciements pour l’aide aimable avec laquelle elle m’a guidee dans le dedale universi-taire.

Que Monsieur Olivier Marre, president de l’entreprise Quadaxis et promoteur du projetTOON, soit assure de mes remerciements les plus chaleureux pour ces longues discussionsfructueuses, que nous avons eues tout au long de cette these et qui m’ont fait decouvrir lemonde du dessin anime.

Que Monsieur Alain Tsarafidy de la societe Quadraxis, sache combien je lui sais gre detoute l’aide qu’il m’a apportee et qui m’a permis de progresser plus efficacement.

A Nicola Rougon, Catalin Fetita et Marius Preda, Maıtres de Conferences a l’Unite dede Projets ARTEMIS, j’exprime mes remerciements pour leur ecoute attentive et leur aidestimulante.

Que ceux qui ont partage mon quotidien avec bonne humeur, les Docteurs Mihai Mitrea,Caroline Petitjean, Son-Minh Tran, Sylvain Chevalier, Mathieu Carre et Frank Lepouliquen,soient ici remercies bien vivement.

A mes collegues doctorants, Diane Perchet, Perrine Monjaux, Khaled Mamou, AmaurySaragaglia, Antoine Discher et Octavian Folea, au contact desquels je me suis enrichie cultu-rellement et scientifiquement, je dis un grand MERCI.

Que mesdames Nicole Teste et Evelyne Taroni trouvent ici l’expression de mes remercie-ments.

Enfin, je ne remercierai jamais assez ma famille, mon mari, et mes amis pour leur precieuxsoutien tout au long de ces annees.

A mes parentsA Hedi

Resume

La production de dessins animes 2D qui suit actuellement un schema mis en place dans lesannees 1920 fait intervenir un tres grand nombre de competences humaines. Par oppositiona ce mode de travail traditionnel, la production de films 3D, en exploitant les technologieset outils les plus recents de modelisation et d’animation 3D, s’affranchit en bonne partie decette composante artisanale et vient concurrencer l’industrie du dessin anime 2D en termesde temps et couts de fabrication.

Les enjeux a relever par l’industrie du dessin anime 2D se posent donc en termes de :

1. Reutilisation des contenus selon le celebre paradigme du “Create once, render many”,

2. Facilite d’echange et transmission des contenus ce qui necessite de disposer d’un uniqueformat de representation,

3. Production efficace et economique des contenus requerant alors une animation automa-tisee par ordinateur.

Dans ce contexte competitif, cette these, realisee dans le cadre du projet industriel TOONfinance par la societe Quadraxis avec le support de l’Agence Nationale pour la Valorisation dela Recherche (ANVAR), a pour objectif de contribuer au developpement d’une plate-forme dereconstruction, deformation et animation de modeles 3D pour les dessins animes 2D.

Un etat de l’art des methodes et outils contribuant a la reconstruction de modeles 3D eta leur animation est presente et discute au regard des contraintes specifiques des regles decreation des dessins animes 2D et de la chaıne de fabrication 2D.

Ayant identifie les verrous technologiques a lever, nos contributions ont porte sur :– L’elaboration d’une de reconstruction des personnages virtuels 3D a partir de dessins

2D,– La mise au point d’une methode de modelisation 3D par surfaces maillees, compatible

avec le standard MPEG-4/AFX,Les developpements realises, integres dans un premier prototype de la plate-forme TOON,

montrent un gain en temps de 20% dans la chaıne de production et une complete interoperabilitedes applications via le standard MPEG-4.

Table des matieres

Introduction i

1 Les chaınes de fabrication des dessins animes : 2D versus 3D 11.1 Chaıne traditionnelle de production de dessins animes 2D . . . . . . . . . . . . 2

1.1.1 La pre-production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.1.1 L’ecriture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.1.2 Le design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.1.3 Le storyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.1.2 La production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.2.1 Le decor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.1.2.2 L’animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.1.2.3 La mise en couleur . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.1.3 La post-production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2 Chaıne actuelle de production 2D . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.1 Methodes 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.2.2 Methodes 2,5D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2.3 Methodes 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.3 Chaıne de production de dessins animes 3D . . . . . . . . . . . . . . . . . . . . 151.3.1 La pre-production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.3.2 La production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.3.3 La post-production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2 Modelisation 3D 212.1 Representation par maillages polygonaux . . . . . . . . . . . . . . . . . . . . . 22

2.1.1 Techniques de construction de maillages 3D . . . . . . . . . . . . . . . . 232.1.2 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.2 Surfaces implicites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2.1 Surfaces de squelette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.2.1.1 Primitives ponctuelles . . . . . . . . . . . . . . . . . . . . . . . 262.2.1.2 Surfaces de distance . . . . . . . . . . . . . . . . . . . . . . . . 282.2.1.3 Surfaces de convolution . . . . . . . . . . . . . . . . . . . . . . 29

2.2.2 Techniques de visualisation . . . . . . . . . . . . . . . . . . . . . . . . . 292.2.3 Techniques de modelisation . . . . . . . . . . . . . . . . . . . . . . . . . 312.2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.3 Surfaces parametriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.3.1 Surfaces de Bezier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.3.2 Surfaces B-splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.3.3 Surfaces NURBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.3.4 Surfaces parametriques par morceaux (patchs parametriques) . . . . . . 352.3.5 Trimmed NURBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

vii

2.3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392.4 Surfaces de subdivision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.4.1 Schema de subdivision de Catmull-Clark . . . . . . . . . . . . . . . . . . 412.4.2 Schema de subdivision de Doo-Sabin . . . . . . . . . . . . . . . . . . . . 432.4.3 Schema de subdivision de Loop . . . . . . . . . . . . . . . . . . . . . . . 432.4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3 Animation 3D de personnages virtuels 493.1 Modeles descriptifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.1.1 Modeles de deformation non rigide . . . . . . . . . . . . . . . . . . . . . 503.1.1.1 Deformations de formes libres . . . . . . . . . . . . . . . . . . 513.1.1.2 Deformations par controleurs . . . . . . . . . . . . . . . . . . . 53

3.1.2 Modeles par squelette cinematique . . . . . . . . . . . . . . . . . . . . . 563.1.2.1 Cinematique directe . . . . . . . . . . . . . . . . . . . . . . . . 573.1.2.2 Cinematique inverse . . . . . . . . . . . . . . . . . . . . . . . . 573.1.2.3 Capture de mouvements . . . . . . . . . . . . . . . . . . . . . . 58

3.1.3 Techniques d’interpolation temporelle . . . . . . . . . . . . . . . . . . . 593.1.3.1 Interpolation lineaire . . . . . . . . . . . . . . . . . . . . . . . 603.1.3.2 Interpolation curviligne . . . . . . . . . . . . . . . . . . . . . . 603.1.3.3 Interpolation de parametres de pose par quaternions . . . . . . 613.1.3.4 Techniques de metamorphose . . . . . . . . . . . . . . . . . . . 62

3.1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.2 Modeles generateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.2.1 Methodes procedurales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.2.2 Modeles physiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.2.2.1 Modeles dynamiques . . . . . . . . . . . . . . . . . . . . . . . . 643.2.2.2 Systemes de particules . . . . . . . . . . . . . . . . . . . . . . . 64

3.2.3 Methodes comportementales . . . . . . . . . . . . . . . . . . . . . . . . 643.2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

3.3 Standards pour l’animation 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.3.1 H-ANIM de VRML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.3.2 FBA de MPEG-4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.3.3 SMS de MPEG-4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

3.3.3.1 La couche squelette . . . . . . . . . . . . . . . . . . . . . . . . 693.3.3.2 La couche muscle . . . . . . . . . . . . . . . . . . . . . . . . . 703.3.3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

4 Reconstruction 2D/3D de personnages virtuels 754.1 Reconstruction de modeles 3D a partir de dessins manuels 2D : etat de l’art . . 764.2 Reconstruction de l’enveloppe visuelle . . . . . . . . . . . . . . . . . . . . . . . 80

4.2.1 Implantation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814.2.2 Reconstruction volumique a partir de donnees de synthese . . . . . . . . 834.2.3 Reconstruction volumique a partir de donnees reelles . . . . . . . . . . . 84

4.3 Reconstruction 2D/3D par surfaces NURBS . . . . . . . . . . . . . . . . . . . . 864.3.1 Approche par interpolation . . . . . . . . . . . . . . . . . . . . . . . . . 88

4.3.1.1 Detection des points de controle des coupes . . . . . . . . . . . 884.3.1.2 Calcul des vecteurs de nœuds . . . . . . . . . . . . . . . . . . . 894.3.1.3 Uniformisation des vecteurs de nœuds . . . . . . . . . . . . . . 904.3.1.4 Interpolation des courbes de section . . . . . . . . . . . . . . . 914.3.1.5 Resultats experimentaux . . . . . . . . . . . . . . . . . . . . . 94

4.3.2 Approche par approximation . . . . . . . . . . . . . . . . . . . . . . . . 984.3.2.1 Harmonisation du nombre de sommets . . . . . . . . . . . . . 984.3.2.2 Definition des points de controle . . . . . . . . . . . . . . . . . 994.3.2.3 Resultats experimentaux . . . . . . . . . . . . . . . . . . . . . 100

4.4 Generation d’un maillage seamless . . . . . . . . . . . . . . . . . . . . . . . . . 1044.4.1 Criteres d’assemblage des parties du modele . . . . . . . . . . . . . . . . 1054.4.2 Connexion hierarchique . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054.4.3 Connexion par Rolling Ball . . . . . . . . . . . . . . . . . . . . . . . . . 108

4.5 Reconstruction 2D/3D par maillages . . . . . . . . . . . . . . . . . . . . . . . . 1124.5.1 Assemblage volumique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124.5.2 Lissage des coupes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164.5.3 Triangulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164.5.4 Resultats experimentaux . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

5 Deformation 2D/3D de surfaces NURBS 1215.1 Deformation sous contraintes 3D . . . . . . . . . . . . . . . . . . . . . . . . . . 1225.2 Deformation sous contraintes 2D . . . . . . . . . . . . . . . . . . . . . . . . . . 126

5.2.1 Determination des points sources 3D . . . . . . . . . . . . . . . . . . . . 1285.2.2 Determination des contraintes de projection . . . . . . . . . . . . . . . . 1295.2.3 Resultats experimentaux . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

Conclusion et perspectives 141

References 143

Table des figures

1.1 Modele de construction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Turnaround. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Exemples d’expressions de visage. . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Exemple de storyboard (extrait de [Dov00]). . . . . . . . . . . . . . . . . . . . . 51.5 Animation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.6 Camera multiplan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.7 Les phases numeriques d’une metamorphose realisee par Peter Foldes (La Faim,

1974). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.8 Modelisation 3D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.9 Organisation de la chaıne de production 2D. . . . . . . . . . . . . . . . . . . . . 181.10 Organisation de la chaıne de production 3D. . . . . . . . . . . . . . . . . . . . . 19

2.1 Modeles mailles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2 Surfaces Implicites : Surfaces algebriques. . . . . . . . . . . . . . . . . . . . . . 252.3 Exemples de surfaces de squelette. . . . . . . . . . . . . . . . . . . . . . . . . . 252.4 Combinaison de primitives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.5 Fonctions de potentiel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.6 Combinaison de primitives ponctuelles : la fonction de potentiel generee presente

un aspect bossu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.7 Main modelisee par surfaces de convolution [BS91]. . . . . . . . . . . . . . . . . 302.8 Chien modelise par surfaces de convolution [TZF03]. . . . . . . . . . . . . . . . 302.9 Definition recursive des fonctions de base B-splines. . . . . . . . . . . . . . . . . 342.10 Patch de Bezier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.11 Juxtaposition de patchs de Bezier : conditions de continuite. . . . . . . . . . . . 362.12 Visualisation de patchs parametriques : cracking. . . . . . . . . . . . . . . . . . 372.13 Trimming NURBS : decoupage de la surface. . . . . . . . . . . . . . . . . . . . 372.14 Surface de blending definie a partir de courbes de decoupage . . . . . . . . . . . 382.15 Exemple de surface parametrique. . . . . . . . . . . . . . . . . . . . . . . . . . 392.16 Subdivision d’une courbe selon l’algorithme de Chaikin. . . . . . . . . . . . . . 402.17 Exemple de surface de subdivision. . . . . . . . . . . . . . . . . . . . . . . . . . 412.18 Types de subdivision : Exemple de subdivision primale et duale appliquees a

un maillage de base quadrilateral. . . . . . . . . . . . . . . . . . . . . . . . . . . 422.19 Schema de subdivision de Catmull-Clark. . . . . . . . . . . . . . . . . . . . . . 422.20 Schema de subdivision de Doo-Sabin. . . . . . . . . . . . . . . . . . . . . . . . . 432.21 Schema de subdivision de Loop. . . . . . . . . . . . . . . . . . . . . . . . . . . . 442.22 Subdivision : Effet de retrecissement. . . . . . . . . . . . . . . . . . . . . . . . . 452.23 Influence du maillage de base en fonction du schema de subdivision applique

sur l’aspect de la surface finale. . . . . . . . . . . . . . . . . . . . . . . . . . . . 462.24 Surface de subdivision : Le personnage Geri de Geri’s Game (Pixar). . . . . . . 46

3.1 Deformations globales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.2 Deformation de formes fibres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.3 Effets de style en dessins animes. . . . . . . . . . . . . . . . . . . . . . . . . . . 523.4 FFD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.5 Deformation par EFFD [Coq90]. . . . . . . . . . . . . . . . . . . . . . . . . . . 533.6 Deformation geometrique par points de controle. . . . . . . . . . . . . . . . . . 543.7 Deformation a l’aide de courbes wires. . . . . . . . . . . . . . . . . . . . . . . . 553.8 Deformation a l’aide de courbes geodesiques. . . . . . . . . . . . . . . . . . . . 563.9 Animation d’un personnage par cinematique inverse. . . . . . . . . . . . . . . . 583.10 Systemes de capture de mouvements. . . . . . . . . . . . . . . . . . . . . . . . . 593.11 Interpolation de poses clefs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.12 Interpolation de quaternions : interpolation lineaire versus interpolation lineaire

spherique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.13 Interpolations spheriques des quaternions . . . . . . . . . . . . . . . . . . . . . 623.14 Hierarchie d’un corps humain dans la norme MPEG-4. . . . . . . . . . . . . . . 663.15 Standard FBA : Points clefs definissant l’objet visage [MPE]. . . . . . . . . . . 673.16 Modele d’animation FBA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.17 Standard FBA : exemple d’utilisation des Tables de Deformation du Corps. . . 683.18 Controleurs d’animation BBA dans la specification SMS de MPEG-4 [Pre02]. . 703.19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

4.1 Incoherences de pose entre differentes vues du turnaround . . . . . . . . . . . . 764.2 Processus de reconstruction 2D/3D. . . . . . . . . . . . . . . . . . . . . . . . . 814.3 Visual Hull par coupe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824.4 Volume d’intersection : Donnees de synthese. . . . . . . . . . . . . . . . . . . . 834.5 Intersection de volumes : Probleme d’auto-occultation. . . . . . . . . . . . . . . 844.6 Intersection de volumes : Donnees reelles. . . . . . . . . . . . . . . . . . . . . . 844.7 Enveloppe visuelle reconstruite pour le personnage Titeuf. . . . . . . . . . . . . 854.8 Reconstruction volumique a partir de vues segmentees. . . . . . . . . . . . . . . 864.9 Reprojections du modele volumique de Titeuf . . . . . . . . . . . . . . . . . . . 864.10 Reconstruction par intersection de volumes pour differents personnages de des-

sins animes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874.11 Images des sections horizontales du volume d’intersection obtenu pour le modele

humanoıde. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884.12 Detection de contour par codage de Freeman. . . . . . . . . . . . . . . . . . . . 894.13 Directions discretes definies par le codage de Freeman. . . . . . . . . . . . . . . 894.14 Points de controle extraits pour la coupe presentee Figure 4.12. . . . . . . . . . 894.15 Polygone de controle et courbe NURBS de degre 3. . . . . . . . . . . . . . . . . 904.16 Uniformisation du vecteur des nœuds. . . . . . . . . . . . . . . . . . . . . . . . 924.17 Raffinement des nœuds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924.18 Aspect en escalier : l’effet de la discretisation volumique se repercute sur la

positions des points de controle et par consequent sur la surface. . . . . . . . . 944.19 Attenuation de l’effet d’escalier par filtrage passe-bas. . . . . . . . . . . . . . . 944.20 Attenuation de l’effet d’escalier par sous-echantillonnage des coupes. . . . . . . 954.21 Approche par interpolation : modele NURBS de Titeuf. . . . . . . . . . . . . . 954.22 Reconstruction de surfaces NURBS par interpolation. . . . . . . . . . . . . . . 964.23 Reconstruction par interpolation NURBS : Resultats. . . . . . . . . . . . . . . 974.24 Correspondances entre les sommets de deux courbes polygonales. . . . . . . . . 994.25 Harmonisation du nombre de sommets . . . . . . . . . . . . . . . . . . . . . . . 994.26 Definition des points de controle. . . . . . . . . . . . . . . . . . . . . . . . . . . 1004.27 Surfaces NURBS reconstruites par approximation : tete, buste, et bras du per-

sonnage Elfie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004.28 Approche par approximation : modele NURBS de la poire, de la chenille, du

croissant et de l’avion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

4.29 Reconstructions par approximation NURBS : surfaces obtenues avec 3 niveauxde subdivision de Chaikin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

4.30 Critere d’assemblage des parties. . . . . . . . . . . . . . . . . . . . . . . . . . . 1064.31 Choix des surfaces Parent et Enfant. . . . . . . . . . . . . . . . . . . . . . . . . 1064.32 Processus de propagation a partir du pole enfant. . . . . . . . . . . . . . . . . . 1074.33 Assemblage : Connexion hierarchique. . . . . . . . . . . . . . . . . . . . . . . . 1084.34 Algorithme de blending de maillages par Rolling Ball. . . . . . . . . . . . . . . 1094.35 Determination de la courbe d’intersection. . . . . . . . . . . . . . . . . . . . . . 1094.36 Procedure de classification des polygones generes par l’intersection. . . . . . . . 1104.37 Remaillage des triangles d’intersection. . . . . . . . . . . . . . . . . . . . . . . . 1114.38 Maillage seamless : Resultats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124.39 Connexion du torse et du bras du personnage Elfie par Rolling Ball. . . . . . . 1134.40 Connexion du bras et de la main du personnage Elfie par Rolling Ball. . . . . . 1134.41 Connexion de la jambe et du pied du personnage Elfie par Rolling Ball. . . . . 1144.42 Deconnexion de parties reconstruites en fonction des images d’entree. . . . . . . 1144.43 Vue globale de la methodologie de reconstruction par maillages. . . . . . . . . . 1154.44 Assemblage des modeles volumiques. . . . . . . . . . . . . . . . . . . . . . . . . 1154.45 Triangulation Delaunay 2D avec contraintes inter-coupes. . . . . . . . . . . . . 1164.46 Reconstruction par maillage du personnage Elfie. . . . . . . . . . . . . . . . . . 1174.47 Details du maillage obtenu pour le personnage Elfie. . . . . . . . . . . . . . . . 1184.48 Influence de la simplification des polygones sur la qualite de la triangulation. . 118

5.1 Deformation sous contraintes 3D du nez d’un humanoıde. . . . . . . . . . . . . 1255.2 Deformation sous contraintes 3D du dos d’un humanoıde. . . . . . . . . . . . . 1255.3 Contrainte 2D de projection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1265.4 Determination des points sources sur le contour generateur. . . . . . . . . . . . 1295.5 Contraintes de deformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1305.6 Reajustement du pull du personnage Titeuf selon la vue θ = 90 . . . . . . . . . 1315.7 Reajustement d’une jambe du personnage Titeuf selon la vue θ = 90 . . . . . . 1315.8 Reajustement de la main du personnage Titeuf selon les vues θ = 0 et θ = 90 . 1325.9 Deformation de la tete d’Elfie selon la vue θ = 30 . . . . . . . . . . . . . . . . . 1325.10 Deformation du buste D’Elfie selon la vue θ = 30 . . . . . . . . . . . . . . . . . 1335.11 Deformation de la tete du personnage Al selon la vue θ = 0 pour obtenir un

effet d’amincissement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345.12 Deformation par contrainte projective : ajout d’oreilles a la tete du personnage

Al en modifiant une unique vue projective. . . . . . . . . . . . . . . . . . . . . 1345.13 Deformation de l’oreille du personnage Ickis selon la vue θ = 0 pour lui donner

plus d’importance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345.14 Deformation de l’oreille du personnage Ickis selon la vue θ = 0 pour l’amincir. 1355.15 Deformation de la poire (croquee) selon la vue θ = 0 . . . . . . . . . . . . . . . 1355.16 Deformation d’une chaussure selon la vue θ = 90 . . . . . . . . . . . . . . . . . 1355.17 Deformation du corps du personnage Oblina selon la vue θ = 90 . . . . . . . . . 1365.18 Deformation d’une mandoline en un luth selon la vue θ = 90 . . . . . . . . . . . 1365.19 Deformation d’un narguile selon les vues 0 45, 90 et 135. . . . . . . . . . . . . 1375.20 Deformation d’une ellipsoıde en tete selon les vues 0 et 90 . . . . . . . . . . . . 1375.21 Construction d’une fleche a l’aide de deformations selon les vues 0 et 90 . . . . 1375.22 Deformations d’un vase selon la vue θ = 90 . . . . . . . . . . . . . . . . . . . . . 1385.23 Procedure de deformation locale. . . . . . . . . . . . . . . . . . . . . . . . . . . 1385.24 Deformation du vase pour differents niveaux de subdivision de reconstruction. . 139

Liste des tableaux

2.1 Blending de primitives de squelette : apparition de bosses au niveau de la jonc-tion entre deux elements du squelette. . . . . . . . . . . . . . . . . . . . . . . . 29

2.2 Caracteristiques des schemas de subdivision de Loop, Catmull-Clark et Doo-Sabin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

2.3 Comparaison des modeles de surface. . . . . . . . . . . . . . . . . . . . . . . . . 47

3.1 Tableau comparatif des standards FBA et SMS [Pre02]. . . . . . . . . . . . . . 713.2 Methodes d’animation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Introduction

“L’animation n’est pas l’art des images qui bougent, maisl’art des mouvements dessines. Ce qu’il y a entre lesimages a beaucoup plus d’importance que ce que l’on voitsur l’image. L’animation est par consequent l’art de seservir des interstices invisibles entre les images.”

Norman McLaren

Depuis quelques annees deja, l’animation de modeles 3D intervient de plus en plus souventdans des domaines aussi varies et divers que la modelisation physique, la realite virtuelle,les jeux videos, ou les productions cinematographiques. Les modeles de surfaces ainsi que lesmethodes d’animation sont de plus en plus utilises aussi bien au niveau de la communautescientifique qu’a celui du grand public a travers les applications de divertissement.

Face a ces avancees significatives de la 3D, les dessins animes 2D se plient encore a desregles de fonctionnement et a un schema de production traditionalistes, qui reposent fortementsur des competences humaines. Ce mode de fabrication, actuellement en place a l’echelle inter-nationale, requiert un nombre important d’intervenants et implique un temps de realisationconsiderable, ce qui represente pour les maisons de production des couts de fabrication de plusen plus eleves.

En depit de l’apparition de quelques outils dedies a l’animation 2D, et de l’ameliorationdes temps de fabrication, le processus reste entierement hermetique aux technologies 3D,dependant des intervenants humains non seulement pour les etapes de creation des modeles,mais surtout pour l’etape d’animation realisee exclusivement en 2D ce qui constitue unveritable goulot d’etranglement.

Dans ce contexte ou les outils pour automatiser la production des dessins animes faitdefaut, le projet industriel TOON, soutenu par l’Agence Nationale pour la Valorisation de leRecherche Francaise (ANVAR), a pour objectif de creer une plateforme logicielle unifiee pourla reconstruction, l’animation et la deformation de personnages virtuels, afin d’accelerer leprocessus de production en introduisant des techniques d’animation 3D.

Cette plateforme doit tenir compte des contraintes d’interactivite 2D, conformement aumode de travail des dessinateurs, et respecter la chaıne de production actuellement en place. Eneffet, celle-ci impose pour des raisons economiques la separation geographique et temporelledes taches, en particulier pour la creation des personnages et leur animation. L’etape dereconstruction constitue par consequent un element clef pour la plateforme realisee.

Cette etape de reconstruction s’inscrit dans le cadre de la problematique plus generale dela reconstruction de modeles 3D a partir de donnees 2D. En fait, les systemes de reconstruc-tion interactifs qui exploitent en entree des dessins 2D manuels representent un domaine derecherche tres recent, en particulier dans le contexte de la reconstruction d’objets de formelibre pour des applications telles que le design ou la production d’animation.

La difficulte principale reside dans le passage de la 2D vers la 3D, qui represente unprobleme mathematiquement mal pose. Il est alors souvent necessaire de developper des

i

ii Introduction

methodes qui exploitent les proprietes des applications considerees, afin d’en extraire les in-formations susceptibles d’aider a la reconstruction. Rappelons que dans le projet TOON, lechoix des modeles de surfaces utilises ainsi que des techniques d’animation doit repondre aune contrainte d’interactivite exclusivement 2D.

Le premier chapitre de ce manuscrit presente le contexte dans lequel s’inscrivent lesdeveloppements que nous avons realises. En particulier, une analyse comparee des chaınes deproduction de dessins animes 2D et 3D est presentee afin de comprendre les raisons du fossetechnologique qui separe ces deux domaines a priori tres proches et de mettre en evidence lesbesoins specifiques des animations 2D en termes d’outils d’automatisation.

Le deuxieme chapitre decrit les modeles de surface le plus communement utilises en les clas-sant suivant leur mode de representation explicite (surfaces parametriques) ou implicite (sur-faces implicites). L’approximation des surfaces lisses par un ensemble de polygones (maillageset surfaces de subdivision) est egalement rappelee.

Ces differents modeles sont etudies par rapport aux contraintes de stockage memoire et derapidite d’affichage, ou encore de facilite de manipulation, deformation et d’animation.

Le troisieme chapitre est consacre aux principales methodes d’animation, qui sont classeesen methodes descriptives et methodes par modeles generateurs. Les modeles de surface aux-quels chaque methode peut etre appliquee sont etudies, ainsi que l’interactivite qu’elle necessite.Une description des standards d’animation H-ANIM et MPEG-4 est egalement presentee.

L’etude de ces differentes methodes d’animation, ainsi que la contrainte de conformite ala norme MPEG-4 nous conduisent a choisir pour modele de representation final les maillagespour lesquels des animations articulees conformes a la norme AFX de MPEG-4 peuvent etrefacilement appliquees. Les etapes de reconstruction et de deformation sont en revanche realiseesa partir de surface parametriques NURBS qui offrent l’avantage d’une description compacteainsi que d’un controle local.

Dans le quatrieme chapitre, differentes methodes de reconstruction de surfaces 3D, a partirde dessins manuels 2D segmentes sont decrites. Le principe retenu consiste en une premiereapproximation par une enveloppe visuelle, calculee par intersection de volumes. A partir de cevolume, des surfaces NURBS correspondant a chaque partie segmentee du dessin sont generees.Ces surfaces sont ensuite converties en maillages triangulaires dont l’assemblage en un uniquemaillage seamless (sans coutures) est realise a posteriori. La procedure d’assemblage adopteeoffre la possibilite de creer ou non des surfaces de blending entre les elements assembles.

Toutefois, les temps de calculs correspondant a cette etape d’assemblage sont importantsau regard de celui necessaire a la reconstruction des surfaces segmentees et les maillagesobtenus sont denses au niveau des connexions. Par ailleurs, le lissage realise par les surfacesNURBS a partir du modele volumique s’effectue de maniere independante pour chaque partie.Cela engendre une perte de l’information de connexion entre les elements. Afin de resoudre cesproblemes, nous proposons une deuxieme approche de reconstruction plus directe, qui exploitel’enveloppe visuelle pour generer directement un maillage seamless.

Il arrive que les modeles reconstruits ne soient souvent pas exactement conformes auxdessins manuels fournis. Ces differences proviennent d’une part des erreurs de dessins, tellesles incoherences de pose et les erreurs de projection, et d’autre part du processus de recons-truction qui implique des etapes de lissage et de sous-echantillonnage. Pour ces raisons, nousintroduisons un module de raffinement et de deformation des modeles reconstruits, presenteChapitre 5.

Enfin, nous concluons cet ensemble de recherche par une synthese de nos contributions,esquissons quelques voies de recherche futures pour ameliorer les performances des methodesdeveloppees et ouvrons des perspectives d’application.

Chapitre 1

Les chaınes de fabrication desdessins animes : 2D versus 3D

Resume

L’animation traditionnelle 2D et l’animation 3D semblent deux modes de production tresdifferents, faisant appel a des technologies et des competences distinctes. En effet, face al’utilisation de plus en plus importante des techniques d’animation 3D dans les productionscinematographiques d’aujourd’hui, le monde des dessins animes reste encore tres attacheaux approches d’animation 2D.Dans ce chapitre, nous tracons une breve comparaison des chaınes de production d’anima-tions 2D et 3D afin d’expliquer le fosse technologique qui les separe actuellement, et demettre en evidence les besoins specifiques aux animations 2D.

L’etude des deux chaınes de production montre que les logiciels et outils actuellement dis-ponibles et utilises pour les dessins animes 2D ne permettent pas d’accelerer suffisammentle processus de fabrication. En outre, les fonctionnalites offertes restent pauvres par rapportau potentiel des techniques d’imagerie tridimensionnelles.Toutefois, le mode de production des dessins animes 2D mis en place dans les annees 1920selon un schema lineaire, utilise a l’echelle internationale, se prete peu a l’introduction desoutils 3D actuellement disponibles sur le marche. Celle-ci necessiterait non seulement unemodification profonde et couteuse de la chaıne de production, mais aussi l’acquisition denouvelles competences de modelisation et d’animation.Il est par consequent necessaire de developper des outils dedies a l’animation 2D, quirepondent a ses besoins specifiques tout en prenant en compte les contraintes liees au modede production en place.

Mots clesChaıne de production, Dessins animes, Turnaround, Storyboard, Keyframing, Modelisation

3D, Animation 3D.

1

2 Les chaınes de fabrication des dessins animes : 2D versus 3D

“In most instances, the driving forces behind the actionis the mood, the personality, the attitude of the character-or all three. Therefore, the mind is the pilot. We thinkof things before the body does them.”

Walt Disney

L’animation traditionnelle 2D et l’animation 3D semblent deux modes de production tresdifferents, faisant appel a des technologies et des competences distinctes. Il est certes vrai quel’avancee technologique en matiere d’outils informatiques a permis la visualisation ainsi quela simulation de personnages virtuels tridimensionnels pouvant meme gerer eux-memes leursmouvements selon des lois physiques ou algorithmiques. Cela a suscite plus d’interet pour lemonde de la 3D. Les maisons de production se sont alors lancees dans des films totalementrealises en 3D tels que Toy Story1, le premier long metrage entierement realise sur ordinateur,ou encore des films melangeant des scenes jouees par des acteurs reels avec des personnagesvirtuels tels que les dinosaures dans Jurassik Park2, puis dans Le Monde Perdu3.

Face a cette utilisation de plus en plus importante des techniques d’animation 3D dansles productions cinematographiques d’aujourd’hui, le monde des dessins animes reste encoretres attache aux approches d’animation 2D. Or, celles-ci s’effectuent selon un schema mis enplace des les annees 1920-1930, impliquant un tres grand nombre d’intervenants qui realisentles dessins a la main, un par un. Malgre la delocalisation de certaines etapes de la fabricationdans le but de diminuer le cout de la main d’œuvre, les couts de production d’un dessin anime2D traditionnel continuent d’augmenter. Ce phenomene prend de plus en plus d’importance,notamment avec la place grandissante qu’occupent les animations 3D sur le marche, au pointque la question de la survie des films d’animation traditionnels se pose [Eva03].

Afin de mieux apprehender ce phenomene et dans le but de mettre en evidence les besoinsspecifiques aux dessins animes en matiere d’outils d’automatisation, nous decrivons dans lessections suivantes chacune des deux types de chaıne de production.

1.1 Chaıne traditionnelle de production de dessins animes 2D

La fabrication d’un dessin anime [Tho60, Pon98, Dov00, JLD82, Cot01] est un processuslong et complexe, necessitant un grand nombre d’intervenants aussi divers que dessinateurset concepteurs de personnages, scenaristes ou animateurs. Afin de gerer ce travail fortementcollaboratif et d’assurer sa reussite, la chaıne de production traditionnelle fait l’objet d’uneorganisation precise dont les bases ont ete mises en place des l’avant-guerre. Generalement, lachaıne de fabrication de dessins animes comporte trois etapes : la pre-production, la productionou fabrication et la post-production.

1.1.1 La pre-production

Cette etape recouvre les phases de conception et de preparation. Elle est fortement creativeet constitue la base a partir de laquelle les etapes suivantes seront effectuees. Elle consisteessentiellement en l’ecriture de l’histoire, la creation des differents modeles ou design et lamise en place du storyboard.

1John Lasseter, 19952Steven Spielberg, 19933Steven Spielberg, 1997

1.1 Chaıne traditionnelle de production de dessins animes 2D 3

1.1.1.1 L’ecriture

L’ecriture permet de mettre en place l’intrigue racontee, de definir et de caracteriser lespersonnages, de preciser l’espace-temps de l’action, ainsi que les differents decors et dialoguesde chaque plan. Le scenario ainsi realise constitue une reference pour les etapes suivantes,necessaire pour garantir la coherence entre les differentes scenes du film.

1.1.1.2 Le design

A partir du scenario, une liste des creations graphiques a realiser est dressee. Elle englobeles personnages, les decors et les accessoires. L’etape de design consiste a realiser l’ensemble desdocuments graphiques qui permettent de definir ces differents elements de maniere a fourniraux intervenants suivants une reference commune. Ces documents doivent donc etre les plusprecis et les plus nombreux possibles pour faciliter le travail ulterieur et garantir une coherencedes dessins et des animations realisees.

Parmi ces documents, les model-sheets (feuilles de modele) constituent un element impor-tant puisqu’ils definissent chaque personnage de maniere complete. Un model-sheet illustregeneralement la structure du personnage ainsi que les mesures et les proportions de sesdifferentes parties. Il met en place un modele de construction constitue par un ensemble dedessins de complexite croissante, parmi lesquels :

– le squelette du personnage, definissant les articulations et les os afin de preciser defacon rapide et schematique les differentes parties du corps et leurs proportions relatives(Figure 1.1(a)),

– une representation par formes simplifiees qui permet de creer un support de dessin apartir duquel les details seront graduellement raffines (Figure 1.1(b)),

– la version finalisee du personnage, incluant l’ensemble des details ainsi que parfois lescouleurs et les textures (Figure 1.1(c)).

(a) Squelette (b) Formes simplifiees (c) Dessin final

Figure 1.1 – Modele de construction pour le personnage Elfie.

Afin de specifier completement le personnage, le designer fournit aussi une planche dedessins appelee turnaround (Figure 1.2) representant le personnage dans la meme pose selondifferents angles de vue. Sont generalement creees les vues de face, profil et dos, auxquellesune vue de trois-quarts est parfois ajoutee.

Enfin, pour completer le travail de definition du personnage, le designer fournit egalementune serie de dessins specifiant quelques expressions du visage (Figure 1.3), ainsi que des des-

4 Les chaınes de fabrication des dessins animes : 2D versus 3D

Figure 1.2 – Turnaround.

sins du personnage dans differentes positions. Cela permet de mieux cerner le caractere dupersonnage grace a la description de son comportement.

Figure 1.3 – Exemples d’expressions de visage.

1.1.1.3 Le storyboard

Une fois les personnages definis, le scenario est specifie de maniere plus precise a l’aide dustoryboard ou scenarimage. Equivalent du script en cinema, le scenarimage decrit les actionsdes personnages, leurs dialogues ainsi que le decor dans lequel ils evoluent et les mouvementsde la camera. Contrairement aux scripts utilises dans les productions cinematographiques, lescenarimage est entierement specifie par des dessins. Un exemple est illustre Figure 1.4.

En resume, l’etape de pre-production a pour objectif d’etablir un ensemble de reglespermettant aux animateurs de produire des images qui representent les personnages dansdifferentes positions de facon aisee et reproductible. Les images d’animation peuvent ainsietre realisees par une equipe de plusieurs animateurs de facon transparente en suivant scru-puleusement le storyboard et les regles de dessin prealablement definies.

1.1.2 La production

La production est la fabrication des differents elements qui composent les images necessairesa la realisation des sequences animees. Ces elements comprennent principalement les decorset les personnages. La realisation des images de chacun de ces elements se deroule en deuxetapes effectuees par deux equipes differentes : le dessin des contours, realise par une equipede dessinateurs et d’animateurs, puis la mise en couleur par une equipe de gouacheurs.

1.1 Chaıne traditionnelle de production de dessins animes 2D 5

Figure 1.4 – Exemple de storyboard (extrait de [Dov00]).

1.1.2.1 Le decor

Le decor est compose de tous les elements graphiques non animes. Les images representantles decors peuvent etre realisees sur plusieurs plans ou layers de maniere a les placer par lasuite a differentes distances de la camera. Les dessins de l’arriere-plan sont realises sur papierdans le but d’obtenir un fond opaque sur lequel se superposent les differents layers de la scene.

1.1.2.2 L’animation

Afin d’obtenir a partir du storyboard une sequence d’animation complete, il est necessairede generer l’ensemble des trames videos qui correspondent generalement a une cadence de 25images par seconde. La production de ces trames est effectuee en trois etapes successives :

1. Dans un premier temps, une equipe d’animateurs en chef produit, a partir du storyboard,une serie d’images representant des poses clefs de l’action, et precise les temps d’actioncorrespondant, definis comme l’intervalle temporel separant deux poses clefs successives.

6 Les chaınes de fabrication des dessins animes : 2D versus 3D

2. Des assistants mettent au net les images clefs produites par les animateurs en chef.

3. Les poses clefs sont ensuite interpolees successivement par une equipe d’animateursassocies et une equipe d’intervallistes qui dessinent l’ensemble des images intermediairescorrespondant au temps d’action specifie (Figure 1.1.2.2).

Figure 1.5 – Animation : images realisees par l’animateur, puis completees successivementpart l’assistant et l’intervalliste (de haut en bas).

Sur l’ensemble d’une chaıne de fabrication de dessins animes, l’etape d’animation representede loin le processus le plus couteux, aussi bien en temps de realisation qu’en moyens financiersimpliques. Cela est du au tres grand nombre d’images realisees manuellement par de nom-breuses equipes d’animateurs professionnels. En effet, une cadence de 24 images par seconde,norme la plus utilisee, necessite 1.440 images par minute de film, soit 37.440 images pour unepisode d’une serie animee de 26 mn. Cela represente par exemple pour une serie d’animationde 26 episodes de 26 minutes une quantite de travail estimee a 32.240 Jours/Homme !

Automatiser ou accelerer cette etape a l’aide d’outils informatiques devient alors un enjeua l’impact economique considerable pour les producteurs de dessins animes.

1.1.2.3 La mise en couleur

Une fois les dessins des contours fournis, une equipe se charge de leur mise au net, de leurtransfert sur le support final, puis de leur mise en couleur. Les decors qui doivent etre placesen arriere plan sont realises sur papier, alors que les dessins des personnages et des partiesmobiles du decor sont recopies et mis au net sur des feuilles de celluloıd, qui est une matiereplastique transparente.

Le gouachage est l’etape qui consiste a colorier manuellement les differents layers ainsi ob-tenus. Les images representant les personnages sont colorees par des couches fines et opaques degouache, de maniere a eviter la presence d’ombres ou de transparences lorsque les differents cel-lulos sont superposes. La coloration des decors, en revanche, peut faire appel a des techniquesplus sophistiquees, comme les degrades et la superposition de couleurs a l’aide d’aquarelles.

1.2 Chaıne actuelle de production 2D 7

1.1.3 La post-production

La post-production inclut les etapes finales qui permettent de generer le film anime quisont principalement :

– Le tournage, ou la prise de vues, qui se fait a l’aide d’une camera montee sur un banc-titre. Il s’agit de l’enregistrement, image par image, du film, ou chaque image est obtenueen superposant les differents cellulos prepares. L’illusion de mouvement est creee endeplacant les personnages et les decors dans des directions differentes pour simuler ledefilement d’un paysage.Il est possible de simuler un environnement 3D en placant les layers a des distancesdifferentes de la camera. Cette methode a ete introduite par les studios Disney gracea une camera multiplan ou un systeme mecanique est prevu pour deplacer les layers(Figure 1.6).

– L’enregistrement et le mixage des differentes bandes sonores, constituees des voix, de lamusique d’accompagnement, ainsi que des bruitages.

– Enfin, le montage qui consiste en l’assemblage des plans et des sons enregistres, enfonction du decoupage temporel precise par le storyboard.

Figure 1.6 – Camera multiplan.

1.2 Chaıne actuelle de production 2D

De nos jours, la production de dessins animes ne se fait plus de maniere entierementmanuelle comme dans le cas traditionnel. En effet, des l’apparition des ordinateurs, puis desscanners dans les annees 1960, ceux-ci ont ete graduellement introduits a differents stades de

8 Les chaınes de fabrication des dessins animes : 2D versus 3D

la fabrication, en particulier au niveau de la mise en couleur des images, de l’animation et dela post-production.

Les premiers travaux et logiciels (i.e. CAPS de Disney et Animo de Cambridge animationSystem) avaient pour objectif l’acceleration de la production de dessins animes. Ils ont d’abordpropose de numeriser les images dessinees manuellement, en les scannant ou en les dessinantavec une tablette et un stylet ce qui permettait de les colorer numeriquement. Ce simple pas-sage a des images numeriques a ouvert la porte a toutes les manipulations possibles. Ainsi, lescellulos anciennement utilises pour generer les differents plans d’une image ont-il ete remplacespar des images pouvant etre reutilisees ou modifiees. Les paysages sont par exemple repris, etles objets et personnages presents et immobiles sur plusieurs images successives ne doivent plusetre redessines. De plus, cela a permis de supprimer un grand nombre de difficultes techniqueset chimiques liees aux cellulos tels que la presence de poussiere ou l’apparition d’ombres duesa leur superposition. La numerisation des images a par consequent, a elle seule, revolutionnela production de dessins animes en terme de changement d’outils et de temps de realisation,celui-ci etant considerablement reduit.

Ainsi, un des premiers outils utilises dans le but de creer des dessins animes est CAPS(Computer Animation Production System) developpe par Pixar pour Disney. Les animateursdevaient alors scanner leurs dessins afin de pouvoir utiliser CAPS pour les colorier, verifierla coherence des dessins, puis composer les elements des scenes. Disney a alors remplace lescellulos “physiques” par des cellulos numeriques. Utilise pour la premiere fois en 1989, CAPSest devenu l’outil de base pour toutes les animations a partir du film “La belle et la bete” en1992.

La description vectorielle des dessins a permis en particulier une resolution quasi-infiniedes images, qu’elles soient realisees sur ordinateur ou scannees. En effet, un dessin vectoriel estdecrit par des composantes geometriques telles qu’une droite ou une courbe spline, ayant desattributs definissant sa forme, sa couleur ou encore sa position. Contrairement aux images detype bitmap decrites par des pixels, les images vectorielles peuvent subir des transformationsde maniere continue, comme des changements d’echelle.

Ainsi, grace a la numerisation, et plus particulierement a la 2D vectorielle, la productiondes images numerique peut-elle atteindre aujourd’hui 500 cellulos virtuels par jours, contre200 cellulos physiques avec les techniques traditionnelles.

En effet, la 2D vectorielle est actuellement employee dans la majorite des logiciels utilisespour la production de dessins animes, dont Flash de Macromedia [fla], Toonz de Digital Video[toob], Animo de Cambridge animation System [toob], Pegs de Mediapegs [peg], et TicTacToon[FBC+95] ayant donne par la suite naissance a Toon Boom de Toon Boom Technologie [tooa].

De meme, le gain en temps est tres important pour l’etape de mise en couleur, celle-cis’etant affranchie d’une utilisation de gouaches qui necessitaient un travail tres precis : lacomposition des couleurs et leur uniformite pour toutes les images, l’application de couchesfines et homogenes sur les cellulos etant une etape particulierement sensible.

Ce travail meticuleux est actuellement remplace par la coloration numerique ou une equiped’intervenants dispose d’une palette de couleurs numeriques communes et specifiees pourchaque personnage. Les couleurs sont appliquees aux differentes images numerisees par unsimple clic. Cette pratique est utilisee par les studios Disney depuis 1989 et a rapidementremplace les techniques de gouachage traditionnelles dans la chaıne de production. En effet,le gain de temps est considerable, puisque le rythme de production passe de 30 cellulos parjour avec le gouachage traditionnel a 150/200 avec les techniques numeriques.

Enfin, les techniques numeriques sont utilisees au moment de la post-production :– pour l’assemblage des differents cellulos representant les decors et les differents person-

nages,

1.2 Chaıne actuelle de production 2D 9

– ainsi que dans l’etape de compositing introduite avec la numerisation, qui consiste areutiliser des layers, et a recomposer les images en rajoutant, deplacant, ou supprimantdes elements, sans devoir redessiner toute l’image. Ces elements peuvent etre d’originesdifferentes telles que des modeles 3D, des acteurs humains filmes, ou encore des photo-graphies 2D.

– Enfin, le tournage n’est plus effectue avec une camera reelle mais virtuelle, procurantainsi une plus grande souplesse en matiere de reajustement des parametres et des mou-vements de la camera ainsi que pour les recadrages.

L’utilisation de l’outil informatique pour l’etape de l’animation reste cependant un do-maine encore peu explore, malgre quelques tentatives experimentales des les annees 1960. Eneffet, en 1963, Peter Foldes introduisit par exemple l’utilisation de l’ordinateur pour calculerdes metamorphoses entre deux poses clefs representant des personnages differents. Ses films4

concretisent les premiers pas de cette technologie [Gen03]. La Figure 1.7 represente un exemplede metamorphose realisee dans le film La Faim.

Figure 1.7 – Les phases numeriques d’une metamorphose realisee par Peter Foldes (La Faim,1974).

Dans le but d’automatiser – meme partiellement – l’animation d’images, les methodesproposees ont souvent pris en compte la contrainte de la chaıne de production deja bienetablie. Cette contrainte implique l’utilisation de l’interpolation de poses clefs comme processusd’animation, technique traditionnellement utilisee par les animateurs.

L’animation automatique a partir de poses clefs peut etre structuree en deux taches :

1. L’etablissement des correspondances entre les differents elements devant etre interpoles.Ceux-ci peuvent etre des courbes splines ou NURBS, des sommets de lignes ou surfacespolygonales, ou encore les parametres de position d’un squelette.

2. L’interpolation entre chaque couple de parametres, i.e. la generation des etats interme-diaires. Elle s’effectue suivant un chemin spatio-temporel definissant le trajet parcourupar l’element considere, ainsi que l’echantillonnage dans le temps des poses intermediaires.

L’interpolation dependant fortement de la correspondance etablie, cette derniere est souventeffectuee manuellement ou de maniere semi-automatique.

Actuellement, les logiciels disponibles sur le marche (tel que the tab, [the]) commencent aintegrer des outils d’animation qui interpolent des elements plus ou moins simples sur deux

4MetaData (1970), La Faim (Prix du jury a Cannes 1974), Reves (1975)

10 Les chaınes de fabrication des dessins animes : 2D versus 3D

ou plusieurs images clefs. Les parametres de ces elements sont souvent mis en correspondancemanuellement et la generation des images intermediaires se fait ensuite automatiquement.Cependant, cette technique ne permet pas de gerer correctement les problemes d’occlusion.Elle requiert que les images interpolees soient proches ce qui augmente le nombre de posesclefs necessaires, et par consequent le travail de la part de l’utilisateur. De telles limitationsfont que ces outils sont en fait surtout employes pour des animations simples qui necessitentpeu de calcul, typiquement pour des mini-series TV ou une diffusion sur Internet.

Il existe dans la litterature plusieurs methodes d’interpolation pouvant etre utilisees pourgenerer les etats intermediaires, sous forme de courbes 2D, d’images texturees, ou de pro-jections de modeles 3D. Parmi celles-ci, les interpolations lineaire et curviligne sont les plusutilisees, notamment dans les systemes commercialises.

Nous avons classe les methodes existantes selon la representation utilisee pour generer lesimages intermediaires. La majorite des travaux, ainsi que les logiciels disponibles actuellement,resolvent le probleme d’un point de vue purement bidimensionnel. Certains travaux ont pro-pose des methodes d’animation dites 2,5D. Enfin, quelques auteurs proposent d’utiliser desmodeles tridimensionnels simplifies.

1.2.1 Methodes 2D

Une maniere directe et intuitive de realiser l’interpolation pour l’animation sur des imagesdessinees en 2D est de considerer le probleme sous un angle purement bidimensionnel. Lesimages d’entree sont alors le plus souvent modelisees comme un ensemble de courbes quipeuvent etre decrites par des splines, des NURBS, ou encore des lignes polygonales. Unecorrespondance entre les composants des differentes poses clefs fournies doit alors etre etablie,puis les images intermediaires sont generees en les interpolant.

Mise en correspondance des parametresLa determination des correspondances est une etape critique pour la generation d’une ani-

mation. Elle depend fortement de la representation choisie pour modeliser les dessins.Dans TicTacToon [FBC+95], les auteurs utilisent des courbes parametriques. La segmen-

tation de celles-ci est effectuee par l’utilisateur qui doit specifier les points de debut et defin de chaque courbe sur les poses clefs, ainsi que les correspondances entre les courbes desdifferentes poses clefs, ce qui represente un niveau d’interaction important.

Afin d’automatiser la mise en correspondance, Burtnyk et al. utilisent dans [BW76] l’ordredans lequel les courbes sont dessinees sur une tablette. Les points delimitant les courbes sontalors definis par les points de lever ou de pose du crayon sur la tablette. La correspondanceest alors donnee par l’ordre dans lequel les courbes sont dessinees. Cela impose a l’utilisateurune contrainte non negligeable puisqu’il doit redessiner les lignes de toutes les poses clefsexactement dans le meme ordre. La difficulte s’accroıt lorsque les poses presentent des courbesqui apparaissent dans une image et pas dans l’autre, auquel cas toutes les correspondancesseraient translatees en raison de la courbe inseree, pouvant ainsi conduire a des animationspeu coherentes.

Kort [Kor02] propose un schema de definition des correspondances different qui utilise unefonction de cout entre chaque couple de courbes. La minimisation de cette fonction determinealors le choix des correspondances. La generation des courbes intermediaires est aussi effectueea l’aide d’une fonction de cout afin d’obtenir des animations fluides et realistes.

Bien que cette technique permette d’alleger les contraintes imposees a l’utilisateur, elledepend encore beaucoup de ce dernier. En effet, la definition des courbes depend de la saisiede celles-ci et par consequent du trace de crayon. Un lever de crayon par exemple changel’assemblage des courbes et influe donc sur le resultat final.

1.2 Chaıne actuelle de production 2D 11

Dans [MTSC04], les auteurs proposent une methode d’interpolation fondee sur la polygo-nisation des courbes dessinees par l’utilisateur. L’originalite de leur approche reside dans lefait qu’ils effectuent l’interpolation sur trois parametres du dessin : les courbes, l’epaisseur decelles-ci et la texture. L’interpolation separee de ces trois aspects du dessin permet d’obte-nir une animation plus complete. L’interpolation s’effectue segment par segment de manierelineaire.

Dans [SG92], Sederberg et Greenwood proposent une methode d’interpolation de lignes po-lygonales. La correspondance entre les differents points des polygones respectivement presentssur les poses clefs est deduite a l’aide d’un nombre limite de paires de sommets specifies parl’utilisateur (que nous appellerons par la suite sommets contrainte). Les lignes polygonalessont ensuite parametrees. Le nombre de sommets n’etant pas obligatoirement egal sur chaquepartie de polygone delimite par deux sommets contrainte, la methode procede a une insertionde nœuds multiples afin d’arriver au meme nombre de parametres. Deux methodes sont pro-posees pour determiner les sommets devant etre dupliques (ou multiplies) : la premiere selondes criteres geometriques, et la seconde fondee sur une modelisation physique.

Dans [SGWM93], Sederberg et al. decrivent les polygones non plus en tant qu’ensemblede sommets, mais comme ensemble d’aretes definies par leur longueur et l’angle entre deuxaretes adjacentes. Cette representation permet de decrire la forme de la courbe de maniereinvariante par rapport a des transformations rigides telles que translation ou rotation. Elle estdonc consideree par les auteurs comme une representation intrinseque des polygones. La miseen correspondance est effectuee selon la meme procedure que dans [SG92].

InterpolationL’interpolation lineaire est une methode des plus intuitives, et par consequent des plus

utilisees, notamment par les logiciels actuellement disponibles sur le marche. Dans le cas del’interpolation de poses clefs, celle-ci peut generer des animations peu fluides conduisant a despersonnages aux mouvements mecaniques saccades. De plus, le temps d’action entre chaquecouple de poses clefs n’etant pas fixe, une interpolation lineaire aboutit a des changements devitesse de l’animation brusques au niveau des poses clefs. Lorsque l’interpolation lineaire estappliquee a des points de controle ou a des sommets, les animations obtenues ne conserventpas la rigidite des parties animees. Un bras effectuant une rotation de 90 se voit par exempleretrecir au cours de l’animation ce qui ne peut etre acceptable. Une interpolation appliquee aune representation telle que celle de Sederberg et al. dans [SGWM93] permettrait de remediera ce probleme. En effet, pour un objet rigide la longueur des segments reste la meme que dansles poses clefs. Seuls les angles sont alors interpoles.

L’interpolation par courbes splines ou NURBS est toutefois plus appropriee puisqu’ellepermet d’interpoler les poses clefs de maniere lisse et de generer ainsi des mouvements plusfluides et plus naturels. Dans le cadre des dessins animes, ce type d’interpolation est parti-culierement interessant puisqu’il permet de configurer les vecteurs des nœuds de maniere asimuler des effets d’animations caracteristiques des dessins animes decrits par Lasseter dans[Las87] tels que le ease in ease out.

Reeves propose dans [Ree81] une methode d’interpolation plus adaptative que celle a partirdes courbes splines, a partir de points d’ancrage. L’utilisateur precise les correspondances entredes points qu’il estime caracteriser le mouvement, ainsi que le chemin spatio-temporel entrechaque couple de points d’ancrage. Ces chemins consistent en une courbe 2D definissant ledeplacement du premier point vers le suivant, graduees de maniere a preciser les pas de tempsseparant les images intermediaires. L’animation des points d’ancrage est en fait completementdefinie par l’utilisateur. Ces courbes donne naissance a des patchs definis chacun par deuxcourbes d’animation et deux courbes des poses clefs. L’interpolation est ensuite effectuee surle reseau de patchs ainsi definis.

Bien que cette methode confere a l’utilisateur un plus grand controle de l’animation, l’on

12 Les chaınes de fabrication des dessins animes : 2D versus 3D

imagine aisement le travail qui doit etre effectue pour un personnage realiste tel qu’un humain,dont l’animation d’une main a elle seule necessiterait la precision de tous les points d’inflexiondu dessin ainsi que les chemins et les graduations ! De plus, estimer le mouvement d’un pointdonne, et maintenir la coherence entre les differents chemins temporels d’un meme modelesemblent delicats a realiser.

Sederberg utilise dans [SG92] une modelisation physique pour generer les images in-termediaires. Les dessins sont representes sous forme de polygones dont les aretes se voientattribuer des raideurs. L’idee consiste ensuite a minimiser l’energie necessaire pour transfor-mer le polygone source en polygone cible. L’energie depensee par un polygone se composede deux termes : le premier decrivant l’etirement, et le second modelisant le recourbement.Les resultats obtenus sont tres interessants. Toutefois, les equations decrivant les deux termesd’energie sont complexes, conduisant a des temps de calcul prohibitifs.

Une modification de cette methodes est proposee dans [Sli92] ou l’auteur decrit les defor-mations et l’energie qui en resulte par des equations plus simples, de maniere a obtenir desresultats proches avec des temps de calcul acceptables.

Burtnyk et Wein [BW76] ont propose une methode differente fondee sur des squelettes 2D.Afin de minimiser l’intervention de l’utilisateur, celui-ci ne dessine que des squelettes (sousforme d’un ensemble de segments de droite attaches) pour les parties du personnage a animer.Une zone d’influence est definie par deux lignes, a droite et a gauche du squelette, delimitantles parties du dessin concernees par l’animation. L’animation est alors appliquee aux courbesincluses dans cette zone d’influence, grace a un systeme de coordonnees locales defini par lesquelette et les deux lignes d’influence.

Une methode similaire a ete introduite par Lazarus et al. [LCJ94] qui utilise egalement unsquelette 2D. La deformation des parties, conformement au squelette, est cette fois generee al’aide de la methode de deformation de formes libres (FFD).

En conclusion, les techniques permettant d’interpoler des couples de courbes mises en cor-respondance peuvent donner des resultats interessants lorsque les poses de depart et d’arriveene sont pas trop eloignees. Toutefois, des que les poses considerees s’approchent d’un chan-gement de position du caractere ou de la camera, l’interpolation automatique risque de neplus correspondre a l’animation voulue. En effet, les positions de deux courbes mises en cor-respondance ne correspondent en realite pas forcement a une meme courbe sur le personnagetridimensionnel.

Une autre difficulte reside dans le fait que, pour deux positions differentes d’un memepersonnage, certaines courbes peuvent etre reduites a une longueur nulle sur une pose, etapparaıtre sur l’autre. La generation des courbes intermediaires devient alors ambigue.

Enfin, une difficulte intrinseque au contexte du dessin anime est liee aux grandes deformationsque subissent les personnages –allant d’un etirement a un aplatissement complet du person-nage. Ces deformations rendent encore plus complexe la mise en correspondance entre lescourbes, ainsi que l’interpolation. L’intervention requise de la part de l’animateur est alorslourde et le temps gagne par l’automatisation est compense par un effort supplementaire,necessitant de surcroıt des competences nouvelles.

Les techniques presentees dans cette section se heurtent generalement a deux difficultesprincipales : l’occlusion et la rotation de l’objet ou du personnage autour d’un axe paralleleau plan de la camera.

Une methode suggeree par Hsu et Lee [HL94] tente de resoudre le probleme de la rotationen introduisant le concept de points d’ancrage. Il s’agit de points ancres en une position donneelors de l’animation. Ceux-ci sont souvent les points d’extremite des courbes. La deformationest alors appliquee a la courbe pendant que ses extremites restent attachees a une positiondonnee. Cette technique permet de realiser l’animation d’un visage tournant, tout en gardant

1.2 Chaıne actuelle de production 2D 13

le contact du nez par exemple. Le resultat ainsi obtenu est certes interessant par son realisme,mais les angles de rotation doivent rester faibles pour que l’aspect du modele anime (le visagedans notre exemple) soit ressemblant sur les deux poses clefs.

De maniere generale, les methodes qui considerent le probleme de l’interpolation entre lesposes clefs sous un angle purement bidimensionnel sont limitees justement par cette vision 2Dde l’animation, car le cote intrinsequement tridimensionnel des objets est neglige. En effet, bienque les dessinateurs interpolent d’une maniere naturelle et intuitive ce type d’informations,l’automatisation de l’interpolation reste difficile a realiser. Ce probleme a d’ailleurs deja etesignale par Catmull des les annees 1970 [CC78].

Les logiciels actuellement disponibles sur le marche traitent cette problematique d’unemaniere a la fois simple et intelligente. La pose cible est produite en copiant la pose source,puis en la deformant [the]. La correspondance entre les parametrisations des differentes courbesest dans ce cas directe, puisqu’elle decoule d’un seul et meme dessin. Toutefois, cette astucenecessite la presence des memes courbes sur les deux poses. Par consequent, le nombre de posesclefs necessaires augmente. De plus, dans le cas d’un mouvement de rotation du personnageselon un axe parallele au plan de la camera, les deformations a appliquer deviennent tropimportantes. Il serait alors plus facile de redessiner le personnage entierement a la main.

Les techniques 2D se placent donc sous le signe de l’interpolation assistee par ordinateurde facon non automatique, etant donne l’effort encore important qu’elles requierent de la partde l’utilisateur. De plus, le travail demande, different de celui habituellement attribue a undessinateur, necessite une periode de familiarisation et d’apprentissage pour ce type d’outils.

1.2.2 Methodes 2,5D

Le terme 2,5D designe generalement des approches manipulant des dessins 2D dans l’espace3D. Cette technique permet d’obtenir une illusion de 3D en placant par exemple le decor danslequel evoluent les personnages sur differents plans paralleles plus ou moins eloignes, ou encorede simuler une legere rotation d’un personnage en l’appliquant au plan sur lequel son dessin estsitue. Les animations sont donc realisees dans un espace 3D, structure par les courbes definiessur des supports bidimensionnels et dote d’une camera dont la position est modifiable.

De telles techniques ont ete utilisees dans le cadre d’applications aussi diverses que l’ar-chitecture comme dans [TDM99] ou les courbes sont sur des spheres, le design et la hautecouture comme dans [BCD01] ou les dessins sont sur des plans, mais aussi dans le cadre dudessin anime comme dans [Ree96] ou l’animation entre les poses clefs est realisee sur des plansdifferents. Dans un meme plan, l’interpolation est effectuee grace a un squelette 2D precisepar l’utilisateur.

Le probleme de l’occlusion est alors souvent traite en positionnant les differentes courbessur des plans distincts [Kor02], [the] ce qui permet de specifier quels contours sont apparentsou caches. Cela est realise en conferant auxdits plans des positions invariantes tout au long del’animation. Toutefois, cela alourdit la procedure d’animation puisque les positions relativesdes plans doivent etre modifies manuellement et des images clefs doivent etre ajoutees auxinstants de changement de position des plans.

Bien que les techniques 2,5D permettent d’introduire une profondeur a la scene, la represen-tation des objets demeure bidimensionnelle. Cela constitue un manque d’information qui doitetre complete par des dessins supplementaires, ce qui augmente l’interaction requise par l’uti-lisateur.

1.2.3 Methodes 3D

Les methodes precedemment presentees laissent a la charge de l’utilisateur les taches nepouvant pas etre realisees automatiquement, ou dont le resultat n’est pas acceptable, commele cas d’une courbe sur une pose clef qui n’a pas de correspondant sur la pose suivante.

14 Les chaınes de fabrication des dessins animes : 2D versus 3D

Malheureusement, ce cas de figure se presente souvent et la quantite de travail demandee resteimportante.

Afin de minimiser l’effort demande, DiFiore et al. proposent dans [FSER01] une methodeutilisant des modeles 3D simples, dans le cadre d’une approche multi-couches. Les personnagessont specifies par des dessins 2D modelises par des courbes parametriques (niveau 0). Desstructures simples, dites 2,5D, representent la forme generale des personnages (niveau 1).L’information exploitee pour generer les animations est constituee par un squelette 3D (niveau2). Enfin, une derniere couche permet de realiser des deformations appliquees aux dessins 2D,pouvant etre exploitees pour gerer les expressions faciales par exemple.

L’utilisateur precise les positions et angles des elements du squelette 3D pour chacune desposes clefs. Les animations peuvent alors etre appliquees en 3D, puis reprojetees afin d’obtenirles images intermediaires necessaires. Les difficultes liees a l’occlusion de differentes partiesd’un personnage sont ainsi resolues en prenant en compte l’aspect tridimensionnel des person-nages. Cependant, cette methode necessite un savoir-faire relatif au choix des parametres deposition du squelette, ce qui est peu adapte pour d’une application dediee aux dessinateurs etanimateurs 2D.

Animations Stylees pour le dessin animeUne autre famille d’approches traite d’un probleme specifique au dessin anime qui consiste

a representer les personnages differemment en fonction du point de vue. Cet effet de style, quiest une caracteristique de l’animation traditionnelle, represente une difficulte supplementairepuisqu’elle introduit une incoherence entre les dessins et le modele 3D pouvant representer lepersonnage.

Dans [Rad99], les auteurs utilisent un modele 3D complet du personnage, prealablementfourni. A ce modele sont associes des dessins de reference correpondant a son etat pour unensemble de points de vue donnes dits “points de vue clefs”. La position de la camera estprecisee pour ces positions, ainsi que les deformations subies par le modele 3D du personnagenecessaire pour correspondre aux dessins de reference fournis. Les positions intermediairessont ensuite calculees en interpolant a la fois le mouvement du personnage et la deformationdue au changement de point de vue.

Dans [LGXS03] et [CKB04], les auteurs proposent des animations similaires, mais dontles deformations ne sont pas definies par le point de vue. L’effet de style est cette fois extraitdes poses clefs, introduisant ainsi plus de flexibilite dans l’animation. L’interpolation se separedonc en une interpolation du mouvement d’une part, et d’autre part une interpolation dustyle se traduisant par une interpolation des deformations subies par le personnage, telles quel’etirement d’une partie par exemple.

1.2.4 Conclusion

De maniere generale, les methodes fondees sur une vision 2D ou 2,5D du probleme presententdes limitations intrinseques au manque d’information puisqu’elles utilisent des donnees 2Dpour decrire un phenomene tridimensionnel qu’est le mouvement d’un personnage dans l’es-pace 3D. De ce fait, les methodes faisant appel a des modeles tridimensionnels nous semblentplus appropriees pour la generation automatique des images intermediaires.

Toutefois, des methodes telles que celle de Teddy [IMT99] imposant une interaction en 3D,sont peu adaptees au contexte de la production de dessins animes traditionnels. La generationdes modeles virtuels, ainsi que leur interpolation et deformation doivent etre effectuees demaniere completement transparente a l’utilisateur, afin que la chaıne de production conserveson mode de fonctionnement inchange.

Pour conclure, les outils informatiques utilises aujourd’hui aident certes les createurs aaccelerer le processus de fabrication des dessins animes. Neanmoins, les fonctionnalites offertesrestent pauvres par rapport au grand potentiel offert aujourd’hui par les techniques d’imagerie

1.3 Chaıne de production de dessins animes 3D 15

tridimensionnelle mises a profit dans les nouveaux films 3D qui ont su puiser de nouvellestechnologies dans des domaines emergents comme la realite virtuelle/augmentee.

1.3 Chaıne de production de dessins animes 3D

En raison de son jeune age, la production de dessins animes 3D [Ker04a] obeit a desregles de fonctionnement beaucoup plus souples qui peuvent en outre varier d’une maison deproduction a l’autre. Nous nous contenterons ici de decrire rapidement les etapes principalesde la chaıne de production.

Le processus de creation d’animation par ordinateur varie en effet tres souvent en fonctiondes buts creatifs, du budget disponible, ou encore du planning envisage. Toutefois, on distinguecomme pour les dessins animes 2D, trois etapes principales : la pre-production, la production,et la post-production.

1.3.1 La pre-production

La pre-production fait reference a l’ensemble des etapes de conceptualisation et de planifi-cation qui prennent place avant la production de l’animation par ordinateur. Elle inclut doncdes taches artistiques et creatives comme l’ecriture du scenario et la determination des acteursou personnages, ainsi que des taches de planification relatives a l’organisation du deroulementdu projet, et a la fixation des delais et des budgets necessaires. Il s’agit d’une etape fonda-mentale pour la reussite du projet puisqu’elle vise a mettre en place les bases sur lesquelles ilsera mene.

1.3.2 La production

La production de films d’animation 3D implique principalement des etapes de modelisation,de rigging (squelettisation), d’animation et de rendu. Chacune de ces etapes s’appuie sur destechniques specifiques et est generalement realisee par une equipe specialisee. L’interaction esttoutefois forte a la fois entre ces differentes equipes et au sein de chaque equipe d’une part etles scenaristes et createurs des personnages d’autre part, ces derniers restant la reference pourchaque phase de production.

La modelisation consiste a creer en 3D les personnages, objets, et environnements quiseront utilises dans l’animation. Cette etape peut faire appel a plusieurs techniques differentes.En effet, les modeles peuvent etre d’abord physiquement sculptes avant d’etre scannes pourproduire le modele virtuel 3D. Ils peuvent aussi etre crees directement en 3D par des modeleursa l’aide de logiciels dedies tels que Maya de AliasWaveFront [MAY], 3DS Max de Discreet[MAX], ou XSI de Softimage [XSI].

Les personnages sont souvent definis a l’aide de dessins manuels 2D ressemblant aux model-sheets utilises en dessins animes 2D. L’apparence du modele 3D du personnage est caracteriseenon seulement par son enveloppe surfacique, mais aussi par la facon dont il reflete la lumiere,definie par un modele de lumiere, ainsi que par les modeles de couleurs et les textures qui luisont appliques.

Pour la plupart de ces methodes, les personnages sont animes a l’aide d’un squelette quirepresente une structure simplifiee du modele, dont les deformations sont plus rapides a calculeret qui permet de hierarchiser le modele et donc ses mouvements. La creation ce ces squelettesfait partie des etapes sensibles de la production d’un film 3D. Elle determine la qualite et lafluidite des mouvements des personnages dans toutes les scenes animees par la suite. Afin dedefinir au mieux le comportement de l’enveloppe surfacique lors des animations, celle-ci est“attachee” au squelette afin de preciser la dependance de chaque partie envers les elements dusquelette.

16 Les chaınes de fabrication des dessins animes : 2D versus 3D

La figure 1.8 illustre ces differentes etapes de modelisation pour le personnage nain inspired’un dessin manuel 2D.

Enfin, les animations peuvent etre realisees conformement au scenario, et ce a l’aide deplusieurs techniques : interpolation de poses clefs, plaquage de mouvement obtenus par cap-ture de mouvement sur des acteurs reels, ou encore elaboration de modeles physiques oucomportementaux des personnages.

(a) Modele 2D (b) Maillage de controle (c) Surface lissee

(d) Modele de lumiere (e) Modele de couleurs (f) Squelette (g) Squelette attache aumodele

Figure 1.8 – Etapes de modelisation d’un personnage pour une production 3D.

1.3.3 La post-production

A partir des images filmees des modeles animes, differents traitements de post-productionsont appliques, dont la composition avec d’autres images generees par ordinateur representantles decors par exemple, ou bien des images filmees avec des personnages ou des paysages reels.Des retouches comme des modifications de couleurs ou le recadrage de la camera peuvent aussietre effectuees lors de cette etape.

Une fois les images pretes, une etape tres importante dans la fabrication d’un film est lemixage des sons qui consiste en l’insertion des dialogues, des musiques d’accompagnement, etdes bruitages, et ce conformement aux temps d’action.

En fait, la post-production regroupe toutes les manipulationsnecessaires pour la finalisationdu film avant son enregistrement definif en vue de sa distribution.

1.4 Discussion 17

1.4 Discussion

La principale difference entre les deux chaınes de production reside dans l’agencemententre les etapes de creation et d’animation. En effet, dans le cadre des dessins traditionnels,une fois le personnage specifie par le concepteur, ses mouvements, ses textures et l’eclairage dela scene sont effectues directement lors de l’etape d’animation. Au contraire, dans le cas de laproduction 3D, le personnage virtuel doit d’abord etre modelise. Cette etape de modelisationest alors determinante pour la suite. Elle doit repondre conjointement et de facon adaptee auxcontraintes d’utilisation comme l’animation, le plaquage de texture et le rendu.

Ainsi, l’exploitation d’un modele 3D engendre-t-elle de fortes inter-dependances entre lesetapes de modelisation et d’animation. Le modele 3D est ainsi susceptible de subir des modi-fications et des ajustements en fonction du taux de conformite des effets d’animation obtenusa ceux souhaites. Cela implique des interactions fortes et repetitives entre les equipes de mo-deleurs et d’animateurs, tout au long du processus de production du film. La Figure 1.10illustre l’organisation de la chaıne de production 3D, et montre en particulier l’intrication desdifferentes phases de la chaıne, contrairement a la chaıne 2D dont l’organisation est clairementlineaire (Figure 1.9).

Une contrainte d’interaction aussi importante est prohibitive dans le cadre des dessinsanimes 2D, puisque les differentes equipes sont souvent delocalisees. De plus, l’animateur 3Dn’est plus un simple utilisateur du modele du personnage. Il participe activement a sa creationce qui necessite un spectre de competences elargi et une maıtrise de logiciels complexes (3DSMax, Maya,...). En raison de toutes ces contraintes, les professionnels de l’animation 2D semontrent peu enclins a ce type d’approche mal adapte a la fois a l’organisation de la chaınede production, a leur formation et experience de travail sur les dessins 2D manuels.

Par ailleurs, quelles que soient les performances des outils d’animation 3D disponiblesaujourd’hui, ils ne sont pas encore en mesure de remplacer completement le facteur humainet l’aspect artistique des animations traditionnelles, en particulier pour l’introduction d’effetsde style dans les mouvements comme l’anticipation ou l’exageration [Las87]. Les animations3D sont generalement gerees a l’aide de modeles physiques ou parametriques et leur objectifest de creer des mouvements realistes. L’utilisation de ce type d’animation dans le contextedes dessins animes 2D ne peut donc etre exclusive puisque cela representerait une entrave ala touche artistique et caricaturale des dessins animes.

En resume, l’adoption des techniques 3D dans le monde des dessins animes traditionnelssemble aujourd’hui problematique, et ce pour trois raisons :

1. La premiere est liee au mode de production des dessins animes traditionnels. L’adoptiondes outils 3D necessiterait en effet de grandes modifications de ce systeme de fonction-nement deja bien etabli. De plus, un element handicapant provient de la delocalisationactuelle des equipes de dessinateurs, actuellement reparties sur divers sites geographiquesdu globe.

2. La seconde resistance est liee a l’utilisation de logiciels 3D qui passe par l’acquisition denouvelles competences de modelisation et d’animation 3D bien plus techniques que cellesdispensees dans les formations essentiellement artistiques des dessinateurs traditionnels.

3. La troisieme provient de l’inadequation des methodes d’animation 3D qui sont plusappropriees a des mouvements realistes qu’aux deformations caricaturales souvent em-ployees en dessins animes 2D.

En conclusion, la production des dessins animes 2D est actuellement confrontee a unmanque d’outils dedies qui permettraient d’en accelerer les temps de fabrication. En effet,la 2D vectorielle atteint ses limites lorsqu’il s’agit de realiser des animations complexes, ce qui

18 Les chaınes de fabrication des dessins animes : 2D versus 3D

Figure 1.9 – Organisation de la chaıne de production 2D.

reduit son utilisation a des animations simples ou de petite duree comme les publicites. Lestechniques 3D, quant a elles, sont mal adaptees aux besoins specifique de l’animation 2D, etnecessitent des competences particulieres.

La revue de l’etat de l’art sur les techniques 2D dediees aux dessins animes nous montreque l’utilisation de modeles 3D, meme simplifies, est necessaire pour pouvoir repondre auxproblemes poses par l’interpolation de poses clefs. Nous proposons donc une approche parreconstruction 2D/3D a partir des dessins de turnaround qui prend en compte le mode de

1.4 Discussion 19

Figure 1.10 – Organisation de la chaıne de production 3D.

creation des personnages. Les modeles 3D sont reconstruits de maniere a pouvoir etre animesen 3D, toujours selon des contraintes 2D.

20 Les chaınes de fabrication des dessins animes : 2D versus 3D

Chapitre 2

Modelisation 3D

Resume

Pour realiser un outil de reconstruction dedie aux dessins animes 2D, il est necessaired’identifier tout d’abord les proprietes requises du modele de representation 3D a utiliser.Cela est effectue en fonction des facilites de reconstruction, de visualisation et d’animationnecessaires.Ce chapitre presente un etat de l’art des principaux modeles de representation de surfaces3D : maillages polygonaux, surfaces implicites, surfaces parametriques et surfaces de sub-division.

L’etude de ces differents modeles montre que les maillages polygonaux sont les plus adaptesa une visualisation rapide. Correspondant au mode de representation le plus communementutilise, les modeles mailles sont bien adaptes a l’echange et la diffusion entre differentesequipes souvent delocalisees. Toutefois, les maillages constituent une structure irregulieresans contraintes de continuite.La continuite des surfaces NURBS et leur controle local en font une representation parti-culierement appropriee pour modeliser/deformer des objets 3D.Les surfaces de subdivision correspondent quant a elles a un mode de representationinteressant pour l’animation, notamment en raison de leur description sur plusieurs ni-veaux de details. Le maillage de base doit toutefois repondre a des contraintes de regularitepour donner des surfaces lisses.Les surfaces implicites peuvent entraıner des fusions non souhaitees de deux surfaces prochesce qui est un obstacle pour l’animation de personnages articules.

Mots clesSurfaces 3D, Maillages polygonaux, Surfaces de subdivision, Surfaces implicites, Surfaces

parametriques.

21

22 Modelisation 3D

Les images de synthese necessaires a la realisation d’un film d’animation sont obtenuespar visualisation et rendu d’une scene 3D animee. Une scene est constituee de trois elementsessentiels positionnes virtuellement dans l’espace de la scene : des structures 3D representantles acteurs et decors, des sources de lumiere et une camera.

Bien que la majorite des objets reels soient des volumes, les representations utilisees pourles modeliser varient en fonction des applications. Dans la litterature, on distingue trois typesde description d’un objet 3D : les nuages de points, les modeles surfaciques et les modelesvolumiques.

La description par un ensemble de points est certes simple et directe, mais elle necessiteun tres grand nombre de points pour restituer un modele complexe et n’est pas adaptee a desmanipulations de modeles articules.

Les modeles volumiques decrivent l’objet modelise comme un assemblage d’elements volu-miques de base plus ou moins simples : les voxels ou elements de volume, l’octree, representationhierarchique qui decompose l’espace en elements cubiques de tailles differentes de maniere adecrire la forme de l’objet en reduisant le nombre d’elements necessaires. La CSG (Construc-tive Solid Geometry) utilise des primitives de forme plus complexe telles que des spheres,des cylindres ou des ellipsoıdes pour composer ainsi le volume global de l’objet modelise. Demaniere generale, les modeles volumiques fournissent une description complete d’un objet,utile dans les applications necessitant une connaissance de la composition interieure de l’objetcomme les simulations physiques. Dans le cadre des dessins animes ou les animations doivents’effectuer en temps reel, une representation surfacique moins couteuse en memoire suffit aproduire l’aspect exterieur du modele.

Nous decrivons dans ce chapitre les modeles de surface les plus utilises dans le cadre del’animation 3D : descriptions mathematiques exactes pouvant etre explicites (surfaces pa-rametriques) ou implicites (surfaces implicites), description approchee de surfaces lisses parun ensemble de polygones (maillages, surfaces de subdivision).

2.1 Representation par maillages polygonaux

La representation par maillage [FvDFH97] est une approximation lineaire par morceaux dela surface 3D. Un maillage est defini par un ensemble de polygones planaires appeles facettes.La position des sommets de ces facettes dans l’espace 3D, le plus souvent exprimee dans unrepere cartesien, definit la geometrie du maillage, tandis que les relations d’adjacence entresommets, aretes et facettes definissent sa topologie (information de connexite).

D’une facon generale, les facettes d’un maillage peuvent avoir un nombre arbitraire desommets. Toutefois, le plus souvent, les maillages sont composes de facettes triangulaires, enraison des techniques sous-jacentes de construction mises en œuvre qui impliquent souvent desprocedures de triangulation (cf. scanners 3D).

Les maillages 3D offrent une grande puissance de representation permettant de modeliserune large variete d’objets de formes et de complexites differentes, selon des topologies etgeometries arbitraires.

Par definition, un maillage 3D est au mieux une surface C0-continue. Pour representeralors de facon realiste des objets lisses et de forme complexe, il est necessaire de construiredes maillages avec un nombre eleve de facettes. La Figure 2.1 illustre quelques exemples demaillages 3D representant des humanoıdes a differents niveaux de details.

Notons que les approximations realistes d’un modele aussi complexe qu’un humanoıdenecessitent au moins quelques milliers de facettes. Cela pose un certain nombre de problemesrelatifs a leur utilisation directe dans les systemes de creation et d’animation d’objets 3D.

Il s’agit notamment des aspects de construction : comment obtenir des maillages realistesrepresentant les objets a modeliser ? Creer manuellement des representations aussi complexesen positionnant des milliers de facettes dans l’espace 3D est bien sur une tache impossible.

Les modeles mailles complexes existant sont en fait obtenus a l’aide :

2.1 Representation par maillages polygonaux 23

(a) 919 triangles. (b) 5476 triangles. (c) 33234 triangles.

(d) (e) (f)

Figure 2.1 – Modeles mailles d’humanoıdes avec des resolutions differentes.

– Soit de systemes d’acquisition 3D tels que les scanners numeriques, ce qui implique l’exis-tence d’un objet physique representant le personnage que l’on souhaite modeliser. Celalimite l’application de cette technique dans le cadre du dessin anime ou les personnagesn’existent que sur papier.

– Soit de logiciels de modelisation 3D dedies tels que Maya [MAY] et 3DS Max [MAX]qui proposent une approche incrementale dans le cas de la construction de maillages.

2.1.1 Techniques de construction de maillages 3D

En partant d’une forme maillee simple, comme un cube ou une sphere, l’objet est modifiepar etapes successives a l’aide d’une bibliotheque d’outils de manipulation de maillages quipermet d’inserer de nouveaux points, d’eliminer des sommets existants, de selectionner et dedeplacer dans l’espace des sous-parties de l’objet, etc.

Intuitivement, l’utilisateur vise a creer a chaque etape une representation de l’objet la plus

24 Modelisation 3D

fidele possible, a la resolution donnee (i.e. en fonction du nombre de facettes du maillage). Lepassage a un niveau de resolution plus fin est effectue par insertion de nouveaux points, bienlocalises dans la partie de l’objet a affiner. Cette methode permet de minimiser le temps deconception/construction.

Afin de produire des surfaces lisses, les modelisateurs commencent souvent par creer unmodele de surface parametrique (cf. Paragraphe 2.3). Une fois ce dernier triangule, il peutetre affine pour integrer plus de details selon les techniques decrites precedemment.

Remarque : Dans le contexte de la modelisation de personnages virtuels animes, lesanimateurs specifient souvent des boucles d’aretes. Il s’agit d’un liste d’aretes successivesdefinissant un contour ferme, correspondant a des elements clefs pour l’animation tels quele contour de la bouche ou des yeux. Responsables du realisme des expressions des person-nages, ces elements necessitent en effet une finition de grande qualite.

2.1.2 Conclusion

Ce protocole de construction permet de generer des modeles plus ou moins simplifies,pouvant avoir jusqu’a quelques centaines de facettes.

Toutefois, cette approche trouve ses limites des lors qu’il s’agit de construire des modelesavec un degre eleve de realisme. La solution consiste alors a exploiter des modeles de surfaceplus elabores comme les surfaces implicites, qui permettent de representer des objets 3D al’aide d’un nombre plus reduit de parametres.

2.2 Surfaces implicites

Une surface implicite est definie comme l’iso-surface d’un champ de potentiel scalaire definisur l’espace 3 :

S =(x, y, z) ∈ 3 : f (x, y, z) = c

. (2.1)

ou :– S ∈ 3 est la surface implicite,– f : 3 → est la fonction de potentiel associee,– c ∈ est une valeur constante du potentiel, dite seuil.Les fonctions de potentiel utilisees etant continues, les surfaces generees le sont aussi. Ces

surfaces definissent par consequent un partitionnement de l’espace en deux parties separeespar la surface : l’une ou f > c et l’autre ou f < c. Par extension du cas particulier des surfacesfermees, ces parties sont respectivement appelees interieur et exterieur de la surface S. Engeneral, la valeur du seuil c est mise a zero. On definit alors l’interieur et l’exterieur de lasurface par les zones ou le champ prend des valeurs respectivement positives ou negatives.

La fonction de potentiel peut etre quelconque et permet de decrire une multitude deformes. En modelisation 3D, les formes les plus utilisees sont choisies de maniere a repondrea des criteres de continuite, ainsi que de facilite de calcul de la fonction de potentiel, etdes caracteristiques de la surface resultante. Nous distinguons deux familles principales : lessurfaces algebriques et les surfaces definies par combinaison de primitives, dites aussi surfacesde squelette.

Les surfaces algebriques sont definies par des fonctions polynomiales. Parmi celles-ci, lesplus utilisees en modelisation sont les quadriques (polynomes du second ordre) et les super-quadriques qui en sont une generalisation. Quelques exemples de ces surfaces sont presentesFigure 2.2.

2.2 Surfaces implicites 25

(a) (b) (c) (d)

Figure 2.2 – Surfaces algebriques de type quadrique ((a) : ellipsoıde, (b) : hyperboloıde a unenappe) et superquadrique ((c) : superellipsoıde, (d) : superhyperboloıde a une nappe).

Les surfaces algebriques sont limitees en terme de variabilite des formes representees.Modeliser des objets reels complexes necessiterait en effet d’augmenter le degre de la fonc-tion polynomiale consideree. Cela conduit a un grand nombre de parametres dont l’influencesur la forme globale de l’objet est peu intuitive et donc difficile a gerer pour l’utilisateur.

Pour s’affranchir de ces limitations, les surfaces de squelette proposent une approche struc-turale, decrite dans le paragraphe suivant.

2.2.1 Surfaces de squelette

Pour modeliser des objets de forme libre de complexite arbitraire, les surfaces de squelettes’appuient sur une fonction de potentiel complexe, obtenue par superposition d’un ensemblede potentiels elementaires appeles primitives.

Chaque primitive modelise une forme generalement simple (sphere, ellipsoıde,...) controlablea l’aide d’un nombre reduit de parametres. Une primitive est associee a un sous-ensemble de3 appele source. Une source peut correspondre a un point, un ensemble de points, un ouplusieurs segments de droite, une courbe, un triangle, un polyedre simple, etc. L’ensemble dessources considerees forme le squelette du modele. La Figure 2.3 illustre les surfaces obtenuespour differents types de squelette, representees en plan de coupe.

(a) Point. (b) segment. (c) Courbe. (d) Polygone.

Figure 2.3 – Exemples de surfaces de squelette.

Notons que le plus souvent les potentiels definissant les primitives s’expriment comme unefonction decroissante de la distance d’un point de 3 a la source. Ainsi, le potentiel generepar une source Si en un point p de 3 est-il donne par :

f(p, Si) = g δ(p, Si), (2.2)

ou δ est une mesure de distance definie sur 3.Nous distinguons dans ce qui suit trois categories de surfaces implicites de squelette :

1. les primitives ponctuelles dont les sources sont reduites a des points et pour lesquellesla mesure de distance generalement appliquee est la distance euclidienne,

26 Modelisation 3D

2. les surfaces de distance qui sont apparues par la suite comme une generalisation desprimitives ponctuelles a des squelettes de forme plus complexe et dont les mesures dedistance sont plus particulieres,

3. les surfaces de convolution dont l’objectif est d’ameliorer les melanges entre primitives.

Les surfaces implicites sont bien appropriees pour des operation de combinaison deriveesdes techniques de modelisation par CSG (Constructive Solid Geometry). Ainsi, les operationssuivantes sont-elles souvent utilisees pour construire des modeles complexes :Reunion : f = max(f1, f2),Intersection : f = min(f1, f2),Melange (Blending) : f = f1 + f2,Melange negatif : f = f1 − f2.

La Figure 2.4 montre un exemple de combinaison de deux primitives.

Figure 2.4 – Exemple de combinaisons de deux primitives implicites.

Une surface implicite de squelette est generalement definie par un champ de potentielglobal de la forme :

∀p ∈ 3, F (p) =∑i∈N

αifi(δ(p, Si)), (2.3)

ou N est le nombre de primitives composant le modele global, et αi un parametre permettantde controler les melanges entre les differentes primitives.

2.2.1.1 Primitives ponctuelles

Une des premices aux surface a primitives a ete introduite au debut des annees 1980 parBlinn [Bli82], qui modelise par des blobbies la densite du nuage d’electrons d’une molecule.Ici, les primitives sont generees par des sources ponctuelles modelisant les atomes. La densitedes electrons autour d’un atome isole etant isotrope et fortement decroissante en fonction dela distance a l’atome considere, Blinn la modelise par une exponentielle decroissante :

di(p) = bie−ai‖p−ci‖2

, (2.4)

ou ci est le centre de l’atome i. La densite des electrons est donc modelisee par une gaussiennecentree en ci, de valeur maximale bi et de variance 1/

√ai. Physiquement, ai caracterise la

force d’attraction du noyau de l’atome considere et permet de controler le rayon du blob, etbi represente le poids de ce blob dans le melange, correspondant au poids de l’atome dans lamolecule.

Le concept de combinaison des primitives en sommant les potentiels a ete introduit parBlinn [Bli82] dans sa modelisation de molecules. Dans une molecule, chaque electron subit

2.2 Surfaces implicites 27

l’influence des differents atomes constitutifs et le nuage resultant n’est plus spherique maisdepend de l’attraction de chaque atome. Blinn modelise ces nuages en utilisant les fonctionsde densite di relatives a chacun des atomes. En supposant que les attractions des differentsatomes se superposent pour chaque electron p, la densite resultante D(p) est donnee par lasomme des densites generees par chaque atome :

D(p) =∑

i

di(p). (2.5)

Ce modele presente l’inconvenient d’utiliser une fonction potentiel de support infini. Pourevaluer la valeur globale du champ potentiel en un point donne de l’espace, il faut alors calculerla somme de tous les potentiels presents, ce qui conduit a une grande complexite de calcul.

Afin de s’affranchir de cet inconvenient, Nishimura et Wyvill developpent deux nouveauxmodeles, respectivement les metaballes [NHK+85] et les objets mous [WMW86] qui s’appuientsur le meme principe de superposition des densites individuelles. L’idee est d’approcher lespotentiels gaussiens par des fonctions continues de support compact ou la distance a l’atome apartir de laquelle la fonction potentiel s’annule est dite rayon d’influence. La Figure 2.5 illustreles fonctions de potentiel de ces differentes primitives ainsi que leurs definitions mathematiques.

Blobby di(p) = bi e−ai(‖p−ci‖)2

Metaballe ωi(p) =

⎧⎪⎪⎪⎨⎪⎪⎪⎩

di

(1 − 3

(‖p−ci‖bi

)2)

si di ≤ ‖p − ci‖ < bi/3

3di2

(1 − ‖p−ci‖

bi

)2si bi/3 ≤ ‖p − ci‖ < bi

0 si bi ≤ ‖p − ci‖

Objet mou Ci(p) =

1 − 4

9(‖p−ci‖)6

R6 + 179

(‖p−ci‖)4R4 − 22

9(‖p−ci‖)2

R2 si ‖p − ci‖ < R0 si R ≤ ‖p − ci‖

Figure 2.5 – Comparaison de quelques fonctions de potentiel centrees autour de ci = 0.0 avecun rayon d’influence R = 9.0 pour la metaballes et l’objet mou.

L’utilisation de ces primitives ponctuelles permet de modeliser une grande diversite deformes et se montre particulierement adaptee pour representer des objets organiques telsque des animaux ou des humanoıdes. Toutefois, pour obtenir des modelisations de qualiterepresentant des objets de forme complexe, il faudrait augmenter considerablement le nombrede primitives utilisees. En particulier, si la densite des sources considerees n’est pas suffisam-ment elevee, la surface obtenue presente des “bosses” visuellement tres desagreables. Cet effet

28 Modelisation 3D

est du a la combinaison des primitives effectuee en sommant les potentiels des differentes pri-mitives, ce qui conduit a une apparence ondulee de la surface, les sources etant ponctuelles(Figure 2.2.1.1).

squelette

Figure 2.6 – Combinaison de primitives ponctuelles : la fonction de potentiel generee presenteun aspect bossu.

Afin de reduire le nombre de primitives necessaires, il est possible d’utiliser des primitivesdont le squelette n’est plus ponctuel, mais defini par des courbes ou des elements de surface.

2.2.1.2 Surfaces de distance

Pour evaluer la fonction de potentiel f en un point donne de l’espace, il est necessaire decalculer la distance entre ce point et la primitive geometrique qui constitue le squelette. Lesfonctions de potentiel utilisees sont de ce fait souvent exprimees en fonction de cette distance.On parle alors de surfaces de distance. Pour les primitives ponctuelles, on utilise generalementla distance euclidienne. Pour des squelettes plus complexes tels qu’un segment de droite ouun polygone, la fonction de distance est generalement donnee par le projete du point P sur laprimitive consideree.

Considerons par exemple le cas d’un segment [AB] defini par :

s(t) = (1 − t).A + t.B, avec t ∈ [0, 1]. (2.6)

Soit D[AB](P ) la distance minimale entre le point P et le segment [AB]. Cette distance estdonnee en fonction du projete P ′ de P sur la droite (AB) defini par sa coordonnee parametriquetp′ :

D[AB](P ) =

⎧⎨⎩∥∥P − P ′∥∥ si 0 < tp′ < 1,‖P − A‖ si tp′ ≤ 0,‖P − B‖ si tp′ ≥ 1.

(2.7)

La fonction de potentiel utilise alors cette distance comme dans le cas des primitives ponc-tuelles pour calculer le champ de potentiel defini par de telles primitives.

En exploitant des primitives de forme plus elaboree, cette approche permet de reduire demaniere significative le nombre de sources necessaires. Toutefois, elle n’elimine pas completementl’effet de bosse qui persiste au niveau des jonctions entre les sources. Ce phenomene s’ex-plique par l’addition des potentiels primitifs qui s’accumulent au niveau de la jonction. Si l’onconsidere un squelette constitue par deux segments de droite se rejoignant au point A, lespotentiels generes en un point p ∈ 3 qui se projette en A s’ajoutent, ce qui cree une bosseen raison de l’independance des calculs des potentiels associes.

2.2 Surfaces implicites 29

2.2.1.3 Surfaces de convolution

Les surfaces de convolution, introduites par Bloomenthal [BS91], traitent de ce probleme.Ici, le potentiel n’est pas donne en fonction d’une distance minimale entre le point P et lesquelette, mais en sommant les potentiels par rapport a chaque point du squelette. Ce dernieretant continu, il s’agit en fait d’une convolution du squelette par la fonction de potentiel :

f(x, y, z) = χs(x, y, z) ∗ D(x, y, z) − c, (2.8)

ou χs est la fonction caracteristique du squelette, c est une constante, et ∗ est l’operateur deconvolution.

Les potentiels des surfaces de convolution sont definis de maniere a ce que la somme desprimitives ne conduise pas a l’apparition de bosses. En effet, la fonction de potentiel met enœuvre non pas une distance minimale, mais une integration des distances a tous les pointsdu squelette. La convolution etant un operateur lineaire, la somme des potentiels generes pardifferents squelettes est alors egale a la convolution de la reunion des squelettes :∑

i

Fi =∑

i

(χs ∗ Di) = χs ∗∑

i

Di. (2.9)

Les surfaces de convolution permettent ainsi d’obtenir des combinaisons ou les bosses dejonction n’apparaissent plus (cf. Tableau 2.1), donnant de cette maniere des modeles plusrealistes. Cette propriete est interessante dans le cadre de l’animation d’objets articules car ildevient possible de segmenter le squelette d’un personnage en ajoutant des articulations sansaffecter le modele de surface resultant. Des exemples de surfaces obtenues par combinaisonde primitives de convolution ainsi que les squelettes des differentes primitives utilisees sontillustres Figures 2.7 et 2.8 .

1 segment 2 segments

Distance minimale(Surfaces de distance)

Integration(Surfaces de convolution)

Tableau 2.1 – Blending de primitives de squelette : apparition de bosses au niveau de lajonction entre deux elements du squelette.

Les surfaces de convolution semblent les surfaces implicites les plus appropriees pourmodeliser de maniere intuitive des modeles 3D de forme complexe, articules et d’aspect lisse.Cependant, le produit de convolution necessite des calculs d’integration ce qui implique destemps de calcul prohibitifs notamment pour des applications en temps reel, avec des person-nages realistes dont le squelette est complexe.

2.2.2 Techniques de visualisation

Pour afficher une surface implicite, il faut trouver un ensemble de points P de coordonnees(xp, yp, zp) verifiant l’equation 2.1. Etant donnee la complexite des fonctions de potentiel

30 Modelisation 3D

(a) Primitives.

.(b) Surface de convolution.

Figure 2.7 – Main modelisee par surfaces de convolution [BS91].

Figure 2.8 – Chien modelise par surfaces de convolution [TZF03].

generalement utilisees pour modeliser des objets de forme libre, il est difficile d’obtenir cetensemble de points de maniere immediate comme dans le cas des maillages polygonaux oudes surfaces parametriques. Les techniques utilisees pour visualiser des surfaces implicitesrecourent alors generalement a des methodes d’approximation.

Les surfaces implicites peuvent etre directement tracees par lancer de rayons [Gla89],[FvDFH97]. En fonction des parametres de la camera et de la resolution d’affichage, des rayonssont lances dans la direction de vue. L’expression des surfaces etant implicite, la determinationd’un point d’intersection entre un rayon et la surface est effectuee par dichotomie de manierea localiser le point d’intersection a une tolerance d’erreur pres.

Etant donnee la complexite de l’equation a resoudre pour chaque pixel de l’image, le rendudes surfaces implicites par lancer de rayon reste couteux en temps de calcul et est encore nonenvisageable dans le cadre d’applications interactives.

Certaines applications necessitent une representation polygonale. Celle-ci peut etre construitea l’aide de la technique des marching cubes [LC87] qui echantillonne la fonction implicite auxsommets d’un maillage tridimensionnel regulier. Les valeurs de la fonction implicite sont alorscalculees aux sommets du maillage, puis interpolees sur les aretes de celui-ci pour estimer la

2.2 Surfaces implicites 31

position de leur intersection avec la surface. Des polygones sont enfin construits dans chaquecellule du maillage a partir des points ainsi obtenus.

Cette methode utilise un echantillonnage regulier de l’espace. Il devient alors necessaired’effectuer un raffinement important de cet echantillonnage afin que tous les details de lasurface soient representes sur le maillage final ce qui augmente d’autant les temps de calcul.

2.2.3 Techniques de modelisation

Compte tenu des difficultes liees a la visualisation et au controle des surfaces implicites,un petit nombre d’outils de modelisation les ont introduites dans leurs interfaces. Toutefois,3DS Max [MAX] a integre recemment les metaballes dans le but de modeliser des phenomenesphysiques tels que les ecoulements de fluides ou le feu.

Au niveau de la recherche, quelques propositions de systemes de modelisation fondes sur lessurfaces implicites ont commence a apparaıtre dans les annees 1980, mettant en oeuvre essen-tiellement des surfaces algebriques. En particulier, Wyvill [WMW86] developpe un systeme demodelisation a l’aide de quadriques comme primitives. La forme de ces dernieres est controleepar les parametres les definissant. Les objets sont crees en utilisant des outils de type CSGtelles que reunion ou intersection.

Dans les annees 1990, l’interet s’est porte vers les surfaces generees par un squelette. Eneffet, celles-ci sont plus adaptees a des applications d’animation que les surfaces algebriques,difficilement controlables pour l’utilisateur qui n’a pas une comprehension intuitive de l’effetde changement des parametres les definissant.

Une premiere famille d’approches definit les squelettes dans un environnement d’interaction3D. Le blending entre les differentes primitives ainsi que la forme des surfaces generees parcelles-ci sont alors controles a l’aide de parametres. Tsingos et Gascuel [TG95] developpentun modeleur fonde sur des surfaces de squelette ou le controle des formes est effectue a l’aidede 3 parametres associes a chaque squelette : un rayon d’influence au-dela duquel le potentiels’annule, une epaisseur, et une raideur qui permet de controler le melange des potentiels.Sherstyuk [She99] met en place un systeme similaire a partir de surfaces de convolution, oula generation des primitives peut etre faite soit a la main par l’utilisateur, soit a l’aide demethodes procedurales, soit en combinant les deux.

Dans les deux cas, l’interactivite de l’application est assuree en visualisant une forme sim-plifiee des modeles. Ainsi, dans [TG95] la visualisation est-elle effectuee a l’aide d’un ensembled’elements de surface dits “graines” se deplacant aux alentours de la surface, et visualises pardes triangles. Le faible nombre de ces graines garantit une representation interactive, mais ap-proximative du modele. Dans [She99], l’auteur propose de visualiser une forme plus simplifiee,qui est une surface d’epaisseur fixe autour des squelettes (un segment de droite donne parexemple un cylindre). La surface implicite finale n’est alors calculee qu’a la fin de la procedurede creation a l’aide d’un trace de rayon, en particulier pour les modeles utilisant un nombreimportant de primitives.

Dans [HAC03], les auteurs proposent une approche multiresolution ou les surfaces peuventetre visualisees selon differents niveaux de detail. Celles-ci sont obtenues grace aux squelettesgeneres par des courbes de subdivision. Les surfaces sont ensuite obtenues par convolution, cequi assure un aspect lisse a tous les niveaux de detail.

Barbier et al. [BGA04] presentent un systeme de modelisation et d’animation de surfacesimplicites fonde sur une structure hierarchique de primitives geree par un arbre dit BlobTree.Les operations de combinaison des primitives telles que le blending, la reunion ou l’intersection,sont gerees par les nœuds de l’arbre, alors que les feuilles de celui-ci constituent les squelettesdes differents elements du modele. L’interface propose un ensemble de primitives de base apartir desquelles l’utilisateur peut creer ses objets.

32 Modelisation 3D

Les modelisations physiques ont ete utilisees dans le cadre d’applications haptiques [HQ04]ou de sculpture virtuelle [KPA03] ou les forces appliquees par des outils simples agissent surun volume implicite qui est sculpte en consequence.

Une methode de creation par deformation de formes simples est proposee dans [ACWK04]ou les surfaces subissent des deformations sous la contrainte de conservation du volume. Lesforces appliquees sont derivees des deplacements de points de la surface suivant un cheminprecise par l’utilisateur.

Enfin, un modele de creation fonde sur une interactivite 2D est propose dans [AGB04] quis’inspire de l’interface Teddy [IMT99] pour deduire un squelette a partir des dessins 2D. Dessurfaces blobbies sont ensuite generes, centrees en les points du squelette 2D.

Une approche similaire fondee sur les surfaces de convolution est decrite dans [TZF03] oules images d’entree sont des silhouettes correspondant a des plans de coupe du personnage(Figure 2.8).

De maniere generale, on constate que l’interactivite constitue le probleme principal auquelse heurtent encore les surfaces implicites, et ce, sous deux aspects : la rapidite des algorithmesde visualisation d’une part, et le controle utilisateur d’autre part. Aussi les approches existantdans la litterature essaient-elles de resoudre ces deux difficultes en choisissant des fonctions depotentiel plus intuitives et des algorithmes de visualisation dont le calcul est de plus en plusrapide.

2.2.4 Conclusion

En combinant par superposition plusieurs formes elementaires, les fonctions implicitespermettent de modeliser des objets complexes de maniere intuitive. Toutefois, le principalinconvenient des surfaces implicites est lie aux aspects de visualisation, necessitant un tempsde calcul important. En effet, les approches actuellement utilisees sont inexploitables dans lecadre d’une application interactive.

Par ailleurs, l’animation et la deformation de ces surfaces sont aussi peu intuitives puis-qu’elles necessitent soit la modification des fonctions de potentiel, soit le deplacement d’ungrand nombre de sources. L’influence d’une modification du champ de potentiel sur la surfaceisopotentielle est en effet difficilement previsible.

Enfin, il faut gerer les melanges indesirables qui surviennent des que deux primitives serapprochent l’une de l’autre (par exemple, les doigts d’une main peuvent se confondre).

Au-dela de ces aspects pratiques, les surfaces implicites donnent toujours naissance a desmodeles lisses qui conviennent pour des objets organiques, mais pas pour des objets rigidestels que des meubles. L’aspect arrondi des modeles semble restrictif pour une application decreativite telles que les dessins animes qui doivent pouvoir representer tout type d’objet.

2.3 Surfaces parametriques

Les surfaces parametriques [Far96] sont definies par rapport a un repere 2D relatif a lasurface S modelisee. La position 3D d’un point P de S, de coordonnees relatives u et v,s’exprime a l’aide de trois fonctions f , g, et h, definies sur un domaine D de 2, permettantde calculer ses coordonnees cartesiennes (x, y, z) a partir de sa position relative (u, v) ∈ D :

S = (x, y, z) : x = f (u, v) , y = g (u, v) , z = h (u, v) , (2.10)

La definition generale d’une surface parametrique peut donc etre consideree comme unedeformation du plan.

Historiquement, l’interet pour les surfaces parametriques a ete suscite par l’introductionde la notion de courbe a poles [Cas63], dont l’innovation consiste en la maniere de definir une

2.3 Surfaces parametriques 33

courbe, et ulterieurement une surface. En effet, cette technique permet de creer des modeleslisses a l’aide d’un nombre restreint de points, et donc avec une interaction reduite.

Une surface a poles est decrite par une equation de la forme :

S(u, v) =∑

i

∑j

Pi,jfi,j(u, v), (2.11)

ou Pi,j ∈ 3 sont les points de controle (ou poles) et les fi,j(u, v) sont des fonctions de basecaracterisant l’influence des differents points de controle en chaque coordonnee relative (u, v)de la surface S.

Parmi les surfaces parametriques, les plus utilisees en CAO 1 sont les surfaces definies parun produit tensoriel de deux courbes a poles, telles que les surfaces de Bezier, les surfaces B-splines, et les NURBS (Non Uniform Rational B-Splines). Les poles de ces surfaces presententune certaine regularite, etant definis selon une grille de controle rectangulaire. Le nombre depoints de controle selon les coordonnees u et v est donne par chacune des courbes generatrices.Les surfaces generees par un produit tensoriel s’ecrivent sous la forme generale suivante :

S(u, v) =∑

i

∑j

Pi,jfi(u)fj(v). (2.12)

La forme et les proprietes d’une surface a poles par produit tensoriel depend des fonctionsde base choisies. Ces fonctions sont generalement definies par morceaux, de maniere a ceque l’influence d’un pole donne soit locale. L’utilisation de fonctions polynomiales a permisd’assurer une continuite des formes obtenues, en fonction du degre des polynomes consideres.Parmi les surfaces a poles exploitant des fonctions de base polynomiales, mentionnons lessurfaces de Bezier, les B-splines et les NURBS.

2.3.1 Surfaces de Bezier

Les surfaces de Bezier ont ete introduites par les ingenieurs francais Paul de Faget deCasteljau et Pierre Bezier [Far96], [Cas63]. Pour ces surfaces (Equation 2.13), les fonctions debase sont donnees par les polynomes de Bernstein :

S(u, v) =∑

i

∑j

Pi,jBni (u)Bm

j (v), (2.13)

ou :Bn

i (t) =(ni)

(1 − t)n−i ti. (2.14)

Les polynomes de Bernstein etant non nuls pour tout t ∈ [0, 1], la position d’un point donnede la surface depend de l’ensemble des points de controle. Ainsi, pour determiner une courbede Bezier interpolant un ensemble de n points, est-il necessaire d’imposer un degre n − 1.De plus, le deplacement d’un des points de controle influe sur toute la courbe/surface. Cetteglobalite de la representation constitue un inconvenient pour des applications de creation decontenus 3D ou l’on souhaite disposer de mecanismes de controle local de la surface.

2.3.2 Surfaces B-splines

Les courbes et surfaces B-splines permettent de s’affranchir de cet inconvenient, en utilisantune definition polynomiale par morceaux, ce qui reduit la zone d’influence des points decontrole. Ici, le support des fonctions de base est restreint a un voisinage defini par le degrede la courbe consideree ainsi que par un vecteur de nœuds.

1Conception Assistee par Ordinateur

34 Modelisation 3D

Soient p le degre d’une courbe B-spline, et n + 1 le nombre de points de controle ladefinissant. Le vecteur des nœuds est defini comme un ensemble de parametres ordonnescompris entre deux valeurs fixees a et b :

U = a, . . . , a, up+1, . . . , ur−p−1, b, . . . , b (2.15)

ou r = n + p + 1, et a et b sont repetes p + 1 fois. Notons que le plus souvent, a = 0 et b = 1.Pour une coordonnee relative u ∈ [a, b], la fonction de base B-spline est definie de maniere

recursive, en exploitant le partitionnement du domaine parametrique [a, b] donne par le vecteurdes nœuds :

Ni,0(u) =

1 si ui−1 < u ≤ ui

0 sinon,

Ni,k(u) =u − ui

ui+k − uiNi,k−1(u) +

ui+k+1 − u

ui+k+1 − ui+1Ni+1,k−1.

(2.16)

Par definition, les fonctions de bases B-splines Ni,p(u) sont nulles en dehors de l’intervalle[ui, ui+k+1). Les courbes B-splines ainsi definies sont polynomiales par morceaux. La Figure2.9 illustre la definition recursive des fonctions de base B-splines, ainsi que leur caractere local.Notons que le support des fonctions de bases augmente avec le degre. Ni,2 est non nulle surl’intervalle [ui, ui+3], tandis que Ni,3 est non nulle sur l’intervalle [ui, ui+4].

Figure 2.9 – Definition recursive des fonctions de base B-splines.

Les surfaces B-splines sont definies de maniere separable comme le produit tensoriel dedeux courbes B-splines comme suit :

S(u, v) =n∑

i=0

m∑j=0

Ni,p(u)Nj,q(v)Pi,j , (2.17)

ou n+1 et m+1 sont les nombres de points de controle des courbes B-splines generatrices, etp et q sont leurs degres. Ici, les fonctions de base Ni,p et Nj,q de degres p et q respectivement

2.3 Surfaces parametriques 35

sont definies sur les vecteurs des nœuds :

U = 0, . . . , 0, up+1, . . . , ur−p−1, 1, . . . , 1 ,

V = 0, . . . , 0, vq+1, . . . , vs−q−1, 1, . . . , 1 ,

ou r = n + p + 1 et s = m + q + 1.La caractere local des fonctions de base B-splines est interessant : il facilite l’evaluation

de la surface en un point (u, v) donne, ainsi que le controle de l’emplacement des points decontrole dont la zone d’influence est restreinte en fonction du degre de la surface.

Les surfaces B-splines permettent de modeliser des objets lisses et de les deformer demaniere intuitive. Afin d’accroıtre la flexibilite et le pouvoir de representation des modelesB-splines, une generalisation a ete introduite. Il s’agit des modeles NURBS, decrits dans leparagraphe suivant.

2.3.3 Surfaces NURBS

Les surfaces NURBS [PT95] generalisent les modeles B-splines en introduisant un degrede liberte supplementaire, qui permet une plus grande flexibilite pour le meme ensemble depoints de controle. Le principe consiste a attribuer aux points de controle Pi,j des poids ωi,j .Ces poids sont des cœfficients reels determinant le degre d’influence des points de controle surla courbe.

Une surface NURBS donnee par le produit tensoriel de deux courbes de degres p et q estalors definie par :

S(u, v) =

n∑i=0

m∑j=0

Ni,p(u)Nj,q(v)ωi,jPi,j

n∑i=0

m∑j=0

Ni,p(u)Nj,q(v)ωi,j

(2.18)

Intuitivement, les poids controlent l’attraction de la surface par le point de controleconsidere. Ainsi, plus la valeur d’un poids ωi,j augmente, plus les points de la surface decoordonnees relatives (u, v) ∈ [ui, ui+p+1)× [vj , vj+q+1) s’approchent du point de controle Pi,j .

Les surfaces NURBS sont definies sur un domaine rectangulaire intrinsequement lie ala parametrisation. Cette propriete constitue une contrainte forte car ce type de surface nepermet pas de modeliser des objets de forme libre, de topologie arbitraire tels que des per-sonnages articules presentant des embranchements. Une solution consiste a creer des surfacesparametriques par morceaux.

2.3.4 Surfaces parametriques par morceaux (patchs parametriques)

Le principe des modeles parametriques par morceaux consiste a juxtaposer des morceauxde surfaces parametriques dits patchs, pour modeliser la surface globale de l’objet. Quant autype de patchs, tout modele parametrique peut etre considere. Il est donc possible de construiredes patchs de Bezier, B-splines, ou encore NURBS.

Les patchs de Bezier [Sar90], [Baj94] sont les plus utilises dans le cadre de la modelisationde personnages animes en raison de leur simplicite, facilite de manipulation et de controle.

Un exemple d’un patch de Bezier cubique est illustre Figure 2.10. Le patch est ici determinepar un ensemble de 4× 4 = 16 points de controle. Notons que chaque patch interpole les coinsdu maillage de controle, qui correspondent aux points de controle extremite de chaque courbede bord.

Cette technique de modelisation par patchs necessite d’imposer des conditions de compa-tibilite et de continuite qui se traduisent par des contraintes sur la configuration des pointsde controle. Pour une continuite C0, les courbes de bord doivent coıncider en tout point.

36 Modelisation 3D

Figure 2.10 – Patch de Bezier : les courbes de bord sont des courbes de Bezier definies par lespoints de controle de bord, le patch interpole les points de controle des coins.

Cela implique que les points de controle et les vecteurs des nœuds doivent coıncider dans lesdeux patchs (Figure 2.11(a)). La continuite C1 conduit a une contrainte encore plus forte, quiconsiste en la colinearite des points de controle de part et d’autre des courbes de bord (Figure2.11(b)). Au niveau des coins des patchs, cela impose une coplanarite des 4 points de controlevoisins. Ces fortes contraintes rendent difficile la modelisation d’objets de forme complexe quinecessitent un nombre eleve de patchs.

(a) Continuite C0.

(b) Continuite C1.

Figure 2.11 – Juxtaposition de patchs de Bezier : conditions de continuite.

Une autre limitation concernant ce type d’approche est liee a la visualisation, qui estrealisee a l’aide d’une polygonisation de la surface parametrique. Contrairement aux surfacesimplicites, la polygonisation des surfaces parametriques peut etre effectuee de facon directe, enechantillonnant le domaine parametrique selon une grille rectangulaire. Celle-ci peut corres-pondre par exemple a un simple echantillonnage uniforme du domaine parametrique. Toutefois,pour pouvoir rendre des elements de surface de forte courbure, il est necessaire d’appliquer unpas d’echantillonnage suffisamment fin ce qui alourdit la representation polygonale obtenue.

2.3 Surfaces parametriques 37

Les approches de subdivision adaptative [DM95][Sug02] visent notamment a pallier cetinconvenient en adoptant une procedure d’echantillonnage non uniforme qui prend en compteles caracteristiques locales de la surface. Elles permettent en outre d’approcher une surfaceparametrique avec controle de l’erreur maximale d’approximation.

Cette technique conduit en revanche a l’apparition de deconnexions entre des patchs voisinsdont le niveau de subdivision n’est pas identique (probleme de cracking). Ce probleme estillustre Figure 2.12 ou deux niveaux differents de subdivision ont ete appliques a deux patchsvoisins.

Figure 2.12 – Visualisation de patchs parametriques : la subdivision adaptative conduit al’apparition de cracking.

Pour eviter les limitations liees aux contraintes de continuite au niveau des bords, unesolution est apportee par les modeles trimmed NURBS.

2.3.5 Trimmed NURBS

Les modeles trimmed NURBS [Cas87], [PT98] proposent egalement une representation desurface par patchs parametriques multiples. Afin d’eviter la gestion locale des aspects de conti-nuite aux bords, le principe consiste a realiser le decoupage et le raccordement des differentspatchs selon un ensemble de courbes definies dans le domaine parametrique et appelees courbesde decoupage (trimming curves).

Cette methode permet en particulier des patchs avec des trous et avec des bords de formearbitraire. Chaque courbe de decoupage est orientee de maniere a definir sur le patch deuxdomaines, l’un interieur et l’autre exterieur. Au moment de la visualisation, seul un des deuxdomaines sera rendu. La Figure 2.13 illustre le choix de la partie visualisee en fonction del’orientation de la courbe de decoupage.

(a) Courbes de decoupages definies dans ledomaine parametrique.

(b) Surface trimmed NURBSresultante.

Figure 2.13 – Trimming NURBS : decoupage de la surface.

Une courbe de decoupage c (trimming curve) est une courbe geodesique definie sur le

38 Modelisation 3D

domaine parametrique D du patch de surface S considere

c(t) : [0, 1] → D. (2.19)

Elle est alors exprimee par :c(t) = (u(t), v(t)). (2.20)

Soient deux patchs de surface differents Si(ui, vi), i ∈ 1, 2. Pour assembler ces deux surfacesprimaires selon deux courbes de decoupage, un operateur de blending [Fil89], [KE95] est definien fonction des deux courbes de decoupage ci et des deux courbes Ti decrivant les tangentesle long des courbes de ci.

On definit par composition les courbes 3D dites courbes rails (rail curves) :

Ci(t) = Si(ci(t)) = Si(u(t), v(t)). (2.21)

Une surface de blending est alors construite comme surface cubique interpolante d’Hermite(Figure 2.14) :

H(s)(t) = h00(s)C1(t) + h01(s)C2(t) + h10(s)T1(t) + h11(s)T2(t), (2.22)

ou h00,h01,h10 et h11 sont les fonctions de base de l’interpolant cubique hermitien, definiespar : ⎧⎪⎪⎨

⎪⎪⎩h00(s) = s2(2s − 3) + 1,

h01(s) = s2(3 − 2s),h10(s) = s(s − 1)2,h11(s) = s2(s − 1).

(2.23)

S (u ,v )2 2 2S (u ,v1 1)1 H(s,t)

2

v

u

v

u

1

c c1 2s

t 2

1

C

C

1

2

Figure 2.14 – Surface de blending definie a partir de courbes de decoupage

Notons que ces fonctions de base permettent de verifier les conditions aux bornes s = 0 ets = 1 pour tout t ∈ D : H(0) = C1, H(1) = C2, H ′(0) = T1 et H ′(1) = T2.

Les techniques rapides de visualisation de surfaces NURBS utilisent generalement uneprocedure de polygonisation. Dans le cadre des trimmed NURBS, cette methode necessitel’evaluation des courbes composees Ci, qui est couteuse en temps de calcul. En outre, cescourbes etant definies dans le domaine parametrique des patchs de surface, la polygonisations’effectue de maniere independante pour les surfaces primaires d’une part et la surface de blendd’autre part, ce qui conduit a l’apparition de cracks au niveau des courbes rails Ci. En effet,ces courbes de decoupage sont echantillonnees regulierement sur la surface de blend, selon leparametre t. Sur les surfaces primaires en revanche, ces courbes sont evaluees par composition,ce qui ne permet pas d’effectuer directement l’echantillonnage des surfaces et des courbes rails.

2.4 Surfaces de subdivision 39

2.3.6 Conclusion

Contrairement aux maillages, qui sont des approximations lineaires de surface, les modelesparametriques fournissent des approximations polynomiales d’ordre superieur qui conduisenta une diminution du nombre de points de controle necessaires ainsi qu’a un degre de continuitesuperieur. Cela est interessant pour un certain nombre d’applications telles que la modelisation3D ou les points sont specifies par l’utilisateur. La Figure 2.15 represente un exemple depersonnage realise a l’aide de deux surfaces (une pour la tete et une pour les cheveux) definiescomme un produit tensoriel de B-splines.

Figure 2.15 – Exemple de surface parametrique, extrait de [Bir].

Par ailleurs, les surfaces parametriques presentent l’avantage de produire des modelesdefinis de maniere precise en tout point, puisqu’elles sont exprimees par une formule mathe-matique pouvant etre evaluee en chaque couple de coordonnees relatives (u, v). Cette proprietepermet d’obtenir une resolution infinie des modeles crees. De plus, la forme parametrique estinteressante pour des applications comme le plaquage de textures, et de maniere generale pourle calcul de caracteristiques de surface (normale, derivees, courbure, etc.) en un point donne.

Toutefois, des calculs tels que l’appartenance d’un point de l’espace a une surface pa-rametrique, les intersections avec une surface ou la distance a une surface sont plus compliques,ce qui constitue un inconvenient pour des applications comme la detection de collision ou lecalcul d’intersections entre differents modeles parametriques.

Enfin, les surfaces parametriques ne permettent pas de modeliser des formes complexesen utilisant un seul domaine parametrique. L’utilisation de modeles plus elabores comme lespatchs parametriques ou les trimmed NURBS impose des contraintes pour obtenir des sur-faces continues. Cette contrainte represente une difficulte au niveau de la visualisation ou descracks apparaissent. Ces modeles par patch semblent donc peu appropries a des applicationsd’animation, ou le maintien de la continuite C1 sur toutes les sequences est important.

2.4 Surfaces de subdivision

Une surface de subdivision S est definie comme la limite d’une suite convergente demaillages Mnn∈ℵ :

S = limn

Mn. (2.24)

Le maillage initial M0 est appele maillage de base ou maillage de controle. Pour n ≥ 1, lemaillage Mn, appele niveau de resolution n, est obtenu a partir du maillage Mn−1 par uneprocedure de subdivision qui consiste en deux etapes :

40 Modelisation 3D

– insertion de nouveaux points,– filtrage passe-bas des coordonnees.

Historiquement, les surfaces de subdivision trouvent leur origine dans les techniques desectionnement de coins (corner cutting) [ZS00] qui permettaient d’obtenir des courbes lissesa l’aide d’une procedure iterative de raffinement. Une telle technique, correspondant a l’algo-rithme de subdivision de Chaikin [Cha74] est illustree Figure 2.16. A partir d’une courbe po-lygonale initiale (Figure 2.16(a)), une suite de courbes est iterativement construite en inserantsur chaque segment [Pi, Pi+1] de la courbe courante deux points Qi et Ri tels que :

‖PiQi‖‖PiPi+1‖ =

14

et‖PiRi‖‖PiPi+1‖ =

34. (2.25)

(a) Courbe initiale. (b) 1 niveau de subdivision.

(c) 2 niveaux de subdivision. (d) 3 niveaux de subdivision.

Figure 2.16 – Subdivision d’une courbe selon l’algorithme de Chaikin.

Les points Pi sont ensuite elimines, la nouvelle courbe etant definie par la suite de pointsQ0, R0, . . . , Qi, Ri, Qi+1, Ri+1, . . . .

Dans [Rie75], Riesenfeld demontre que l’algorithme de Chaikin converge vers des B-splinesquadriques uniformes. De maniere plus generale, De Boor [Boo87] demontre que, en imposantquelques conditions sur le procede de coupure des coins, les methodes de sectionnement descoins convergent toujours vers des courbes lisses.

Les surfaces de subdivision, initialement introduites par Catmull et Clark [CC78] et Dooet Sabin [DS78], ont permis de depasser la limitation principale des surfaces NURBS puis-qu’elles peuvent modeliser une topologie arbitraire. Le principe de construction d’une surfacede subdivision repose toujours sur un ensemble de points de controle, formant un maillage debase. Ce maillage – pouvant etre considere comme une representation a basse resolution de la

2.4 Surfaces de subdivision 41

surface etudiee – est ensuite raffine selon des regles predefinies. L’objectif est de produire unesurface visuellement equivalente a une surface parametrique.

Les surfaces de subdivision representent une solution flexible pour la modelisation de sur-faces. Elles constituent un compromis entre les maillages et les surfaces parametriques, etoffrent ainsi la plupart des avantages de ces modeles traditionnels. En effet, les surfaces de sub-division jouissent de la generalite topologique des maillages, sans subir les contraintes imposeespour les surfaces parametriques au niveau de la gestion des frontieres entre les differents patchs.Contrairement aux surfaces parametriques, les surfaces de subdivision peuvent presenter unedensite de sommets variable. Elles permettent ainsi de creer des niveaux de detail differentssur un meme objet, tout en conservant une apparence lisse et en minimisant le nombre desommets necessaires.

La Figure 2.17 presente differents niveaux de resolution associes a une surface de subdivi-sion.

(a) Maillage de base. (b) 1 niveau de subdivision. (c) 3 niveaux de subdivision.

Figure 2.17 – Exemple de surface de subdivision.

Les differents schemas de subdivision de la litterature se distinguent selon les criteressuivants :

– le type du maillage genere : triangulaire ou quadrilateral par exemple,– la procedure d’insertion de points : elle peut etre effectuee soit en subdivisant les facettes

du maillage (face split), on parle alors de subdivision primale (Figure 2.18(a)), soit endupliquant les sommets (vertex split), auquel cas on parle de subdivision duale (Figure2.18(b)),

– le schema de subdivision interpolatif ou approximatif : dans un schema d’interpolation,les sommets du maillage de base ainsi que ceux introduits par les differentes iterations desubdivision appartiennent a la surface limite. Une fois introduits, leur position ne changeplus au cours des iterations suivantes. En revanche, dans un schema d’approximation,la position des sommets est modifiee a chaque iteration. Notons que cette classificationest uniquement appliquee aux schemas de subdivision primaux, car dans un schemadual les sommets du maillage d’un niveau de subdivision sont supprimes au niveau desubdivision suivant.

Detaillons a present les schemas de subdivision les plus utilises dans le domaine de lamodelisation 3D. Il s’agit des schemas de Catmull-Clark, de Doo-Sabin, et enfin du schemade Loop.

2.4.1 Schema de subdivision de Catmull-Clark

Ce schema a ete introduit en 1978 [CC78]. Il s’agit d’un schema d’approximation generique,s’appliquant a des maillages avec des facettes quelconques.

L’algorithme de subdivision procede comme suit :– Pour chaque facette du maillage, inserer le nouveau point de face, qui represente le

barycentre des sommets originaux de la facette consideree (Figure 2.19(b)).

42 Modelisation 3D

(a) Subdivision primale.

(b) Subdivision duale.

Figure 2.18 – Types de subdivision : Exemple de subdivision primale et duale appliquees a unmaillage de base quadrilateral.

(a) Maillage de base

F

F

F

F

(b) Insertion des points de face.

E

E

E

E

F

F

F

F

(c) Insertion des points d’arete.

E

E

E

E

F

F

F

F

V

(d) Insertion des points de som-met.

E

E

E

E

F

F

F

F

V

(e) Nouvelles facettes.

Figure 2.19 – Schema de subdivision de Catmull-Clark.

– Pour chaque arete du maillage, inserer un nouveau point appele point d’arete, obtenuen moyennant les sommets de l’arete consideree et les points de face des deux facettesadjacentes (Figure 2.19(c)).

– Actualiser les coordonnees des points de sommet (Figure 2.19(d)), dont la nouvelle po-sition prend en compte les points des faces et les points d’arete precedemment inseres.Notons par S la position du sommet sur le maillage de base, par A la moyenne des pointsd’arete inseres a partir des aretes adjacentes, et par F la moyenne des points de face

2.4 Surfaces de subdivision 43

inseres sur les faces adjacentes. Soit n le nombre d’aretes adjacentes au sommet S surle maillage de base. La nouvelle position S′ du point de sommet est donnee par :

S′ =F + 2A + (n − 3)S

n. (2.26)

– Enfin, le maillage est genere de la maniere suivante (Figure 2.19(e)) :– chaque nouveau point de face est relie a chaque point d’arete correspondant a une

arete adjacente a la face consideree sur le maillage de base,– chaque point de sommet deplace est relie aux points d’arete inseres correspondant a

une arete adjacente au sommet considere.

2.4.2 Schema de subdivision de Doo-Sabin

Doo et Sabin se sont inspires de l’algorithme de subdivision de Chaikin pour les courbespour en deduire un schema applicable aux maillages [Doo78], [DS78].

L’algorithme de subdivision de ce schema s’effectue selon les etapes suivantes :– Calculer les milieux de chaque segment du maillage,– Calculer les milieux de chaque face du maillage (definis par la moyenne des sommets de

la face consideree),– Pour chaque sommet de chaque face, inserer le point dont les coordonnees sont la

moyenne du sommet considere, des milieux des deux aretes qui lui sont adjacenteset du milieu de face calcule precedemment. La Figure 2.20(a) illustre cette etape del’algorithme.

– Les nouvelles faces du maillage sont obtenues en reliant ensemble les differents pointsinseres sur une meme face d’un cote (Figure 2.20(b)) et les points inseres au voisinaged’un sommet original d’un autre cote (Figure 2.20(c)).

(a) Maillage de base et sommetsinseres.

(b) Nouvelles facettes. (c) Nouvelles facettes.

Figure 2.20 – Schema de subdivision de Doo-Sabin.

2.4.3 Schema de subdivision de Loop

Ce schema introduit en 1987 par Charles Loop [Loo87] est un schema de subdivision primalet approximant qui s’applique aux maillages triangulaires.

Dans le schema de Loop, illustre Figure 2.21, le nouveau maillage est deduit suivant lesdeux etapes suivantes :

– Une etape de raffinement de la topologie qui consiste a inserer les nouveaux points.Ceux-ci correspondent dans le schema de Loop aux milieux des aretes. En reliant cespoints, chaque triangle est alors subdivise en 4 nouveaux triangles (Figure 2.21(b)).

– Les sommets sont ensuite deplaces selon des lois de positionnement predefinies, demaniere a lisser le maillage resultant (Figure 2.21(c)). La position d’un nouveau sommetest donnee par une moyenne ponderee de ses sommets voisins appartenant au maillage

44 Modelisation 3D

precedant. Les poids dependent de la valence des sommets, i.e. du nombre de leursvoisins.

(a) Maillage de base. (b) Insertion des sommets. (c) Deplacement des sommets.

Figure 2.21 – Schema de subdivision de Loop.

2.4.4 Conclusion

Les modeles de subdivision sont crees avec les memes techniques que les maillages. Ilspermettent certes d’obtenir des modeles lisses et des niveaux de detail precis, mais cela alour-dit la procedure d’animation etant donne le nombre croissant de sommets introduits par lasubdivision. Afin d’eviter ce probleme, les animateurs effectuent en fait l’animation avant lasubdivision, celle-ci etant realisee en derniere etape avant la visualisation.

Les surfaces de subdivision presentent une difficulte qui leur est particuliere dans le cadredes operations booleennes. En effet, appliquer une subdivision sur un maillage de base obtenupar soustraction par exemple aboutit souvent a l’apparition d’artefacts au niveau du contourainsi obtenu. Il est toutefois possible de contourner le probleme en deformant les surfaces aulieu d’utiliser des operateurs booleens.

Le schema de subdivision de Loop utilise les sommets initiaux du maillage. Afin d’obtenirune forme lisse, une etape de filtrage est alors ajoutee qui deplace les positions des sommets.L’application d’un tel filtre conduit a un retrecissement du volume du maillage de depart, quiest illustre sur la Figure 2.4.4. Les schemas de subdivision de Catmull-Clark et de Doo-Sabinprocedent par une subdivision duale ou les nouveaux sommets du maillage sont directementsur les faces du niveau de subdivision precedant. De ce fait, une relation de tangence existeentre chaque niveau de subdivision et le niveau precedent. Dans le cas de la subdivision deDoo-Sabin ou cette tangence est maintenue au niveau d’une face, le maillage final conservela relation de tangence avec le maillage de base. La diminution de volume est par consequentmoindre (Figure 2.4.4).

Loop Catmull-Clark Doo-SabinRegularite C2/C1 C1/C0 C2/C1

Type de schema approximatif approximatif approximatifPolygone quadrilatere quadrilatere triangleSubdivision primal dual primal

Tableau 2.2 – Caracteristiques des schemas de subdivision de Loop, Catmull-Clark et Doo-Sabin.

La subdivision de Loop est cependant celle qui donne les surfaces les plus lisses, grace al’etape de filtrage. Elle est par consequent moins sensible a la configuration des triangles surle maillage de base, contrairement aux schemas de Catmull-Clark et Doo-Dabin qui peuvent

2.4 Surfaces de subdivision 45

Maillage de base

Schema de subdivision Loop Catmull-Clark Doo-Sabin

Un niveau de subdivision

Deux niveaux de subdivi-sion

Quatre niveaux de subdivi-sion

Figure 2.22 – Comparaison des schemas de subdivision de Loop, Catmull-Clark et Doo-Sabin :L’effet de retrecissement de la surface s’accentue au fur a mesure des niveaux de subdivision.Il est tres important dans le cadre du schema de Loop, alors que le schema le plus proche dela surface de depart est le schema de Doo-Sabin.

donner des surfaces moins lisses. La Figure 2.23 ou les trois schemas de subdivision ont eteappliques au meme maillage de base illustre ce cas de figure.

Une des raisons de la popularite des surfaces de subdivision est le fait qu’elles aboutissenta des surfaces maillees pouvant restituer de maniere compacte des formes tres complexes. Lepersonnage Geri (Figure 2.24) du celebre court metrage “Geri’s Game” 2 illustre les capacitesde representation autant pour le visage du personnage qui restitue tres bien les rides que pourles vetement.

Les outils de visualisation, de compression, ainsi que les standards d’animation tels queH-Anim [HAN] et MPEG-4 [MPE] etant particulierement adaptes aux maillages, l’introduc-tion des surfaces de subdivision dans le monde de la 3D a ete facilitee. De plus, l’aspectmultiresolution de ces surfaces presente un interet particulier pour la compression, ainsi que

2Pixar, 1997

46 Modelisation 3D

(a) Maillage de base. (b) Subdivision deDoo-Sabin.

(c) Subdivision deCatmull-Clark.

(d) Subdivision deLoop.

Figure 2.23 – Influence du maillage de base en fonction du schema de subdivision applique surl’aspect de la surface finale.

(a) Maillage de base (b) Rendu final

Figure 2.24 – Surface de subdivision : Le personnage Geri de Geri’s Game (Pixar)est cree parsurfaces de subdivision : le modele restitue tres bien des detail de peau et de vetement, pourun maillage de base relativement simple (extrait de [ZS00]).

pour la visualisation et l’animation.La popularite de ces surfaces est accentuee par l’apparition de modifications des schemas

de subdivision. Celles-si permettent de modeliser un plus large spectre d’objets, en offrant lapossibilite de conserver des aretes vives [HDD+94] ou encore d’appliquer differents niveaux desubdivisions a un meme objet [ZS00].

2.5 Conclusion

Afin de comparer les differents modeles de surface presentes dans ce chapitre, nous utilisonsun ensemble de criteres de comparaison :

– La completude qui consiste en la capacite de la surface a decrire de maniere completela surface de l’objet modelise. La modelisation par un nuage de points par exemple nepermet pas de preciser si un point de l’espace n’appartenant pas a la liste definissantl’objet est sur la surface ou non.

– La concision qui caracterise la quantite de memoire necessaire pour decrire la surface.Ce critere est important lors de la modelisation a des fins d’animation, car il determinela rapidite des animations effectuees.

– La facilite d’acces aux proprietes locales. La determination des proprietes de la surface en

2.5 Conclusion 47

un point donne telles que la normale a la surface ou la continuite est importante pour lavisualisation et l’application de textures. Un temps de calcul important necessaire pourdeterminer ces proprietes locales implique en effet un temps de visualisation important.

– La facilite de controle local. La modelisation des personnages s’effectue souvent demaniere incrementale, et ce en deformant localement une surface de depart relativementsimple sur plusieurs etapes successives. De la meme maniere, lors de l’animation, desdeformations locales peuvent etre realisees, notamment dans le cas des dessins animesou les effets de style utilisent souvent ces deformations. Il est par consequent imperatif,pour une application de dessins animes, d’utiliser un modele ou les deformations localessont non seulement possibles, mais surtout faciles.

– La facilite de visualisation.

Maillagespolygonaux

Suracesparametriques

Surfacesimplicites

Surfaces desubdivision

Completude oui oui oui ouiConcision non oui oui ouiProprieteslocales

non oui oui non

Controle local oui oui non ouiVisualisation oui oui non oui

Tableau 2.3 – Comparaison des modeles de surface.

Le tableau 2.5 etablit une comparaison des modeles de surfaces precedemment presentesselon ces criteres de comparaison. On remarque que les surfaces parametriques sont les seulesa satisfaire tous les criteres. Cependant, pour les raisons citees plus haut (difficulte de main-tenance de continuite de patchs), ces dernieres sont generalement utilisees par les animateurscomme un modele de base, converti par la suite en un maillage plus facile a visualiser et aanimer car sans coutures.

Les maillages presentent cependant l’inconvenient de necessiter un espace memoire impor-tant, notamment dans le cas de modeles complexes, ce qui induit un temps de calcul importantpour les animations. Les surfaces de subdivision constituent un compromis entre les maillageset les surfaces parametriques car elles utilisent une representation hierarchique fondee surun maillage de base necessitant peu de memoire. De plus, cette definition hierarchique estinteressante pour des utilisations comme la previsualisation qui ne necessite qu’une descrip-tion approximative pour verifier la fluidite et l’exactitude des animations.

Les surfaces implicites, de par leur description, presentent des difficultes au niveau dela visualisation, de la determination des proprietes locales, ainsi que du controle local de lasurface. Elles sont par consequent peu adaptees a notre objectif.

48 Modelisation 3D

Chapitre 3

Animation 3D de personnagesvirtuels

Resume

Ce chapitre presente les principales techniques d’animation 3D de personnages virtuels.L’objectif est ici d’identifier les principales contraintes que les modeles 3D doivent satisfairepour etre adaptes a des fins d’animation.

Deux grandes familles d’approches sont identifiees et decrites en detail. Il s’agit des methodesdescriptives et des methodes par modeles generateurs. Les premieres s’appuient sur une des-cription du mouvement specifiee par l’animateur a des instants precis dits poses clefs. Celles-ci sont modifiees en appliquant soit des mecanismes de deformation non rigide, soit desmethodes d’animation par squelette cinematique. Les trames individuelles necessaires pourproduire les sequences d’animation sont ensuite obtenues par interpolation. Les methodespar modeles generateurs visent a determiner l’ensemble des trames de la sequence d’anima-tion a l’aide d’une modelisation physique, procedurale ou comportementale, caracterisantle mouvement de l’objet.

Enfin, les principaux standards d’animation 3D (VRML, H-ANIM, MPRG-4/FBA etMPEG-4/AFX) sont egalement presentes. Une attention particuliere est consacree a lapresentation du standard MPEG-4/AFX adopte dans le cadre du projet TOON en raisonde ses fonctionnalites avancees d’animation de personnages virtuels generiques.

Mots clesDeformation, Animation, Interpolation de poses clefs, Methodes cinematiques, Methodes

dynamiques, Metamorphose, Methodes procedurales, Methodes comportementales, Capturede mouvement, H-ANIM, VRML, MPEG-4, Squelette, FBA, BBA.

49

50 Animation 3D de personnages virtuels

“L’animation n’est pas faire mouvoir des dessins. C’est,par essence, dessiner le mouvement.”

R.Taylor. [Tay96]

L’animation met en œuvre des elements qui varient dans le temps, qu’il s’agisse de laposition et de la pose des objets 3D de la scene, des parametres de la camera ou encore desparametres photometriques (couleurs, textures,...) des objets.

L’objectif est alors de generer, a partir de ce modele, l’ensemble des trames necessairespour constituer une sequence d’animation a la cadence video requise (e.g. 15 a 25 tramespar seconde). Pour chaque trame, il est necessaire de modifier la geometrie de l’objet. Realisercette tache manuellement n’est bien sur pas envisageable. L’objectif des techniques d’animationest notamment d’automatiser cette tache en garantissant un controle simple et intuitif de lageometrie et une interaction utilisateur minimale.

La litterature fait etat de deux grandes familles d’approches [WW], [Ker04b], [Par03],[MFCD99], [Fuc03]. Il s’agit des methodes descriptives et des methodes par modeles generateurs.Les premieres sont fondees sur une description parametrique du mouvement specifiee par l’ani-mateur en des instants precis dits poses clefs. Les images necessaires a la production de l’ani-mation sont ensuite obtenues par interpolation. Les methodes par modeles generateurs mettenten œuvre un ensemble de donnees, de parametres et de lois qui gouvernent les mouvementsdes objets de la scene et permettent de generer les sequences d’animation automatiquement.

3.1 Modeles descriptifs

Les methodes descriptives transposent la technique du keyframing traditionnellement uti-lisee dans la fabrication de dessins animes 2D au cadre de l’animation de scenes virtuelles 3D.Les poses clefs dessinees par l’equipe des animateurs 2D sont ici remplacees par la specificationinteractive d’un certain nombre de parametres caracterisant la pose des objets 3D. L’interpo-lation des parametres ou des geometries clefs obtenues permet ensuite de generer les imagesintermediaires necessaires (cf. Paragraphe 3.1.3).

L’animation descriptive peut donc etre divisee en deux etapes :

1. la construction des poses clefs a partir d’un modele de reference,

2. l’interpolation temporelle (inbetweening), qui vise a generer a partir des poses clefs l’en-semble des poses intermediaires necessaires pour obtenir la sequence d’animation a lacadence video requise.

Bien sur, obtenir de nouvelles geometries en modifiant un a un, manuellement, les elementscaracteristiques d’un objet 3D (sommets du maillage, ou points de controle d’une surfaceNURBS par exemple) n’est pas envisageable. L’idee est alors de creer des modeles parametriquescontrolables par un nombre reduit de parametres, de facon simple et intuitive.

En fonction de la structure du modele utilise, on distingue deux familles d’approche d’ani-mation descriptive : les deformations non rigides etablissent des mecanismes de deformationgeneriques applicables a tout type de modele. Les methodes cinematiques visent plus speci-fiquement l’animation des modeles articules et exploitent un concept hierarchique de l’anima-tion. Notons que les deux approches peuvent etre egalement hybridees [FvdPT97].

3.1.1 Modeles de deformation non rigide

Afin de modifier la forme d’un objet, une matrice de transformations M est appliquee auxpoints le constituant. Les nouvelles coordonnees de chaque sommet v = [x, y, z] sont ainsi

3.1 Modeles descriptifs 51

deduites en appliquant la matrice de transformation aux coordonnees actuelles :

v′ = Mv. (3.1)

En partant de ce modele, Barr a introduit la notion de deformation globale [Bar84] enproposant de faire varier la matrice de transformation en fonction de la position ou elle estappliquee. Cela permet de generer des transformations plus complexes, a partir d’un ensemblede transformations de base telles que l’amincissement ou la torsion.

Dans le cas de l’amincissement par exemple, l’objet est mis a l’echelle selon un axe donne.Soit un sommet (x, y, z) d’un objet aminci selon l’axe (Ox). Sa nouvelle position (x′, y′, z′) estdonnee par l’operateur d’amincissement :

F (x, y, z) = (x, ry, rz), (3.2)

ou r est un scalaire definissant le facteur d’echelle.

Figure 3.1 – Deformations globales : exemples de formes obtenues a partir d’un cylindre.

Ces operateurs de base definissent des transformations simples et intuitives dont la combi-naison permet d’obtenir une grande variete de formes a partir de modeles aussi simples qu’uncylindre.

Historiquement, les deformations de Barr (Figure 3.1) representent un des premiers outilsde modelisation concus pour creer des modeles elabores a partir de formes simples. Cependant,cette approche devient lourde et limitee lorsqu’il s’agit de definir des formes aussi complexesque des personnages articules.

Afin de pallier ces inconvenients, les techniques de deformation libres (FFD - Free Form De-formation) generalisent le principe introduit par Barr en definissant un champ de deformationcontinu autour de l’objet.

3.1.1.1 Deformations de formes libres

La technique de deformation de formes libres FFD introduite par Sederberg et Parry[SP86] utilise un treillis parallelepipedique pour regrouper les sommets d’un maillage. Cetreillis represente un nouveau “repere” dans lequel les coordonnees des sommets consideressont exprimes. Ces coordonnees etant definies en fonction de celles des sommets du treillis,une deformation de ce dernier implique automatiquement la deformation de tous les points dumaillage qui lui sont associes.

Notons par X = (x, y, z) le vecteur des coordonnees absolues d’un point du modele 3D adeformer, par X = (s, t, u) ses coordonnees dans le repere relatif du treillis. Soient (l,m, n) lenombre de points de controle du treillis pour chaque direction, et Pijk les points de controleexprimes dans le repere absolu Cartesien. Les coordonnees deformees XFFD de X sont alorsexprimees dans le repere absolu par :

52 Animation 3D de personnages virtuels

(a) Deformation par FFD. (b) Animation par FFD.

Figure 3.2 – Deformation de formes fibres.

XFFD =l∑

i=0

(li

)(1 − s)l−isi

⎡⎣ m∑

j=0

(mj

)(1 − t)m−jtj

[n∑

k=0

(nk

)(1 − u)n−kukPijk

]⎤⎦ (3.3)

Figure 3.3 – Effets de style de dessins animes : etirement et ecrasement subis par une ballelorsqu’elle rebondit.

L’utilisation de treillis est pratique pour realiser des effets de style dans l’animation [Las87]en appliquant des distorsions telles que l’ecrasement ou l’etirement (Figure 3.3). Cette methodeest aussi tres utilisee par les modelisateurs 3D pour realiser et/ou animer leurs personnages. Lafigure 3.4 illustre par exemple l’utilisation de la FFD pour deformer les yeux d’un personnage.

Figure 3.4 – Exemple d’utilisation de la FFD pour la creation des yeux d’un personnaged’animation.

La force de cette methode reside dans sa generalite, car elle peut s’appliquer a tout type

3.1 Modeles descriptifs 53

de surface. Toutefois, les treillis sont generalement de forme simple et reguliere (souvent descubes), ce qui ne correspond pas a la forme complexe des objets animes. De plus, il est difficilede “deviner” les deplacements des points de controle necessaires pour obtenir la deformationsouhaitee.

Dans [Coq90], Coquillart propose la deformation de formes libres etendue (EFFD, ExtendedFFD). L’idee est ici de generaliser le treillis parallelepipedique des FFD a une plus grandevariete de formes. Le treillis est alors defini par l’utilisateur, qui peut ainsi construire unebibliotheque d’outils de deformation. La figure 3.5 illustre un exemple de EFFD obtenu al’aide d’un treillis cylindrique.

(a) Treillis Cylindrique. (b) Deformation du Treillis. (c) Surface deformee.

Figure 3.5 – Deformation par EFFD [Coq90].

Une approche plus generale proposee dans [OCNF02] consiste a definir de maniere auto-matique un treillis qui epouse la forme du modele 3D en utilisant une structure en Octree. Letreillis ainsi obtenu peut alors etre exploite dans un contexte multi-resolution, mais le nombreimportant de cellules rend a mise en œuvre laborieuse.

Quel que soit le type de treillis considere, l’inconvenient majeur des approches par FFDvient de la manipulation indirecte de la surface par un reseau de points de controle dontl’influence sur la surface est peu intuitive.

Afin de s’affranchir de cet inconvenient, les approches par controleurs proposent une ma-nipulation plus directe et intuitive, mise en œuvre a l’aide d’objets geometriques adaptes autype de deformation souhaitee et controlables directement.

3.1.1.2 Deformations par controleurs

Un controleur est defini comme un ensemble de points ou de courbes de l’espace avec unefonction d’influence associee. Une deformation appliquee au controleur engendre alors unefonction de deformation sur l’espace 3 dont l’amplitude est controlee pour tout point par lafonction d’influence.

En general, les fonctions d’influence considerees sont de support fini, afin de garantir uncontrole local de la surface. Le support de cette fonction est appele zone d’influence.

Dans ce cadre, mentionnons tout d’abord l’approche de Yoshizawa et al. qui proposentune famille d’operateurs definis a l’aide d’un ou de plusieurs points de controle [YBS02]. Cesoperateurs sont definis a partir d’un schema de deformation de base, caracterise par un pointde controle et une fonction de deformation dont la forme et l’influence peuvent etre modifieesa l’aide d’un certain nombre de parametres.

Dans le schema de base, un point P d’un maillage est deplace vers sa nouvelle position P ′

a l’aide d’un vecteur de deplacement D qui est fonction de P et du point de controle C :

P ′ = P + D(C,P ) (3.4)

D(C,P ) =γ

σW (C,P ) (P − C) , (3.5)

54 Animation 3D de personnages virtuels

ou W (C,P ) est une fonction de deformation predefinie, donnee par :

W (C,P ) = exp

(−|C − P |α

2ε2

)(3.6)

σ = W (C,Pmin), (3.7)

ou Pmin est le sommet de la surface le plus proche du point de controle C, et γ, α et ε sontdes parametres.

En definissant plusieurs fonctions de deformation, les auteurs mettent ainsi en place unensemble d’outils predefinis qui permettent de produire des deformations differentes et de lescombiner. Un exemple de resultat illustre pour un visage d’humanoıde est presente sur lafigure 3.6.

Figure 3.6 – Deformation geometrique par points de controle [YBS02] : application a un visagehumain.

Singh et Fiume introduisent en 1998 le concept des wires, [SF98], defini comme un ensemblede courbes utilisees pour deformer la surface d’un modele.

Dans ce schema, un controleur de type wire est defini par un quintuplet (C,R, s, r, f) ouC et R sont des courbes parametriques designees respectivement par courbe cible et courbe dereference, s est un scalaire permettant d’effectuer une mise a l’echelle radiale, r est un scalairedefinissant le rayon d’influence autour de la courbe wire, et f : + → [0, 1] est une fonctionde densite caracterisant l’influence de la courbe de reference sur son voisinage. La fonction fet le rayon r definissent alors un volume d’influence autour de la courbe wire.

Soient P un point dans l’espace et pR le parametre de position sur R qui minimise ladistance entre P et la courbe de reference R. La fonction F donnant l’influence de la courbeR sur P est alors definie par :

F (P,R) = f

(‖P − R (pR)‖r

). (3.8)

Generalement, f est choisie decroissante sur [0, 1] et nulle pour toute valeur superieure a 1.La fonction d’influence F est alors nulle au dela du rayon d’influence r, et maximale et egalea 1 pour les points situes sur la courbe de reference R.

La position de chaque point P du volume d’influence est modifiee selon les etapes suivantes :– Calculer le parametre pR minimisant la distance entre la courbe de reference R et le

point P ,– Effectuer une transformation de mise a l’echelle pour obtenir le point Ps :

Ps = P + (P − R (pR)) . (1 + (s − 1).F (P,R)) , (3.9)

3.1 Modeles descriptifs 55

– Appliquer au point Ps une rotation d’angle θ.F (P,R) ou θ est l’angle forme par lestangentes W ′(pR) et R′(pR) aux courbes W et R, et d’axe W ′(pR)×R′(pR), donnant lepoint Pr,

– Translater le point Pr, pour obtenir la position finale Pdef :

Pdef = Pr + (W (pR) − R(pR)) .F (P,R). (3.10)

Figure 3.7 – Deformation a l’aide de courbes wires : application a un visage humain.

Comme dans le cas des FFD, les wires sont une methode de deformation generale applicablea differents modeles de surface, qu’il s’agisse des sommets d’un maillage ou des points decontrole d’une NURBS. La figure 3.7 presente un exemple de deformation obtenu en combinantplusieurs wires pour deformer le modele d’un visage humain.

Dans [ZG98], Zelinka reprend cette idee en imposant l’utilisation de courbes de referencegeodesiques a la surface S de l’objet a deformer. L’influence de la courbe de reference R surun sommet v de la surface est alors definie par une fonction Gaussienne :

ωR = Gaussienne

(dR

r

), (3.11)

ou dR est la distance geodesique entre le point v et la courbe de reference R. Soit Rv le pointde R le plus proche, au sens de la distance geodesique du point v. Soit Cv son correspondant(i.e. le point de la meme coordonnee parametrique) sur la courbe cible C. La nouvelle positionvdef du sommet v est donnee par l’expression suivante :

vdef = v + ωRMTv Mu(Cv − Rv), (3.12)

ou Mp est une matrice definissant un repere local au point p :

Mp = [tpbpnp]T , (3.13)

ou tp est la tangente a la courbe de reference au point p, np est la normale a la surface S enp, et bp = np × tp.

Notons que les tangentes tp sont calculees, pour tout point p de la surface a partir destangentes des points de la courbe de reference, en appliquant un mecanisme de transportparallele [Kre91].

Enfin, signalons qu’un point peut etre affecte par plusieurs courbes wires. Dans ce cas, saposition finale est determinee comme une moyenne des deplacements individuels associes achaque wire, ponderee par les coefficients d’influence correspondants.

56 Animation 3D de personnages virtuels

Figure 3.8 – Deformation a l’aide de courbes geodesiques : application a un dinosaure.

De maniere generale, les deformations par controleurs ont l’avantage d’etre rapides entemps de calcul , tout en offrant un controle aise et intuitif. Les points situes sur les courbes dereference sont transformes en leurs correspondants sur les courbes cibles. Leurs deplacementsdefinissent un champ de deformation continu et decroissant avec la distance a la courbe dereference.

Ce modele est particulierement utile pour realiser des deformations quelconques. Toutefois,dans le cas specifique des mouvements de personnages articules, il est preferable de disposerde modeles plus adaptes a la realite physique, prenant en compte la structure hierarchique deces objets pour en decrire la pose. C’est le cas des modeles par squelette cinematique.

3.1.2 Modeles par squelette cinematique

Le squelette d’un personnage articule est un element cle pour la gestion de ses mouvements.L’animation hierarchique [Kis02], [MFCD99] reproduit pour les objets virtuels ce schemaintuitif emprunte au monde reel.

Le squelette d’un personnage articule est une structure hierarchique sous forme d’arbrecomposee d’un ensemble de nœuds correspondant aux articulations, relies par des arcs cor-respondant aux os. Un nœud terminal, sans enfants, est dit effecteur final. Chaque nœud estcaracterise par un ensemble de parametres de position et d’orientation (qui peuvent etre desangles d’Euler, ou des quaternions [Par03], [Sho85], [Ple88]). Ces parametres sont en generalexprimes par rapport a un repere local, lie au nœud parent du nœud considere. Les posi-tions des effecteurs finaux sont alors deduites en traversant progressivement l’arborescencedu squelette et en multipliant au fur et a mesure les matrices de transformation des nœudstraverses.

Soit θ = θii l’ensemble des parametres de pose du squelette, dit vecteur d’etat du modelearticule. Notons que, dans un contexte dynamique, le vecteur d’etat peut egalement inclure lesderivees des parametres θi par rapport au temps. On parle alors de coordonnees generalisees.

Realiser l’animation d’un modele par squelette revient alors a determiner l’evolution duvecteur d’etat dans le temps.

Les parametres d’animation caracterisent completement le mouvement du squelette. Lasurface de l’objet, appelee peau, doit etre ensuite animee de maniere coherente [MPE], [CHP89],[TSC96], [Tur95]. Cela est realise en specifiant l’influence de chaque element du squelette surla surface du modele [MPE]. On parle alors d’un attachement du squelette a la peau. Cesaspects seront decrits en detail au Paragraphe 3.3.

3.1 Modeles descriptifs 57

3.1.2.1 Cinematique directe

La cinematique directe [WW], [Par03] consiste a specifier le vecteur d’etat a des instantsdonnes dits poses clefs. Pour calculer les positions absolues dans l’espace 3D de chacun desnœuds, le vecteur des positions, note X, est alors donne par une fonction du vecteur d’etatglobal :

X = f(θ). (3.14)

Specifier des vecteurs d’etat represente une tache difficile et peu intuitive puisqu’il s’agitde definir les positions relatives des differentes articulations dans le but d’obtenir une posedonnee. Cette methode peut devenir lourde pour des objets de structure complexe.

L’idee est alors de specifier la position absolue d’un sous-ensemble de nœuds, a partir delaquelle determiner automatiquement le vecteur des parametres de pose. Dans ce contexte, lestechniques les plus utilisees concernent la cinematique inverse et la capture de mouvement.

3.1.2.2 Cinematique inverse

En cinematique inverse [WW], [Par03], l’utilisateur specifie uniquement les positions dansl’espace 3D d’un nombre limite de nœuds. Le plus souvent, il s’agit de specifier les valeurs deseffecteurs finaux.

Notons par Xeff le vecteur des positions 3D des nœuds specifies par l’utilisateur. Afin derealiser l’animation, il faut alors calculer la valeur du vecteur d’etat θ pour l’ensemble desnœuds du squelette verifiant la condition :

Xeff = f(θ). (3.15)

Pour resoudre l’equation 3.15, plusieurs types d’approche sont disponibles. Lorsque lenombre d’articulation est reduit, et dans le cas de certaines configurations particulieres, lesysteme peut admettre une solution directe. Il s’agit des methodes analytiques comme cellespresentees dans [Pre02], [Par03], [Bae01], [Kor86].

Ces approches ont toutefois un domaine d’application tres restreint. La solution consistealors a lineariser le systeme 3.15 par un developpement de Taylor autour d’une solution initialesupposee disponible et notee θ0 :

f(θ0 + δθ) = f(θ0) + J(θ)δθ + ... (3.16)⇒ f(θ0 + δθ) − f(θ0) = J(θ)δθ + ... (3.17)

⇒ δX ≈ J(θ)δθ. (3.18)

Ici, J designe le Jacobien de f , dont les elements sont definis par :

Jij =δfi

δθj. (3.19)

La resolution s’effectue ensuite de maniere iterative a partir d’une valeur initiale de vecteurd’etat θ selon l’equation :

δθ = J+δX. (3.20)

Ici, J+ designe la pseudo-inverse de la matrice J .Toutefois, cette methode se heurte aux difficultes liees aux methodes de resolution iteratives

telles que la convergence vers des minima locaux et la sensibilite a l’initialisation.

Une autre technique consiste en la “descente cyclique des coordonnees”, qui procede parminimisation d’energie iterative en parcourant les articulations dans le sens direct de l’ar-borescence. La methode etant appliquee a chaque articulation separement, la resolution estdirecte a chaque iteration.

58 Animation 3D de personnages virtuels

La figure 3.9 illustre une animation obtenue par cinematique inverse. Les positions deseffecteurs finaux sont ici representees par des spheres rouges. Le mouvement du genou gauche(respectivement du coude droit) est calcule automatiquement a partir de la nouvelle positiondu pied gauche (respectivement de la main droite).

Figure 3.9 – Animation d’un personnage par cinematique inverse realisee a l’aide du logicielREALSOFT [REA].

3.1.2.3 Capture de mouvements

En fonction des applications, un degre de realisme plus ou moins important du mouvementpeut etre requis. Plus ce critere est important, plus la tache de l’animateur devient difficile etdelicate, l’œil du spectateur etant tres sensible aux eventuelles erreurs. Pour cette raison, dansle cas des films d’animation, ou des films melant des acteurs reels a des personnages virtuelles,les actions sont souvent realisees a l’aide de la technique de capture de mouvements [Gle00],[ZH02], [LCR+02]. Cette technique consiste a enregistrer le mouvement effectue par un acteurreel (humain ou animal) a l’aide de capteurs magnetiques ou optiques.

Les systemes magnetiques (Figure 3.10(a)) sont composes d’un emetteur central de champmagnetique et d’un ensemble de capteurs magnetiques que l’acteur doit porter. Ces capteurssont capables de mesurer leur position et leur orientation par rapport a l’emetteur central.

Les capteurs magnetiques limitent les mouvements des acteurs, qui doivent gerer les fils re-liant chaque capteur au transmetteur central. Un compromis doit etre realise entre un nombreimportant de capteurs pour reproduire de maniere plus complete les mouvements, mais quigene l’acteur, ou un nombre plus petit avec une capture moins precise. Dans le cas d’un ac-teur humain, on utilise generalement 11 capteurs (tete, bras, mains, poitrine, dos, chevilles,et pieds).

Les systemes optiques (Figure 3.10(b)) exploitent des capteurs reflectifs appeles marqueurs.En placant ces marqueurs sur les vetements de l’acteur, ainsi qu’a des endroits fixes de la scene,et en filmant a l’aide de plusieurs cameras (generalement 4 a 6), il est possible d’enregistrerles positions des capteurs, qui sont places au niveau des articulations de la personne.

Les marqueurs optiques presentent l’avantage d’offrir a l’acteur une liberte de mouvementtotale, et sont donc plus adaptes a des scenes ou les actions decrivent des mouvements com-plexes. Malheureusement, l’utilisation de cameras se heurte a des problemes d’occlusion. Desproblemes de distinction des marqueurs dans le cas de certains mouvements peuvent egalementapparaıtre.

3.1 Modeles descriptifs 59

(a) Systeme de capture magnetique (extrait de [mel]).

(b) Systeme de capture optique (extrait de [lor]).

Figure 3.10 – Systemes de capture de mouvements.

3.1.3 Techniques d’interpolation temporelle

Les methodes de deformation geometrique et hierarchique permettent de generer des posesclefs qui decrivent les instants clefs du mouvement voulu. Les positions des sommets ou desparametres decrivant la hierarchie sont ensuite calculees par interpolation afin d’obtenir lenombre de poses necessaire pour produire une animation complete.

De maniere generale, les techniques d’interpolation temporelle concernent differents pa-rametres associes a un objet ou une scene 3D comme :

– la pose globale d’un objet modelise dans une scene 3D,– les positions de la camera et des sources de lumiere : les parametres interpoles corres-

pondent alors aux matrices de transformation definissant les position et orientation dela camera au niveau des poses clefs,

– l’apparence d’un objet, comme ses parametres geometriques (pour un maillage parexemple, la position des sommets) ou photometriques (texture, couleurs, etc.)

Soit α un parametre variable dans le temps dont on connaıt la valeur a des instants donnesti. Les couples (ti, αi) sont appeles poses clefs. Les instants ti ne sont pas obligatoirementespaces regulierement dans le temps et le nombre de poses intermediaires necessaires entrechaque couple de poses clefs n’est pas le meme. Il est fonction de l’intervalle temporel [ti, ti+1]

60 Animation 3D de personnages virtuels

precise par l’animateur et du nombre de poses par secondes requises pour la video finale (e.g.25 trames par seconde).

Les methodes d’interpolation visent a determiner les valeurs du parametre α a des instantsdifferents de ceux des poses clefs. L’echantillonnage temporel est souvent regulier entre chaquecouple de poses successives, avec un pas ∆ti donne par le timing de l’action precise parl’utilisateur et defini comme le temps reel occupe par l’action dans le film final (Figure 3.11).

Figure 3.11 – Interpolation de poses clefs.

3.1.3.1 Interpolation lineaire

L’interpolation lineaire represente la methode la plus simple pour obtenir les poses inter-mediaires. La valeur du parametre α anime a l’instant t s’exprime en fonction des poses clefsprecedente αk−1 et suivante αk comme suit :

α(t) = (1 − t)αk−1 + tαk. (3.21)

Cette technique offre l’avantage de la simplicite, mais conduit a des animation mecaniques,qui presentent des trajectoires lineaires peu naturelles, ainsi qu’a des changements brusquesde vitesse. En effet, le pas d’echantillonnage temporel entre les poses successives peut varierd’un intervalle a l’autre, conduisant alors a des vitesses differentes de part et d’autre des posesclefs.

Par ailleurs, les mouvements ainsi obtenus sont peu realistes. Les mouvements des objetsreels suivent en effet des trajectoires continues obeissant a la loi de Newton qui stipule quel’acceleration d’un objet en mouvement est proportionnelle a la somme des forces qui lui sontappliquees. Cela implique que la derivee seconde du vecteur de position des objets existe et estcontinue. Les fonctions d’interpolation doivent donc etre C2 pour representer des mouvementsrealistes. Ainsi, les fonctions polynomiales d’ordre superieur, telles que les courbes de Bezieret les B-splines, fournissent-elles une solution adequate.

3.1.3.2 Interpolation curviligne

L’utilisation des courbes de Bezier est cependant limitee par leur caractere global. En effet,la modification d’une pose clef modifie la trajectoire dans sa totalite. Les courbes B-Splinesoffrent en revanche un controle local qui permet d’ajuster localement les mouvements grace aleur definition par morceaux.

Il est possible d’obtenir une courbe B-spline interpolant les poses clefs [t0, p0; ...; tn, pn] enresolvant le systeme suivant :

p(tj) =n∑

i=0

ciNi,k(tj) = pj , (3.22)

3.1 Modeles descriptifs 61

ou ci = c0, ..., cn] sont les coordonnees des points de controle a determiner.

Ces methodes d’interpolation sont adaptees aux caracteristiques geometriques d’un modele,comme la position des sommets d’un maillage. Toutefois, lorsque l’on souhaite interpoler desparametres de pose 3D, d’autres representations sont preferables. C’est le cas des methodesd’interpolation de quaternions.

3.1.3.3 Interpolation de parametres de pose par quaternions

La pose 3D d’un objet articule est definie souvent par des matrices de rotation 3D de taille3×3. Une interpolation directe des cœfficients de ces matrices ne peut pas etre applicable dansce contexte etant donnee leur interdependance. D’autre part, representer la rotation par troisangles d’Euler et interpoler ces derniers de facon independante conduit a une decompositiondu mouvement en trois rotations autour de trois axes et donc a des animations peu realistes.

Les quaternions [Sho85], [Ple88] sont des representations utilisees pour specifier des rota-tions. Une rotation d’un angle α autour d’un axe d s’exprime par le quaternion :

q =[cos

α

2, sin

α

2d]. (3.23)

Soient u ∈ 3 un vecteur de pose initial, et v le vecteur obtenu par rotation de u selon lequaternion q. En terme de quaternions, cette rotation s’exprime par la relation suivante :

[0, v] = q.[0, u].q−1. (3.24)

Notons que la composition de deux rotations q1 et q2 est donnee par le produit des qua-ternions [Vic01], [DKL98] :

q2 ·(q1 · [0, u] · q−1

1

) · q−12 = (q2 · q1) · [0, u] · (q2 · q1)

−1 . (3.25)

Etudions a present l’interpolation de poses clefs decrites par des quaternions. Notons parq1 et q2 les quaternions decrivant les poses clefs de depart et d’arrivee :

q1 =[cos

α1

2, sin

α1

2· d1

], (3.26)

q2 =[cos

α2

2, sin

α2

2· d2

]. (3.27)

Figure 3.12 – Interpolation de quaternions : interpolation lineaire versus interpolation lineairespherique.

Une interpolation lineaire entre les quaternions q1 et q2 conduirait a des angles de rota-tion non constants, donnant lieu a un mouvement accelere, puis decelere. Ce phenomene estillustre Figure 3.12. Afin d’obtenir une rotation uniforme, il est necessaire de maintenir unenorme unitaire [Vic01], [DKL98] des quaternions pendant le mouvement, ce qui revient a uneinterpolation spherique. Le quaternion a l’instant t est alors donne par :

q(t) =sin(1 − t)θ

sinθq1 +

sintθ

sinθq2, (3.28)

62 Animation 3D de personnages virtuels

ou l’angle θ est defini par :

θ =α2 − α1

2. (3.29)

Dans le cas de plusieurs poses clefs decrites par les quaternions q1, ..., qn, l’interpolationspherique lineaire, decrite precedemment conduirait a une discontinuite des vitesses et destrajectoires au niveau des poses clefs (Figure 3.13(a)).

Afin de resoudre ce probleme, Shoemake [Sho85] a propose une technique d’interpolationiterative inspiree de la definition des courbes B-splines, definie par une suite d’interpolationsspheriques lineaires (Figure 3.13(b)).

(a) Interpolationspherique lineaire

(b) Interpolationspherique curviligne

Figure 3.13 – Interpolations spheriques des quaternions : L’interpolation curviligne est continueau niveau des points clefs, contrairement a l’interpolation lineaire.

Les techniques d’interpolation de poses clefs concernent l’animation d’un meme maillagedont les differents parametres associes varient au cours du temps. Les techniques de meta-morphose [Ale02] generalisent ce principe en abandonnant l’hypothese d’une topologie fixe.

3.1.3.4 Techniques de metamorphose

Les techniques de metamorphose [LV98], [Ale02] visent a deformer graduellement un objetsource en un objet cible de geometrie et de topologie differentes et arbitraires.

Notons par M = (K, V ) un maillage decrit par :– sa geometrie representee par l’ensemble des sommets V = vi,i∈0,n,– et sa topologie representee par l’ensemble K des aretes et des facettes du maillage.Une metamorphose est une transformation d’un maillage source M1 = (K1, V1) en un

maillage cible M2 = (K2, V2) qui necessite la generation d’un ensemble de maillages de tran-sition M(t) = (K(t), V (t)) de M1 vers M2.

Ce probleme est generalement resolu en definissant tout d’abord une correspondance entreles maillages M1 et M2. Cette correspondance est definie par une topologie commune K et denouvelles geometries V (0) et V (1) telles que les surfaces representees par M(0) = (K, V (0)) etM(1) = (K, V (1)) soient respectivement identiques a celles representees par M1 et M2. L’inter-polation entre les maillages M(0) et M(1) est ensuite effectuee pour t ∈]0, 1[. La metamorphoseimplique donc trois etapes principales :

1. Effectuer une mise en correspondance des geometries des maillages M1 et M2. Leplus souvent, celle-ci est realisee a l’aide d’un domaine parametrique commun, note D,qui permet de specifier les sommets des deux maillages par les coordonnees parametriques2D.Dans ce contexte, mentionnons en particulier les techniques de parametrisation spherique[Flo97], [GGS03] qui consiste a definir une bijection entre la surface maillee et la sphereunite.

3.2 Modeles generateurs 63

2. Generer une topologie K commune. Cette etape est souvent realisee en utilisant unsupergraphe des topologies K1,K2, qui constitue une topologie commune aux geometriesdes deux maillages ainsi que de l’ensemble de nouveaux points generes par les intersec-tions des aretes des deux maillages dans le domaine paramerique commun D.

3. Definir les chemins des sommets du maillage M(0) vers le maillage M(1). La cor-respondance etant etablie entre les differents sommets des deux maillages, notons parV (0) la position d’un sommet sur M(0) et V (1) sa position sur M(1). Il s’agit alors dedeterminer la position de chaque sommet en chaque instant t ∈]0, 1[, notee V (t).La solution la plus simple est l’interpolation lineaire, ou

V (t) = (1 − t)V (0) + tV (1). (3.30)

Bien entendu, des methodes d’interpolation plus elaborees (e.g. sous contrainte de nonauto-intersection) peuvent etre egalement considerees pour obtenir des metamorphosesplus fluides.

3.1.4 Conclusion

De maniere generale, les modeles d’animation descriptifs offrent une grande liberte decreation. En effet, ils sont controles en definissant manuellement les donnees qui determinentles mouvements des objets. Ils necessitent cependant une forte interaction et leurs resultatsdependent etroitement de l’habilete et de l’experience de l’utilisateur.

Les modeles generateurs visent a alleger l’interactivite necessaire en automatisant la generationdes mouvements. Ils mettent en œuvre des algorithmes ou des loi predefinies.

3.2 Modeles generateurs

Les modeles d’animation generateurs ont pour objectif de produire des mouvements demaniere automatique. Les mouvements sont calcules par l’ordinateur de maniere a generertoutes les sequences de l’animation sans que l’utilisateur ne specifie de poses clefs.

Les methodes automatiques peuvent etre classees en fonction des donnees sur lesquelleselles s’appuient pour construire les animations virtuelles : methodes procedurales, simulationsphysiques et methodes comportementales.

3.2.1 Methodes procedurales

Les methodes procedurales [Rey82] exploitent des algorithmes predefinis pour generer desanimations. Ceux-ci constituent alors les lois selon lesquelles les objets sont regis.

Ces methodes sont tres utiles pour introduire de l’entropie dans les mouvement a l’aidede methodes statistiques, et sont souvent utilisees pour modeliser des phenomenes naturelscomme les vagues [HNC02] ou de l’herbe [PC01].

3.2.2 Modeles physiques

De facon generale, les modeles physiques [TT96] sont mis en œuvre pour realiser des mou-vements complexes qui obeissent a des lois physiques connues. Ils prennent en compte lesproprietes physiques du modele 3D comme sa masse ou son elasticite, ainsi que les differentesforces internes et externes qui lui sont appliquees telles que la gravite ou la collision avec unautre objet. Le mouvement des objets est alors calcule automatiquement en fonction des loisphysiques precisees. Mentionnons parmi les modeles physiques les modeles dynamiques et lessystemes de particules.

64 Animation 3D de personnages virtuels

3.2.2.1 Modeles dynamiques

Les methodes dynamiques [BW97], [RGL05] procedent selon le meme principe que celuimethodes cinematiques, a la difference que les parametres precises sont lies a la dynamiquedu personnage et non plus uniquement a sa cinetique.

Les methodes dynamiques integrent generalement des lois physiques relatives aux accele-rations lineaires et angulaires. Le mouvement est decrit par les equations dynamiques, etabliesen prenant en compte les forces, les moments de force, les contraintes imposees au systeme,ainsi que les proprietes de masse des objets le constituant.

Le controle de l’animation a l’aide des lois dynamiques permet d’obtenir des mouvementsrealistes et d’alleger le travail de l’animateur. Cette methode ouvre egalement les possibilitespour generer des modeles qui reagissent de maniere automatique a des contraintes externestelles qu’une collision.

Toutefois, les methodes dynamiques requierent une definition precise des forces et des pro-prietes des objets, ce qui represente une tache peu intuitive pour un animateur dont l’objectifest de realiser un mouvement donne et non pas de simuler une situation physique. Par ailleurs,le temps de calcul des animations devient prohibitif pour un modele de hierarchie complexe,ce qui reduit les possibilites d’utilisation des methodes dynamiques. Enfin, les mouvementsainsi obtenus sont reguliers et n’integrent pas la personnalite et le caractere des acteurs, cequi leur donne un effet artificiel peu souhaitable.

3.2.2.2 Systemes de particules

L’animation de systemes de particules [FF01] est souvent utilisee pour modeliser desphenomenes naturels complexes constitues d’un grand nombre d’elements individuels, commela fumee ou l’eau. Les particules constituant ces systemes ont generalement une apparencesimple et se comportent selon des lois physiques relatives a l’environnement du systeme etindependantes des autres particules.

La visualisation d’une agglomeration de particules ainsi modelisees donne l’impressionvisuelle d’un modele complexe. Ainsi, ces systemes ont-ils ete utilises recemment pour animerdes objets comme les cheveux ou la fourrure. Une application plus sophistiquee des systemes departicules consiste en la modelisation de foules ou de groupes ou les particules sont remplaceespar des modeles 3D dont le comportement reste relativement simple.

De maniere generale, les modeles physiques permettent donc de realiser des animationscomplexes et realistes. Toutefois, elles presentent l’inconvenient de produire invariablement lememe mouvement pour une meme situation, ce qui n’est pas le cas dans la realite. Cela est dua l’absence de variabilite entre les differents objets ou acteurs synthetiques. Afin de resoudrece probleme, les methodes comportementales procedent en introduisant des parametres quicaracterisent chaque personnage virtuel.

3.2.3 Methodes comportementales

Les methodes comportementales [Tha96] prennent en compte la personnalite du per-sonnage. Dans un systeme comportemental ideal, le meme acteur realisera le meme typed’action de maniere differente a chaque simulation, et deux acteurs differents la realiserontdifferemment. Cette technique a ete utilisee par exemple par Reynolds [Rey87] pour simuler lecomportement de groupes d’oiseaux ou l’utilisateur specifie la trajectoire de l’oiseau en tete dugroupe et les differentes contraintes de chaque individu tels que la distance minimale/maximaleaux autres elements du groupe. De maniere plus generale, les methodes comportementales sonttres utiles pour animer des groupes ou des foules en introduisant une touche de realisme.

3.3 Standards pour l’animation 3D 65

3.2.4 Conclusion

Les modeles d’animation generiques permettent d’obtenir des animations a la fois com-plexes et realistes. Neanmoins, elles sont peu adaptees dans le contexte des dessins animes 2Dou le realisme des mouvements n’est que peu respecte. En outre, ce domaine d’application estcaracterise par une forte dependance vis-a-vis du style de chaque dessinateur/animateur, cequi est peu compatible avec une animation regie par des lois predefinies ou la touche artistiquereste malgre tout absente.

Pour toutes ces raisons, nous nous sommes orientes vers les methodes descriptives. Celles-cisont d’ailleurs representees dans les standards sur l’animation 3D.

3.3 Standards pour l’animation 3D

3.3.1 H-ANIM de VRML

Les premiers travaux de standardisation pour des modeles 3D de synthese ont ete initiesen 1997 par le groupe VRML [VRM]. L’approche d’animation adoptee est alors l’interpolationde positions clefs pour chaque transformation geometrique elementaire (translation, rotation,...) ou bien pour chaque sommet du modele 3D. Les specificites de l’animation de modelesd’humanoıdes ont ete etablies par le groupe H-Anim [HAN] qui a defini la geometrie du corpshumain comme une structure hierarchique constitue :

– d’un objet humanoıd qui constitue la racine du personnage H-Anim,– d’un ensemble de nœuds representant les articulations du personnage, et organises

hierarchiquement en partant de la racine humanoıd,– d’un ensemble de segments representant les differentes parties du modeles (tels que la

jambe ou le bras), et decrivent leur apparence et leur geometrie,– d’un ensemble de displacers qui specifient les contraintes de mouvement pour chaque

segment,– et d’un ensemble de sites, qui sont des emplacements particuliers pouvant servir pour

attacher des accessoires ou des vetements au personnage par exemple.L’animation de ce modele est effectuee de maniere independante pour chaque segment et peutetre raffinee pour obtenir des deformations locales en modifiant directement la position dessommets.

Cette approche a ete reprise et completee par le standard d’animation Face and BodyAnimation (FBA) de la norme MPEG-4, afin de pouvoir animer des modeles plus generauxet elabores.

3.3.2 FBA de MPEG-4

La norme MPEG-4, developpee par le groupe MPEG (Moving Picture Experts Group)[MPE] vise a creer un cadre commun pour des applications multimedia en definissant desscenes complexes de contenus audiovisuels et d’objets textuels ou graphiques 2D et 3D, ainsiqu’a assurer la transmission et la compression de ce type de scenes.

De maniere generale, un personnage virtuel MPEG est decrit par un ensemble de nœudsorganises de maniere hierarchique. La surface d’un personnage virtuel conforme a la normeMPEG-4 peut etre definie par un ensemble de segments ou parties independantes. La specificationFBA (Face and Body Animation) a mis en place une representation precise de la geometrie etde l’animation d’un personnage virtuel qui utilise a cet effet deux groupes de parametres :

– Un ensemble de parametres relatifs a la geometrie, a la texture et a la hierarchie dumodele FBA, constitue par les parametres de definition du visage FDPs (Face Defini-tion Parameters) d’une part, et par les parametres de definition du corps BDPs (BodyDefinition Parameters) d’autre part. Ces parametres permettent de creer et de decrireun modele FBA en precisant sa forme et sa texture.

66 Animation 3D de personnages virtuels

Figure 3.14 – Hierarchie d’un corps humain dans la norme MPEG-4.

– Un ensemble definissant les parametres d’animation du visage et du corps, qui sontles FAPs (Face Animation Parameters) et les BAPs (Body Animation Parameters).Ces parametres definissent par exemple les degres de liberte des articulations, ou descontraintes d’animation.

Le visage et le corps sont definis et traites de maniere independante et differente dansla specification FBA. En effet, celle-ci specifie pour le visage 84 points clefs caracterisant sageometrie et qui sont utilises pour generer les animations. Ces points (Figure 3.15) corres-pondent a des elements particuliers du visage humain (coins des levres par exemple). L’ani-mation du visage s’effectue soit en utilisant ces positions standardisees, soit en modifiantmanuellement la position des points clefs, et en deformant la surface au niveau des regionsavoisinantes. En effet, il existe des FAP de bas niveau et de haut niveau. Les premiers mettenten œuvre des points clefs qui influencent le maillage lorsqu’ils sont deplaces afin de le deformer,alors que les deuxiemes sont constitues par 6 expressions et 14 visemes predefinis. Les ani-mations sont alors generees en combinant deux ou plusieurs de ces expressions et visemes quiconstituent une base.

Le corps du personnage est quant-a lui represente par un assemblage arborescent de nœudsassocies a des segments du modele dont le nœud racine est le nœud Body, de la meme maniereque dans le schema hierarchique precise par le standard H-ANIM (Figure 3.14). Les parametresd’animation du corps (BAP) definissent les angles de rotation et les proprietes d’animationd’un segment du modele relativement a son nœud parent. Afin de definir l’animation d’unmodele virtuel d’humanoıde, 296 parametres de rotation sont utilises. L’animation du maillages’effectue alors en appliquant a chaque segment du modele les transformations qui lui sont

3.3 Standards pour l’animation 3D 67

Figure 3.15 – Standard FBA : Points clefs definissant l’objet visage [MPE].

associees.

Figure 3.16 – Modele virtuel conforme au standard FBA (image extraite de [LKG+03]).

L’animation d’un personnage ainsi segmente aboutit souvent a des deconnexions au niveaudes jointures. Ce probleme est gere en utilisant une structure de donnees dediee : les BodyDeformation tables (BDT), qui specifie les deplacements de certains points particuliers dupersonnage, dont notamment les sommets situes aux frontieres de segments adjacents. Lafigure 3.17 illustre la difference entre une animation obtenue sans et avec utilisation des BDTs.Le standard ne precise pourtant pas comment obtenir ces tables de deformation.

3.3.3 SMS de MPEG-4

La specification SMS (Skeleton, Muscle and Skin) [Pre02] du standard MPEG-4/AFX[PP04] est apparue dans le but de resoudre cette problematique. Elle est fondee sur une

68 Animation 3D de personnages virtuels

Figure 3.17 – Standard FBA : animation d’un doigt sans et avec utilisation des Tablesde Deformation du Corps (BDT). L’utilisation des tables permet d’eliminer la deconnexionpresentee dans le cadre d’une animation classique du modele segmente.

representation plus generique que le schema FBA, ou un personnage est constitue de troiscomposants : un squelette, un ensemble de muscles et une peau ou enveloppe exterieure. Cetterepresentation en multi-couches a pour but de separer les animations relatives aux articulationsdes deformations locales. Les animations ainsi obtenues etant inspirees des modeles humainet animal reels, elles donnent un resultat plus realiste.

Afin d’effectuer l’animation, la surface d’un modele n’est plus simplement segmentee engroupes de points, mais les sommets sont animes en fonction du ou des squelettes et du oudes muscles desquels ils dependent. L’influence de chaque segment de squelette ou de musclesur chaque sommet du modele permet ainsi de deduire le deplacement de ce sommet a partirdes transformations subies par les squelette et/ou les muscle du modele.

Notons par Ω = v0, v1, ..., vn l’ensemble des sommet du maillage M(Ω), et par Ωi un sous-ensemble non vide de Ω. Une fonction de deformation locale ϕi : Ω → 3 permet de definir ledeplacement d’un sommet v ∈ Ωi vers sa nouvelle position v + ϕi(v). Les deformations ainsidefinies s’appliquent aux sommets selon le principe de superposition de maniere a ce qu’unsommet v ∈ Ωi ∩ Ωj soit deplace de ϕi(v) + ϕj(v).

Un modele de deformation de base uniforme est utilise pour les deux structures squeletteet muscle. Ce modele exploite une structure generale : les controleurs de deformation, definispar

– un support S associe a un objet geometrique de dimension n qui controle la deformation(os ou muscle par exemple),

– un volume d’influence V (S) associe a S,– et une mesure de propagation d’influence µ, definie sur V (S) et caracterisant les pro-

prietes de deformation dans ce volume d’influence.Soit ψi(v) l’ensemble des elements de Si affectant le sommet v ∈ Ωi. Appliquer une trans-

formation Ti au controleur Ci induit la fonction de deformation φi definie sur Ωi par :

∀v ∈ Ωi, φi(v) = µi(v)∑

ξk∈ψi(v)

ωk [Ti(ξk) − ξk] . (3.31)

Ce modele de deformation permet de gerer de maniere homogene differents types d’animationobtenues pour differentes dimensions du support de controleur utilise. Le choix d’un controleurde deformation approprie est par consequent determine par deux elements importants : ladimension et la complexite de representation de son support d’une part, et la forme du volumed’influence qui lui est associe. Les controleurs utilises par le standard SMS sont de dimension 1 :il s’agit de segments de droite dans le cas du squelette et de courbes NURBS pour les muscles.Les deformations du maillage sont alors obtenues par transformation rigides du squelette et/oupar deformation des muscles.

3.3 Standards pour l’animation 3D 69

3.3.3.1 La couche squelette

Le squelette d’un personnage virtuel SMS est compose d’un ensemble d’os, definis commeun segment de droite de longueur l et caracterise par :

– les transformations geometriques, qui definissent la position de l’os relative a son parentdans la hierarchie du squelette,

– un modele d’influence definissant la relation entre les mouvements du squelette et ceuxde la couche peau,

– et des contraintes de cinematique inverse.L’influence d’un os sur les sommets du maillage depend de deux parametres : la mesure

de propagation d’influence, et le volume d’influence. Dans le cas du squelette, la definition dela mesure d’influence est partitionnee sur trois domaines 3.32 :

– un domaine interieur Zint qui represente le noyau ou les sommets se voient attribuer uneinfluence maximale et ou ils suivent par consequent de maniere rigide les mouvementsdu squelette,

– un domaine exterieur Zext ou l’influence de l’os considere s’annule,– et un domaine median Zmed ou la mesure d’influence evolue graduellement. Cette pro-

pagation s’effectue de maniere symetrique par rapport au segment representant l’os, etdepend de la distance du sommet a ce dernier.

Pour un point de l’os situe a la distance d de l’origine de ce dernier, la mesure d’influencegeneree en la position x ∈ 3 est alors decrite par :

∀d ∈]0, 1[, µd(x) =

⎧⎪⎪⎨⎪⎪⎩

1 si x ∈ Zint

f

(δ(x,Zext)Rd − rd

)si x ∈ Zmed

0 si x ∈ Zext

, (3.32)

ou δ(x,Zext) est la distance euclidienne entre x et Zext, rd et Rd caracterisent les domainesd’influence au niveau d de l’os, et f est une fonction choisie par l’utilisateur parmi un ensemblede fonctions predefinies : x3, x2, x, sin(π

2 x),√

x et 3√

x.La mesure d’influence generee par les extremites de l’os (pour d = 0 ou d = 1) se propage

dans l’espace delimite par deux demi-spheres de centre l’extremite consideree et de rayons r0

et R0 (respectivement r1 et R1) comme l’illustre la figure 3.18(a).Un controleur de deformation de type os subit uniquement des transformations affines.

Dans le cadre de l’animation de caracteres virtuels, la transformation la plus utilisee est larotation, qui definit l’orientation d’un os par rapport a son parent hierarchique sur le sque-lette. Des transformations moins courantes telles qu’une mise a l’echelle peuvent cependantetre utilisees, en particulier dans le cadre des dessins animes ou des effets de style commel’aplatissement ou l’inflation d’une partie du modele, voire du modele entier sont courants.

Dans le standard SMS, les transformation geometriques d’un os bi sont decrites de manieregenerique par une matrice Ti de dimension 4 obtenue par la formule suivante :

Twi = TRwbi.R

wbi.Swbi, (3.33)

ou TRwbi, Rwbi et Swbi definissent respectivement la translation, la rotation, et la mise enechelle de l’os exprimees dans le systeme de coordonnees absolu.

A partir des transformations definies grace au squelette, et des volumes et mesures d’in-fluence associes a chaque os, les deplacement des sommets appartenant a la couche peaupeuvent etre deduites selon le principe de superposition en appliquant l’equation 3.31.

Cette technique permet de gerer de maniere continue et graduelle l’animation du modele,en particulier au niveau des articulation, et d’eliminer ainsi l’effet mecanique et discontinu desanimations presentes dans le schema FBA.

70 Animation 3D de personnages virtuels

(a) Influence d’un squelette (b) Influence d’un muscle

Figure 3.18 – Controleurs d’animation BBA dans la specification SMS de MPEG-4 [Pre02].

3.3.3.2 La couche muscle

Les deformations locales sont gerees par la couche muscle qui beneficie d’une modelisationplus complexe et plus souple que le squelette. En effet, un muscle est represente par une courbeNURBS ; le volume d’influence correspondant est genere par un cercle de rayon r se deplacantle long de cette courbe. La mesure d’influence est alors definie sur deux zones, et est donneeen un point x de l’espace par :

µ(x) =

⎧⎨⎩ f

(r − δ (x, ψ(x)

r

)si δ (x, ψ(x) ≤ r

0 si δ (x, ψ(x) > r, (3.34)

ou δ(x,Zext) est la distance euclidienne, f est une fonction choisie par l’utilisateur parmila meme famille de fonctions predefinies que dans le cas du squelette, et ψ est la fonctionattribuant a x un point correspondant sur la courbe du muscle. La figure 3.18(b) illustre unmuscle et sa zone d’influence.

Le muscle etant modelise par une courbe NURBS, il jouit d’un certain nombre de pa-rametres qui peuvent etre modifies independamment les uns des autres, et dont l’influence surla forme finale du muscle est differente. Il s’agit en effet de la position des points de controle,des poids associes a ces derniers, et du vecteur des nœuds. Une etude detaillee de l’influencede chacun de ces elements sur la courbe NURBS est presentee dans [PT95]. Notons que lepositionnement des points de controle est un moyen intuitif et rapide de deformer une courbeNURBS, celle-ci etant par definition une approximation de la poly-ligne definie par ces points.La modification des valeurs des poids et des nœuds affecte quant-a elle la maniere dont lespoints de controle sont approches.

Les deformations subies par la courbe de muscle se repercutent ensuite sur la couche peauau niveau des sommets contenus dans la zone d’influence, et ce, selon le schema general definipar l’equation 3.31.

3.4 Conclusion 71

3.3.3.3 Conclusion

Afin de pouvoir completer les standards l’ayant precede, le schema SMS integre les modelessegmentes en utilisant comme segments de squelette l’enveloppe d’un segment anatomique.Ces derniers etant animes de maniere rigide, ils peuvent en effet etre consideres comme dessquelettes.

FBA SMSType de modele Modele segmente Modele seamlessHierarchie Standardisee GeneriqueMethodes dedeformation

Cinematique directe Cinematique directe,Cinematique inverse,

Interpolation de poses clefsParametresd’animation

296 pour le corps, 68 pour levisage

Nombre de parametres libre

Tableau 3.1 – Tableau comparatif des standards FBA et SMS [Pre02].

De plus, d’un point de vue animation, la representation hierarchique permet de decrire despersonnages de forme quelconque et de s’affranchir des contraintes specifiques aux humanoıdesdu standard H-ANIM. Cela procure a ce standard plus de souplesse et de generalite, d’au-tant qu’il integre les modeles segmentes du type FBA ainsi que les structures hierarchiqueshumanoıdes du type H-ANIM. MPEG-4 est le standard le mieux adapte a des applications dutype dessins animes ou les personnages peuvent etre purement imaginaires, et ou la person-nification est souvent utilisee pour animer des objets comme une armoire ou un arbre de lameme maniere qu’un humain.

Un autre avantage offert par le schema d’animation par squelette (Bone Based Animationou BBA) consiste en la gestion des articulations qui s’effectue de maniere continue et naturelle(Figure 3.19. Les animations ainsi obtenues sont plus fluides et semblent realistes. Par ailleurs,l’introduction de la couche muscle elargit le spectre des deformations possibles et facilite leprocede de deformation qui s’effectuait generalement en modifiant les sommets manuellementautant dans le cadre des standards precedents qu’en utilisant les logiciels de modelisation etd’animation [MAY][MAX].

Enfin, contrairement au standard FBA dont les animations sont uniquement effectuees al’aide de la cinematique directe, SMS est compatible avec la cinematique inverse et l’interpo-lation de poses clefs. L’integration de l’animation par metamorphose est quant-a elle en coursde realisation.

En resume, SMS est le standard le plus complet comme le montre le tableau 3.1, offrantun plus grand nombre de possibilites a la fois en termes de modelisation geometrique, de choixde la representation des surfaces, et en d’animation. Cela en fait l’outil le plus approprie et leplus adapte pour des applications de dessins animes. Nousle retenons donc pour notre etude.

3.4 Conclusion

Prenant en consideration la contrainte de conformite a un standard d’animation, et etantdonnee la superiorite du standard AFX et son adequation a nos objectifs, il devient necessairede prendre en compte les restriction que cela impose d’un point de vue modele de surface utilise.En effet, l’animation BBA n’est actuellement prise en charge par le standard que pour lessurfaces maillees. Il en decoule que, quel que soit le choix de methode de reconstruction effectue,les modeles doivent etre convertis en maillages avant de proceder aux etapes d’animation.

D’un point de vue animation, les methodes descriptives semblent etre les plus approprieesaux dessins animes 2D puisqu’elles utilisent des poses clefs (c.f. Tableau recapitulatif 3.4),

72 Animation 3D de personnages virtuels

(a)

(b)

Figure 3.19 – Animation d’un personnage virtuel : Gestion des articulations pour un modelesegmente (3.19(a)), et pour un modele seamless anime selon le standard SMS (3.19(b)) [Pre02].

Methoded’animation

Donnees d’entree Loi d’evolution

Modelesdescriptifs

Interpolation deposes clefs

Poses clefs desparametres

Interpolation(curviligne)

Metamorphose Poses clefs desmodeles

Metamorphose

Modelesgenerateurs

Capture demouvement

Mouvements reelscaptures

Plaquage parcorrespondance

Methodesdynamiques

Forces Lois physiques

Methodesprocedurales

Objectifs Lois/Algorithmes

Tableau 3.2 – Methodes d’animation.

3.4 Conclusion 73

ce qui concorde parfaitement avec le mode de travail traditionnel des animateurs 2D. Cesdifferentes methodes sont appliquees le plus souvent aux maillages ce qui confirme notre choixde representation finale des surfaces.

74 Animation 3D de personnages virtuels

Chapitre 4

Reconstruction 2D/3D depersonnages virtuels

Resume

Ce chapitre presente les differentes methodes developpees pour la reconstruction de per-sonnages virtuels 3D a partir de dessins 2D. Ces approches s’appuient sur une premiereapproximation grossiere du modele 3D, obtenue a l’aide d’une enveloppe visuelle genereepar intersection de volumes a partir des dessins du turnaround. Le processus de reconstruc-tion volumique est realise par partie de l’objet et exploite une segmentation fournie par lesdessinateurs. Afin de construire a partir de cette enveloppe visuelle un modele maille sanscoutures, deux approches differentes ont ete developpees.

La premiere utilise une representation intermediaire par surfaces NURBS, triangulees par lasuite et assemblees en un unique maillage seamless, compatible avec le standard d’animationMPEG-4. La modelisation NURBS est bien adaptee a des objectifs de raffinement et dedeformation locale de l’objet reconstruit. En revanche, generer des maillages sans couture apartir de modeles NURBS a multiples composantes necessite la mise en œuvre de techniquesd’assemblage, couteuses en temps de calcul.

Afin de s’affranchir de cet inconvenient, une deuxieme approche est proposee. Des modelessans couture sont generes directement a partir du modele volumique en exploitant lesmecanismes de subdivision et de triangulation de Delaunay.

Dans les deux cas, un squelette d’animation MPEG-4 est utilise pour specifier la hierarchieet les relations d’adjacence entre les differentes parties de l’objet.

Mots clesReconstruction 2D/3D, Shape from Silhouette, Enveloppe visuelle (Visual Hull), Intersec-

tion de volumes, Modele volumique, Surfaces NURBS, Maillage seamless, Blending, Triangu-lation de Delaunay, Subdivision.

75

76 Reconstruction 2D/3D de personnages virtuels

L’objectif de l’etape de reconstruction 2D/3D est d’obtenir a partir des images du turna-round fournies par les dessinateurs un maillage 3D sans couture, compatible et adapte a uneanimation MPEG-4.

La problematique de reconstruction de modeles 3D de personnages virtuels a partir dedessins 2D manuels presente un certain nombre de specifites qui la distinguent nettementd’autres domaines d’application impliquant des methodologies de reconstruction 2D/3D.

Parmi les contraintes fortes liees a notre application, mentionnons que :– N’est disponible qu’un nombre tres reduit de dessins (2 a 4 generalement) representant

le personnage sous differents angles de vue.– Les eventuelles interactions utilisateur doivent etre entierement 2D, pour respecter les

pratiques traditionnelles de travail des artistes createurs.– Par leur nature artisanale, les dessins utilises presentent un certain nombre d’incoherences

(Figure 4.1), ce qui necessite un processus de reconstruction tres souple, permettant decorriger les erreurs induites par ces incoherences.

(a) Turnaround du personnage Titeuf. (b) Turnaround du personnage Fred.

Figure 4.1 – Incoherences entre poses : les mains de Titeuf sont dessinees avec les paumestournees vers l’avant sur la vue de face alors qu’elles sont collees au corps sur les autres vues.Sa crete est redessinee presque a l’identique sur les 3 vues differentes. Fred marche dans lavue de profil alors qu’il est dans une pose statique dans les vues de face et de dos.

Ces contraintes specifiques rendent les techniques de reconstruction classiques peu adapteesa cette problematique. En effet, les methodes de reconstruction de la litterature exploitentdifferents types d’information. Il s’agit soit de l’information de texture (dans le cadre desapplications de type shape from texture) [Gar93], [MR97], soit de l’information de mouvement,dans le contexte des applications de suivi et de reconstruction 2D/3D a partir de sequencesvideo (approches shape from motion) [BWW94], [YS03].

Dans tous ces cas, un nombre eleve d’images est suppose disponible, ainsi qu’un modeleexact de camera et de projection. Dans notre cas, aucune de ces informations n’est disponible :les personnages dessines sont statiques et la texture est le plus souvent absente.

Une autre famille d’approches exploite une bibliotheque de modeles generiques, qui sontensuite deformes de maniere a correspondre aux images disponibles. Dans le cadre des dessinsanimes, la grande variabilite des modeles dessines rend ce type d’approche inenvisageable.

Cet ensemble de difficultes a contribue a l’emergence d’une nouvelle famille d’approchesen reconstruction 2D/3D, specifique aux dessins manuels. Le paragraphe suivant presente unetat de l’art de ces differentes approches.

4.1 Reconstruction de modeles 3D a partir de dessins manuels2D : etat de l’art

La reconstruction de modeles 3D de forme libre a partir de dessins manuels 2D representeun domaine de recherche tres recent, avec des applications aussi diverses que la conception

4.1 Reconstruction de modeles 3D a partir de dessins manuels 2D : etat de l’art 77

assistee par ordinateur, les productions d’animation ou les outils d’illustration pour la mode,la botanique ou l’architecture. La difficulte principale consiste a determiner un modele 3D apartir d’une information 2D incomplete, ce qui est un probleme mathematiquement mal pose.

Les premiers outils developpes proposent des systemes interactifs dedies a la reconstruc-tion ou a la reconnaissance de modeles geometriques dans le cadre d’applications telles quel’architecture ou la conception de pieces manufacturees. Ces interfaces utilisent souvent destechniques de modelisation gestuelle ou les mouvements effectues par la souris ou le styletd’une tablette sont classes et interpretes a l’aide une bibliotheque de gestes predefinis.

Ainsi, dans [MSK02], des configurations predefinies de dessins 2D sont-elles reconnues parun systeme de reconstruction 2D/3D qui interprete le dessin et genere un maillage 3D. Ici, uneconfiguration de dessin est definie par un graphe d’aretes constitue d’un nombre determine decourbes se rejoignant en des points de jonction (qui correspondent aux sommets de l’objet 3Ddessine). Une analyse des dessins est effectuee pour determiner le nombre de courbes et leurspositions relatives afin de construire le graphe d’aretes associe. Cela permet de verifier si ledessin correspond a une configuration predefinie et de calculer alors les positions 3D des som-mets de l’objet. Les faces sont ensuite definies a l’aide des courbes 2D dessinees en employantdes contraintes de symetrie. Bien que la bibliotheque des graphes d’aretes puisse etre etendue,les objets ainsi reconstruits restent toutefois simples en raison des contraintes imposees sur lesmodeles (symetrie du modele, face arriere et socle plans). Cela limite considerablement sonusage pour la creation de personnages virtuels de dessin anime.

Le systeme SKETCH [ZHH96] combine l’utilisation des gestes de la souris avec la recon-naissance geometrique pour creer et modifier des modeles 3D. SKETCH definit une grammairegestuelle qui permet de creer des primitives d’extrusion et d’appliquer des operations de typeCSG 1, pour combiner a l’aide d’operateurs booleens (i.e. reunion, intersection, soustraction)des primitives de forme elementaire en objets plus complexes.

Quick-Sketch [EHBE97] est un systeme similaire exploitant une modelisation de surfaceparametrique. Les modeles sont reconstruits a l’aide de primitives d’extrusion, des surfacesde revolution, ou des surfaces reglees 2 [FvDFH97], ce qui permet de creer une plus grandediversite de formes. La complexite des objets crees avec ce systeme reste toutefois limitee.

D’une facon generale, la forme des objets reconstruits a l’aide de ce type de systemes restesimple, ce qui les rend peu interessants pour des applications telles que le dessin anime.

Une deuxieme famille d’approches a pour objectif de construire des modeles de formelibre, en s’appuyant sur des hypotheses plus ou moins arbitraires concernant la forme desobjets dessines : symetrie, epaisseur...

Dans ce cadre, mentionnons tout d’abord le systeme Teddy [IMT99], qui permet de recons-truire un modele 3D maille a partir d’un unique dessin 2D. L’information de profondeur estici determinee a partir du squelette de l’objet sous l’hypothese que les objets dessines verifienttoujours une relation de proportionnalite entre leur epaisseur et leur largeur.

A partir d’une forme simple, le systeme affine de maniere incrementale le personnage gracea une boıte d’outils de manipulation incluant : navigation 3D, decoupage de modeles, ajoutde nouvelles parties, greffe de composantes predefinies ou disponibles dans d’autres modeles.

Bien que le systeme arrive a creer des personnages de forme libre, leur forme reste toutefoistres elementaire. En outre, creer des personnages plus elabores necessite un volume importantd’interaction utilisateur.

Owada et al. [ONNI03] proposent une interface similaire a celle de Teddy, pour modeliserdes objets de forme libre, presentant en particulier des structures internes. Les modeles 3Dsont ici traites sous la forme volumique, de maniere a faciliter les operations d’edition et deconstruction de type CSG.

1Constructive Solid Geometry2Cas particulier de surfaces Hemitiennes

78 Reconstruction 2D/3D de personnages virtuels

Dans [Kuk04], Kukelova propose une interface similaire qui reconstruit des surfaces deconvolution a partir d’un unique dessin 2D. Une analyse des courbes 2D de contour permetde determiner un squelette polygonal utilise pour definir une surface de convolution. L’ap-proche met en œuvre une etape d’ajustement global minimisant une fonctionnelle d’energiequi caracterise la distance entre la surface globale (definie par la somme ponderee des sur-faces prealablement calculees) et les positions 3D des points du contour. Cette etape permetainsi de controler des differentes primitives de surface associees aux segments independantsdu squelette.

Cette approche presente l’avantage d’hybrider une modelisation de surface par primitiveset une construction hierarchique par squelette morphologique. En revanche, la procedure finaled’ajustement global, realisee par minimisation aux moindres carres non lineaire est d’autantplus couteuse en temps de calcul que le nombre d’elements du modele est eleve.

Dans [KHR02] et [AJ03] (systeme BlobMaker), des blobs sont reconstruits a l’aide de sur-faces implicites variationnelles [TO99]. Dans [KHR02] la scene est organisee en une structurehierarchique, de maniere a deplacer et editer plusieurs objets en meme temps. Un outil decombinaison de primitives est egalement disponible. Il permet, a l’aide de courbes guides, depreciser la forme du blending au voisinage des surfaces assemblees. Blobmaker realise la re-construction 3D a l’aide d’une technique inspiree du systeme Teddy par dilatation des courbesdessinees. Des operateurs d’assemblage et de correction des contours offrent une grande libertede manipulation.

Dans [Kar01], la reconstruction 2D/3D utilise les surfaces implicites variationnelles. Ici,l’etape de dilatation est fondee sur des regles heuristiques, qui exploitent une analyse prealabledes contours 2D, au travers d’une detection de points caracteristiques. Ici, deux classes depoints sont definies : les point en T, correspondant a l’intersection de deux lignes qui formentla lettre “T”, et les points corne (cusp points), sont des points du contour dont la tangentea la surface coıncide avec la direction de vue. Ces points sont utilises afin de completer lescontours caches a l’aide d’une minimisation d’energie. Les contours caches obtenus sont ensuitecombines aux contours initiaux sous forme de contraintes lors de la reconstruction 3D.

Les surfaces generees sont toutefois peu lisses au niveau des contours caches et des jonc-tions entre primitives. Malgre l’exploitation des contours caches qui apporte une informationsupplementaire quant a la forme de l’objet dessine, disposer d’une seule vue est trop limitatifpuisque les defauts de reconstruction sont localises sur les parties non visibles.

Dans le cadre specifique des dessins animes, DiFiore et al. proposent dans [FR02] unemethode de reconstruction 2D/3D par modeles 3D simplifies. L’idee est d’exploiter les esquissespar formes simplifiees de personnages, fournies par les createurs dans la phase de specification(cf. Chapitre 1, Section 1.1, Figure 1.1). Ces formes sont utilisees pour generer des surfacesde revolution, ensuite assemblees en un modele 3D simplifie du personnage.

Dans [ZS03], les auteurs exploitent une modelisation par surfaces implicites (blobs). Lamethode offre l’avantage de pouvoir attacher les differents elements de detail du dessin initial(moustache du chat, ou ridule...) au modele 3D simplifie qui joue alors un role de support.Les reprojections du modele ainsi cree conservent donc les details du dessin initial, ainsi queson aspect manuel. Afin d’attacher les courbes manuellement dessinees, celles-ci sont d’abordclassees en courbes de silhouette (contour), courbes geodesiques, ou courbes sortant de lasurface. Un point ou un ensemble de points d’attache sont alors generes en fonction de la classede la courbe consideree. Pour une courbe de silhouette, les points d’attache sont des pointschoisis sur le contour apparent de la surface 3D. Pour une courbe geodesique, un echantillonde points uniformement distribues sur la partie visible de la surface est exploite. Enfin, pourune courbe sortante, un seul point d’attache est positionne sur la surface.

De maniere generale, ces approches presentent l’inconvenient d’etre peu adaptees pourmodeliser des formes pointues (sharp features).

4.1 Reconstruction de modeles 3D a partir de dessins manuels 2D : etat de l’art 79

Certaines approches de reconstruction 2D/3D a partir de dessins manuels offrent a l’utili-sateur la possibilite de definir la profondeur du modele. Le principe consiste a exploiter unecourbe centrale, deux courbes de contour, et une troisieme courbe de profil a partir de laquellela profondeur du modele est determinee.

Dans [Gri99] et [KHR04], les auteurs appliquent ce concept aux surfaces implicites enutilisant des courbes de profil dessinees en 3D par l’utilisateur.

Dans [Gri99], Grimm propose un modele de construction de surfaces implicites fonde surdes cylindres generalises implicites. Cette representation est decrite par une ou deux courbes3D centrales, couplees soit a des courbes de section, soit a des profils.

Dans [KHR04], l’approche de reconstruction multi-vues proposee exploite le meme modelede surface implicite, pour realiser des operations de type CSG. Ici, la courbe centrale est re-construite en 3D a partir de 2 vues de projection a l’aide de techniques de geometrie epipolaire.Deux courbes de section sont ensuite dessinees par l’utilisateur sur deux plans orthogonaux ala courbe centrale. Les courbes de section sont interpolees de l’ensemble d’echantillons ainsicalcules, un blob est reconstruit par surfaces implicites variationnelles.

Ces deux approches offrent un large eventail de surfaces a faible cout d’interaction. Cepen-dant, elles impliquent une manipulation en 3D des courbes dessinees, necessaire pour definirles courbes de section.

Afin de s’affranchir de cet inconvenient, dans [IITS04] et [CSSJ05], les courbes de sectionsont calculees a partir de dessins uniquement 2D.

Dans [IITS04], Ijiri et al. construisent d’abord un modele 3D a partir des courbes centraleet de contour. Le modele est ensuite deforme selon la direction de vue a l’aide de la courbede profil, deduite par symetrisation a partir d’une courbe 2D dessinee de maniere a relierdeux points des courbes de contour. L’interface est proposee dans un contexte de creation demodeles botaniques. Elle permet de generer rapidement des feuilles et des petales.

Dans [CSSJ05], un modele de surface parametrique est defini a la fois par la courbe centrale,les courbes de contour, et les courbes de section. Ici, les courbes de section sont calculees enutilisant les courbes centrale et de contour. La forme de la courbe de section est par defautcirculaire, mais peut etre modifiee conformement a une courbe 2D plus complexe, de la mememaniere que dans [IITS04]. Des outils interactifs de deformation sont egalement proposes. Ilss’appliquent soit au plan de dessin soit aux courbes de section calculees. Ainsi, une plus grandevariete de formes peut-elle etre obtenue.

Cette approche de reconstruction est tres attractive, en particulier en raison de l’inter-activite simple et purement 2D proposee. Neanmoins, la definition des objets a l’aide dedeux courbes de contour ne permet pas de modeliser des objets articules. En outre, le modede definition du profil par une unique courbe simple est trop elementaire pour specifier desformes plus complexes, notamment dans le cas ou le profil n’est pas regulier. Un visage parexemple presente des variations du profil au niveau des yeux, du nez et du menton, ce qu’uneseule courbe de profil ne peut pas representer.

Enfin, dans [BCCD04], une approche de reconstruction 2D/3D a partir d’images de pro-fondeur (i.e. des images dont les niveaux de gris representent l’information de profondeur) estdecrite. Les formes dessinees sont tout d’abord echantillonnees regulierement, puis des surfacesmaillees sont generees a partir des points ainsi obtenus. Ces maillages sont ensuite deformespar des deplacements donnes par les niveaux de gris des images.

Bien que la technique offre une plus grande liberte de dessin que les approches precedemmentdiscutees (pas de contraintes sur les contours, par exemple), elle presente peu d’interet d’unpoint de vue de la creation artistique : il est en effet difficile de generer des images de profon-deur pour des formes libres. En outre, les surfaces reconstruites ne sont pas continues, et laqualite du maillage reste mediocre en raison de l’echantillonnage regulier et grossier applique.

De maniere generale, les methodes existantes traitent le probleme de la reconstruction

80 Reconstruction 2D/3D de personnages virtuels

a partir de dessins manuels 2D soit a partir d’une vue unique, soit en utilisant des modesd’interaction 3D. Dans les deux cas, la difficulte principale, liee au manque d’information 2D,est resolue a l’aide d’hypotheses relatives a la forme des objets reconstruits, souvent supposeeronde et simple. Ces hypotheses sont restrictives dans le contexte du dessin anime ou lesformes representees sont tres variables. Or, les turnaround sont composes generalement dedeux a quatre vues, ce qui constitue une information supplementaire importante. L’utilisationde ces vues permettrait de modeliser une plus grande variete de formes.

Notons que, quels que soient le nombre de vues et la technique de reconstruction utilisee,l’information 2D restera trop incomplete pour pouvoir reconstruire a l’identique un modelede synthese a partir de ses projections 2D. En outre, la creation d’un personnage est souventun processus multi-etapes ou les dessins sont modifies localement pour ajouter des detailsou modifier un modele a partir d’un autre. Pour cette raison, il est indispensable de dis-poser d’une representation de surface aisement controlable, permettant de reajuster/rectifierinteractivement le modele 3D. Dans ce contexte, les surfaces parametriques, en particulier lessurfaces NURBS nous semblent, contrairement aux surfaces implicites, etre appropriees graceau controle local qu’elles offrent, ainsi qu’a leur continuite intrinseque. De plus, la proprietede l’enveloppe connexe (volume contenu dans le polyedre convexe defini par ses points decontrole) pourra etre exploitee pour definir le maillage de controle a partir de l’enveloppevisuelle volumique.

Nous proposons une methode de reconstruction qui met a profit les differentes vues dispo-nibles. Elle implique les trois etapes suivantes (Figure 4.2) :

1. Il s’agit tout d’abord de determiner un volume englobant du personnage, constitue parson enveloppe visuelle (Visual Hull - VH) [SCMS01], [Lau99], definie comme l’intersec-tion des volumes d’extrusion asocies a chaque projection. Ce volume d’intersection inclutl’ensemble des points susceptibles d’appartenir a l’objet projete.

2. La seconde etape consiste a construire une surface NURBS approchant l’enveloppe vo-lumique ainsi obtenue. Cette etape assure la flexibilite du processus de reconstruction,les modeles NURBS etant fortement adaptees a la procedure interactive de raffinementet de deformation.

3. Enfin, la derniere etape concerne la construction, a partir des surfaces NURBS ainsicreees, d’un modele maille seamless, adapte aux objectifs d’animation MPEG-4 et derendu.

Detaillons a present l’etape de reconstruction volumique.

4.2 Reconstruction de l’enveloppe visuelle

Une premiere approximation de la forme de l’objet est constituee par l’enveloppe visuelle,construite comme suit. Notons par Ij , 1 < j ≤ N l’ensemble des vues de projection du turna-round. Le modele de projection est ici orthogonal, et les angles de vue de chaque projectionsupposes connus. A chaque image de projection Ij , on associe un volume d’extrusion, noteV extrusion

θjet defini par :

V extrusionθj

=(x, y, z) ∈ 3|πθj

(x, y, z) ∈ Oj

, (4.1)

ou :– θj represente l’angle de vue associe a l’image de projection Ij ,– πθj

designe l’operateur de projection selon l’angle de vue θj ,– Oj represente la region support de l’objet dans l’image de projection Ij :

Oj = (u, v)|Ij(u, v) = 1 . (4.2)

4.2 Reconstruction de l’enveloppe visuelle 81

utilisateur

Déformationsous

contraintes 2Dsections

surface par

Construction deContraintes

Modèle NURBS 3D

Modèle maillé 3D seamless

Vue 2D #1

Calibration

Alignement

...

Enveloppe visuelle volumique

Modélisation NURBS 3D

Intersection de volumes

Animation Génération d’un maillage seamless

Vue 2D #n

Figure 4.2 – Processus de reconstruction 2D/3D.

Le volume d’intersection V est defini par l’intersection de tous les volumes individuels d’ex-trusion :

V =⋂j∈J

V extrusionθj

. (4.3)

4.2.1 Implantation

Le volume d’intersection est calcule a partir des images discretisees deduites des dessinsfournis.

Approche volumiqueSoient L et H les dimensions des images fournies (respectivement largeur et hauteur). Nous

supposons ici que les images sont de dimensions identiques et sont calibrees. Les dessins etantmanuels et approximatifs, nous optons pour une simple calibration manuelle qui consiste aspecifier un axe vertical central pour chacune des vues. Les images sont ensuite centrees surcelui-ci. Une deuxieme calibration est realisee automatiquement afin de garantir une coherenceentre les hauteurs d’un meme objet sur chaque vue en etirant les dessins.

Le volume discret contient L×L×H voxels obtenu par etiquetage de la maniere suivante :– 1 si toutes leurs projections selon les angles de vue des images fournies se trouvent a

l’interieur de toutes les regions de support,– 0 si au moins une projection du voxel se trouve a l’exterieur d’une region de support Oj .On obtient ainsi un modele volumique du VH, qui peut etre triangule par la suite grace a

la technique des marching cubes par exemple afin de le visualiser (Figure 4.8(b)).

Cette methode necessite le parcours de tous les pixels constituant le volume, ainsi queleur projection sur toutes les vues, d’ou un nombre d’operations a effectuer de l’ordre deL × L × H × N , ou N est le nombre de vues utilisees.

Meme en negligeant N (de l’ordre de 3 ou 4) devant la dimension des images (superieure a100), la complexite de l’algorithme est en O(L3), ce qui conduit a un temps de calcul prohibitif

82 Reconstruction 2D/3D de personnages virtuels

pour une application interactive, et notamment lors d’une etape de premiere approximation.Pour cette raison, une deuxieme approche par contours est proposee.

Approche par contours polygonauxLe modele de projection considere etant orthogonal, une coupe horizontale du modele vo-

lumique precedemment calcule decoule exclusivement des contours inclus dans le plan de lacoupe consideree.

Dans cette approche, nous utilisons cette propriete pour decrire le VH 3 par un ensemblede polygones horizontaux qui correspondent a l’intersection de volume en chaque coupe. Cesdernieres sont donnees par la coordonnee verticale y des images de depart.

Les polygones sont calcules par une procedure iterative. Le polygone initial est un carredont les dimensions sont donnees par la largeur des images de depart. Pour chaque lignede chaque image, les coordonnees des points du contour sont projetees selon l’angle de vuede l’image consideree (Figure 4.3(a)). L’intersection de ce rayon avec les aretes du polygonecourant donne les nouveaux sommets du polygone, ce dernier est alors rogne en consequence.La figure 4.3(b) illustre la serie de polygones ainsi obtenue.

(a) Intersection de volume par coupe. (b) Visual Hull par coupes de Titeuf.

Figure 4.3 – Visual Hull par coupe.

Cet algorithme necessite, pour chaque ligne d’image, le parcours de chaque vue et uncalcul d’intersection avec le polygone courant. Or, pour un nombre de vues N , le polygonefinal contient au maximum 2N segments. Pour une ligne avec deux points de contour, il y a2N ×2N ×H operations. En negligeant le terme N par rapport aux dimensions des images, eten considerant que H et L sont du meme ordre de grandeur, nous obtenons une complexite del’algorithme en O(L), ce qui represente un gain en temps de calcul considerable par rapporta la methode volumique.

Lors du processus de reconstruction, un ensemble de points caracteristiques est extrait dumodele volumique afin de construire le maillage de controle de la surface NURBS. Ces pointscorrespondent aux sommets des polygones de chaque coupe. L’approche par contours polygo-naux permet de les calculer directement. En revanche, ces points doivent etre detectes a partirdu modele volumique par l’algorithme de detection de contour de Freeman(cf. paragraphe

3Visual Hull (enveloppe visuelle)

4.2 Reconstruction de l’enveloppe visuelle 83

4.3.1.1), ce qui constitue un temps de calcul supplementaire. Par ailleurs, les coordonnees dessommets etant calculees exactement dans l’approche par contours polygonaux, l’effet de ladiscretisation longitudinal est reduit.

4.2.2 Reconstruction volumique a partir de donnees de synthese

Pour evaluer la capacite de ce processus de reconstruction 2D/3D par intersection devolumes, nous avons tout d’abord considere des donnees 3D de synthese, pour lesquels lesimages de projection peuvent etre generees automatiquement, selon un modele de projectionexact. Pour illustrer la construction du volume d’intersection, nous avons projete un modele3D d’humanoıde (Figure 4.4) au format VRML [VRM] selon huit angles de vue (Figure 4.4(b))correspondant a des rotations de la camera autour de l’axe vertical z de 0 , 45 , 90 , 135 , 180 ,225 , 270 et 315 . Le volume d’intersection obtenu est presente Figure 4.4(c).

(a) Modele 3D maille. (b) Projections de synthese. (c) Enveloppe vi-suelle reconstruite.

Figure 4.4 – Images de projection de synthese obtenues a partir d’un modele d’humanoıdemaille, et VH reconstruit par intersection de volume.

Le VH reconstruit fournit une premiere approximation grossiere de l’objet 3D. Toutefois,meme dans le cas ideal ou le modele initial et le modele de projection sont connus, la methodede reconstruction par intersection de volumes presente un certain nombre de limitations lieesaux problemes d’auto-occultation. Ce probleme est illustre Figure 4.5.

Ici, dans la vue de profil, la main recouvre une partie de la jambe, ce qui se traduit auniveau du volume d’intersection reconstruit par l’apparition d’une “bosse” a la hauteur descuisses. Cela est du a la nature articulee des personnages virtuels.

Dans le cadre du projet TOON, pour eviter ce probleme, un protocole d’acquisition multi-couches a ete mis au point. Les differentes composantes corporelles sont representees dansdes couches (layer) separees. Ce protocole de travail est parfaitement compatible avec lespratiques traditionnelles des dessinateurs. A noter que la segmentation est de facto realiseepuisque intrinsequement liee a la creation des images.

Notons que cette solution n’est pas la seule envisageable, une autre possibilite etant d’utili-ser une tablette de dessin numerique pour re-tracer les contours et separer ainsi les differentesparties de l’objet.

Une fois la segmentation disponible, le processus de reconstruction volumique peut etre

84 Reconstruction 2D/3D de personnages virtuels

Figure 4.5 – Intersection de volumes : la main occulte les jambes, ce qui conduit a une mauvaisereconstruction.

effectue individuellement pour chaque composante, ce qui permet de s’affranchir des problemeslies aux auto-occultations.

4.2.3 Reconstruction volumique a partir de donnees reelles

Presentons maintenant un deuxieme exemple de reconstruction, realise cette fois a partird’un jeu de donnees reelles, correspondant au celebre personnage Titeuf (Figure 4.6).

Figure 4.6 – Intersection de volumes : dessins du turnaround du personnage Titeuf.

La reconstruction a partir de donnees reelles necessite une phase preliminaire de calibra-tion : specification des angles de projection associes a chaque vue, axe de vue, axe vertical derotation, mise a l’echelle des images de projection...

En l’absence d’un vrai modele de projection, d’information de texture ou de mouvement,cette etape est realisee manuellement. Les differents parametres estimes ne sont alors que des

4.2 Reconstruction de l’enveloppe visuelle 85

approximations plus ou moins fiables.Dans le cas des images de Titeuf, les angles de vue consideres sont : 0 , 45 , 90 et 135 .

Notons que, dans le cas d’images reelles, il existe toujours une certaine incertitude sur lesangles de vue. Cela risque d’introduire certaines deformations dans le modele reconstruit maisqui restent negligeables, dans cette premiere etape d’approximation grossiere.

A partir de ces images, par detection des contours exterieurs et remplissage, nous avonsobtenu les regions support de l’objet, presentees Figure 4.7(a). La symetrie du personnage aete exploitee pour generer, a partir du turnaround initial, quatre vues supplementaires (Figure4.7(c)), obtenues par reflexion en miroir autour de l’axe vertical de rotation.

Le VH reconstruit est presente Figure 4.7(b).

(a) Regions support obtenues a partir du turnaround initial.

(b) Enveloppevisuelle reconstruite.

(c) Vues supplementaires obtenues par symetrie.

Figure 4.7 – Regions support du modele Titeuf pour differents angles de vue, et VH obtenupar intersection de volumes.

Le resultat obtenu se heurte ici encore au probleme de l’auto-occultation. De plus, l’aspect“monolithique” du volume reconstruit est du au fait que les contours interieurs ne sont paspris en compte dans cette etape. Cela confirme la necessite d’introduire un mecanisme dereconstruction volumique par composante.

Afin de tester l’apport d’une reconstruction par composante, nous avons segmente ma-nuellement le personnage Titeuf (Figure 4.8(a)). A l’evidence, la qualite de la reconstructionaugmente considerablement, meme si le volume obtenu reste une approximation grossiere del’objet.

Notons toutefois que, malgre l’imperfection de l’objet volumique reconstruit, les images2D obtenues par projection du volume selon de nouveaux angles de vue representent deja unebonne approximation 2D du personnage. ces nouvelles vues pourraient etre exploitees par lesdessinateurs et les animateurs dans un contexte d’animation 2D.

Les resultats de reconstruction volumique obtenus pour differents personnages, de formeset de complexites variees, sont presentes Figure 4.10. Les couleurs correspondent ici a lasegmentation consideree.

86 Reconstruction 2D/3D de personnages virtuels

(a) Vues segmentees. (b) Enveloppe visuelle.

Figure 4.8 – Reconstruction volumique a partir de vues segmentees.

Figure 4.9 – Reprojections du modele volumique de Titeuf obtenu a partir des vues segmenteesselon de nouveaux angles de vue (de gauche a droite : 0 , 30 et 120 ).

4.3 Reconstruction 2D/3D par surfaces NURBS

Pour generer, a partir de l’enveloppe visuelle, une representation surfacique par NURBS,nous avons adopte une approche par sections. Pour obtenir les sections, le volume d’intersectionest balaye selon l’axe vertical, note z, qui correspond a l’axe de rotation des vues du turnaround.Pour chaque z, on obtient ainsi une image binaire qui peut etre constituee d’une ou de plusieurscomposantes connexes.

Le contour de chaque composante est alors approche par une courbe NURBS. La Figure4.11 presente quelques images de section pour l’objet de type humanoıde de la Figure 4.4correspondant a un echantillonnage uniforme de l’axe des z. Ici, de haut en bas et de gauchea droite, les images a unique composante convexe correspondent a la partie haute du modele(tete et partie superieure du thorax), celles a trois composantes connexes au tronc et aux bras,et enfin celles a deux composantes connexes aux jambes de l’humanoıde.

Pour generer des surfaces NURBS a partir de ces coupes horizontales, nous avons elaboredeux approches differentes. La premiere consiste en une procedure d’interpolation des courbesNURBS de section et vise a garantir une coherence maximale par rapport aux images d’entree.La seconde adopte une technique d’approximation afin d’obtenir des representations plus lisses.

4.3 Reconstruction 2D/3D par surfaces NURBS 87

(a) Krumm

(b) Ickis

(c) Oblina

(d) Elfie

(e) Zozo

Figure 4.10 – Reconstruction par intersection de volumes pour differents personnages de dessinsanimes.

88 Reconstruction 2D/3D de personnages virtuels

Figure 4.11 – Images des sections horizontales du volume d’intersection obtenu pour le modelehumanoıde.

4.3.1 Approche par interpolation

Le VH obtenu presente des angles vifs correspondant aux intersections des volumes d’ex-trusion. Dans la direction verticale en revanche, il correspond aux vues projectives de depart,et seul l’effet de discretisation du a l’utilisation de voxels est genant.

Pour cette raison, nous effectuons dans un premier temps un lissage des coupes. Chaquesection du modele volumique du VH est tout d’abord approchee par une courbe NURBS, dontles points de controle sont determines selon la methode decrite ci-dessous.

4.3.1.1 Detection des points de controle des coupes

Les coupes du volume d’intersection obtenu sont representees par des images binaires. Apartir de la region objet de la coupe consideree, nous effectuons tout d’abord une detection despoints de contour a l’aide d’un codage de Freeman. Un balayage dans l’ordre lexicographiquedes pixels de l’image est realise pour detecter le premier pixel objet. Ensuite, les pixels decontour sont parcourus successivement et stockes dans une liste.

La Figure 4.12 presente un exemple de region support et le contour correspondant detectealors que la Figure 4.13 indique les directions dn dans un voisinage (3 × 3) et (5 × 5).

Les points de controle sont ensuite determines comme les points du contour correspondanta un changement de direction du contour. Nous utilisons ici des directions discretes definiesdans des voisinages de differentes tailles. Les points de controle ainsi obtenus pour le contourpresente Figure 4.12 sont illustres dans le cas de l’utilisation d’un voisinage (3 × 3) (Figure4.14(a)) et (5 × 5) (Figure 4.14(b)).

Ayant obtenu les points de controle, le vecteur des nœuds est calcule a partir de ces derniersde maniere uniforme.

4.3 Reconstruction 2D/3D par surfaces NURBS 89

Figure 4.12 – Detection de contour par codage de Freeman.

(a) Voisinage (3 × 3). (b) Voisinage (5 × 5).

Figure 4.13 – Directions discretes definies par le codage de Freeman.

(a) Voisinage (3 × 3). (b) Voisinage (5 × 5).

Figure 4.14 – Points de controle extraits pour la coupe presentee Figure 4.12.

4.3.1.2 Calcul des vecteurs de nœuds

Considerons un ensemble de points de controle Pknk=0. Nous construisons dans un premier

temps un vecteur U = (u0, u1, . . . , un) defini comme suit :⎧⎨⎩

u0 = 0,

uk = uk−1 +|Pk − Pk−1|

d, 1 ≤ k ≤ n,

(4.4)

ou d =∑n

k=1 |Pk − Pk−1| est la longueur totale du polygone forme par les points de controle.Notons que un = 1 par construction.

90 Reconstruction 2D/3D de personnages virtuels

Le vecteur de nœuds final U est alors obtenu de la maniere suivante :⎧⎪⎪⎪⎨⎪⎪⎪⎩

u0 = · · · = up = 0,

uj+p =1p

j+p−1∑i=j

ui, 1 ≤ j ≤ n − p,

ur−p = · · · = ur = 1.

(4.5)

ou p est le degre de la courbe, et r = n + p + 1.La Figure 4.15 presente la courbe NURBS obtenue pour la section de la Figure 4.12

conformement a cette procedure pour un degre 3.

Figure 4.15 – Polygone de controle et courbe NURBS de degre 3 correspondant a la coupeFigure 4.12.

Pour chaque coupe c ∈ 0, 1, . . . , C, est construit :– un ensemble de points de controle P c

knc

k=0 ou nc +1 est le nombre de points de controlede la coupe c,

– un vecteur de nœuds associe U c, constitue par mc = nc + p + 1 composantes.Ayant calcule les courbes NURBS des differentes coupes, nous obtenons un ensemble de

vecteurs de nœuds de tailles differentes. Cependant, une surface NURBS est definie par unegrille de controle reguliere.

Il est alors necessaire d’avoir le meme nombre de points de controle ainsi que le memevecteur de nœuds pour l’ensemble des coupes. Afin de verifier cette condition, une procedurede raffinement des nœuds est necessaire. Pour cela, nous avons adopte l’approche recommandeedans [PT95] et detaillee ci-dessous.

4.3.1.3 Uniformisation des vecteurs de nœuds

Pour uniformiser les vecteurs de nœuds, un vecteur commun de nœuds U , donne par lareunion de l’ensemble des nœuds des differentes coupes est tout d’abord determine :

U =⋃

c∈0,1,...,CU c. (4.6)

4.3 Reconstruction 2D/3D par surfaces NURBS 91

Les valeurs des nœuds sont triees par ordre croissant, ce qui nous donne :

U = u0 ≤ u1 ≤ · · · ≤ uM , (4.7)

ou M est le nombre total de nœuds.Notons que :

∀i ∈ 0, 1, . . . , C , U c ⊂ U . (4.8)

L’objectif est de redefinir chaque courbe NURBS de section sur le vecteur de nœuds com-mun U de facon a ce qu’elle reste identique a la courbe initiale. Cela est realise en inserant una un les nœuds de UU c et en ajoutant a chaque insertion un nouveau point de controle. Soient P c

knc

k=0 les pointsde controle initiaux, et Qc

knc+1k=0 les nouveaux points de controle apres insertion d’un nouveau

nœud u. L’identite entre la courbe initiale et la nouvelle s’exprime par la relation suivante :

∀u ∈ [0, 1],nc∑

k=0

Nk,p(u)P ck =

nc+1∑k=0

Nk,p(u)Qck. (4.9)

La solution de ce systeme d’equations est donnee par [PT95] :

Qck = αkP

ck + (1 − αk)P c

k−1, (4.10)

ou :

αk =

⎧⎪⎪⎨⎪⎪⎩

1 si k ≤ i − p,u − uk

uk+p − uksi i − p + 1 ≤ k ≤ i,

0 si k ≥ i + 1,

(4.11)

ou i est l’indice correspondant a l’intervalle [ui, ui+1) ou le nœud u est insere.

Observons que le nombre de nœuds de U augmente rapidement avec le nombre de coupesconsiderees. Un sous-echantillonnage des nœuds est alors applique en gardant uniquementceux satisfaisant la condition suivante :

∀i ∈ 0, 1, . . . , n , ui ≥ i

net ui−1 <

i

n, (4.12)

ou n est le nombre de nœuds fixe pour toutes les coupes.Cette condition vise a obtenir un echantillon de noeuds plus ou moins uniformement

repartis sur [0, 1]. En effet, les nœuds etant calcules a partir des positions des points decontrole, et ces derniers etant proches sur les coupes successives puisque provenant de l’inter-section de volumes, le vecteur de nœuds global U presente localement de fortes densites denœuds (Figures 4.16(a) et 4.16(b)). Cette procedure de sous-echantillonnage permet de garderun seul echantillon par “agglomeration” de nœuds (Figure 4.16(c)) en choisissant un critereen fonction de la distribution au lieu d’un sous-echantillonnage regulier en fonction du nombredes nœuds.

Les courbes NURBS obtenues pour la coupe de la Figure 4.12 sont presentees Figure4.17(a) pour un vecteur commun de 752 nœuds et un vecteur sous-echantillonne a 37 nœuds(Figure 4.17(b)).

4.3.1.4 Interpolation des courbes de section

Pour calculer une surface NURBS interpolant les courbes de section, il reste a determinerdeux elements : le vecteur de nœuds V dans la direction longitudinale et l’ensemble des pointsde controle de la surface.

92 Reconstruction 2D/3D de personnages virtuels

(a) Vecteur commun des nœuds : presence d’agglomerations de forte densite.

(b) Zoom sur une agglomeration de nœuds.

(c) Vecteur final des nœuds : chaque agglomeration est remplacee par un nœud unique.

Figure 4.16 – Uniformisation du vecteur des nœuds.

(a) Vecteur des nœuds commun de 752composants.

(b) Vecteur des nœuds sous-echantillonneselon 37 composants.

Figure 4.17 – Raffinement des nœuds.

Le vecteur de nœuds v est obtenu de facon similaire avec avec la construction du vecteuru (4.4). Il s’agit de calculer tout d’abord le vecteur v0, v1, . . . , vC :⎧⎪⎨

⎪⎩v0 = 0,

vc = vc−1 +1

n + 1

n∑k=0

∣∣P ck − P c−1

k

∣∣dk

, 1 < c ≤ C,(4.13)

ou dk represente la longueur totale de la polyligne P 0k , P 1

k , . . . , PCk , et C + 1 le nombre des

coupes.Le vecteur de nœuds commun V est ensuite donne par :⎧⎪⎪⎪⎨

⎪⎪⎪⎩

v0 = · · · = vq = 0,

vj+q =1q

j+q−1∑i=j

vi, 1 ≤ j ≤ C − q,

vs−q = · · · = us = 1.

(4.14)

ou s = C + q + 1 et q est le degre de la surface NURBS dans la direction v.

Afin de definir totalement la surface NURBS interpolant l’ensemble des coupes, il reste adeterminer ses points de controle Qi,ji∈0,...,n,j∈0,..,C.

4.3 Reconstruction 2D/3D par surfaces NURBS 93

La condition d’interpolation de la coupe j correspondant a vj s’ecrit comme suit :

S(u, vj) = Cj(u), (4.15)

ou

Cj(u) =∑n

i=0 Ni,p(u)P ji∑n

i=0 Ni,p(u), (4.16)

et

S(u, v) =

∑ni=0

∑Cj=0 Ni,p(u)Nj,q(v)Qi,j∑n

i=0

∑Cj=0 Ni,p(u)Nj,q(v)

. (4.17)

Ainsi, pour vj fixe, nous obtenons :

S(u, vj) =

∑ni=0

∑Cj=0 Ni,p(u)Nj,q(vj)Qi,j∑n

i=0

∑Cj=0 Ni,p(u)Nj,q(vj)

,

=

∑ni=0 Ni,p(u)

(∑Cj=0 Nj,q(vj)Qi,j

)∑n

i=0 Ni,p(u)(∑C

j=0 Nj,q(vj)) .

(4.18)

OrC∑

j=0

Nj,q(vj) = 1, (4.19)

ce qui conduit au systeme d’equations suivant :

∀i ∈ 0, ..., n ,

C∑j=0

Nj,q(vj)Qi,j = P ji , (4.20)

qui s’exprime sous la forme plus compacte :

∀i ∈ 0, ..., n , NQi = Pi, (4.21)

ou

Pi =

⎛⎜⎜⎜⎝

Pi,0

Pi,1...

Pi,C

⎞⎟⎟⎟⎠ , Qi =

⎛⎜⎜⎜⎝

Qi,0

Qi,1...

Qi,C

⎞⎟⎟⎟⎠ , (4.22)

et

N =

⎛⎜⎜⎜⎜⎜⎜⎜⎝

1 0 . . . 0N0,p(v1) N0,p(v1) . . . Nn,p(v1)N0,p(v2) N0,p(v2) . . . Nn,p(v2)

...... . . .

...N0,p(vn−1) N0,p(vn−1) . . . Nn,p(vn−1)

0 0 . . . 1

⎞⎟⎟⎟⎟⎟⎟⎟⎠

. (4.23)

La resolution du systeme lineaire 4.21 est alors effectuee par calcul de la pseudo-inverse de lamatrice N , realise a l’aide de l’algorithme de SVD (Singular Value Decomposition) [PTVF92]

94 Reconstruction 2D/3D de personnages virtuels

(a) Points de contours. (b) Maillage de controle. (c) Surface NURBS.

Figure 4.18 – Aspect en escalier : l’effet de la discretisation volumique se repercute sur lapositions des points de controle et par consequent sur la surface.

4.3.1.5 Resultats experimentaux

La figure 4.18 presente un exemple de reconstruction pour une forme simple correspondanta un modele de poire. La surface reconstruite presente un effet d’escalier. Cela est du a laresolution des images d’entree (des vues 2D), qui est dans ce cas de 100 × 100 pixels. Biensur, une resolution plus fine permettrait de diminuer cet effet, mais les ressources de memoirenecessaires pour la construction de l’enveloppe visuelle et le temps de calcul correspondantaugmenteraient considerablement.

Afin de s’affranchir de cet inconvenient tout en gardant une resolution basse des vues 2D,nous avons adopte une procedure de filtrage passe-bas selon la direction longitudinale. Pourune coupe donnee, nous moyennons la valeur des coordonnees de ses points de controle aveccelles de leurs correspondants sur les coupes precedente et suivante, en leur attribuant lespoids de 0.5, 0.25 et 0.25 respectivement :

Pi,j = 0.25 · P j−1i + 0.5 · P j

i + 0.25 · P j+1i . (4.24)

Notons que ce filtrage peut etre applique de maniere iterative pour obtenir une surface suf-fisamment lisse. Le nombre d’iterations necessaire depend de la resolution des images utiliseesen entree. La Figure 4.19 illustre l’effet du filtrage sur les surfaces obtenues.

(a) Points de controle obtenus avec un unique fil-trage.

(b) Points de controle obtenus avec 5 iterations defiltrage.

Figure 4.19 – Attenuation de l’effet d’escalier par filtrage passe-bas.

Le meme effet de lissage peut etre obtenu en appliquant un sous-echantillonnage descoupes, toujours selon la direction longitudinale. Des exemples de surfaces obtenues apressous-echantillonnage sont presentes Figure 4.20. La Figure 4.21 illustre des resultats pour

4.3 Reconstruction 2D/3D par surfaces NURBS 95

differents pas de sous-echantillonnage pour le modele du personnage Titeuf, reconstruit sanssegmentation prealable.

(a) Points de controle obtenus sans filtrage, avec unsous-echantillonnage de pas = 3.

(b) Points de controle obtenus sans filtrage, avec unsous-echantillonnage de pas = 6.

Figure 4.20 – Attenuation de l’effet d’escalier par sous-echantillonnage des coupes.

(a) Images projectives utilisees. (b) Maillage de controle. (c) Surface NURBS.

Figure 4.21 – Approche par interpolation : modele NURBS de Titeuf obtenu pour un nombrede points de controle egal a 10 par coupe, et un degre egal a 3 dans les deux directions.

Toutefois, la procedure de sous-echantillonnage permet en meme temps de diminuer lenombre de points de controles utilises et d’obtenir ainsi une surface plus facile a manipuleret a deformer. Afin de lisser la surface tout en allegeant sa structure, nous optons pour unesolution hybride qui consiste a appliquer a la fois un filtrage et un sous-echantillonnage.

Notons que, malgre les etapes de filtrage et de sous-echantillonnage, les surfaces obtenuespresentent encore un faible aspect ride. En effet, la procedure de raffinement des vecteursdes nœuds represente un inconvenient de l’approche de reconstruction par interpolation, carelle traite de maniere globale les nœuds, sans tenir compte, pour une coupe donnee, de leurappartenance a la courbe de depart ou non. Un decalage entre les nœuds (et donc entre lespoints de controle des coupes successives) est introduit par cette etape de l’algorithme dereconstruction. Ce decalage se traduit par l’apparition d’un aspect en zig-zag du maillage decontrole, qui fait que la surface se vrille legerement, donnant naissance aux rides observees.

96 Reconstruction 2D/3D de personnages virtuels

(a) Poire

(b) Pomme

(c) Chenille

(d) Croissant

(e) Avion

Figure 4.22 – Reconstruction de surfaces NURBS par interpolation pour differents objetsdessines manuellement, obtenues avec NP = 10 points de controles par coupe. Les surfacesNURBS sont de degres p = 3 et q = 3. Les images d’entree sont les memes pour les angles devue 0 et 90 dans le cas de la poire, la pomme et la chenille.

4.3 Reconstruction 2D/3D par surfaces NURBS 97

(a) Krumm

(b) Ickis

(c) Oblina

(d) Elfie

(e) Zozo

Figure 4.23 – Reconstruction par interpolation NURBS : Resultats (de gauche a droite :Visual Hull, Surfaces NURBS reconstruites avec 10 points de controle par coupe et des pas desous-echantillonnage de 2 et 4).

98 Reconstruction 2D/3D de personnages virtuels

4.3.2 Approche par approximation

Afin d’eviter l’effet “ride” precedemment decrit, nous optons pour une approche de recons-truction differente, ou les points de controle de la surface sont deduits directement lors de laprocedure d’intersection de volumes.

L’intersection de volumes est realisee en calculant pour chaque coupe le polygone d’in-tersection genere par les vues de projection (cf. Section 4.2.1). Ces polygones definissent unecoupe exacte du volume englobant, contrairement a l’approche volumique qui passe par unechantillonnage prealable en voxels. Les sommets des polygones ainsi obtenus sont alors utilisescomme points de controle de courbe NURBS sur la coupe consideree.

Toutefois, la procedure d’intersection de volumes ne garantit pas le meme nombre desommets pour toutes les coupes. Une premiere etape d’harmonisation du nombre de sommetspar coupe est alors necessaire pour pouvoir definir la surface NURBS.

4.3.2.1 Harmonisation du nombre de sommets

Le principe de cette methode d’harmonisation consiste a preserver les sommets initiauxdes polygones derives de l’intersection de volumes. Leur conservation combinee a l’utilisationd’une methode de subdivision par sectionnement des coins permet de garantir la tangenceavec les polygones d’intersection et d’assurer ainsi la coherence avec les vues de projection.

Soit C une coupe dont le polygone genere par intersection de volumes est compose de NC

sommets. Le nombre maximal (ou de reference) de sommets par coupe obtenue par intersectionde volume est de Nref = 2 ∗ Nombre de vues. La procedure d’harmonisation doit donc etreappliquee pour toute coupe dont le nombre de sommets NC est inferieur au nombre de sommetsde reference :

NC < Nref . (4.25)

Afin de pouvoir inserer le nombre de sommets manquants sur la coupe C, nous nousreferons a une coupe voisine ayant le nombre de sommets de reference Nref . Les formes despolygones etant proches entre coupes successives, nous procedons a une recherche descendantede la coupe Cref la plus proche ayant Nref sommets.

L’algorithme d’insertion des sommets comporte les etapes suivantes :1. Calculer les coordonnees relatives de chaque sommet par rapport au polygone auquel

il appartient. Soient C0, C1, . . . , CNC−1 les sommets constituant un polygone. La coor-donnee d’un sommet Ci est alors definie par son abscisse curviligne u(Ci), exprimeecomme :

u(Ci) =

∑ij=1 ||Cj − Cj−1| |∑nj=1 ||Cj − Cj−1| | . (4.26)

2. A chaque sommet Crefi du polygone de reference Cref est attribue le sommet le plus

proche (en terme de distance entre les abscisses curvilignes) du polygone C (Figure 4.24).Soit FCref→C l’application attribuant a chaque sommet Cref

i ∈ Cref un correspondantsur C :

FCref→C

(Cref

i

)= arg min

Cj∈C

∣∣∣u (Cj) − u(Cref

i

)∣∣∣ . (4.27)

et GCrefl’application attribuant au sommet Cref

i la distance entre son abscisse curviligneet celle de son image sur C par FCref→C :

GCref

(Cref

i

)=∣∣∣u(FCref→C

(Cref

i

))− u(Cref

i

)∣∣∣ (4.28)

Soulignons que la correspondance est ici fondee sur la distance entre coordonnees cur-vilignes et non pas entre les coordonnees 3D des sommets. Pour eviter tout decalageentre les sommets des coupes mises en correspondance, il est necessaire d’ordonner lessommets selon l’ordre des vues intersectees.

4.3 Reconstruction 2D/3D par surfaces NURBS 99

Cref

C

Figure 4.24 – Correspondances entre les sommets de deux courbes polygonales a l’aide de leurscoordonnees relatives.

3. Les sommets de Cref sont alors ordonnes en fonction de la valeur qui leur est attribueepar GCref

. A la fin de cette procedure, on determine les Nref − NC sommets de Cref

dont les images par GCrefsont les plus grandes (representees Figure 4.24 par les fleches

pointillees vertes). Un correspondant de chacun de ces sommets, de meme coordonneerelative, est alors insere sur le polygone C.

Cref

C

Figure 4.25 – Insertion de nouveaux sommets a l’aide des coordonnees relatives.

Notons que la forme des polygones de depart est ainsi preservee a l’identique.Une fois le nombre de sommets par polygone harmonise sur l’ensemble des coupes, les

surfaces NURBS sont construites comme decrit dans la section suivante.

4.3.2.2 Definition des points de controle

Les polygones obtenus par intersection de volumes representent une approximation dumodele 3D que l’on cherche a reconstruire. Cette approximation a la particularite de constituerun volume englobant de notre modele. Cette propriete est verifiee par le polygone de controled’une courbe NURBS lorsque celui-ci est convexe. Il s’agit de la propriete bien connue del’enveloppe convexe.

Afin de definir la surface NURBS de maniere a ce qu’elle soit contenue dans le volumed’intersection decrit par les polygones de section, nous exploitons cette propriete. Cependant,l’utilisation directe des sommets des polygones d’intersection comme points de controle dela surface donnerait une surface trop proche du polygone de controle. Le nombre de vuesgeneralement disponibles dans notre cas etant tres limite, cette surface aurait par consequentun aspect peu realiste.

Nous procedons alors a une premiere etape de subdivision des polygones d’intersection enappliquant l’algorithme de Chaikin avec le masque (1

4 , 12 , 1

4) (Figure 4.26). Les sommets despolygones ainsi obtenus constituent alors les points de controle de la surface NURBS.

La subdivision est justifiee par une hypothese relative a l’application consideree qui consistea supposer que les dessins fournis representent generalement des formes arrondies. Cette hy-pothese est satisfaite lorsqu’il s’agit de personnages dits organiques.

Par ailleurs, l’intersection de volumes est fondee sur le principe d’un volume maximal,alors que nous cherchons a reconstruire un volume representatif du personnage.

Le principe de la procedure d’intersection de volumes decoule en fait d’une inversion duprocessus de projection. Les contours de projection utilises sont en realite les contours ap-parents du modele du personnage imagine par le dessinateur. Le volume d’intersection est

100 Reconstruction 2D/3D de personnages virtuels

(a) Polygone obtenu par intersec-tion de volumes.

(b) Points et polygone de controle.

Figure 4.26 – Choix des points de controle par subdivision.

donc tangent a la surface de l’objet et les aretes des polygones obtenus representent le lieugeometrique des points de tangence.

Afin d’assurer la tangence de la surface NURBS reconstruite avec le volume d’intersection,des points de controle supplementaires sont inseres au milieu de chaque arete du polygone decontrole obtenu par subdivision de Chaikin provenant d’une arete du polygone initial, donnepar l’intersection de volume. Ces points sont illustres Figure 4.26 en couleur verte.

Enfin, les vecteurs de nœuds sont calcules en moyennant les abscisses curvilignes sur l’en-semble des coupes, de la meme maniere que pour la methode de reconstruction par interpola-tion (cf. Section 4.3.1, Paragraphe 4.3.1.2).

4.3.2.3 Resultats experimentaux

La Figure 4.27 presente quelques resultats de surfaces NURBS reconstruites a l’aide de lamethode d’approximation pour le personnage Elfie.

(a) Tete. (b) Buste. (c) Bras.

Figure 4.27 – Surfaces NURBS reconstruites par approximation : tete, buste, et bras dupersonnage Elfie.

Un avantage de cette methode reside dans le fait que le parametre du masque de subdivisionapplique peuvent etre modifies pour modeliser des objets plus ou moins arrondis. Ainsi, lameme approche de reconstruction peut-elle etre appliquee pour construire des formes ditesorganiques, aussi bien que des objets plus rigides tels que des meubles ou des batiments, enmodifiant le masque de subdivision, exprime par le vecteur (α, 1 − α, α) avec α ∈ [0, 1]. Ainsi,plus le parametre α tend vers 0 , plus la forme de l’objet reconstruit est carree.

4.3 Reconstruction 2D/3D par surfaces NURBS 101

(a) Poire.

(b) Pomme.

(c) Chenille.

(d) Croissant.

(e) Avion.

Figure 4.28 – Approche par approximation : modele NURBS de la poire, de la chenille etde l’avion obtenus (surface de degre 3 dans les deux directions). Les images d’entree sont lesmemes pour les angles de vue 0 et 90 dans le cas de la poire, la pomme et la chenille.

102 Reconstruction 2D/3D de personnages virtuels

(a) Krumm.

(b) Ickis.

(c) Oblina.

(d) Elfie.

4.3 Reconstruction 2D/3D par surfaces NURBS 103

(e) Zozo.

(f) Mahras.

(g) Femme Tunisienne.

(h) Homme Tunisien.

104 Reconstruction 2D/3D de personnages virtuels

(i) Lampadaire.

(j) Table.

(j) Poule.

Figure 4.29 – Reconstructions par approximation NURBS : surfaces obtenues avec 3 niveauxde subdivision de Chaikin.

4.4 Generation d’un maillage seamless

Dans le cadre de notre application, l’objectif est d’obtenir des modeles pouvant etreanimes conformement a la norme MPEG-4. Les personnages doivent alors etre modelises pardes maillages dits sans couture ou seamless, composes d’une unique composante connexe etrepresentant une surface fermee, sans bords. Les differentes parties reconstruites, modeliseespar des surfaces NURBS doivent donc etre converties et assemblees un un unique maillageseamless.

Une premiere solution consisterait a appliquer les methodes de composition (blending) desurfaces NURBS, puis a trianguler les surfaces composees ainsi obtenues. Cela mettrait enœuvre des courbes de trimming, interconnectees par des surfaces de blending.

Toutefois, en raison de la double definition de ces courbes dans des domaines parametriquesdifferents, les maillages obtenus par ces approches ne sont pas garantis seamless [FK90], [KS95],[RHD89] (cf. paragraphe 2.3.5). Il s’agit du probleme bien connu du cracking [BK97], [WW98],[BNK02].

4.4 Generation d’un maillage seamless 105

Une solution a ce probleme est proposee dans [KM95] ou le maillage seamless est generedirectement a partir des surfaces trimmed NURBS. Pour ce faire, la procedure doit etablirune correspondance entre les courbes de trimming. Cela necessite la resolution du problemecomplexe d’inversion de point [MH03] qui consiste a determiner les coordonnees parametriquesdu point d’une courbe ou d’une surface parametrique qui est le plus proche d’un point donne del’espace. La grande complexite de calcul constitue une limitation majeure pour cette procedurede triangulation par mise en correspondance des courbes, d’autant plus que ce calcul doit etreapplique aussi pour les courbes de trimming.

Pour cette raison, d’autres approches comme celles decrites dans [BGK03], [KBK02] pro-posent d’inverser l’ordre des operations : les composantes des surfaces sont tout d’abordindependamment triangulees, puis une etape de “couture” (sewing) est appliquee pour collerles maillages en un seul modele seamless.

L’approche que nous proposons s’inscrit dans cette filiation. Dans un premier temps, lesconnexions a effectuer sont specifiees et determinees. Chaque element du modele est d’abordconverti en un maillage en employant une procedure d’echantillonnage regulier exploitantla definition parametrique des NURBS. Les courbes de trimming sont ensuite determineesde maniere automatique pour chaque connexion. Enfin, une re-triangulation est effectuee auvoisinage des courbes de trimming, qui inclut, le cas echeant, la generation d’une surface deblending.

4.4.1 Criteres d’assemblage des parties du modele

Afin de connecter les differents elements reconstruits, il est tout d’abord necessaire dedeterminer les relations de connexion a effectuer. Cette etape exploite deux types differentsd’information :

– les relations d’adjacence entre les parties segmentees des images 2D du turn-around,representees par une matrice d’adjacence. Cette information est automatiquement deter-minee a partir des vues 2D ;

– le squelette d’animation MPEG-4 donnant les relations hierarchiques entre les differentesparties du modele reconstruit. Element clef pour l’animation, le squelette soit etre specifiepar l’utilisateur.

La matrice d’adjacence est construite a partir des images 2D du turnaround dans un sensmaximal : deux objets sont consideres comme connectes si et seulement si leurs images sontconnexes dans l’ensemble des vues disponibles.

Afin de ne pas effectuer des connexions erronees a cause des occlusions inevitables entredifferentes parties du corps (les bras et la jupe du personnage Elfie par exemple se superposentsur l’ensemble des vues de la Figure 4.30), cette information de connexite est combinee acelle fournie par le squelette de l’objet. Ainsi, si une connexion est presente dans la matriced’adjacencesans correspondre a une relation hierarchique parent-enfant sur le squelette, lesdeux parties restent independantes.

Notons que le squelette MPEG-4, cree uniquement a des fins d’animation, ne specifiepas necessairement toutes les connexions existantes entre les elements segmentes. Des detailscomme les yeux, le nez ou les oreilles peuvent ne pas figurer dans la hierarchie du squelettes’ils ne sont pas animes. Les connexions sont alors etablies en fonction de relations d’adjacencederivees des images 2D uniquement, et le critere relatif au squelette est ignore.

4.4.2 Connexion hierarchique

Les modelisateurs 3D creent generalement leurs personnages en procedant aussi par parties,puis en assemblant les differents elements soit manuellement soit a l’aide d’outils de blendingdisponibles dans certains logiciels [MAY], [MAX]. La procedure consiste a dessiner les courbes

106 Reconstruction 2D/3D de personnages virtuels

(a) Critere squelette. (b) Critere d’adjacence.

Figure 4.30 – Critere d’assemblage des parties.

de trimming sur la surface enfant (par exemple, pour assembler un bras a un torse, la courbeest dessinee sur le bras), puis a definir une direction selon laquelle la partie enfant est deplaceepour atteindre son parent hierarchique.

Nous nous sommes inspires de cette procedure pour developper une premiere approcheexploitant les relations hierarchiques du squelette MPEG-4, qui traite les deux parties a as-sembler differemment. En effet, l’element dit partie enfant est “extrapole” afin d’atteindre lapartie parent.

Les parties reconstruites etant positionnees dans l’espace conformement aux dessins 2Dfournis, nous ne pouvons envisager de deplacer la partie enfant comme c’est le cas dansla procedure manuelle 3D, car cela altererait le modele 3D final. Nous procedons donc ala creation d’une surface de blending generee a partir d’un contour de trimming calcule demaniere automatique.

La procedure de connexion est constitue des etapes suivantes :

1. On associe a la surface enfant un pole enfant (Figure 4.31) defini par son intersectionavec le segment de squelette A reliant les surfaces parent et enfant.

Figure 4.31 – Choix des surfaces Parent et Enfant.

4.4 Generation d’un maillage seamless 107

2. En partant de ce pole, un processus de propagation est realise de maniere a determinerun ensemble de triangles adjacents T = tii verifiant la condition suivante :

∀ti ∈ T, angle(Ni, nA) ≤ θmax, (4.29)

ou nA est l’orientation du segment de squelette A, Ni est le vecteur normal au plan dutriangle ti, et θmax est un seuil angulaire fixe de maniere empirique a 45 .Notons par Ci le front de propagation defini comme l’ensemble des sommets de bord dupatch de surface detecte T (Figure 4.32). Notons que la courbe constituee par ce frontest generalement non lisse et presente souvent un aspect en dents de scie.

Figure 4.32 – Processus de propagation a partir du pole enfant.

Soient G le centre de gravite des Ci, et N contouri les vecteur normaux aux triangles

(G, Ci, Ci+1). Afin d’obtenir une courbe acceptable, nous definissons un plan de decoupeP passant par le centre de gravite G et dont la normale NP est donnee par la moyennedes vecteurs N contour

i .

3. L’intersection du plan P ainsi defini avec le maillage donne naissance a un contourplanaire Γ correspondant a l’ensemble des points Ii d’intersection des aretes du maillageinitial avec le plan P . La surface est ensuite remaillee en integrant les points Ii eten redefinissant la connexite au voisinage du contour Γ. Enfin, la partie du maillageinterieure au contour Γ (i.e. la partie incluant le pole) est eliminee.

4. Le contour planaire Γ est projete sur la surface parent selon la direction du segment desquelette A, definissant ainsi un contour geodesique Γ′ sur la surface parent, constitue despoints projetes I ′i. Le maillage de la partie parent est alors remaille de la meme maniereque la surface enfant dans l’etape precedente, et les triangles interieurs au contour Γ′

sont elimines.

5. La surface de connexion est enfin definie par l’ensemble des triangles de la forme (Ii, I′i, I

′i+1)

et (Ii, I′i+1, Ii+1).

Notons que cette procedure ne peut etre appliquee aux parties dont la connexion ne corres-pond pas a une relation hierarchique sur le squelette puisque la direction nA n’est pas definie.Pour gerer cette configuration, un critere de distance est applique. Il s’agit de determiner lesdeux sommets les plus proches au sens de la distance euclidienne sur les parties parent etenfant. La droite passant par ces deux points remplace alors le segment de droite A, et estutilisee pour definir le critere de propagation ainsi que la direction de projection du contourde decoupage.

La Figure 4.33 presente quelques resultats d’assemblage pour des parties du personnage“Elfie”. Notons l’aspect disproportionne et peu coherent avec la forme des parties a connecterdes surfaces de blending obtenues. Celles-ci etant des elements cylindriques, elles restent en

108 Reconstruction 2D/3D de personnages virtuels

(a) Connexion bras/torse selon la direction du segmentde squelette.

(b) Connexion pied/jambe selon la direction donneepar les points les plus proches des maillages.

Figure 4.33 – Connexion hierarchique : quelques resultats obtenus pour le personnage Elfie.

effet trop elementaires pour prendre en compte des contraintes de continuite de plan tangent etne peuvent par consequent conduire a des surfaces lisses. En outre, les erreurs de segmentation,de calibration, ainsi que le caractere artisanal des vues de projection qui ne correspondent pasa un modele de projection exact peuvent augmenter les ecarts entre les parties reconstruites.Cela diminue encore plus la qualite visuelle des assemblages.

Afin de s’affranchir de cet inconvenient, nous proposons une deuxieme methode, qui permetd’assurer une transition plus graduelle entre les parties a assembler. Il s’agit d’une methodede connexion par Rolling Ball.

4.4.3 Connexion par Rolling Ball

Le Rolling Ball est une technique de blending developpee initialement dans le contextedes surfaces parametriques [RR84], [CJ89], qui permet a la fois de determiner les courbesde trimming et la surface de blending. L’idee et de simuler le deplacement d’une sphere surles deux surfaces a assembler. Les courbes de decoupage correspondent alors aux courbesde contact de la sphere avec chacune des surfaces, et la surface de blending a l’enveloppesurfacique determinee par le mouvement de la sphere.

Nous avons adapte cette methode de blending par Rolling Ball au cas des surfaces maillees.Soient M1 et M2 deux maillages a assembler. La connexion par rolling ball (Figure 4.34)implique les etapes suivantes :

1. Dilatation des maillages : chaque partie est dilatee par un facteur R, correspondantau rayon du ralling ball. L’operateur de dilatation est ici effectue en deplacant chaquesommet Vi = (xi, yi, zi) du maillage dans la direction de sa normale a la surface Ni parle facteur R :

V ′i = Vi + R Ni. (4.30)

Les normales sont ici supposees pointer vers l’exterieur de la surface.

2. Calcul de la courbe d’intersection : la courbe d’intersection des deux parties dilateesest ensuite determinee en appliquant la procedure decrite dans [LW04].Les points d’intersection sont tout d’abord determines en calculant les intersections entreles triangles de M1 avec les aretes de M2 et vice versa.Une fois les points d’intersection calcules, ils sont ordonnes pour constituer la courbed’intersection. Cette procedure est effectuee a l’aide d’un systeme d’etiquetage des tri-angles contenant chaque point d’intersection, dits triangles de provenance. Soit P un

4.4 Generation d’un maillage seamless 109

M1 M2

M0

Calcul des points d’intersection

Dilatation

Ordonnancement des points d’intersection

Étiquetage des régions polygonales au voisinage de la courbe d’intersection

Élimination des régions polygonales intérieures à la courbe d’intersection

Triangulation des régions polygonales extérieures à la courbe d’intersection

Contraction

Construction de la surface de blending

Figure 4.34 – Algorithme de blending de maillages par Rolling Ball.

point de la courbe donne par l’intersection d’un triangle t1i de M1 avec une arete e2j de

M2. Notons par t2k et t2l les triangles de M2 partageant l’arete e2j (Figure 4.35). On note

alors par triangles de provenance de P les triangle t1i , t2k et t2l .

t1

t 2lt 2

k je2

P

i

Figure 4.35 – Determination de la courbe d’intersection.

Deux points sont consideres comme successifs sur la courbe d’intersection si et seulementsi ils partagent un triangle sur chacun des maillages M1 et M2. En effet, chaque aretede la courbe d’intersection est constituee de points appartenant a un meme triangle sur

110 Reconstruction 2D/3D de personnages virtuels

un des maillages.L’ordonnancement des points de la chaıne se fait alors en examinant les triangles conte-nant chaque point d’intersection, puis en recherchant dans la liste un autre point parta-geant un triangle de provenance sur chacun des maillages M1 et M2.

3. Retriangulation au voisinage de la courbe d’intersection : soient T 1 un triangledu maillage M1, et e2 = (v2

1, v22) une arete du maillage M2 joignant les sommets v2

1 etv22. Soient P le point d’intersection de e2 et T 1, et nT 1 la normale au triangle T 1. Les

sommets v2i sont respectivement etiquetes comme interieurs ou exterieurs au maillage

M1 si⟨

Pv2i , n⟩

≤ 0 ou⟨

Pv2i , n⟩

≥ 0. Les sommets interieurs pourront etre elimineslors de l’etape suivante.Nous obtenons a la fin de cette procedure un ensemble de triangles traverses par lacourbe d’intersection, appeles par la suite triangles d’intersection. La courbe d’inter-section definit sur chacun de ces triangles une partition en regions polygonales. Lesregions polygonales interieures a la courbe d’intersection doivent alors etre eliminees dumaillage, alors que celles exterieures doivent etre gardees et triangulees. Une premiereetape consiste alors a determiner si les polygones sont interieurs ou exterieurs. Pourrealiser cet etiquetage, nous utilisons une procedure fondee sur l’orientation (Figure4.36).

Figure 4.36 – Procedure de classification des polygones generes par l’intersection.

L’ordre des sommets du triangle initial induit un sens de parcours de la courbe d’inter-section. On procede en parcourant chacun des polygones obtenus en suivant cet ordre desommets. Cela donne une orientation a l’ensemble des regions polygonales. Ainsi, seulescelles ayant le meme sens d’orientation que la courbe de trimming sont-elles retenues.

4. Le voisinage des courbes de blending, constitue par l’ensemble des triangles traverses parces courbes et etiquetes comme exterieurs, est alors triangule (Figure 4.37).

5. Les deux surfaces sont ensuite contractees d’un facteur (−R). La correspondance entreles points de la courbe d’intersection permet de construire la surface de blending direc-tement. Notons par Pi un point de la courbe d’intersection entre les surfaces dilatees,et par P 1

i et P 2i les points lui correspondant sur les surfaces contractees M1 et M2.

Il est possible de generer un ensemble de points intermediaires P ki situes sur l’arc de

cercle defini par P 1i et P 2

i , ( ¯PiP 1i = ¯PiP 2

i = R), qui definissent un ensemble de courbesintermediaires Ck. Nous obtenons une surface de blending construite en triangulant lesbandes definies par chaque couple de courbes consecutives P k

i i. La surface de blendingainsi obtenue correspond a une surface generee par une balle roulant au contact des deuxelements assembles.

4.4 Generation d’un maillage seamless 111

Figure 4.37 – Remaillage des triangles d’intersection.

Notons enfin que cette procedure peut etre appliquee sans les etapes de dilatation etcontraction (pour un rayon R = 0). Les surfaces sont alors simplement re-triangulees demaniere a obtenir un maillage seamless, mais sans effet de lissage au niveau des jonctionsentre les differentes parties du modele. Cela est utile lorsque l’utilisateur ne veut pas intro-duire de surface de blending, mais uniquement assembler le modele tel qu’il est reconstruit.La Figure 4.37 illustre un exemple de remaillage au voisinage de l’intersection de deux partiesconstituant la queue du personnage zozo. Une couleur est attribuee a chaque triangle d’inter-section appartenant aux maillages initiaux. La Figure 4.38 illustre les resultats de remaillageobtenus pour le personnage Krumm, sans surfaces de blending.

Les Figures 4.39, 4.40 et 4.41 presentent quelques resultats obtenus pour le personnageElfie pour differentes valeurs du parametre R. D’une maniere generale, cette approche conduita des resultats visuellement meilleurs que ceux de la methode de connexion hierarchique, gracea la surface de blending qui assure une transition plus graduelle entre les parties assemblees.

Notons de plus que le nombre de courbes intermediaires, ainsi que le rayon du rollingball peuvent etre des parametres modifiables par l’utilisateur en fonction de l’importance dulissage voulu d’une part, et des prerequis d’animation pour chaque articulation d’autre part.La valeur de ces parametres est determinante pour la qualite des surfaces de blending.

Les temps de calcul necessaires pour obtenir un unique maillage seamless restent impor-tants, notamment lorsqu’il s’agit de maillages en haute resolution avec des milliers de sommetspar composante.

Par ailleurs, les surfaces de blending apparaissent encore peu naturelles, en raison de l’ecartintroduit entre les parties reconstruites. En effet, deux objets connexes sur des vues du tur-naround peuvent etre completement separes une fois reconstruits independamment l’un del’autre. Ce phenomene est d’autant plus accentue que l’etape de modelisation NURBS im-plique des procedures de lissage qui ont un effet de retrecissement. Nous pouvons observerdes cas ou les modeles volumiques se superposent, alors que les modeles NURBS finaux sontdeconnectes. Lorsque les ecarts entre parties deviennent trop importants, la seule solution estde deplacer manuellement les images 2D de projection avant d’effectuer la reconstruction, cequi correspond a une calibration supplementaire. La figure 4.42(b) illustre ce probleme dansle cas des ailes du personnage Zozo. Les surfaces NURBS des ailes sont deconnectees du corps.La reconstruction obtenue a partir d’images translatees manuellement est presentee Figure4.42(d). Toutefois, cette procedure alourdit le processus de reconstruction.

Enfin, un dernier inconvenient lie a la modelisation par surfaces NURBS est lie a l’uni-formisation des vecteurs de nœuds qui constitue une contrainte importante pouvant conduirelocalement a de fortes densites de points de controle.

Afin de s’affranchir de tous ces inconvenients, nous proposons une methode de recons-truction ou l’assemblage est effectue a partir du modele volumique. Cela permet d’eviter le

112 Reconstruction 2D/3D de personnages virtuels

(a) Maillage seamless.

(b) Remaillage au niveau de la connexion dunez au corps.

(c) Remaillage au niveau de la connexion d’une mainau corps.

Figure 4.38 – Resultats obtenus pour le personnage Krumm.

probleme lie aux surfaces de blending. La triangulation est ensuite realisee directement, sanspasser par l’etape de modelisation NURBS, pour generer un unique maillage seamless.

4.5 Reconstruction 2D/3D par maillages

Dans cette approche, l’assemblage des differentes parties d’un meme modele est effectuedirectement a partir du modele volumique obtenu via la methode de reconstruction de l’enve-loppe visuelle par coupes.

La triangulation du volume d’intersection exploite conjointement une procedure de subdi-vision et une triangulation de Delaunay.

La methode consiste en trois etapes principales (Figure 4.43). Il s’agit de l’assemblage desdifferents modeles volumiques correspondant aux parties reconstruites, du lissage des coupes,et enfin de la triangulation de la surface.

4.5.1 Assemblage volumique

L’assemblage des parties a partir du modele volumique a pour objectif de limiter lesproblemes de deconnexion ou d’ecartement des composantes de l’objet reconstruites separement.Cela permet de conserver l’information de connexite des images du turnaround qui est preserveepar le processus d’intersection de volumes. Toutefois, pour s’affranchir d’eventuels problemes

4.5 Reconstruction 2D/3D par maillages 113

(a) R=0.0. (b) R=0.25.

(c) R=0.5. (d) R=1.0.

Figure 4.39 – Connexion du torse et du bras du personnage Elfie par Rolling Ball.

(a) R=0.0. (b) R=0.25.

(c) R=0.5. (d) R=1.0.

Figure 4.40 – Connexion du bras et de la main du personnage Elfie par Rolling Ball.

d’occlusion, nous maintenons ici la contrainte de connexion conditionnee par les relationshierarchiques du squelette d’animation. (cf. Section 4.4.1).

Les modeles volumiques de chaque partie sont ici representes par une serie de polygonescorrespondant a des coupes horizontales. L’assemblage du modele volumique est effectue donccoupe par coupe comme suit : pour chaque coupe et pour chaque ensemble de parties a assem-

114 Reconstruction 2D/3D de personnages virtuels

(a) R=0.0. (b) R=0.25.

(c) R=0.5. (d) R=1.0.

Figure 4.41 – Connexion de la jambe et du pied du personnage Elfie par Rolling Ball.

(a) Visual Hull donne par les images initiales du dessi-nateur.

(b) Surface NURBS generee par interpolation.

(c) Visual Hull donne par les images corrigees a la mainpar simple translation.

(d) Surface NURBS generee par interpolation.

Figure 4.42 – Deconnexion de parties reconstruites en fonction des images d’entree : bien queles VH des differentes parties sont connexes et conformes aux images projectives de depart(Figure 4.10), le lissage intrinseque a la modelisation des coupes par des courbes NURBSintroduit un vide entre les parties lissees independamment.

bler, nous generons le polygone global correspondant a la reunion des polygones representantchaque partie (Figures 4.44(a) et 4.44(b)). Nous obtenons ainsi une serie de coupes contenantun nombre variable de sommets, mais dont la connexite est connue.

4.5 Reconstruction 2D/3D par maillages 115

Intersection de volumes

Vues de projection 2D segmentées

Assemblage des parties par coupe

Simplification des coupes

Subdivision des coupes

Triangulation entre coupes successives

Maillage seamless

Modèle Global: coupes horizontales

Modèle volumique

Figure 4.43 – Vue globale de la methodologie de reconstruction par maillages.

(a) Polygones a assembler. (b) Assemblage. (c) Simplification.

Figure 4.44 – Assemblage des modeles volumiques par coupes.

Une simplification de chaque polygone reunion ainsi obtenu est alors effectuee suivant uncritere d’elimination des sommets fonde sur une information de distance relative. Une areteSiSi+1 appartenant a la reunion de deux polygones P1 et P2 est alors eliminee si et seulementsi :

d(Si, Si+1)∑n−1j=0 d(Sj , Sj+1)

< Err, (4.31)

ou Err est une erreur maximale donnee et n est le nombre total des sommets du polygonereunion.

Une telle arete est eliminee en supprimant un de ses sommets. Le choix de celui-ci se fondesur sa non-appartenance a la liste des sommets initiaux des polygones P1 et P2.

En outre, une arete n’est eliminee que si au moins l’une de ses extremites est genereepar l’intersection d’une arete de P1 avec une arete de P2. Cette condition a pour objectif de

116 Reconstruction 2D/3D de personnages virtuels

conserver les differentes parties du modele, meme si celles-ci ont des dimensions tres differentescomme cela peut etre le cas pour certains details tels les yeux ou le nez. La Figure 4.44(c)presente un exemple de simplification du polygone reunion.

Notons que d’autres criteres peuvent etre egalement consideres, comme l’estimation del’influence de la simplification sur l’aire ou la forme du polygone reunion.

4.5.2 Lissage des coupes

Afin d’obtenir un modele realiste, nous nous appuyons sur la meme hypothese relative ala forme des personnages : chaque partie est modelisee par une forme simple et arrondie. Celanous permet de passer d’un volume englobant grossier a un modele plus lisse. Cette etape meten œuvre une procedure de subdivision de Chaikin, effectuee sur chaque coupe horizontaleobtenue apres assemblage des parties.

4.5.3 Triangulation

Disposant de l’information de connexite des differentes parties, la triangulation est ef-fectuee en inserant chaque coupe dans la suivante. Cela permet de s’affranchir des methodesde triangulation de coupes de topologie differentes telles que celle proposee par [SSBT01] quis’appuie sur des criteres de distance. La triangulation est effectuee alors entre chaque couplede coupes successives de la maniere suivante :

– Les polygones appartenant a des parties connexes sont tout d’abord identifies (Figure4.45(a)).

– Le polygone correspondant a la partie parent sur le squelette d’animation est designecomme polygone parent et constitue le polygone exterieur a trianguler.

– Les polygones de la coupe suivante correspondant a des parties enfant sont inseres dansle polygone parentpour former les contraintes de triangulation (Figure 4.45(b)).

– Une triangulation de Delaunay 2D sous contrainte de contours interieurs est ensuiteeffectuee (Figure 4.45(c)).

– Enfin, les sommets des polygones enfant reprennent leur position 3D initiale. La trian-gulation entre les deux coupes successives est alors complete (Figure 4.45(d)).

(a) Coupes successives. (b) Insertion des polygonesenfants.

(c) Triangulation de Delau-nay 2D.

(d) Triangulation 3D finale .

Figure 4.45 – Triangulation Delaunay 2D avec contraintes inter-coupes.

4.5 Reconstruction 2D/3D par maillages 117

4.5.4 Resultats experimentaux

Les resultats presentes ici correspondent au personnage Elfie, reconstruit a partir de deuxvues projectives segmentees en 11 parties representees Figure 4.46 par des couleurs differentes.Le modele est reconstruit en utilisant les coupes horizontales obtenues de l’intersection devolume avec un sous-echantillonnage de pas 5. Les temps de calcul pour chacune des etapesd’intersection de volume et de lissage/triangulation est d’environ 40s pour des images de taille300 × 600. Le modele final est constitue de 15768 triangles.

(a) Vues segmentees. (b) Maillage seamless reconstruit.

Figure 4.46 – Reconstruction par maillage du personnage Elfie a partir de deux vues.

Nous pouvons constater que la triangulation obtenue est tres correcte meme dans le cas oules deux parties jointes sont reconstruites avec des niveaux de subdivision differents et doncpresentent des triangles de tailles tres differentes, comme c’est le cas pour la tete et le busted’Elfie (Figure 4.47).

(a) Bras-buste.

118 Reconstruction 2D/3D de personnages virtuels

(b) Buste-jupe. (c) Jupe-jambes.

(d) Bras-main. (e) Tete-buste.

Figure 4.47 – Details des connexions de parties obtenues pour le personnage Elfie.

Enfin, lorsque les composantes jointes sont tres proches, cas ou l’intersection genereraitnormalement un maillage presentant une triangulation de mauvaise qualite, la simplificationdes courbes par coupe tout en prenant en compte les contraintes de reconstruction permetd’obtenir un maillage de meilleure qualite (Figure 4.48).

(a) Sans simplification. (b) Avec simplification.

Figure 4.48 – Influence de la simplification des polygones sur la qualite de la triangulation.

4.6 Conclusion 119

4.6 Conclusion

Ce chapitre a presente differentes approches de reconstruction de modeles parametriqueset mailles, ainsi qu’un module d’assemblage des parties modelisees par des maillages trian-gulaires en un unique maillage seamless. Ici, la reconstruction, qui se heurte a un problemede manque d’information crucial du fait du faible nombre d’images dont on dispose et del’aspect approximatif de la projection, procede en mettant en place des hypotheses relativesa la symetrie et a la forme des objets et personnages dessines, tout en offrant a l’utilisateurla possibilite de controler les formes reconstruites, soit en ajoutant des vues, soit en modifiantles parametres de lissage longitudinal et horizontal.

Ces differentes methodes ont ete testees sur un ensemble de dessins manuels de turnaroundd’origines differents :

– deux modeles fournis par un dessinateur professionnel pour le projet TOON (personnagesElfie et Zozo),

– quatre turnarounds non dessines dans le cadre du projet (personnages Krumm, Oblina,Ickis et Titeuf),

– cinq modeles realises par des utilisateurs novices (Mahras, Homme et Femme tunisienset la poule).

Les resultats obtenus prouvent l’efficacite du procede par segmentation pour generer desmodeles articules complexes tout en restant parfaitement compatible avec les pratiques ha-bituelles des dessinateurs. Toutefois, il est necessaire d’introduire un module de deformationet de reajustement des modeles reconstruits afin de pouvoir ajouter des details au modele ouappliquer des animations non rigides.

120 Reconstruction 2D/3D de personnages virtuels

Chapitre 5

Deformation 2D/3D de surfacesNURBS

Resume

Les modeles reconstruits ne sont souvent pas exactement conformes aux dessins manuelsfournis. Ces differences s’expliquent d’une part par les erreurs de dessins, comme les in-coherences de pose et les erreurs de projection, et d’autre part par le processus de recons-truction qui implique des etapes de lissage et de sous-echantillonnage. Afin de prendre encompte ces differentes sources d’erreur et de les corriger, il est necessaire d’introduire unmodule de raffinement et de deformation des modeles reconstruits.

Nous presentons dans ce chapitre une methode de deformation appliquee aux modelesNURBS en agissant sur les points de controle, ce qui offre l’avantage de correspondre aune procedure intuitive dont l’action reste locale.Ce module de deformation a ete teste dans le cadre du raffinement des modeles reconstruits,ainsi que pour ajouter des details ou deformer les modeles reconstruits selon des dessinsprojectifs modifies.

Mots clesDeformation 2D/3D, Surfaces NURBS, Maillage de controle, Projections, Contraintes 2D.

121

122 Deformation 2D/3D de surfaces NURBS

Dans le chapitre precedent, nous avons presente deux differentes methodes de reconstruc-tion : la premiere a l’aide de surfaces NURBS et la seconde par des maillages. Bien que lareconstruction 2D/3D soit une etape pertinente pour le projet TOON, nos objectifs ne se li-mitent pas a la reconstruction, mais concernent aussi l’animation et la deformation des modelesobtenus, toujours sous la contrainte d’une interaction exclusivement 2D.

Nous presentons ici une methode de deformation qui s’applique aux modeles NURBS etqui agit sur les points de controle tout en garantissant les proprietes de continuite. L’avantagede cette approche est de rester intuitive et locale.

Le module de deformation peut etre applique soit pour raffiner les modeles reconstruitsconformement aux vues projectives de depart, soit pour effectuer de nouvelles deformationsen considerant de nouveaux angles de vue.

Ce chapitre propose une approche de deformation de surfaces NURBS 3D a partir decontraintes 2D. La methode etend l’algorithme propose dans [HLZ01]. Celui-ci consiste adeformer la surface de maniere a ce qu’elle interpole un ensemble de points de coordonnees3D connues.

Introduisons tout d’abord les notations mathematiques necessaires. Soit P (u, v) une surfaceNURBS definie comme :

P (u, v) =n∑

i=0

m∑j=0

Pi,jRi,j(u, v). (5.1)

Notons par P (u, v) la surface modifiee par deplacement des points de controle, et supposonsque les points de controle a deplacer sont les Pi,j tels que i1 ≤ i ≤ i2 et j1 ≤ j ≤ j2. P (u, v)s’ecrit alors :

P (u, v) =n∑

i=0

m∑j=0

Pi,jRi,j(u, v)

=n∑

i=0

m∑j=0

(Pi,j + εi,j)Ri,j(u, v)

= P (u, v) +i2∑

i=i1

j2∑j=j1

εi,jRi,j(u, v), (5.2)

ou εi,j sont les vecteurs de deplacement appliques aux points de controle Pi,j .L’objectif est de minimiser ces deplacements, au sens des moindres carres sous les contraintes

considerees. La fonction a minimiser E est definie par :

E =i2∑

i=i1

j2∑j=j1

‖εi,j‖2 . (5.3)

Rappelons tout d’abord la methodologie 3D/3D telle que decrite dans [HLZ01]. Ici, les contraintessont des points de 3 que la surface deformee doit interpoler.

5.1 Deformation sous contraintes 3D

Dans le cas ou la contrainte est un ensemble de points de 3, nous avons adopte la solutionproposee par Hu et al. dans [HLZ01].

Notons par (r+1) le nombre de points de contrainte, que la surface NURBS doit interpoler.Soient

– Tll∈0,...,r, les vecteurs de coordonnees des points de contrainte 3D (points cibles),

5.1 Deformation sous contraintes 3D 123

– Sl = P (ul, vl)l∈0,...,r leurs “projections” sur la surface NURBS initiale (non deformee)P , appeles points sources. Sl est defini comme le point sur la surface P le plus proche,au sens de la distance euclidienne, du point cible Tl.

– et Nll∈0,...,r les normales a la surface P aux points sources Sl.La contrainte d’interpolation des points Tl s’exprime par l’equation suivante :

∀l ∈ 0, ..., r , Tl = P (ul, vl) = Sl +i2∑

i=i1

j2∑j=j1

εi,jRi,j(ul, vl). (5.4)

Une deuxieme contrainte de conservation des normales a la surface, aux coordonnees pa-rametriques (ul, vl) est aussi imposee. Elle s’exprime par les equations suivantes :

∀l ∈ 0, ..., r ,

⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

∂uP (ul, vl).Nl =

⎛⎝ ∂

∂uP (ul, vl) +

i2∑i=i1

j2∑j=j1

εi,jRui,j(ul, vl)

⎞⎠Nl = 0

∂vP (ul, vl).Nl =

⎛⎝ ∂

∂vP (ul, vl) +

i2∑i=i1

j2∑j=j1

εi,jRvi,j(ul, vl)

⎞⎠Nl = 0

(5.5)

La solution de ce probleme d’optimisation sous contraintes est obtenue a l’aide du formalismelagrangien.

Les deplacements appliques aux points de controle sont alors determines en minimisant lafonction lagrangienne definie comme suit :

L =i2∑

i=i1

j2∑j=j1

‖εi,j‖2

+r∑

l=0

λl

⎛⎝Tl − Sl −

i2∑i=i1

j2∑j=j1

εi,jRi,j(ul, vl)

⎞⎠

+r∑

l=0

δl

⎛⎝⎛⎝ ∂

∂uP (ul, vl) +

i2∑i=i1

j2∑j=j1

εi,jRui,j(ul, vl)

⎞⎠ .Nl

⎞⎠

+r∑

l=0

γl

⎛⎝⎛⎝ ∂

∂vP (ul, vl) +

i2∑i=i1

j2∑j=j1

εi,jRvi,j(ul, vl)

⎞⎠ .Nl

⎞⎠ (5.6)

ou λl =[λx

l , λyl , λ

zl

]T , δl ∈ et γl ∈ ,l ∈ 0, . . . , r, sont les multiplicateurs lagrangiens, et‖.‖ est la norme euclidienne.

Afin de determiner le minimum du lagrangien, nous recherchons les zeros de ses deriveespartielles par rapport aux multiplicateurs lagrangiens et aux deplacements εi,j :

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

∀l ∈ 0, ..., r ,∂

∂λl(L) = 0,

∀l ∈ 0, ..., r ,∂

∂δl(L) = 0,

∀l ∈ 0, ..., r ,∂

∂γl(L) = 0,

∀i ∈ i1, ..., i2 , ∀j ∈ j1, ..., j2 ,∂

∂εi,j(L) = 0.

(5.7)

Cela conduit au systeme d’equations suivant :

124 Deformation 2D/3D de surfaces NURBS

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

∀l ∈ 0, .., r , Tl = Sl +i2∑

i=i1

j2∑j=j1

εi,jRi,j(ul, vl),

∀l ∈ 0, .., r ,

⎛⎝ ∂

∂uP (ul, vl) +

i2∑i=i1

j2∑j=j1

εi,jRui,j(ul, vl)

⎞⎠ .Nl = 0,

∀l ∈ 0, .., r ,

⎛⎝ ∂

∂vP (ul, vl) +

i2∑i=i1

j2∑j=j1

εi,jRvi,j(ul, vl)

⎞⎠ .Nl = 0,

∀i ∈ i1, ..., i2 , ∀j ∈ j1, ..., j2 ,

2εi,j −r∑

l=0

(λlRi,j(ul, vl) − δlR

ui,j(ul, vl).Nl − γlR

vi,j(ul, vl).Nl

)= 0.

(5.8)

La contrainte de conservation des normales peut etre relachee, surtout lorsque les deformationssouhaitees sont relativement faibles. Cela permet de diminuer la taille de la matrice a inverseret d’accelerer ainsi significativement le temps de calcul. On obtient alors le systeme lineairesuivant : ⎧⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎩∀l ∈ 0, .., r , Tl = Sl +

i2∑i=i1

j2∑j=j1

εi,jRi,j(ul, vl),

∀i ∈ i1, ..., i2 , ∀j ∈ j1, ..., j2 , 2εi,j =r∑

l=0

λlRi,j(ul, vl).

(5.9)

Ce systeme s’ecrit sous la forme matricielle ci-dessous :

[R 0r+1

−2IK+1 Rt

].

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣

ε0...

εK

λ0...

λr

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦

=

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣

T0 − S0...

Tr − Sr

0...0

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦

(5.10)

ou K = (i2 − i1)(j2 − j1) est le nombre de points de controle a deplacer, 0r+1 et IK+1 sontrespectivement la matrice nulle et la matrice identite de taille (r+1)×(r+1) et (K+1)×(K+1),et :

R =

⎡⎢⎣

R0(u0, v0) . . . RK(u0, v0)...

...R0(ur, vr) . . . RK(ur, vr)

⎤⎥⎦ . (5.11)

Pour des raisons de stabilite, le systeme 5.10 est resolu par SVD 1 [PTVF92]. La surfacedeformee est alors obtenue en appliquant les deplacements εk aux points de controle Pk, touten conservant les valeurs initiales des cœfficients Rk.

La Figure 5.1 presente un premier resultat obtenu en utilisant deux points de contrainte,pour creer un nez a un modele d’humanoıde. Un deuxieme resultat est presente Figure 5.2, ouun creux est applique au dos de l’humanoıde a l’aide d’un ensemble de 16 points de contrainte.

1Singular Value Decomposition

5.1 Deformation sous contraintes 3D 125

Figure 5.1 – Deformation sous contraintes 3D du nez d’un humanoıde.

(a) Contraintes 3D. (b) Deformation resultante.

Figure 5.2 – Deformation sous contraintes 3D du dos d’un humanoıde.

Cette approche de deformation necessite la specification manuelle des contraintes 3D. Celalimite son application directe dans le cadre du projet TOON.

Afin de s’affranchir de cet inconvenient, nous proposons une extension de la methode deHu qui permet de deformer la surface NURBS 3D a partir de contraintes 2D, correspondanta des contours fournis par les dessinateurs.

126 Deformation 2D/3D de surfaces NURBS

5.2 Deformation sous contraintes 2D

Le principe consiste a remplacer les contraintes ponctuelles 3D par des contours dessinessur les images de projection. Considerons le cas d’une image de projection, correspondanta l’angle de vue θ. L’algorithme procede en effectuant une rotation d’un angle θ du modeleNURBS 3D autour de l’axe z. Les contraintes sont ensuite determinees et les deformationseffectuees. Enfin, une rotation du modele deforme de −θ est realisee. Ainsi est-il possible dedeformer successivement le modele sous differents angles de vue.

Soit A le contour apparent de la surface P . Ce contour est obtenu en projetant le contourgenerateur G, geodesique a la surface P , defini par l’ensemble des points de P ou la normalea la surface est orthogonale a la direction de vue.

L’objectif est alors de deformer la surface de maniere a ce que le contour apparent coıncideavec le contour cible :

A = Πx(G) = C, (5.12)

ou Πx est l’operateur de projection selon l’axe horizontal x (Figure 5.3).

x

O

z

y

Figure 5.3 – Contrainte 2D de projection.

Afin de reduire le probleme au formalisme presente dans la section 5.1, nous realisons unechantillonnage des contours cible et generateur pour determiner un ensemble de couples depoints (Tl, Sl) l∈0,...,r ou :

– (r + 1) est le nombre d’echantillons consideres,– Tl sont des points du contour projectif 2D cible,– Sl sont les points sources correspondants sur le contour generateur, dont la determination

est detaillee dans le paragraphe 5.2.1.La contrainte de deformation s’ecrit alors :

Tl = Πx(P (ul, vl))

= Πx(Sl +i2∑

i=i1

j2∑j=j1

εi,jRi,j(ul, vl)) (5.13)

Les deplacements εi,j des points de controle sont alors determines en minimisant le lagra-gien suivant :

5.2 Deformation sous contraintes 2D 127

L =i2∑

i=i1

j2∑j=j1

‖εi,j‖2

+K∑

k=0

⎛⎝ r∑

l=0

λl

⎛⎝Tl − Πx

⎛⎝Sl +

i2∑i=i1

j2∑j=j1

εi,jRi,j(ul, vl)

⎞⎠⎞⎠⎞⎠

+r∑

l=0

δl

⎛⎝⎛⎝ ∂

∂uP (ul, vl) +

i2∑i=i1

j2∑j=j1

εi,jRui,j(ul, vl)

⎞⎠Nl

⎞⎠

+r∑

l=0

γl

⎛⎝⎛⎝ ∂

∂vP (ul, vl) +

i2∑i=i1

j2∑j=j1

εi,jRvi,j(ul, vl)

⎞⎠Nl

⎞⎠ (5.14)

ou les λl ∈ 2, δl ∈ 2 et γl ∈ 2 sont les multiplicateurs lagrangiens.

Pour des raisons de simplicite de calcul, nous considerons dans ce qui suit uniquement lacontrainte de projection, ce qui nous donne le lagrangien simplifie suivant :

L =i2∑

i=i1

j2∑j=j1

‖εi,j‖2 +r∑

l=0

λl

⎛⎝Tl − Πx

⎛⎝Sl +

i2∑i=i1

j2∑j=j1

εi,jRi,j(ul, vl)

⎞⎠⎞⎠ , (5.15)

En developpant, nous obtenons :

L =i2∑

i=i1

j2∑j=j1

‖εi,j‖2 +r∑

l=0

λl

⎛⎝Tl − Πx (Sl) +

i2∑i=i1

j2∑j=j1

Πx(εi,j)Ri,j(ul, vl)

⎞⎠ , (5.16)

La minimisation du lagrangien est effectuee en resolvant les equations aux derivees par-tielles : ⎧⎪⎨

⎪⎩∀l ∈ 0, ..., r,

∂λl(L) = 0,

∀i ∈ i1, ..., i2,∀j ∈ j1, ..., j2,∂

∂εi,j(L) = 0.

(5.17)

Notons que les derivees partielles par rapport au multiplicateurs lagrangiens λl donnent lacontrainte 5.13.

Calculons a present les derivees partielles par rapport aux deplacements εi,j .

∂εp,q(L) = 2εp,q − ∂

∂εp,q

⎛⎝ r∑

l=0

λl.

i2∑i=i1

j2∑j=j1

Πx(εi,j)Ri,j(ul, vl)

⎞⎠ (5.18)

= 2εp,q − ∂

∂εp,q

(r∑

l=0

λl.Πx(εp,q)Rp,q(ul, vl)

)(5.19)

= 2εp,q − ∂

∂εp,q

(r∑

l=0

λl.Πx(εp,q)

)Rp,q(ul, vl). (5.20)

(5.21)

Cette equation, exprimee pour chacune des coordonnees x, y et z, se traduit alors par le

128 Deformation 2D/3D de surfaces NURBS

systeme : ⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

∂εxp,q

(L) = 2εxp,q,

∂εyp,q

(L) = 2εyp,q −

r∑l=0

λyl Rp,q(ul, vl),

∂εzp,q

(L) = 2εzp,q +

r∑l=0

λzl Rp,q(ul, vl).

(5.22)

Notons que la solution triviale de la premiere equation est εxp,q = 0, ce qui implique que les

points de controle sont toujours deplaces parallelement au plan de l’image de contrainte. Lesdeplacement εi,j = [0, εy

p,q, εzp,q]

T sont alors obtenus en resolvant les deux systemes d’equations– Systeme lineaire en y :⎧⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎩Tl

y = Sly +

i2∑i=i1

j2∑j=j1

εyi,jRi,j(u

θkl , vθk

l )),

0 = 2εyi,j −

r∑l=0

λyl Ri,j(ul, vl).

(5.23)

– Systeme lineaire en z :⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

Tlz = Sl

z +i2∑

i=i1

j2∑j=j1

εzi,jRi,j(ul, vl)),

0 = 2εzi,j +

r∑l=0

λzl Ri,j(ul, vl).

(5.24)

Afin de resoudre ce systeme, nous devons d’abord determiner les couples de points cibleset sources.

5.2.1 Determination des points sources 3D

Rappelons que le contour generateur correspond a l’ensemble de points du modele 3D oula direction de vue est tangente a la surface du modele. Cette tangence se traduit par unchangement de signe (passage par 0) du produit scalaire entre la direction de vue Dv et levecteur normal a la surface NS . Afin de determiner le contour generateur de la surface Sl,nous optons alors pour une methode iterative pour rechercher le zero de la fonction

f(u) = 〈NS(u), Dv〉 . (5.25)

L’ensemble des points correspondant aux coordonnees relatives u verifiant l’equation f(u) = 0definit une courbe (ou un ensemble de courbes) sur la surface 3D, qui genere le contour projectifou contour apparent.

Afin d’obtenir un ensemble fini de points de contraintes, nous effectuons tout d’abordun echantillonnage longitudinal de la surface, selon un ensemble de coordonnees ujj . Pourchaque uj , on applique alors les etapes suivantes :

1. Detection des intervalles de nœuds [ui, ui+1] correspondant a un changement de signe dela fonction f(u) (Figure 5.4(a)).

2. Initialisation des k valeurs recherchees pour chaque intervalle [ui, ui+1] a une une suiteu(n)

nconvergeant vers le zero de la fonction f :

u(0) =ui + ui+1

2. (5.26)

5.2 Deformation sous contraintes 2D 129

(a) Intervalle detecte. (b) Points sources obtenus.

Figure 5.4 – Determination des points sources sur le contour generateur.

3. Iterations de Newton pour determiner le zero de la fonction f . A chaque etape, la valeuru(n) est actualisee comme suit :

u(n) = u(n−1) − f(u(n−1))∂∂uf ′(u(n−1))

. (5.27)

ou f ′ designe la derivee de la fonction f .

La Figure 5.4(b) illustre les points de contrainte Sl obtenus pour le vase.Une fois les points sources determines, il reste a calculer les points cibles correspondants

sur les contours 2D de projection.

5.2.2 Determination des contraintes de projection

Les contraintes de projection Tl sont obtenues de la maniere suivante :

1. Les points du contour apparent Sl sont tout d’abord projetes selon la direction de vueconsideree Dv. Soient S2d

l leurs projections.

2. Les points de contrainte Tl sont definis par les projections des S2dl sur la courbe de

contrainte fournie par le dessinateur, modelisee par une courbe NURBS 2D. La projectionsur une courbe NURBS etant impossible a resoudre directement (de par la definitioniterative des courbes et surfaces NURBS), nous utilisons une methode iterative similairea celle mise en oeuvre pour determiner les points du contour apparent Sl. L’initialisationdu systeme est cette fois donnee a l’aide des coordonnees relatives u

(0)l des points sources

sur la courbe polygonale de projectionS2d

0 , ..., S2dNc

, ou Nc est le nombre de points de

contrainte :

u(0)l =

∑li=1 ‖Si − Si−1‖∑Nci=1 ‖Si − Si−1‖

(5.28)

Notons que, afin d’eviter tout decalage entre les coordonnees relatives des deux courbesde projection et de contrainte, celles-ci sont orientees dans le meme sens, en commencantpar le point haut gauche.

130 Deformation 2D/3D de surfaces NURBS

3. L’algorithme iteratif de Newton approche alors ul suivant la contrainte

f(ul) = 〈TC(ul), Sl − C(ul)〉 = 0, (5.29)

ou C(ul) represente les coordonnees 2D correspondant a la coordonnee relative ul sur lacourbe de contrainte C, TC(ul) est le vecteur tangent a la courbe de contrainte C en lacoordonnee relative ul, et Sl est le point source 2D considere.

Toutefois, lorsque les contours de projection et cible sont localement eloignes (forte defor-mation), l’initialisation des coordonnees relatives cibles introduit un decalage sur les corres-pondances. Afin d’eviter ce probleme, nous avons opte pour une initialisation fondee sur unechantillonnage regulier de la courbe NURBS de contrainte en Ne echantillons

c0, ..., cNe−1

,

et sur une initialisation par la coordonnee relative u(cjmin) de l’echantillon cjmin le plus procheen terme de distance euclidienne du point source considere :

jmin = arg minj∈0,...,Ne−1

(‖Sl − cj‖) , (5.30)

u(0)l = u (cjmin) . (5.31)

(5.32)

La Figure 5.5 illustre les contraintes calculees pour le modele de la tete de Titeuf. Ici, lescontours projectifs cibles sont representes en bleu, et les contours source correspondant a laprojection de la surface sont representes en rouge. Les contraintes 2D utilisees sont representespar des segments de droite reliant des points sur les deux courbes. Notons que ce code derepresentation est repris pour l’ensemble des figures de deformation suivantes.

Figure 5.5 – Contraintes de deformation obtenues pour le modele de la tete de Titeuf recons-truit et le contour de depart : initialisation des contraintes par correspondance des coordonneesrelatives (a gauche), puis correspondances apres application de l’algorithme iteratif de Newton(a droite).

5.2 Deformation sous contraintes 2D 131

5.2.3 Resultats experimentaux

Une premiere application de la methode de deformation sous contraintes 2D consiste acorriger les modeles reconstruits conformement aux contours initiaux. En effet, les methodesde construction utilisees introduisent des etapes de lissage. De plus, l’intersection de volumesconduit en cas d’incoherences entre les coupes et d’erreurs de projection a un modele volu-mique qui ne correspond deja plus au courbes produites par les dessinateurs. Appliquer unedeformation peut alors aider a mieux approcher ces contours.

Les Figures 5.6, 5.7 et 5.8 illustrent respectivement des exemples de correction dans le casde la tete, du pull, du pied et de la main du personnage Titeuf selon des contraintes projectivesderivees d’une ou d’un ensemble de vues utilisee(s) pour la reconstruction. Ici, les modeles sontreconstruits a l’aide de la methode d’interpolation de courbes NURBS horizontales, puis lisseet sous-echantillonne, ce qui a induit une erreur entre les contours utilises et les re-projectionsdu modele 3D obtenu.

Notons que dans le cas du buste et du pied, les contraintes utilisees correspondent a uneunique vue et sont satisfaites comme le montrent les reprojections Figures 5.6(d) et 5.7(d).

(a) Modele reconstruit. (b) Contrainte 2D dedeformation.

(c) Modele deforme. (d) Re-projection apresdeformation

Figure 5.6 – Reajustement du pull du personnage Titeuf selon la vue θ = 90 .

(a) Modele construit. (b) Contrainte 2D dedeformation.

(c) Modele deforme. (d) Re-projection apresdeformation.

Figure 5.7 – Reajustement d’une jambe du personnage Titeuf selon la vue θ = 90 .

En revanche, pour l’exemple de la main, les corrections sont effectuees conformement a l’en-semble des vues utilisees pour la reconstruction (face et profil). On observe que les contraintesne sont pas pleinement satisfaites. Cela est justifie par le fait que la methode de deformationprocede par minimisation de l’energie de deplacement des points de controle. Cette etape est

132 Deformation 2D/3D de surfaces NURBS

concretisee dans ce cas par la resolution d’un systeme lineaire ou le nombre d’equations estsuperieur au nombre de variables. Ainsi, lorsqu’un point de controle est sollicite par plusieurscontraintes correspondant a des vues differentes, la resolution ne peut-elle pas necessairementsatisfaire l’ensemble des contraintes.

(a) Modele reconstruit. (b) Contrainte 2D dedeformation.

(c) Modele deforme. (d) Re-projection apresdeformation

Figure 5.8 – Reajustement de la main du personnage Titeuf selon les vues θ = 0 et θ = 90 .

Les figures 5.9 et 5.10 presentent les resultats des deformations obtenues respectivementpour la tete et le torse du personnage Elfie, realisees a partir de la vue de projection a θ = 30non utilisee pour la reconstruction.

Soulignons, dans le cas du buste, l’apparition de la forme creuse au niveau de l’epaule dupersonnage grace a cette etape de deformation. Cela met en valeur l’importance de cette etapequi permet de modeliser des formes ne pouvant pas etre reconstruites directement. En effet, lareconstruction exploite l’enveloppe visuelle qui est par definition convexe pour chaque coupe.

(a) Points echantillonnes ducontour projectif.

(b) Contraintes 2D dedeformation.

(c) Deformations de la sur-face.

(d) Re-projection apresdeformation.

Figure 5.9 – Deformation de la tete d’Elfie selon la vue θ = 30 .

5.2 Deformation sous contraintes 2D 133

(a) Points echantillonnes du contourprojectif.

(b) Contrainte 2D dedeformation.

(c) Re-projection apresdeformation.

(d) Deformations de la surface.

Figure 5.10 – Deformation du buste D’Elfie selon la vue θ = 30 .

Les figures 5.11, 5.12, 5.13, 5.14, 5.15, 5.16, 5.17, 5.18, 5.19, 5.20, 5.21 et 5.22 illustrentdes exemples de deformation pour differents modeles reconstruits a l’aide de deux vues deprojection, ou certaines d’entre elles ont ete par la suite modifiees.

Nous observons globalement une conformite tres correcte des reprojections apres defor-mation avec les contours de contraintes.

Notons que le nombre de contraintes utilisees est parametrable, ce qui permet de realiserun compromis entre les temps de calcul et la precision de l’echantillonnages des contoursgenerateur et de contrainte. Ici, les temps de calculs varient entre 30s et 1mn en fonction dela taille du systeme determinee a la fois par le nombre de contraintes, le maillage de controleet le degre de la NURBS.

134 Deformation 2D/3D de surfaces NURBS

(a) Modele reconstruit. (b) Contraintes 2D. (c) Modele deforme.

Figure 5.11 – Deformation de la tete du personnage Al selon la vue θ = 0 pour obtenir uneffet d’amincissement.

(a) Modele reconstruit. (b) Contour de contrainte. (c) Modele deforme.

Figure 5.12 – Deformation par contrainte projective : ajout d’oreilles a la tete du personnageAl en modifiant une unique vue projective.

(a) Modele reconstruit. (b) Contrainte projective. (c) Modele deforme.

Figure 5.13 – Deformation de l’oreille du personnage Ickis selon la vue θ = 0 pour lui donnerplus d’importance.

5.2 Deformation sous contraintes 2D 135

(a) Modele reconstruit. (b) Contrainte 2D dedeformation.

(c) Modele deforme. (d) Re-projection apresdeformation.

Figure 5.14 – Deformation de l’oreille du personnage Ickis selon la vue θ = 0 pour l’amincir.

(a) Modele reconstruit. (b) Contrainte 2D dedeformation.

(c) Deformation de lasurface.

(d) Re-projection apresdeformation.

Figure 5.15 – Deformation de la poire (croquee) selon la vue θ = 0 .

(a) Modele reconstruit. (b) Contrainte 2D dedeformation.

(c) Modele deforme. (d) Re-projection apresdeformation.

Figure 5.16 – Deformation d’une chaussure selon la vue θ = 90 .

136 Deformation 2D/3D de surfaces NURBS

(a) Contrainte 2D dedeformation.

(b) Deplacements despoints de controle.

(c) Modele deforme. (d) Re-projectionapres deformation.

(e) Contrainte 2D dedeformation.

(f) Deplacements despoints de controle.

(g) Modele deforme. (h) Re-projectionapres deformation.

Figure 5.17 – Deformation du corps du personnage Oblina selon la vue θ = 90 .

(a) Modele construit. (b) Contrainte 2D dedeformation.

(c) Modele deforme. (d) Re-projectionapres deformation.

Figure 5.18 – Deformation d’une mandoline en un luth selon la vue θ = 90 .

5.2 Deformation sous contraintes 2D 137

(a) Modele construit. (b) Contrainte 2Dde deformation.

(c) Modele deforme. (d) Re-projectionapres deformation.

Figure 5.19 – Deformation d’un narguile selon les vues 0 45, 90 et 135.

(a) Modele construit. (b) Contraintes 2D de deformation.

(c) Modele deforme. (d) Re-projections apres deformation.

Figure 5.20 – Deformation d’une ellipsoıde en tete selon les vues 0 et 90 .

(a) Modeleconstruit.

(b) Contraintes 2D dedeformation.

(c) Modeledeforme.

(d) Re-projection apresdeformation.

Figure 5.21 – Construction d’une fleche a l’aide de deformations selon les vues 0 et 90 .

138 Deformation 2D/3D de surfaces NURBS

(a) Modele construit. (b) Contrainte 2D dedeformation.

(c) Modele deforme. (d) Re-projectionapres deformation.

(e) Contrainte 2D dedeformation.

(f) Modele deforme. (g) Re-projectionapres deformation.

Figure 5.22 – Deformations d’un vase selon la vue θ = 90 : resultats obtenus pour un modelereconstruit sans subdivision de Chakin et avec 3 niveaux de subdivision.

Notons qu’il est possible d’etendre la procedure de calcul des contraintes de maniere arealiser des deformations plus importantes. Pour cela, il suffit de definir des deformationslocales ou seul un segment de la courbe de projection est redessine. Le segment de courbede contrainte remplacerait alors le segment de courbe de projection et les contraintes 2Dcorrespondraient alors a des couples de points de meme coordonnee curviligne (Figure 5.23).

Figure 5.23 – Procedure de deformation locale.

5.3 Conclusion 139

Enfin, la figure 5.24 montre une comparaison de la deformation obtenue pour le modeledu vase a partir du meme contour de contrainte 2D, appliquee a des modeles reconstruits parapproximation avec differents parametres de subdivision. Cela met en evidence l’impact duniveau de subdivision du maillage de controle sur la deformation obtenue : plus ce maillageest fin, plus les deformations sont locales et plus il est grossier, plus les deformations sontglobales.

Cette propriete pourrait etre exploitee pour introduire une representation avec differentsniveaux de detail du maillage de controle. Cela permettrait de generer des deformations surdifferents niveaux de resolution. Dans ce schema, le niveau de subdivision du maillage decontrole auquel on appliquerait la deformation serait alors en fonction d’une zone d’influencespecifiee par l’utilisateur. Cela permettrait alors de realiser des deformations de differentesamplitudes sur un meme modele.

De maniere generale, les resultats obtenus montrent les possibilites d’application de cemodule de deformation pour :

– obtenir une plus grande variete de formes a partir d’un meme modele de base : lesdessinateurs peuvent construire une bibliotheque de formes (tete, meuble, arbre, ...)et les utiliser comme base de creation de nouveaux personnages ou elements de decor.Cette bibliotheque s’avere en particulier utile pour representer plusieurs elements dansune meme scene tout en introduisant une faible variabilite (une foret ou une foule depersonnes par exemple).

– animer un personnage qui change de forme dans une sequence donnee : les deformationstelles que l’exageration et l’aplatissement sont tres souvent utilisees dans le cadre desdessins animes [Las87]. Realiser ces deformations a partir d’une reprojection du modele3D allege le processus d’animation puisque l’animateur ne doit plus redessiner le per-sonnage en entier mais seulement specifier les endroits deformes.

– modeliser de maniere incrementale un personnage ou une forme complexe qui ne peutetre specifiee par deux vues de projections uniquement : l’utilisation des reprojectionsselon de nouveaux angles permet alors d’accelerer le processus de creation du personnage.En outre, il devient possible d’ajouter des details en exploitant la finesse du maillage decontrole subdivise (exemples de la tete figure 5.20 et de la fleche figure 5.21).

(a) Aucune subdivision. (b) un niveau desubdivision.

(c) deux niveaux desubdivision.

(d) trois niveaux desubdivision.

Figure 5.24 – Deformation du vase pour differents niveaux de subdivision de reconstruction.

5.3 Conclusion

Ce chapitre a presente une approche de deformation de modeles NURBS 3D sous deuxtypes de contraintes : l’interpolation d’un ensemble de points 3D de coordonnees connues et

140 Deformation 2D/3D de surfaces NURBS

la correspondance a des contours projectifs 2D modifies ou nouveaux. Notons en particulierque la procedure de deformation sous contraintes 2D permet d’alleger le travail du dessinateurqui peut alors utiliser les contours de projection obtenus a partir d’une reconstruction avecdeux vues uniquement. Il suffit ensuite de modifier localement les contours projetes selonde nouveaux angles de vue sans avoir a redessiner le personnage en entier. Les methodespresentees ainsi que les resultats obtenus demontrent la faisabilite et l’efficacite du processusde reconstruction 2D/3D a l’aide de surfaces NURBS, non seulement pour un objectif de re-projection et de visualisation uniquement 2D, mais aussi dans le cadre d’applications 3D oul’interaction 2D reste plus intuitive.

Enfin, nous avons mis en evidence l’interet d’une representation multi-resolution dans lecadre de la modelisation par NURBS. En particulier, un tel mode de representation permettraitde realiser des deformations en fonction d’une zone d’influence specifiee par l’utilisateur. Celapermettrait de s’affranchir de la dependance des deformations vis-a-vis de la finesse du maillagede controle et de realiser ainsi des deformations de differentes amplitudes sur une meme surfaceNURBS.

Conclusion et perspectives

Les systemes de reconstruction interactifs exploitant des dessins manuels representent undomaine de recherche tres recent pour des applications telles que le design, les productionsd’animation, ou la modelisation et simulation scientifique.

Nos recherches s’inscrivent dans ce contexte de reconstruction de formes libres. Plusprecisement, elles concernent la production de dessins animes 2D. Ce domaine qui a conserveun mode de travail traditionnel tres faiblement automatise contraste avec celui des films 3Dbeneficiant de l’essor des technologies 3D.

Afin d’analyser les raisons du fosse qui existe entre les productions d’animation 2D et3D, le premier chapitre presente une etude comparee des deux chaınes de fabrication. Il enressort un manque d’outils permettant aux animateurs 2D d’exploiter les techniques 3D touten conservant leur mode de travail, notamment via une interactivite exclusivement 2D.

Les deuxieme et troisieme chapitres brossent un etat de l’art des modeles de represen-tation de surfaces 3D, ainsi que des techniques d’animation 3D. Cette etude synthetique etcritique nous a conduit a retenir les surfaces maillees pour representation finale, meme si nousavons exploite la modelisation par NURBS pour reconstruire en 3D un objet en l’associant aun module de deformation sous contraintes 2D. En terme d’animation, nous avons opte pourl’approche descriptive, par squelette morphologique, qui permet de realiser des animations parpose clef, de maniere coherente avec les animations traditionnelles 2D. Ces choix, compatiblesavec la norme MPEG-4/AFX, permettent de se placer dans un contexte multi-plateformes oules equipes d’animateurs sont delocalisees et pour lequel la conformite a une norme facilite lesechanges de donnees et garantit l’interoperabilite des applications.

Nos contributions ont donc porte sur le developpement :– d’un module de reconstruction 2D/3D (cf. Chapitre 4), integrant plusieurs approches

avec ou sans modelisation intermediaire par surfaces NURBS,– d’un module de deformation de surfaces NURBS 3D sous contraintes de projection 2D

(cf. Chapitre 5).Bien que structuralement et conceptuellement differentes, les differentes approches de re-

construction developpees exploitent une premiere approximation volumique de l’objet definiecomme l’enveloppe visuelle et obtenue a partir des dessins du turnaround a l’aide d’uneprocedure d’intersection de volumes. Afin d’integrer dans le processus un maximum d’infor-mation, la reconstruction de l’objet est realisee par parties. Cela implique une segmentationdes images realisee par les dessinateurs selon un protocole d’acquisition multi-couches mis aupoint dans le cadre du projet TOON.

Une premiere categorie d’approches de reconstruction exploite une modelisation inter-mediaire par surfaces NURBS. Ici, chaque partie de l’objet est approchee par une surfaceNURBS lisse et adaptee a des objectifs de manipulation interactive et de controle local. Lasurface est determinee en employant une approche de construction par sections. Dans ce cadre,deux strategies differentes ont ete adoptees et developpees :

– La premiere methode consiste a approcher chaque coupe horizontale de l’enveloppe vi-suelle par une courbe NURBS, puis a interpoler l’ensemble des courbes ainsi definies parune surface NURBS,

– La deuxieme technique introduit tout d’abord une etape de subdivision de Chaikin qui

141

142 Conclusion et perspectives

vise a lisser les coupes horizontales de l’enveloppe visuelle. Une procedure d’insertion desommets est ensuite utilisee afin d’homogeneiser le nombre des sommets pour l’ensembledes coupes. Une surface NURBS est alors definie dont le maillage de controle est constituepar l’ensemble des sommets ainsi obtenus.

Dans les deux cas, les differentes surfaces NURBS d’un meme modele sont ensuite triangulees,puis assemblees en un unique maillage sans couture (seamless). Des surfaces de blending entreles differentes parties de l’objet sont alors generees de maniere a garantir des transitions lissesentre les elements assembles. Pour determiner les differentes parties a assembler, la procedured’assemblage exploite conjointenement les relations d’adjacence entre les composantes de l’ob-jet dans les images du turnaround et un squelette d’animation specifie par l’utilisateur.

La principale difficulte de ce type d’approches est liee notamment a la phase d’assemblagedes parties qui necessite la mise en œuvre de techniques de blending et de re-triangulationlourdes en temps de calcul.

Une deuxieme approche plus directe de reconstruction 2D/3D est alors proposee. Le prin-cipe consiste a abandonner la phase de modelisation NURBS et a generer directement unmaillage seamless a partir du modele volumique. Une procedure de subdivision de Chaıkin,realisee independamment pour chaque coupe garantit d’obtenir des modeles lisses. Le maillagefinal est construit en projetant chaque paire de coupe successives dans un meme plan et enappliquant une triangulation de Delaunay 2D avec contraintes.

Pour offrir la possibilite de corriger/raffiner les modeles 3D obtenues, la methode de re-construction par modelisation NURBS a ete enrichie par un module de deformation 2D/3Dqui permet d’ajuster/raffiner interactivement la surface reconstruite a l’aide d’un ensemble decontraintes de projection que la surface doit interpoler. Ces contraintes sont definies comme unensemble de courbes 2D specifiees par l’utilisateur sur les images de projection. Un mecanismede deformation par minimisation d’energie est alors mis en œuvre pour garantir que le contourapparent de la surface approche le contour cible.

Les methodes developpees ont ete validees sur un grand nombre de modeles de personnagesvirtuels de complexites et de formes differentes, humanoıdes ou non. En conclusion, apres avoirmis en evidence la necessite de creer des outils visant a automatiser la chaıne de fabricationdes dessins animes 2D tout en restant conformes aux pratiques traditionnelles de travail desdessinateurs professionnels, nous avons propose un ensemble de methodes de reconstruction,modelisation et deformation 2D/3D de personnages virtuels. Le caractere operationnel desoutils developpes a ete demontre dans le cadre d’une application industrielle grandeur reelle,liee au projet TOON. Leur integration dans un premier prototype de la plate-forme TOONmontre un gain en temps de fabrication de 20% sur l’ensemble de la chaıne de production. Enoutre, cela permet de creer une passerelle entre deux types d’animation, 2D et 3D, jusqu’apresent independants, tout en en garantissant une complete interoperabilite des applicationsvia le standard MPEG-4.

Les perspectives de recherche sont multiples et concernent principalement :– La reconstruction par surfaces de subdivision : la methode de reconstruction directe de

maillages pourrait etre modifiee afin de generer des maillages adaptes a la subdivision.Cela permettrait de disposer de differents niveaux de detail pour les modeles reconstruits.

– L’amelioration du module de deformation des surfaces NURBS : les deformations realiseesdependent fortement des degres et du maillage de controle de la surface. En particulier,il serait interessant d’etudier la possibilite d’introduire la notion d’une zone d’influenceparametrable et independante du modele de surface a deformer.

– Le developpement d’un outil de deformation de surfaces maillees sous contraintes 2D,de maniere similaire a celui realise pour les surfaces NURBS.

– La generalisation des deformations a des contours non generateurs, de maniere a pouvoirexploiter les elements de dessin representant souvent des creux ou des plis qui necessitentla mise en œuvre de techniques de deformation differentes.

Bibliographie

[ACWK04] A. Angelidis, M.P. Cani, G. Wyvill, and S. King. Swirling-sweepers : Constantvolume modeling. In Pacific Graphics’2004, pages 10–15, Korea, oct 2004.

[AGB04] A. Alexe, V. Gaildrat, and L. Barthe. Interactive modelling from sketches usingspherical implicit functions. In AFRIGRAPH ’04 : Proceedings of the 3rd in-ternational conference on Computer graphics, virtual reality, visualisation andinteraction in Africa, pages 25–34, Stellenbosch, South Africa, 2004. ACM Press.

[AJ03] B. De Araujo and J. Jorge. Blobmaker : Free-form modelling with variationalimplicit surfaces. In 12th Portuguese Computer Graphics Meeting, pages 17–26,Porto, Portugal, October 2003.

[Ale02] M. Alexa. Recent advances in mesh morphing. In Computer Graphics Forum,volume 21, pages 173–196, June 2002.

[Bae01] P. Baerlocher. Inverse kinematics techniques of the interactive posture controlof articulated figures. PhD thesis, Ecole Polytechnique Federale de Lausanne,Lasanne, Suisse, 2001.

[Baj94] C. Bajaj. Polynomial surface patch representations. Technical Report 94-038,Purdue University, Computer Sciences, 1994.

[Bar84] A.H. Barr. Global and local deformations of solid primitives. In SIGGRAPHComputer Graphics, volume 18, pages 21–30, 1984.

[BCCD04] D. Bourguignon, M.P. Cani, R. Chaine, and G. Drettakis. Relief : A modelingby drawing tool. In First Eurographics Workshop on Sketch-Based Interfaces andModeling (SBM’04), pages 151–160, Grenoble, France, September 2004.

[BCD01] D. Bourguignon, M.P. Cani, and G. Drettakis. Drawing for illustration and an-notation in 3d. In Eurographics Computer Graphics Forum, volume 20, pages114–122, September 2001.

[BGA04] A. Barbier, E. Galin, and S. Akkouche. A framework for modeling, animating andmorphing taxtures implicit models. Technical report, LIRIS, CNRS, UniversiteClaude Bernard Lyon I, 2004.

[BGK03] A. Balazs, M. Guthe, and R. Klein. Fat borders : Gap filling for efficient view-dependent lod rendering. Technical Report CG-2003-2, Universitat Bonn, Ger-many, June 2003.

[Bir] J. Birn. www.3drender.com. Tutorial : NURBS Head Modeling.

[BK97] Gill Barequet and Subodh Kumar. Repairing cad models. In VIS ’97 : Proceedingsof the 8th conference on Visualization ’97, page 363, Phoenix, Arizona, UnitedStates, 1997. IEEE Computer Society Press.

[Bli82] J.F. Blinn. A generelization of algebraic surface drawing. In ACM Transactionson Graphics, volume 1, pages 235–256, 1982.

[BNK02] P. Borodin, M. Novotni, and R. Klein. Progressive gap closing for mesh repairing.In Advances in Modelling, Animation and Rendering, pages 201–213. SpringerVerlag, 2002.

143

144 BIBLIOGRAPHIE

[Boo87] C. De Boor. Cutting corners always works. In Computer Aided Geometric Design,volume 4, pages 125–132, 1987.

[BS91] J. Bloomenthal and K. Shoemake. Convolution surfaces. In Computer Graphics,volume 25, pages 251–255, 1991.

[BW76] N. Burtnyk and M. Wein. Interactive skeleton techniques for enhancing motiondynamics in key frame animation. In Procedings of the 2nd annual conference onComputer graphics and interactive techniques, volume 19, pages 78–80, BowlingGreen, Ohio, June 1976.

[BW97] D. Baraff and A. Witkin. Physically based modeling : principles and practice.Siggraph course notes, 1997.

[BWW94] B. Boufama, D. Weinshall, and M. Werman. Shape from motion algorithms : acomparative analysis of scaled orthography and perspective. In Proceedings ofthe 3rd European Conference on Computer Vision, pages 199–204, Stockholm,Sweden, May 1994.

[Cas63] P. De Casteljau. Courbes et surfaces a poles. Technical report, Andre CitroenAutomobiles, S. A., Paris, 1963.

[Cas87] M.S. Casale. Free-form solid modeling with trimmed surface patches. In IEEEComputer Graphics and Applications, volume 7, pages 33–43, 1987.

[CC78] E. Catmull and J. Clark. Recursively generated b-spline surfaces on arbitrarytopological meshes. In Computer-Aided Design, volume 10, pages 350–355, 1978.

[Cha74] G.M. Chaikin. An algorithm for heigh speed curve generation. In ComputerGraphics and Image Processing, volume 3, pages 346–349, 1974.

[CHP89] J.E. Chadwick, D.R. Haumann, and R.E. Parent. Layered construction for defor-mable animated characters. In SIGGRAPH ’89 : Proceedings of the 16th annualconference on Computer graphics and interactive techniques, pages 243–252, NewYork, NY, USA, 1989. ACM Press.

[CJ89] B.K. Choi and S.Y. Ju. Constant radius blending in surface modelling. In Com-puter Aided Design, volume 21, pages 213–220, 1989.

[CKB04] P. Chaudhuri, P. Kalra, and S. Banerjee. A system for view dependent animation.volume 23, pages 411–420. Blackwell Publishers, 2004.

[Coq90] S. Coquillart. Extended free-form deformation : a sculpturing tool for 3d geometricmodeling. In SIGGRAPH ’90 : Proceedings of the 17th annual conference onComputer graphics and interactive techniques, pages 187–196, Dallas, TX, USA,1990. ACM Press.

[Cot01] O. Cotte. Il etait une fois le dessin anime et le cinema d’animation. Paris :Dreamland, 2001.

[CSSJ05] J. J. Cherlin, F. Samavati, M. C. Sousa, and J. A. Jorge. Sketch-based modelingwith few strokes. In 21st Spring Conference on Computer Graphics, Budmerice,Slovak Republic, 2005.

[DKL98] E. Dam, M. Koch, and M. Lillholm. Quaternions interpolation and animation.Technical Report DIKU 98/5, University of Copenhagen, Denmark, 1998.

[DM95] A. Dolenc and I. Malenka. Optimised triangulation of parametric surfaces : Themathematics of surfaces. In Adrian Bowyer, editor, Computer Aided SurfaceGeometry and Design, volume 4, pages 169–183, 1995.

[Doo78] D. Doo. A subdivision algorithm for smoothing down irregularly shaped polyhe-drons. In Int. Conf. Ineractive Techniques in Computer Aided Design,Bologna,Italy, IEEE Computer Soc, pages 157–165, 1978.

[Dov00] B. Dovnikovic. La technique du dessin anime. Paris : Dreamland, 2000.

BIBLIOGRAPHIE 145

[DS78] D. Doo and M. Sabin. Behaviour of recursive division surfaces near extraordinarypoints. In Computer-Aided Design, volume 10, pages 356–360, 1978.

[EHBE97] L. Eggli, C. Hsu, B. Bauderlin, and G. Elber. Inferring 3d models from freehandsketches and constraints. In Computer Aided Design, volume 29, pages 101–112,1997.

[Eva03] T. Evans. Dead or alive : is 2d animation still wanted ? Technical report, CUS-TODIEV Market Watch, 2003.

[Far96] G. Farin. Curves and Surfaces for Computer Aided Geometric Design. AcademicPress Professional, Inc., San Diego, CA, USA, 1996.

[FBC+95] J.D. Fekete, E. Bizouarn, E. Cournarie, T. Galas, and F. Taillefer. Tictactoon : apaperless system for professional 2d animation. In SIGGRAPH ’95 : Proceedingsof the 22nd annual conference on Computer graphics and interactive techniques,pages 79–90, New York, NY, USA, 1995. ACM Press.

[FF01] N. Foster and R. Fedkiw. Practical animation of liquids. In SIGGRAPH ’01 :Proceedings of the 28th annual conference on Computer graphics and interactivetechniques, pages 23–30, New York, NY, USA, 2001. ACM Press.

[Fil89] D.J. Filip. Blending parametric surfaces. ACM Trans. Graph., 8(3) :164–173,1989.

[FK90] D.R. Forsey and R.V. Klassen. An adaptive subdivision algorithm for crack pre-vention in the display of parametric surfaces. In Proceedings of Graphics interface’90, pages 1–8, Halifax, Nova Scotia, 1990.

[fla] http ://www.macromedia.com/.

[Flo97] M.S. Floater. Parametrization and smooth approximation of surface triangula-tions. Computer Aided Geometric Desesign, 14(3) :231–250, 1997.

[FR02] F. Di Fiore and F. Van Reeth. Employing approximate 3d models to enrichtraditional computer assisted animation. In Computer Animation, pages 183–192, Geneva,Switzerland, 2002. IEEE Computer Society.

[FSER01] F. Di Fiore, P. Schaeken, K. Elens, and F. Van Reeth. Automatic inbetwee-ning in computer assisted animation by exploiting 2.5d modelling techniques. InComputer Animation CA’01, pages 192–200, Seoul, Korea, 2001.

[Fuc03] P. Fuchs. Le traite de la realite virtuelle. Presses de l’Ecole des Mines, 2003.

[FvDFH97] J.D. Foley, A. van Dam, S.K. Feiner, and J.F. Hughes. Computer Graphics :Principles and Practice. Addison Wesley, 1997.

[FvdPT97] P. Faloutsos, M. van de Panne, and D. Terzopoulos. Dynamic free form deforma-tions for animation synthesis. IEEE Transactions on Visualization and ComputerGraphics, 3(3) :201–214, 1997.

[Gar93] J. Garding. Direct estimation of shape from texture. In IEEE Transactions onPattern Analysis and Machine Intelligence, volume 15, pages 1202–1208, 1993.

[GGS03] C. Gotsman, X. Gu, and A. Sheffer. Fundamentals of spherical parameterizationfor 3d meshes. ACM Trans. Graph., 22(3) :358–363, 2003.

[Gla89] A. Glassner. An Introduction to Ray Tracing. Academic Press Ltd., London, UK,1989.

[Gle00] M. Gleicher. Animation from observation : Motion capture and motion editing.SIGGRAPH Comput. Graph., 33(4) :51–54, 2000.

[Gen03] B. Genin. Cinema d’animation : dessin anime, marionnettes, images de synthese.Paris : Cahiers du cinema, 2003.

146 BIBLIOGRAPHIE

[Gri99] C. Grimm. Implicit generalized cylinders using profile curves. In Proceedings ofImplicit Surfaces’99, pages 33–41, Bordeaux, France, 1999. Eurographics Associa-tion.

[HAC03] S. Hornus, A. Angelidis, and M.P. Cani. Implicit modeling using subdivisioncurves. In The Visual Computer, volume 19, pages 94–104, 2003.

[HAN] http ://h-anim.org/.

[HDD+94] H. Hoppe, T. DeRose, T. Duchamp, M. Halstead, H. Jin, J. McDonald, J. Schweit-zer, and W. Stuetzle. Piecewise smooth surface reconstruction. In SIGGRAPH’94 : Proceedings of the 21st annual conference on Computer graphics and inter-active techniques, pages 295–302, New York, NY, USA, 1994. ACM Press.

[HL94] S.C. Hsu and I.H.H. Lee. Drawing and animation using skeletal strokes. InSIGGRAPH ’94 : Proceedings of the 21st annual conference on Computer graphicsand interactive techniques, pages 109–118, New York, NY, USA, 1994. ACM Press.

[HLZ01] S.M. Hu, Y.F. Li, and J.X. Zhu. Modifying the shape of nurbs surfaces withgeometric constraints. In Computer Aided Design, volume 33, pages 903–912,2001.

[HNC02] D. Hinsinger, F. Neyret, and M.P. Cani. Interactive animation of ocean waves. InSCA ’02 : Proceedings of the 2002 ACM SIGGRAPH/Eurographics symposiumon Computer animation, pages 161–166, San Antonio, Texas, 2002. ACM Press.

[HQ04] J. Hua and H. Qin. Haptics-based dynamic implicit solid modeling. IEEE Tran-sactions on Visualization and Computer Graphics, 10(5) :574–586, 2004.

[IITS04] T. Ijiri, T. Igarashi, S. Takahashi, and E. Shibayama. Sketch interface for 3dmodeling of flowers. Technical Sketch at ACM SIGGRAPH, August 2004.

[IMT99] T. Igarashi, S. Matsuoka, and H. Tanaka. Teddy : a sketching interface for 3dfreeform design. In SIGGRAPH ’99 : Proceedings of the 26th annual conferenceon Computer graphics and interactive techniques, pages 409–416, New York, NY,USA, 1999. ACM Press/Addison-Wesley Publishing Co.

[JLD82] J.P. J.M. Lo Duca. Le Dessin anime, histoire, esthetique, technique. Paris :Prisma, 1982.

[Kar01] O. Karpenko. Interactively generating 3d models from contour drawings. Master’sthesis, Brown University, Providence, Rhode Island, USA, 2001.

[KBK02] F. Kahlesz, A. Balazs, and R. Klein. Multiresolution rendering by sewing trimmednurbs surfaces. In SMA ’02 : Proceedings of the seventh ACM symposium on Solidmodeling and applications, pages 281–288, Saarbrucken, Germany, 2002. ACMPress.

[KE95] K. Kim and G. Elber. A symbolic approach to freeform surface blends. Journalof Visualization and Computer Animation, 8 :69–80, 1995.

[Ker04a] I.v. Kerlow. The art of 3D computer animation and effects. Wiley, Hoboken, NewJersey, 2004.

[Ker04b] I.v. Kerlow. The art of 3D computer animation and effects, chpitre 11. Wiley,Hoboken, New Jersey, 2004.

[KHR02] O. Karpenko, J.F. Hughes, and R. Raskar. Free-form sketching with variationalimplicit surfaces. Computer Graphics Forum, 21(3), 2002.

[KHR04] O. Karpenko, J.F. Hughes, and R. Raskar. Epipolar methods for multi-viewsketching. In Eurographics Workshop on Sketch-Based Interfaces, pages 167–174,Grenoble, France, 2004.

[Kis02] S. Kiss. Computer animation for articulated 3d characters. Technical ReportTR-CTIT-02-45, University of Twente, The Netherlands, 2002.

BIBLIOGRAPHIE 147

[KM95] S. Kumar and D. Manocha. Efficient rendering of trimmed nurbs surfaces. InComputer-Aided Design, volume 27, pages 509–521, 1995.

[Kor86] J.U. Korein. A geometric investigation of reach. MIT Press, Cambridge, MA,USA, 1986.

[Kor02] A. Kort. Computer aided inbetweening. In NPAR ’02 : Proceedings of the 2ndinternational symposium on Non-photorealistic animation and rendering, pages125–132, Annecy, France, 2002. ACM Press.

[KPA03] M. Kazakov, A. Pasko, and V. Adzhiev. Interactive metamorphosis and carvingin a multi-volume scene. In GRAPHITE ’03 : Proceedings of the 1st internationalconference on Computer graphics and interactive techniques in Australasia andSouth East Asia, pages 103–ff, Melbourne, Australia, 2003. ACM Press.

[Kre91] E. Kreyszig. Differential Geometry. Dover Publications, New York, 1991.

[KS95] R. Klein and W. Straber. Large mesh generation from boundary models withparametric face representation. In SMA ’95 : Proceedings of the third ACM sym-posium on Solid modeling and applications, pages 431–440, Salt Lake City, Utah,United States, 1995. ACM Press.

[Kuk04] Z. Kukelova. A user interface for freeform modeling based on convolution sur-faces from sketched silhouette curves. In Central European Seminar on ComputerGraphics, Budmerice, SR, 2004.

[Las87] J. Lasseter. Principles of traditional animation applied to 3d computer animation.In SIGGRAPH ’87 : Proceedings of the 14th annual conference on Computergraphics and interactive techniques, pages 35–44, New York, NY, USA, 1987.ACM Press.

[Lau99] A. Laurentini. The visual hull of curved objects. In International Conference onComputer Vision, pages 356–361, Kerkyra, Greece, 1999.

[LC87] W.E. Lorensen and H.E. Cline. Marching cubes : A high resolution 3d surfaceconstruction algorithm. In SIGGRAPH ’87 : Proceedings of the 14th annualconference on Computer graphics and interactive techniques, pages 163–169, NewYork, NY, USA, 1987. ACM Press.

[LCJ94] F. Lazarus, S. Coquillart, and P. Jancene. Axial deformations : an intuitivedeformation technique. Computer-Aided Design, 26(8) :607–613, 1994.

[LCR+02] J. Lee, J. Chai, P.S.A. Reitsma, J.K. Hodgins, and N.S. Pollard. Interactivecontrol of avatars animated with human motion data. In SIGGRAPH ’02 : Pro-ceedings of the 29th annual conference on Computer graphics and interactive tech-niques, pages 491–500, San Antonio, Texas, 2002. ACM Press.

[LGXS03] Y. Li, M. Gleicher, Y.Q. Xu, and H.Y. Shum. Stylizing motion with drawings. InSCA ’03 : Proceedings of the 2003 ACM SIGGRAPH/Eurographics symposium onComputer animation, pages 309–319, San Diego, California, 2003. EurographicsAssociation.

[LKG+03] R. Lau, T. Kunii, B. Guo, N. Magnenat-Thalmann, D. Thalmann, F. Li, B. Zhang,S. Kshirsagar, and M Gutierrez. Emerging web graphics standards and technolo-gies. volume 23, pages 66–75, 2003.

[Loo87] C. Loop. Smooth subdivision surfaces based on triangles. Master’s thesis, Uni-versity of Utah, Department of mathematics, 1987.

[lor] http ://www.lordoftherings.net/.

[LV98] F. Lazarus and A. Verroust. 3d metamorphosis : A survey. The Visual Computer,14 :373–389, 1998.

148 BIBLIOGRAPHIE

[LW04] S.H. Lo and W.X. Wang. A fast robust algorithm for intersection of triangulatedsurfaces. In Engineering with Computers, volume 20, pages 11–21, 2004.

[MAX] www4.discreet.com/3dsmax/.

[MAY] www.aliaswavefront.com/.

[mel] http ://www.sli.unimelb.edu.au/.

[MFCD99] F. Multon, L. France, M.P. Cani, and G. Debunne. Computer animation of humanwalking : a survey. The Journal of Visualization and Computer Animation, 10 :39–54, 1999.

[MH03] Y.L. Ma and W.T. Hewitt. Point inversion and projection for nurbs curve andsurface : control polygon approach. Comput. Aided Geom. Des., 20(2) :79–99,2003.

[MPE] http ://www.mpeg.org/.

[MR97] J. Malik and R. Rosenholtz. Computing local surface orientation and shape fromtexture for curved surfaces. International Journal of Computer Vision, 23 :149–168, 1997.

[MSK02] J. Mitani, H. Suzuki, and F. Kimura. 3d sketch : sketch-based model reconstruc-tion and rendering. From geometric modeling to shape modeling, pages 85–98,2002.

[MTSC04] K. Melikhov, F. Tian, H.S. Seath, and Q. Chen. Frame skeleton based autoinbetweening in computer aided cel animation. In International Conference onCyberworlds, pages 216–223, Tokyo, Japan, 2004.

[NHK+85] H. Nishimura, M. Hirai, T. Kawai, T. Kawata, I. Shirakawa, and K. Omura.Object modeling by distribution function and a method of image generation. InThe Transactions of the Institute of Electronics and Communication Engineers ofJapan, volume J68-D, pages 718–725, 1985.

[OCNF02] Y. Ono, B.Y. Chen, T. Nishita, and J. Feng. Free form deformation with automa-tically generated multiresolution lattices. In IEEE Cyberworlds 2002 ConferenceProceedings, pages 472–479, Tokyo, Japan, 2002.

[ONNI03] S. Owada, F. Nielsen, K. Nakazawa, and T. Igarashi. A sketching interface formodeling the internal structures of 3d shapes. In Smart Graphics 2003, LectureNotes in Computer Science (LNCS), volume 2733, pages 49–57, 2003.

[Par03] R. Parent. Animatique : Algorithmes et techniques. Paris : Vuibert, 2003.

[PC01] F. Perbet and M.P. Cani. Animating prairies in real-time. In SI3D ’01 : Pro-ceedings of the 2001 symposium on Interactive 3D graphics, pages 103–110, NewYork, NY, USA, 2001. ACM Press.

[peg] www.mediapegs.com.

[Ple88] D. Pletincks. The Use of Quaternions for Animation, Modelling and Rendering.Springer, Heidelberg, 1988.

[Pon98] M.T Poncet. Dessin anime. Paris : Voiron, 1998.

[PP04] M. Preda and F. Preteux. Virtual character within mpeg-4 animation frameworkextension. IEEE Transactions on Circuits and Systems for Video Technology,14(7) :975–988, July 2004.

[Pre02] M. Preda. Systeme d’animation d’objets virtuels : de la modelisation a la nor-malisation MPEG-4. PhD thesis, Universite Paris V - Rene Descartes, France,December 2002.

[PT95] L. Piegl and W. Tiller. The NURBS book. Springer-Verlag, London, UK, 1995.

BIBLIOGRAPHIE 149

[PT98] L.A. Piegl and W. Tiller. Geometry based triangulation of trimmed nurbs sur-faces. In Computer Aided Design, volume 30, pages 11–18, 1998.

[PTVF92] W. H. Press, S.A. Teukolsky, W.T. Vetterling, and B.P. Flannery. Numericalrecipes in C : art of scientific computing. Cambridge University Press, 1992.

[Rad99] P. Rademacher. View-dependent geometry. In SIGGRAPH ’99 : Proceedingsof the 26th annual conference on Computer graphics and interactive techniques,pages 439–446, New York, NY, USA, 1999. ACM Press/Addison-Wesley Publi-shing Co.

[REA] http ://www.realsoft.com/.

[Ree81] W.T. Reeves. Inbetweening for computer animation utilizing moving pointconstraints. In SIGGRAPH ’81 : Proceedings of the 8th annual conference onComputer graphics and interactive techniques, pages 263–269, Dallas, Texas, Uni-ted States, 1981. ACM Press.

[Ree96] F. Van Reeth. Integrating 2.5d computer animation techniques for supporting tra-ditional animation. In Computer Animation ’96, pages 118–125. IEEE ComputerSociety Press, 1996.

[Rey82] C.W. Reynolds. Computer animation with scripts and actors. In SIGGRAPH ’82 :Proceedings of the 9th annual conference on Computer graphics and interactivetechniques, pages 289–296, Boston, Massachusetts, United States, 1982. ACMPress.

[Rey87] CW. Reynolds. Flocks, herds, and schools : a distributed behavioral model. InSIGGRAPH 87, Computer Graphics, volume 4, pages 25–34, 1987.

[RGL05] S. Redon, N. Galoppo, and M.C. Lin. Adaptive dynamics of articulated bodies.ACM Trans. Graph., 24(3) :936–945, 2005.

[RHD89] A. Rockwood, K. Heaton, and T. Davis. Real-time rendering of trimmed surfaces.In SIGGRAPH ’89 : Proceedings of the 16th annual conference on Computergraphics and interactive techniques, pages 107–116, New York, NY, USA, 1989.ACM Press.

[Rie75] R. Riesenfeld. On chaikin’s algorithm. In IEEE Computer Graphics and Appli-cations, volume 4, pages 304–310, 1975.

[RR84] J.R. Rossignac and A.A.G. Requicha. Constant radius blending in solid modeling.In Computers in Mechanical Engineering, volume 3, pages 65–73, 1984.

[Sar90] R.F. Sarraga. Computer modeling of surfaces with arbitrary shapes. In ComputerGraphics and Applications, pages 67–77. IEEE Computer Society Press, 1990.

[SCMS01] G. Slabaugh, B. Culbertson, T. Malzbender, and R. Schafer. A survey of methodsfor volumetric scene reconstruction from photographs. In the Joint IEEE TCVGand Eurographics Workshop (VolumeGraphics-01), pages 81–100, June 2001.

[SF98] K. Singh and E. Fiume. Wires : a geometric deformation technique. In SIG-GRAPH ’98 : Proceedings of the 25th annual conference on Computer graphicsand interactive techniques, pages 405–414, New York, NY, USA, 1998. ACM Press.

[SG92] T. W. Sederberg and E. Greenwood. A physically based approach to 2d shapeblending. In SIGGRAPH ’92 : Proceedings of the 19th annual conference onComputer graphics and interactive techniques, pages 25–34, New York, NY, USA,1992. ACM Press.

[SGWM93] T. W. Sederberg, P. Gao, G. Wang, and H. Mu. Shape blending : An intrinsicapproach to the vertex path problem. In Computer Graphics Conference Series,pages 15–18, 1993.

150 BIBLIOGRAPHIE

[She99] A. Sherstyuk. Interactive shape design with convolution surfaces. In SMI ’99 :Proceedings of the International Conference on Shape Modeling and Applications,page 56, Washington, DC, USA, 1999. IEEE Computer Society.

[Sho85] K. Shoemake. Animating rotation with quaternion curves. In SIGGRAPH ’85 :Proceedings of the 12th annual conference on Computer graphics and interactivetechniques, pages 245–254, New York, NY, USA, 1985. ACM Press.

[Sli92] G. Slinker. Inbetweening using a physically based model and nonlinear pathinterpolation. Master’s thesis, Brigham Young University, Computer Science De-partment, 1992.

[SP86] T.W. Sederberg and S.R. Parry. Free-form deformation of solid geometric models.In SIGGRAPH ’86 : Proceedings of the 13th annual conference on Computergraphics and interactive techniques, volume 20, pages 151–160, New York, NY,USA, 1986. ACM Press.

[SSBT01] T. Surazhsky, V. Surazhsky, G. Barequet, and A. Tal. Blending polygonal shapeswith different topologies. Computers & Graphics, 25 :29–39, 2001.

[Sug02] J. Sugier. Triangulation of nurbs surfaces through adaptive refinement. MG&V,11(1) :37–52, 2002.

[Tay96] R. Taylor. The encyclopedia of animation techniques. Philadelphia, PA : RunningPress Book Publishers, 1996.

[TDM99] O. Tolba, J. Dorsey, and L. McMillan. Sketching with projective 2d strokes.In ACM symposium on User Interface Software and Technology, pages 149–157,1999.

[TG95] N. Tsingos and M.P. Gascuel. Un modeleur interactif d’objets definis par dessurfaces implicites. Revue Internationale de CFAO et d’Informatique Graphique,10(4) :355–366, octobre 1995.

[Tha96] D. Thalmann. Physical, behavioral and sensor-based animation. In Graphicon96, St Petersburg, Russia, pages 214–221, 1996.

[the] http ://www.digimation.com.

[Tho60] B. Thomas. Walt Disney : l’art du dessin anime. Simon et Schuster, New York,1960.

[TO99] G. Turk and J. O’Brian. Shape transformation using variational implicit surfaces.In Proceedings of SIGGRAPH Computer Graphics, pages 335–342, 1999.

[tooa] http ://www.toonboom.com/.

[toob] www.toonz.com/.

[TSC96] D. Thalmann, J. Shen, and E. Chauvineau. Fast human body deformations foranimation and vr applications. In Computer Graphics International, pages 166–174. IEEE Computer Society Press, 1996.

[TT96] N. Magnenat Thalmann and D. Thalmann. Computer animation. ACM Comput.Surv., 28(1) :161–163, 1996.

[Tur95] R. Turner. Leman : A system for constructing and animating layered elastic cha-racters. pages 185–203, Leeds, England, June 1995. Academic Press, San Diego,CA.

[TZF03] C.L. Tai, H.X. Zhang, and C.K. Fong. Prototype modeling from sketched sil-houettes based on convolution surfaces. In Computer Graphics Forum, 2003.

[Vic01] L. Vicci. Quaternions and rotations in 3-space : The algebra and its geometricinterpretation. Technical report, Chapel Hill, NC, USA, 2001.

BIBLIOGRAPHIE 151

[VRM] The virtual reality modeling language. International Standard ISO/IEC 14772-1 :1997.

[WMW86] G. Wyvill, C. McPheeters, and B. Wyvill. Data structure for soft objects. In Thevisual computer, volume 2, pages 227–234, 1986.

[WW] A. Watt and M. Watt. Advanced Rendering and Animation Techniques : Theoryand Practice. Reading, MA.

[WW98] K. Weihe and T. Willhalm. Why cad data repair requires discrete algorithmictechniques. In Proceedings of 2nd International Workshop, WAE ’92, AlgorithmEngineering, pages 1–12, Saarbrucken, Germany, August 1998.

[XSI] http ://www.softimage.com/products/xsi/.

[YBS02] S. Yoshizawa, A.G. Belyaev, and H.P. Seidel. A simple approach to interactivefree-form shape deformations. In 10 th Pacific Conference on Computer Graphicsand Applications, pages 471–474, Beijing, China, 2002. IEEE Computer SocietyPress.

[YS03] A.J. Yezzi and S. Soatto. Structure from motion for scenes without features. InCVPR’03, volume 1, pages 171–178, 2003.

[ZG98] S. Zelinka and M. Garland. Wires : a geometric deformation technique. In SIG-GRAPH ’98 : Proceedings of the 25th annual conference on Computer graphicsand interactive techniques, pages 405–414, New York, NY, USA, 1998. ACM Press.

[ZH02] V.B. Zordan and J.K. Hodgins. Motion capture-driven simulations that hit andreact. In SCA 02 : Proceedings of the 2002 ACM SIGGRAPH/Eurographics sym-posium on Computer animation, pages 89–96, San Antonio, Texas, 2002. ACMPress.

[ZHH96] R.C. Zeleznik, K.P. Herndon, and J.F. Hugues. Sketch : An interface for sketching3d scenes. In SIGGRAPH ’96 : Proceedings of the 23rd annual conference onComputer graphics and interactive techniques, pages 163–170, New York, NY,USA, 1996. ACM Press.

[ZS00] D. Zorin and P. Schroder. Subdivision for Modeling and Animation. 2000. SIG-GRAPH course notes.

[ZS03] R. Zenka and P. Slavik. New dimension for sketches. In SCCG ’03 : Proceedingsof the 19th spring conference on Computer graphics, pages 157–163, New York,NY, USA, 2003. ACM Press.

Resume

La production de dessins animes 2D qui suit actuellement un schema mis en place dans lesannees 1920 fait intervenir un tres grand nombre de competences humaines. Par oppositiona ce mode de travail traditionnel, la production de films 3D, en exploitant les technologieset outils les plus recents de modelisation et d’animation 3D, s’affranchit en bonne partie decette composante artisanale et vient concurrencer l’industrie du dessin anime 2D en termesde temps et couts de fabrication.

Les enjeux a relever par l’industrie du dessin anime 2D se posent donc en termes de :

1. Reutilisation des contenus selon le celebre paradigme du “Create once, render many”,

2. Facilite d’echange et transmission des contenus ce qui necessite de disposer d’un uniqueformat de representation,

3. Production efficace et economique des contenus requerant alors une animation automa-tisee par ordinateur.

Dans ce contexte competitif, cette these, realisee dans le cadre du projet industriel TOONfinance par la societe Quadraxis avec le support de l’Agence Nationale pour la Valorisation dela Recherche (ANVAR), a pour objectif de contribuer au developpement d’une plate-forme dereconstruction, deformation et animation de modeles 3D pour les dessins animes 2D.

Un etat de l’art des methodes et outils contribuant a la reconstruction de modeles 3D eta leur animation est presente et discute au regard des contraintes specifiques des regles decreation des dessins animes 2D et de la chaıne de fabrication 2D.

Ayant identifie les verrous technologiques a lever, nos contributions ont porte sur :– L’elaboration d’une de reconstruction des personnages virtuels 3D a partir de dessins

2D,– La mise au point d’une methode de modelisation 3D par surfaces maillees, compatible

avec le standard MPEG-4/AFX,Les developpements realises, integres dans un premier prototype de la plate-forme TOON,

montrent un gain en temps de 20% dans la chaıne de production et une complete interoperabilitedes applications via le standard MPEG-4.