Vous êtes sur la page 1sur 141

Institut National Polytechnique de Grenoble

Thse
pour obtenir le grade de

Docteur de lINPG
Spcialit : Imagerie, Vision et Robotique Prpare au sein du laboratoire iMAGIS-GRAVIR/IMAG-INRIA. UMR CNRS C5527 dans le cadre de lcole Doctorale Mathmatiques, Sciences et Technologie de linformation, Informatique prsente et soutenue publiquement par

Gilles D EBUNNE
le 15 dcembre 2000.

Animation multirsolution dobjets dformables en temps-rel


Application la simulation chirurgicale
Directrice de thse : Marie-Paule C ANI

Composition du jury : Roger Bruno Daniel Christophe Mathieu Alan H. Marie-Paule M OHR A RNALDI T HALMANN C HAILLOU D ESBRUN BARR C ANI Prsident Rapporteur Rapporteur Examinateur

SOMMAIRE

Notations Introduction 1 Travaux antrieurs 2 Notions dlasticit linaire 3 Premier modle multirsolution 4 Nouveaux oprateurs diffrentiels 5 Modle multirsolution hirarchique 6 Interface avec lutilisateur Conclusion A Rappels sur les oprateurs diffrentiels B Les mthodes dintgration C Green-Lagrange en pratique Table des matires Table des gures Bibliographie

5 7 11 33 45 63 91 103 111 117 119 123 127 131 135

SOMMAIRE

Notations

Nous allons tre amens utiliser bon nombre dquations dans cette thse. Nous nous sommes efforcs de suivre un systme de notations qui devrait en simplier la lecture. Les grandeurs scalaires seront dsignes en italiques (s), les vecteurs et champs vectoriels, de dimension 3 dans notre cas, seront en gras (v) tandis que les matrices et autres tenseurs seront reprsents par des lettres grecques ou calligraphiques ( A ). Les exposants permettront didentier les points o est mesure la grandeur : p i vi ai seront respectivement les position, vitesse et acclration du point i.
` Les indices dsigneront quant eux la composante : v i est la ieme composante du vecteur v. Les lettres i et j seront des indices muets prenant implicitement les valeurs 1, 2 ou 3. On pourra aussi crire directement vx vy vz pour dsigner les trois composantes de v.

Nous utiliserons pour dsigner les drives dune grandeur scalaire s par rapport la variable x lexpression vx s x . Ainsi vx y y . La notation stend aux vecteurs et v y sera le vecteur dont chaque composante est la drive par rapport y de la composante associe de v. Lannexe A rappelle quelques notions sur les oprateurs vectoriels (grad , div , ...) et introduit des notations plus pousses. Des notes en bas de page indiquent quand sy reporter durant la lecture du document. Enn, nous utiliserons les italiques lintrieur du texte pour introduire de nouvelles terminologies ou pour accentuer limportance de certains mots.

NOTATIONS

Introduction

Telle est ma qute, suivre ltoile. Peu mimportent mes chances, Peu mimporte le temps. Jacques B REL, La qute

ANIMATION de scnes en synthse dimages est une technique matrise, largement utilise pour les effets spciaux cinmatographiques et les jeux vidos. Elle se limite toutefois la plupart du temps lanimation du dplacement dobjets rigides. Chercher, comme on va le faire dans cette thse, calculer automatiquement les dformations dun objet, qui plus est en temps-rel, est un problme encore ouvert. Il faut pour cela mettre en uvre des optimisations, dont la multirsolution fait partie.

Contexte
Quand on parle danimation, aussi bien dans les jeux vidos que dans lindustrie cinmatographique, on dsigne gnralement la cration du mouvement dun personnage ou dun objet qui va se dplacer dans la scne. Animer des personnages ou des objets est un vritable mtier et consiste habituellement gnrer les courbes de contrle qui vont dnir la trajectoire (langle dune articulation du personnage ou la position dune main au cours du temps), tout en y faisant passer lmotion, les expressions, les mimiques voulues par le scnario [Las87]. Cest un travail fastidieux qui demande une longue pratique avant dtre matris et de nombreux essais pour arriver au rsultat voulu. Lanimation par modle physique consiste gnrer automatiquement le mouvement dun objet, de faon raliste, en simulant les lois physiques qui gouvernent son mouvement. On parle alors de modles gnrateurs par opposition aux procds descriptifs dcrits auparavant. Ces techniques, moins mallables que les prcdentes, commencent se dvelopper dans lindustrie. Ainsi dans le dernier 1 pisode de Star Wars, les trajectoires des milliers de dbris qui volent et sparpillent aprs le crash dun des engins de la course dans le dsert ont t calculs directement. Lanimation de la veste de Geri dans Geris game est elle aussi calcule automatiquement daprs les mouvements du personnage [BW98, Rob98b], tout comme celle de leau dans Fourmiz [FM96, Rob98a]. Notons que les ralisateurs, qui cherchent plus un effet visuel quune simulation exacte, veulent pouvoir modier le rsultat de la simulation pour obtenir telle ou telle caractristique, ce qui ne peut se faire quen contraignant la simulation [PSE 00, CF00].
1 Premier

pour les puristes.

INTRODUCTION

Cette thse porte sur lanimation par modle physique dobjets dformables et non plus rigides. Ce domaine est tudi depuis plus de 10 ans mais nest pas encore trs utilis dans lindustrie audiovisuelle o ces objets sont assez rares et o il est plus commode de gnrer manuellement leur mouvement. Il nen est pas de mme lorsquun utilisateur veut pouvoir interagir avec lobjet et voir immdiatement le rsultat de ses actions sur lobjet, comme ce pourrait tre le cas dans un jeu vido. Le cot des calculs mettre en uvre serait alors prohibitif et on aurait probablement recours des squences prcalcules, ce qui limiterait les mouvements possibles et le ralisme. On ne peut se permettre de telles simplication dans une application mdicale temps-rel comme un simulateur chirurgical et il faut donc mettre en place de nouvelles solutions.

Motivations
On sait calculer trs prcisment les dformations dun objet complexe, et cest par exemple ainsi que sont mises au point les ailes des avions, pour lesquelles le test grandeur nature validant leur conception nintervient quen n dtude pour vrier les calculs. Mais de telles simulations sont trs gourmandes en temps de calcul, mme sur des ordinateurs trs puissants, et lon est plusieurs ordres de grandeur dune simulation ne serait-ce quinteractive. On diffrenciera le temps-rel qui garantit le respect de la synchronisation entre la simulation et lafchage et les simulations interactives qui assurent seulement une frquence de rafrachissement de plusieurs hertz (au moins 15 ou 20 pour une animation uide). Nous reviendrons sur ces dnitions la Section 11.2 du chapitre suivant. Le contexte applicatif de cette thse est celui de la ralisation dun simulateur chirurgical doprations laparoscopiques 2. Ce type doprations, en trs fort dveloppement actuellement, consiste oprer le patient laide doutils et dune camra introduits au travers de petites incisions, en suivant lopration sur un cran. Cette technique a de nombreux avantages : minimisant le traumatisme postopratoire, elle convient au patient comme lhpital qui peut le librer plus rapidement et ainsi faire des conomies. Le problme est que cette technique est assez peu intuitive et dun apprentissage difcile pour le chirurgien : il na plus la notion de profondeur ne de la stroscopie et loutil tant ax sur labdomen du patient, il lui faut par exemple le dplacer gauche pour quil aille droite, et encore, si la camra est horizontale. Cette technique requiert de nombreuses oprations (on estime leur nombre une cinquantaine) avant que le chirurgien ne puisse lutiliser en salle dopration, les entranements se faisant sur cadavres ou sur cochons, et nalement, dans une certaine mesure, sur les premiers patients.

F IG . 1: quipement dune salle de simulation laparoscopique c pidaure - INRIA.

Lintrt dun simulateur informatique est alors vident. Le chirurgien ne regardant durant lopration que son cran de contrle, il sagira simplement de gnrer en images de synthses le comportement dorganes virtuels ragissant aux gestes du chirurgien. Ceux-ci seront transmis lordinateur par un appareil dot de capteurs de position et qui pourra de plus exercer sur linstrument manipul un retour deffort, command par lordinateur, reproduisant ainsi les forces naissant du contact entre loutil et lorgane virtuels. Outre son intrt thique, un tel simulateur peut tre enrichi de fonctionnalits pdagogiques, en proposant par exemple une srie dexercices de difcult croissante, voire la simulation de situations durgence, en mesurant lefcacit du chirurgien les grer. Il est galement viable sur le plan conomique car utilisable en permanence et ne ncessitant pas dquipement particulier. Enn, utilis avec des donnes provenant dun
2 On

parle aussi de pritonoscopie.

INTRODUCTION

patient rel, il permettrait un entranement pour une opration difcile et spcique. On pourra se reporter
www.spectrum.ieee.org/pubs/spectrum/0700/surg.html pour dautres dtails sur la laparoscopie.

On se place donc ici dans un contexte dapplication temps-rel, ce qui exigera des concessions sur la qualit de la simulation produite. Pour optimiser lutilisation du temps de calcul, on se propose de mettre en place une mthode tirant parti de la multirsolution.

Simulation multirsolution
Le terme de multirsolution, qui nexiste pas ofciellement dans la langue franaise, dsignera dans cette thse le fait de simuler un mme phnomne (en loccurrence lanimation dun objet dformable) plusieurs chelles. Le but des approches multirsolution est de choisir, au bon moment, au bon endroit, quelle est lchelle qui donne le meilleur compromis qualit - rapidit de calcul. Cette technique est trs largement rpandue dans cet autre domaine de la synthse dimages quest la radiosit hirarchique. Lclairage des lments dune scne est reprsent plusieurs rsolutions, ce qui permet par exemple de subdiviser prcisment un grand mur lendroit o une ombre est projete pour avoir des dtails, mais de ne considrer que le mur dans son ensemble, en ayant perdu par moyenne linformation dombre, lorsquil sagit de calculer quelle quantit de lumire il rete sur un objet lointain. On perd ici en prcision ce que lon gagne en temps de calcul en vitant de calculer toutes les interactions entre les parties du mur et les objets distants. Dans le cadre de lanimation dobjets dformables, la multirsolution va consister mlanger les diffrentes discrtisations dun mme objet. Celui-ci va en effet tre reprsent, non pas comme un milieu continu, mais comme un ensemble discret de points, plus ou moins nombreux. Un trs grand nombre de points gnrera un mouvement trs subtil, chaque petite zone ayant son comportement propre, au prix de trs longs temps de calcul. A loppos, peu de points seront simuls rapidement, mais le mouvement sera plus grossier. On a intrt combiner ces simulations : les parties proches de loutil, qui subissent de fortes dformations et sur lesquelles le regard est concentr mritent une simulation prcise. Au contraire, les parties lointaines peuvent avoir un mouvement trs grossier sans trop altrer la qualit de la simulation. En utilisant diffrentes discrtisations (on parlera aussi de diffrentes rsolutions), on optimisera lutilisation du temps de calcul imparti entre deux afchages successifs de lanimation. On se rfrera la Section 10 du chapitre suivant pour des explications plus dtailles ainsi que pour lintroduction de quelques dnitions associes.

Objectifs de cette thse


Cette thse propose plusieurs approches danimation multirsolution qui chercheront atteindre plusieurs objectifs : Le ralisme visuel est le premier dentre eux. Il tolre certaines imperfections dans lanimation dont la multirsolution va tirer parti, mais requiert nanmoins, dans un contexte chirurgical, un ralisme physique important. Notons que la partie raliste du rendu de lorgane ne fait pas directement partie de nos objectifs. La garantie dune animation temps-rel est lautre difcult de ces travaux. On ne parle pas seulement ici de frquence dafchage leve, mais aussi de corrlation entre le temps ressenti par lutilisateur et celui simul par la machine : entre deux images afches une seconde dintervalle, la machine doit effectivement avoir calcul le comportement du matriau durant une seconde, ni plus ni moins. Cet objectif est bien videmment antagoniste du prcdent et il faudra donc faire des compromis. Dans une moindre mesure, les modles proposs devront tre aisment paramtrables. On veut en particulier pouvoir utiliser les mesures qui peuvent tre faites sur diffrents matriaux rels et les donner en paramtres au modle pour en simuler le comportement. Le simulateur que lon va crer devra galement tre sufsamment gnrique en ce sens quon peut vouloir lutiliser pour modliser un grand nombre de comportements diffrents, sur une grande varit dobjets.

10

INTRODUCTION

Organisation du document
Ce document est divis en 6 chapitres. Le premier prsente un tat de lart des mthodes existant actuellement en animation de modles dformables. Aprs une description gnrale, nous nous intresserons plus particulirement aux modles permettant une simulation interactive ainsi qu ceux utilisant des modles multirsolution. Le Chapitre 2 dcrit les modles mis au point par les physiciens pour dcrire les dformations des matriaux continus, que ltat de lart aura montrs comme adapts nos buts. Le Chapitre 3 propose un premier algorithme multirsolution utilisant ces modles et bas sur une dcoupe en octree de lespace. De nouvelles faons de rsoudre les quations diffrentielles impliques sont prsentes et discutes au Chapitre 4. Une utilisation multirsolution de ces formules est dtaille au Chapitre 5 avec lintroduction dune nouvelle mthode permettant lutilisation conjointe de plusieurs maillages volumiques dun objet. Le Chapitre 6 explique les problmes lis linterface : comment lier la surface de lobjet au modle simul et transmettre un retour deffort lutilisateur. Nous concluons par un rsum des contributions et par des pistes de recherche future, suivi de trois annexes dtaillant certaines des notions utilises dans le document.

CHAPITRE

Travaux antrieurs

E CHAPITRE prsente quelques unes des mthodes qui ont t dveloppes dans le domaine de lanimation en synthse dimages pour animer des objets dformables. Le but tant davoir un effet visuel, on pourra dnir comme dformables des objets sufsamment mous pour que leur dformation soit visible et intressante. Nous avons regroup les diffrentes approches en fonction de la mthode de rsolution employe, et nous en dcrirons chaque fois les avantages, les inconvnients et ladquation nos buts. Aprs une revue plus exhaustive des mthodes permettant des applications temps-rel ainsi que de celles mettant en uvre des processus multirsolution, buts viss par cette thse, nous justierons le choix des mthodes employes par la suite. Dautres descriptions des modles dformables existants peuvent tre trouvs dans ltat de lart ralis en 1997 par Sarah Gibson et Brian Mirtich [GM97] et dans les thses de Mathieu Desbrun [Des97] et Stphane Cotin [Cot97] qui portent sur le sujet. Nous ne traitons pas ici le cas des objets dformables purement surfaciques comme les tissus et le lecteur intress pourra trouver un tat de lart plus complet dans [NG96].

Dformations gomtriques de la surface

Cette premire classe dalgorithmes est un peu part. Elle ne considre pas lobjet dformable comme un tout avec des proprits physiques intrinsques, mais considre plutt la surface qui le dlimite et que lon va chercher animer. Ces mthodes, particulirement employes dans le design, sont nanmoins intressantes pour nous car elles seront par la suite reprises dans certains algorithmes plus physiques.

1.1

Surfaces de forme libre

Historiquement, la conception gomtrique assiste par ordinateur (CAO) fut lun des premiers domaines utiliser des techniques de dformation dobjets. Les designers voulaient pouvoir manipuler et afner la reprsentation numrique de leur objet. De l sont nes les courbes de Bzier et la famille des splines : courbes dinterpolation, B-splines, splines rationnelles, non uniformes (NURBS), toutes dnissant avec peu de valeurs une courbe lisse, en 1, 2 ou 3 dimensions (voir [BBB87, Far90] pour une tude plus complte). Ces courbes et les surfaces associes seront gnralement dnies par des points de contrle dont le dplacement modiera 11

12

CHAPITRE 1. TRAVAUX ANTRIEURS

laspect de la courbe de manire intuitive (voir Fig. 1.1). On peut aussi dplacer directement la courbe ou la surface B-spline plutt que les points de contrle [BB89].

F IG . 1.1: Quatre points de contrle, la spline dinterpolation qui passe par eux ( lextrieur) ainsi que la courbe de Bzier quils dnissent, tangentes au dpart et larrive au polygone de contrle ( lintrieur).

Des approches multirsolution base dondelettes ont t dveloppes pour permettre de modier la courbe, ou par extension la surface, de manire prcise et locale ou au contraire dans sa forme globale [FS94].

1.2

Les dformations de lespace

Une autre faon de modier globalement la forme dun objet est de dformer lespace dans lequel il rside. On peut par exemple remplacer la coordonne x par x pour effectuer une symtrie. Les transformations appliques peuvent tre bien plus complexes et ont lavantage, en dformant tout lespace, de pouvoir sappliquer aussi bien des surfaces polygonales, splines, paramtriques quimplicites. La Figure 1.2 illustre cette ide.

(a) une dformation localise (b).

(b)

F IG . 1.2: Dformation de lespace illustre sur un modle de girafe : la grille originale (a) et celle obtenue aprs

Ces travaux furent dbuts par Al Barr [Bar84] et consistaient alors en des fonctions matricielles de IR 3 dans IR3 (provoquant des dformations rigides, des pliages, des eflements) qui pouvaient tre combines pour donner des effets complexes. Sederberg et Parry ont gnralis cette approche [SP86] par lintroduction des FFD, pour Free-Form Deformation. Lobjet est plong dans un maillage qui va pouvoir tre dform, chaque cellule du maillage entranant avec elle les points quelle contient au moyen dinterpolations utilisant habilement les polynmes de Bernstein. Des extensions, tirant parti de la sparation en plusieurs sous-rgions du maillage dformant [Coq90] ou utilisant la multirsolution [MJ96] (le maillages pouvant tre de topologie arbitraire grce utilisation dalgorithmes de subdivision) furent prsentes. Citons aussi une mthode permettant dinfrer par lutilisation de moindres carrs la modication du maillage directement de celle que lon veut faire subir aux points de la surface [HHK92].

1.3

Surfaces implicites

La surface dun objet peut galement tre reprsente implicitement, plutt quexplicitement laide de polygones ou de splines. On cre pour cela un champ scalaire dans tout lespace, et la surface est dnie

2. DFORMATIONS GLOBALES

13

comme le lieu o ce champ a une valeur donne. Ces champs drivent gnralement de potentiels et lon parle de surface quipotentielle ou diso-surfaces. Ce potentiel est souvent une fonction dpendant de faon monotone de la distance un squelette, qui peut tre un point, un segment ou toute autre forme plus complexe [BW90]. Cette formulation a de nombreuses proprits intressantes : selon que la valeur du champ en un point de lespace a une valeur infrieure ou suprieure liso-valeur, on sait si lon se trouve lintrieur ou lextrieur de lobjet, ce qui permet notamment une dtection des collisions trs rapide. La combinaison de plusieurs objets implicites peut tre trs simple en sommant les diffrents potentiels qui les gnrent, ce qui permet galement la gestion dobjets topologie variable, liso-surface se divisant naturellement lorsque les deux squelettes se sparent. La visualisation de telles surfaces est par contre plus complexe, leur polygonalisation pouvant en particulier savrer difcile. On pourra utiliser lalgorithme du marching cube [WMW86, Blo87, Blo88], des maillages locaux [DTG96] ou la mthode base de particules de Witkin et Heckbert [WH94] pour les afcher. Ce formalisme dnit la surface dun objet comme issue de potentiels. Son animation va alors consister animer les squelettes qui la gnrent, la surface se modiant en consquence avec dintressantes proprits de continuit ou de changements de topologie. On ne modiera nanmoins que rarement manuellement la position de ces squelettes, qui sont gnralement des masses ponctuelles, prfrant laisser cette tche des modles gnrateurs, comme on le verra par la suite.

1.4

Conclusion

Ces mthodes gomtriques ont t surtout prsentes comme une introduction car certaines seront reprises par la suite. Elles ont lavantage dtre gnralement trs rapides et offrent un grand contrle sur la dformation produite. Elles ne peuvent par contre sappliquer directement au cas qui nous proccupe puisque le mouvement est directement cr par lutilisateur et que cest de son habilet que dpendra le rsultat. On utilisera donc plutt des modles gnrateurs, qui simuleront des lois de comportement, plus ou moins physiques, et gnreront donc automatiquement le mouvement de lobjet. Il existe beaucoup de mthodes gnratrices et nous allons en dcrire les principales familles dans ce qui suit.

Dformations globales

Ces mthodes dforment lobjet globalement en le considrant comme un tout mais en utilisant maintenant des lois inspires de la physique pour gnrer son mouvement.

2.1

Dynamique modale

Lalgorithme propos par Pentland et Williams tire parti de lanalyse des modes vibratoires de lobjet [PW89]. Les lois physiques de llasticit linaire conduisent une quation du second ordre classique du type : 2 u u M 2 D K u f (1.1) t t o M , D et K sont des matrices reprsentant respectivement la masse, lamortissement et la raideur du matriau. u mesure le dplacement des diffrents nuds de discrtisation et f est la force qui y est applique. Ces trois matrices sont symtriques, et sous certaines hypothses (D doit en particulier tre gale M un coefcient multiplicateur prs), sont diagonalisables dans la mme base. Lquation prcdente se simplie alors grandement et devient, en notant avec un tilde lexpression des variables dans la nouvelle base : M 2 u u D K u t 2 t f (1.2)

o les 3 matrices M , D et K sont maintenant diagonales. On na donc plus ici quune liste dquations diffrentielles indpendantes, chacune dcrivant un mode vibratoire de lobjet. Chacun de ces modes a une frquence donne et la simplication consiste ici ne garder que les plus basses frquences, qui participent le plus au

14

CHAPITRE 1. TRAVAUX ANTRIEURS

rendu du mouvement. Lanimation sera alors plus stable numriquement, les hautes frquences ncessitant un faible pas de temps ayant t supprimes 1. Une autre approximation consiste remarquer que les modes vibratoires de basses frquences dun objet dpendent plus de ses dimensions que de sa forme prcise. On prcalcule donc des modes vibratoires pour un solide parallpipdique, et on les interpole aux dimensions de la bote englobante de lobjet.

2.2

Dformation globale dynamique

Witkin et Welch ont prsent une technique danimation et de contrle globaux dobjets dformables [WW90]. Elle ajoute une composante temporelle aux dformations de lespace de Barr [Bar84] vues plus haut, en faisant varier au cours du temps les coefcients de la matrice de dformation. Les nergies cintiques et potentielles dune conguration donne peuvent tre calcules et delles drive une quation lagrangienne qui dnit la dynamique du mouvement. Cette mthode fut ensuite reprise dans [BW92] et par [MT92] dans un modle couches.

2.3

Conclusion

Associer des lois physiques aux dformations globales dun objet le rend capable de mouvements autonomes. Ces mthodes, grce aux approximations quelles mettent en uvre, sont en outre trs rapides calculer. Mais cest de ces mmes approximations que provient leur faible adquation avec nos objectifs, le mouvement simul tant trop grossier pour tre visuellement raliste. Ces dformations globales conviennent en effet mal aux dtails locaux recherchs dans un simulateur chirurgical. Parfois utilises en synthse dimages pour leur rapidit et leur aspect intuitif, nous pourrons les rserver lanimation dobjets distants et secondaires. noter, dans une optique multirsolution, lutilisation qui pourrait tre faite des modes vibratoires du modle de [PW89]. En fonction du temps disponible ou de la qualit de simulation dsire, on pourra en effet utiliser un plus ou moins grand nombre de modes vibratoires et ainsi rgler aisment le compromis qualit rapidit de calcul de lanimation, sans toutefois pouvoir ladapter localement.

Les modles masses-ressorts

De part leur simplicit et leur aspect intuitif, les modles masses-ressorts ont eu un grand succs dans le domaine de limage de synthse. Une vision continue de lespace tant difcilement compatible avec la modlisation informatique, on va le discrtiser pour ne plus le considrer que comme un ensemble de valeurs ponctuelles, se diffrenciant ainsi des mthodes globales de la section prcdente.

3.1

Principe

Un objet va ainsi tre reprsent par un nombre ni de points, si possible quirpartis pour une meilleure reprsentation. Leur comportement les uns vis--vis des autres est intuitivement celui de petites masses ponctuelles relies leurs voisines par des relations de type ressorts (Fig. 1.3).

F IG . 1.3: Discrtisation dun objet 2D laide de masses-ressorts.

Avec des ressorts, il est facile de calculer la force subie par chaque masse chaque instant en fonction des distances ses voisines : ij fi ki j l i j linitiale
voisins j
1 Voir

lannexe B pour les problmes lis lintgration.

3. LES MODLES MASSES-RESSORTS

15

o ki j est la raideur du ressort entre le point i et son voisin j, l i j tant sa longueur. Les ressorts peuvent tre plus complexes et comporter par exemple des termes damortissement. Dans tous les cas, lquation fondamentale de la dynamique pour chaque masse sera de la forme (voir Eq. 1.1) : m 2 x x d k x t 2 t fext

Comme vu prcdemment, m, d et k sont trois scalaires dsignant respectivement la masse, le coefcient de frottement et la raideur alors que x est li la position du point. f ext dsigne les forces externes appliques lobjet, comme la gravit. Lalgorithme consistera donc intgrer ces quations au cours du temps, et ce pour chaque point sparment 2. De tels modles ont t trs tt appliqus par Platt et Badler (sans coefcient damortissement) [PB81] lanimation de visage, par Luciani [Luc85] pour lanimation de marionnettes ou Chadwick [CHP89] (en utilisant un rseau de ressorts pour simuler le maillage dformant dune FFD) pour animer la chair de personnages.

3.2

Rafnements du modle

Miller anima des reptiles avec cette mthode [Mil88] en ajoutant des contraintes de prservation de volume ainsi que la propagation dondes sinusodales travers le corps, simulant le dplacement. noter que lafchage utilisait des surfaces splines et donnait un aspect trs lisse cachant le rseau cubique sous-jacent. En mlangeant des ressorts de raideurs diffrentes, Terzopoulos et Waters [TW90] animent un visage compos de plusieurs couches de ressorts reprsentant lpiderme, le derme et les muscles, ces derniers tant actifs ce qui signie que leurs paramtres taient modis au cours du temps. Des contraintes additionnelles viennent ici aussi chercher prserver le volume. La technique fut ensuite amliore pour sadapter des visages rels acquis par imagerie mdicale, en optimisant la position des masses en fonction des caractristiques du visage [LTW95]. En plus des classiques ressorts longitudinaux, on peut ajouter des ressorts angulaires et ainsi obtenir des comportements nouveaux et plus complexes. Joukhadar propose une mthode de modication du pas de temps dintgration pour loptimiser en vitant les divergences [Jou96]. Lorsquest dtecte une trop grande variation de lnergie du systme, synonyme de problme dintgration, le pas de temps est diminu. On peut contrler lanisotropie du matriau en ne plaant les ressorts que dans des directions privilgies, ceux-ci agissant alors sur les ttradres qui composent lobjet [BC00]. Il existe en effet une anisotropie intrinsque et non contrle dans les modles masses-ressorts lie la direction des ressorts. Imposer une distance maximale dlongation du ressort permet de limiter les trop grands tirements dans une simulation de tissus [Pro95]. Boux de Casson propose galement de casser certaines des liaisons massesressorts en fonction des contraintes, simulant ainsi les dchirures dun tissus [BdCL00]. Dans ce domaine, citons les rcents travaux de Baraff et Witkin [BW98] qui peuvent grce une intgration implicite3 simuler des ressorts de trs forte raideur et obtenir de superbes animations de vtements, utilises dans la production audiovisuelle et disponibles dans le logiciel Maya.

3.3

Conclusion

Les mthodes masses-ressorts ont de trs nombreux avantages. Simples implmenter, intuitives et rapides, elles donnent de bons rsultats facilement. Elles sont de plus facilement paralllisables et peuvent tre tempsrel sur des machines dentre de gamme avec sufsamment peu de masses simules. Tous ces avantages devraient en faire un modle de choix dans notre de cas, et de fait, de nombreux simulateurs chirurgicaux utilisent les rseaux masses-ressorts (voir Sec. 9). Il conviendra nanmoins de bien grer les problmes de stabilit numrique qui ne manquent pas de troubler le modle pour de fortes raideurs. Un matriau organique demandera un pas de temps faible, limitant le nombre de masses simulables si lon veut une simulation temps-rel. Nous avons pris le parti dans cette thse dexplorer les intrts dune animation multirsolution et les masses-ressorts sy prtent par contre trs mal.
2 Voir 3 Voir

lannexe B. lannexe B.

16

CHAPITRE 1. TRAVAUX ANTRIEURS

Sils permettent, en jouant sur les paramtres du systme, dobtenir un effet visuel donn force dessais successifs, il est impossible de prdire leur comportement ds lors que lon modie notablement la topologie ou la gomtrie du maillage. Le comportement dynamique de maillages diffrentes rsolutions dun mme objet ne pourra donc tre le mme, et quand bien mme on parviendrait minimiser les diffrences en afnant les rglages, resterait le problme de la cohabitation des diffrentes rsolutions. La simulation adaptative de tissus propose par Hutchinson [HPH96] souffre ainsi de ce que le comportement du matriau volue au cours de la simulation. En pratique, mme si lon nit par avoir une intuition du comportement du systme en fonction des paramtres qui le gouvernent, modier la rsolution du maillage pour lafner demande de nouvelles simulations pour obtenir leffet dsir. Quelle raideur affecter alors un ressort de telle longueur, dans telle conguration et avec tant de voisins ? Ces problmes didentication de paramtres ont t abords dans la littrature [DKT95, LPC95] en utilisant des mthodes, lentes, de recuit simul ou des algorithmes gntiques. Mais les solutions ne cherchent adapter les coefcients que sur des mouvements lmentaires, sans garantir le comportement de tout autre dplacement, ce qui ne saurait convenir.

4
4.1

Les systmes de particules


Principe

Les systmes de particules sont une extension du modle masses-ressorts prcdent. La diffrence rside dans le fait quon autorise les masses interagir avec un ensemble de masses qui peut voluer au cours de la simulation. Chaque masse interagit potentiellement avec toutes les autres, mais on seuille gnralement un rayon maximal sa zone dinuence pour limiter les calculs. Terzopoulos et al. [TPF89] simulent un matriau en train de fondre en faisant varier la raideur des ressorts en fonction de la temprature (soumise lquation de la chaleur). Le ressort disparat lorsque le point de fusion est atteint et lon passe alors un modle de particules. Tonnesen [Ton91] utilise le terme de particule thermique et simule lui aussi liquides et solides. Plus souple que les masses-ressorts, les systmes de particules nimposent pas de restriction topologique, offrant la possibilit de simuler des uides [MP89, LHVD95]. Les forces inter-particules sont souvent des lois dattraction-rpulsion. Similaires aux forces de LennardJones [MP89], elles sapparentent celles qui existent entre deux atomes (voir Fig. 1.4) et prsentent, comme les ressorts, une distance dquilibre o la force est nulle. La force diminue par contre ici aprs une certaine distance pour sannuler ensuite.
Force

d Distance

F IG . 1.4: Intensit de la force rsultant dun potentiel de Lennard-Jones en fonction de la distance.

On peut imaginer des fonctions plus complexes : les lois dinteraction peuvent tre arbitrairement complexes et dnies algorithmiquement [LC86], avoir plusieurs tats dquilibre [LHVD95, Rey97] ou par exemple dpendre de lhistorique de la simulation. Les particules peuvent de plus avoir des tailles diffrentes [Jim93, LJR 91] ou tre orientes, subissant alors des couples supplmentaires fonctions de lorientation de leurs voisines [ST92, LP95]. Lintrt des systmes de particules est quils sont faciles mettre en uvre et que des lois dinteraction simples qui les gouvernent peuvent natre des comportements complexes, dits mergents. Reeves a ainsi trs tt simul des phnomnes tels que le feu et la fume [Ree83] sans se proccuper de la physique trs complexe qui les rgit. Reynolds a lui simul le comportement global de bancs de poissons ou de vols doiseaux, chaque individu ne ragissant pourtant que selon des lois simples [Rey87].

5. LE MODLE SPH

17

Lafchage du modle est simpliste avec des rseaux masses-ressorts topologie xe et dans lesquels les mailles surfaciques peuvent tre polygonalises. Il est par contre plus complexe dans le cas o lon ne dispose que dun ensemble de particules, reprsentant qui plus est un objet topologie variable. Les surfaces implicites, en utilisant les particules comme squelettes gnrateurs de potentiel, sont alors bien adaptes, mais plus coteuses. Elles peuvent aussi modliser les dformations locales de lobjet autour de la zone de collision [CGD97].

4.2

Conclusion

Les systmes de particules sont une extension des rseaux masses-ressorts. Ils permettent de simuler une plus grande varit de comportements, comme celui des gaz ou des liquides. Lalgorithme reste simple et lon peut simplement modier la topologie de lobjet ce qui autorise les dcoupes. Il conviendra par contre de bien grer la complexit algorithmique qui peut apparatre avec beaucoup de particules lorsque lon doit chercher celles qui interagissent entre elles. On utilisera pour cela un partitionnement de lespace qui ramnera le cot quadratique un cot quasi-linaire en le nombre de masses. Le problme avec ces mthodes est, tout comme avec les masses-ressorts, quon ne peut gnralement pas garantir un comportement indpendant de la rsolution. Lexception est le modle SPH qui le permet grce lutilisation de forces inter-particules bien choisies.

Le modle SPH

Le modle SPH, pour Smoothed Particles Hydrodynamics, est issu de lastrophysique et a lavantage sur les prcdents de proposer une vritable quation dtat du matriau, conduisant un comportement indpendant de la rsolution [Mon92]. Cest une mthode base de particules comme vu prcdemment, mais elles sont maintenant vraiment considres comme les points dchantillonnage dun petit volume les entourant et quelles reprsentent. Cest une mthode Lagrangienne, dsigne comme mthode Lagrangienne libre libre par Rmi Cozot dans sa thse [Coz96]. Simplie, elle a t employe dans le cadre de lanimation de phnomnes gazeux [SF93, SF95] et fut la base dun modle dcrit dans la thse de Mathieu Desbrun [Des97], dont nous reprenons ici quelques explications et laquelle on se rfrera pour des explications plus dtailles.

5.1

Passage du continu au discret

Un champ continu f va tre approxim en un point x par une valeur porte par particule et calcule comme une moyenne locale des valeurs du champ sur un petit volume V autour de la particule. Cette valeur moyenne locale, note f x , peut tre crite comme la convolution de f par un noyau de ltrage : f x
V

f x Wh x x dx

(1.3)

o Wh est un ltre de lissage dont le paramtre h contrle ltendue du ltrage. Lintgrale de W h doit tre gale 1 quel que soit h, et Wh doit tendre vers limpulsion de Dirac quand h tend vers zro. On passe dune intgrale sur le volume une intgrale sur la masse en utilisant la densit de masse : f x f x Wh x x xdx x f x Wh x x dm M x

(1.4)

Une approximation discrte de lquation prcdente, obtenue par une mthode de Monte-Carlo grce aux valeurs du champ pour les autres particules donne ( f j f x j et m j est la masse de la particule j) : f x f m j j Wh x x j
j j

(1.5)

18

CHAPITRE 1. TRAVAUX ANTRIEURS

En intgrant par parties, et en remarquant que W h sannule au bord du volume, on peut calculer le gradient du champ :
grad
V

f x Wh x x dx

f x grad Wh x x dx

(1.6)

Ce qui se traduit en version discrtise par :


grad

f x

f m j j grad Wh x x j
j j

(1.7)

Un ensemble, mme dsordonn, de points dchantillonnage permet ainsi de calculer les valeurs de champs continus et de leurs drives de faon simple par ltrage local. Ceci va permettre de simuler les quations dtat qui gouvernent le comportement dun matriau.

5.2

Lquation dtat du matriau

Les particules composant le matriau vont tre soumises un champ de pression qui va dterminer leurs dplacements. Les forces gnres sont proportionnelles au gradient de la pression [Bat73], qui va pouvoir tre calcul avec lquation 1.7 prcdente. Dans [Des97], lexpression du champ de pression P, qui constitue lquation dtat a t choisie comme tant : P k 0 Les forces gnres chercheront ainsi rtablir la densit 0 dquilibre en crant une pression l o est diffrent de 0 , pression rglable au travers du paramtre k. Restent choisir la forme du ltre de lissage Wh employ (qui modiera lanimation), ajouter des forces de dissipation visqueuses (pour stabiliser) et faire en sorte que les forces cres satisfassent le principe dactionraction (voir [Des97]). On peut alors envisager la simulation diffrentes chelles du matriau.

5.3

Simulation multirsolution des SPH

Ajouter ou supprimer des points dchantillonnage est maintenant possible, tout en continuant dapprocher un comportement donn, qui est celui dict par lquation dtat. En fonction de seuils de continuit, Desbrun propose de diviser ou regrouper plusieurs particules lors de la simulation, optimisant ainsi lutilisation du temps de calcul (Fig 1.5) [Des97, DC99b].

(a)

(b)

F IG . 1.5: Chaque particule peut se diviser en plusieurs autres (a). Le regroupement est possible lorsque la forme est globalement sphrique (b).

Le pas de temps dintgration peut galement tre modi au cours de la simulation en fonction de critres physiques lis la vitesse de propagation dune onde dans le matriau 4. Hernquist et Katz introduisent la notion de Tree SPH, ou SPH hirarchique [HK89]. Le partitionnement de lespace en un arbre hirarchique permet en effet, comme pour tout systme de particules, dacclrer les calculs de voisinage et dinuence. Cette dcoupe de lespace nest pas lie une grille Eulrienne mais est Lagrangienne tout comme les SPH, et volue avec la simulation. Lapplication est la simulation de trs gros systmes auto-gravitationnels en astrophysique.
4 Voir

lannexe B.

6. LES MODLES CONTINUS

19

5.4

Conclusion

Ce modle possde beaucoup des avantages intrinsques des modles base de particules dcrits prcdemment. chaque instant, on est capable de calculer en un temps quivalent celui dun systme de particules la force subie par chaque point pour ensuite lintgrer au cours du temps. La diffrence est que le calcul plus subtil de la force en utilisant le formalisme SPH garantit le respect dune quation dtat, autorisant un processus multirsolution. Dilts a montr lquivalence des SPH avec la mthode dlments nis de Galerkin applique en temps et en espace [Dil96]. On pourra toutefois reprocher aux SPH dtre mieux adaptes la simulation dun comportement gazeux qu celle dun vritable matriau lastique. Augmenter la cohsion interne du matriau peut se faire en augmentant le rayon dinuence h du noyau W h et le nombre de particules, au prix de calculs plus coteux. Desbrun annonce ainsi des temps de calculs de plusieurs heures lors de la simulation de matriaux relativement peu rigides [DC99b].

Les modles continus

Tout comme le formalisme SPH, les modles dcrits ici et dans la section suivante considrent avant tout la matire comme un milieu continu, soumis des lois de comportement globales. Lobjet simul ne sera nalement discrtis que pour les besoins de la simulation informatique. On va chercher mesurer lnergie potentielle de lobjet sous laction de contraintes extrieures donnes. Cette nergie peut tre calcule en fonction dune variable qui dcrit les dformations de lobjet. Elle correspond au travail 5 quil a fallu fournir pour amener lobjet dans cette position dforme. Le travail tant lintgrale du produit force dplacement, il est ncessaire de connatre les forces crs par la dformation pour le calculer et cest une loi de comportement qui va donner lexpression de la force en fonction de la dformation, en faisant intervenir des coefcients propres au matriau simul. Tout ce formalisme sera dcrit plus en dtails dans le chapitre suivant et il suft ici de retenir que lon peut calculer lnergie potentielle en fonction des dformations.

6.1

Minimisation de lnergie de dformation

Cette nergie potentielle de dformation a t directement utilise dans une srie dapproches. Terzopoulos et al. ont ds 1987 propos un formalisme dans lequel une courbe, une surface ou un objet 3D se dforme an de minimiser leur nergie de dformation [TPBF87]. Celle-ci est mesure comme tant la norme dune matrice, appele tenseur mtrique et qui est en fait pratiquement le tenseur des dformations de Green-Lagrange (dont on reparlera dans le prochain chapitre). Les diffrentielles impliques dans le calcul de lnergie potentielle sont approximes par des diffrences nies. Lquation diffrentielle dynamique est intgre dans le temps en utilisant une intgration implicite 6 . Des termes annexes, du mme type, doivent tre introduits dans lvaluation de lnergie potentielle pour des simulations dobjets 2D et 1D (voir [TPBF87, WFB87, PB88]). La mthode reste trs lente car ncessitant une inversion matricielle chaque pas de temps. Le mme type dapproche a t utilis dans la mthode des snakes, ou contours actifs de [KWT87] dans un contexte danalyse dimage et de recherche de contour. Lnergie de dformation mesure alors la courbure du contour, qui cherche entourer les zones dintrt de limage ou du volume. Lapproche prcdente fut amliore lanne suivante en dnissant lobjet comme la somme de deux composantes, lune rigide, dite de rfrence, et lautre dformable attache la premire [TW88]. Ce modle hybride permet de simplier lexpression de lnergie potentielle qui na plus grer les transformations rigides (translation et rotation globales). Dans lhypothse des petites dformations, on peut mme considrer cette matrice comme constante et linverser une fois pour toutes au dbut. Des forces de pnalit gnres par les obstacles viennent ensuite dformer lobjet. Dans [TF88], la composante de rfrence nest plus rigide et peut absorber une partie des dformations, conduisant des objets plastiques. Cette composante peut galement subir des forces de frottement visqueuses
5 Au 6 Voir

sens physique, propre et mathmatique du terme. annexe B.

20

CHAPITRE 1. TRAVAUX ANTRIEURS

et les auteurs dcrivent la possibilit de fractures en des points prtablis du maillage en cas de trop forte dformation.

6.2

Conclusion

Ces mthodes, assez anciennes, ont permis les premires animations de matriaux dformables. Leur inconvnient majeur est leur cot de calcul lev d linversion matricielle quils requirent, ce qui les rend incompatibles avec une application temps-rel. Lutilisation des diffrences nies dans [TPBF87] limite le champ dutilisation des maillages rguliers, les objets ayant forcment une forme lie la grille utilise. La mthode des lments nis que nous dcrivons dans la section suivante est en fait une gnralisation de ces mthodes, bases sur une vision continue de la matire. On va maintenant tre capable dvaluer les quations diffrentielles sur un maillage arbitraire compos dlments.

Les lments nis

Les lments nis sont la mthode de prdilection des physiciens pour simuler un matriau dformable. Indispensables dans lindustrie et faisant lobjet de publications en mcanique et en mathmatiques appliques depuis des dizaines dannes, ils utilisent galement le modle continu dcrit dans la section prcdente. La littrature sur le sujet est souvent trop pointue alors que le rsultat visuel recherch en animation ne demande pas un modle si prcis. Elle est de ce fait dune comprhension difcile, la mthode gnrale pouvant tre explique plus simplement. Cette technique peut galement sembler tre rserve ltude des positions dquilibre statiques et non lvolution dynamique des objets au cours du temps, les calculs impliqus tant qui plus est souvent trs longs. Toutes ces raisons expliquent le relativement faible engouement pour la mthode dans le domaine de limage de synthse, alors quelle a dvidents avantages, comme nous allons essayer de le montrer dans cette section. Cette description est trs simplie et lon se reportera [Seg84, Bat96, Kas97] ou [ZT91] pour plus de dtails.

7.1

Principe

On part ici aussi de lexpression de lnergie potentielle de dformation de lobjet. La position dquilibre recherche sera celle qui minimise cette nergie, et donc o la drive de lnergie par rapport la position sannule. Le but est donc de trouver la valeur de la dformation qui satisfait cette quation diffrentielle dquilibre. Chercher la valeur de la dformation comme une fonction continue dans le matriau signie rsoudre analytiquement cette quation, ce quon ne sait faire que dans des cas trs simples. Cest donc ici quintervient la discrtisation en lments nis. Discrtisation en lments La fonction continue recherche va tre reprsente par une approximation discrte. On va dcouper lobjet en lments, sortes de cellules de matire possdant chacune un faible nombre de variables qui dcriront lallure de la fonction lintrieur de llment. Ces variables seront en fait assignes chacun des sommets de llment, chacun dcrivant plus prcisment par ses variables ce qui se passe autour de lui dans llment. La fonction tant entirement dcrite par ces quelques coefcients, on restreint grandement lespace des fonctions que lon peut reprsenter. Des raisons de continuit sur la fonction recherche vont faire que lon va souvent imposer deux lments juxtaposs davoir les mmes variables aux sommets quils partagent. Cela assure que lon naura pas de discontinuit de la fonction quand on lexprimera dun ct et de lautre de la frontire entre les lments. La fonction est donc maintenant reprsente par un ensemble de variables, dnies en chaque sommet des lments crs. La description de la fonction par ces variables se fait au travers des fonctions de base. Elles dcrivent pour chaque sommet comment les variables quil contient inuencent la fonction gnre. Ces fonctions de base seront gnralement de la mme forme pour tous les sommets et de leur complexit dpendra lespace des fonctions reprsentables et donc la qualit de la solution.

7. LES LMENTS FINIS

21

Soyons concrets. La fonction cherche sera le plus souvent approxime par une fonction linaire par morceaux, linaire sur chacun des lments (plus rarement par un polynme de plus haut degr). Pour la dnir il suft dune valeur chaque sommet 7 et les fonctions de base sont alors simplement les fonctions linaires par morceaux qui valent 1 au sommet considr et 0 sur tous les autres sommets (des fonctions triangle en 1D). Toute fonction linaire par morceaux sur les lments peut en effet tre reprsente comme une somme pondre de ces fonctions de base, les poids associs chaque sommet tant les valeurs prises par la fonction en ces sommets. Ce seront les variables qui dcrivent la fonction. La Figure 1.6 explicite cette reprsentation en une dimension. Chaque lment est un segment de laxe des abscisses, sur lequel les fonctions de base ont une forme triangulaire (Fig. 1.6a). La fonction continue est approxime par une fonction linaire par morceaux, somme pondre de ces fonctions triangles (Fig. 1.6b).

1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000

11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000

(a)

(b)

F IG . 1.6: Les fonctions de base ont une forme triangulaire en 1D (seules celles associes aux sommets encadrs sont reprsentes) (a). Leur somme pondre cre la fonction linaire par morceaux qui approxime la fonction continue (b).

Noter que la forme des lments (leur longueur en 1 dimension) na pas tre uniforme et quil est intressant de ladapter la courbe approxime comme cest le cas ici. Cela demande de connatre a priori lallure de la solution cherche. En deux dimensions, sur un maillage dlments triangulaire, les fonctions de base auront la forme de pyramides sappuyant sur les frontires du maillage. En rsum, on a par passage aux lments nis reprsent la fonction cherche (les dformations de lobjet) par un ensemble de variables aux sommets du maillage. Rsolution du systme Lquation dquilibre du systme doit tre vrie sur chacun des lments, ce qui va se traduire par des quations sur chacun des sommets. Elle comporte des drives partielles qui sexpriment analytiquement en chaque sommet comme une combinaison linaire des valeurs prises par la fonction sur les autres sommets. En chaque sommet, on peut donc crire une quation linaire faisant intervenir la valeur de la fonction dans cette zone (dnie par la valeur en ce sommet et aux sommets proches). En pratique, chaque sommet satisfait une, deux ou trois quations selon que lon est en 1, 2 ou 3 dimensions, car chaque sommet comporte alors les 1, 2 ou 3 composantes de la fonction dformation, qui chacune doit avoir une drive nulle par rapport la position du sommet. En regroupant toutes ces quations linaires dans une matrice on obtient un systme matriciel de n (resp. 2n, 3n) quations en les n (resp. 2n, 3n) inconnues que sont les valeurs de la fonction aux sommets du maillage :

KU

(1.8)

o K , appele matrice de rigidit du systme, et o U et F sont les vecteurs rassemblant respectivement les dplacements et les forces externes appliques aux n sommets. Il ne reste qu rsoudre ce systme pour obtenir lapproximation de la fonction dformation sur le maillage, dont on pourra ensuite par exemple dduire les contraintes internes grce la loi de comportement.
lon est en dimension 1. En dimension 3 la fonction cherche a 3 composantes et sera donc reprsente par 3 fonctions linaires U, x Uy et Uz . On aura alors 3 inconnues en chaque sommet.
7 Si

22

CHAPITRE 1. TRAVAUX ANTRIEURS

En pratique, puisque seules les valeurs prises sur les sommets les plus proches interviennent dans lexpression des drives 8, chaque quation nimpliquera quun petit nombre de sommets. La matrice K ne de leur regroupement aura donc une faible largeur de bande, des mthodes adaptes pouvant tre utilises pour la rsolution. Noter aussi que le conditionnement de la matrice 9 dpend directement des coefcients de raideur du matriau : plus il est rigide, plus linverse est difcile calculer. En chaque sommet la dformation et la force applique (gnralement nulle) peuvent tre connues ou tre des variables du systme. Rien nempche dimposer une dformation un sommet (sil est en contact avec un autre objet par exemple) et dy calculer la force cre, tout comme on peut lui faire subir une force donne (nulle la surface du matriau sauf en quelques points par exemple) et chercher la dformation rsultante. On peut donc changer les inconnues et les donnes du problme dans les valeurs de U et F, et modier alors le systme matriciel K pour ne plus avoir que des inconnues dun ct et des donnes de lautre. Simulation dynamique En animation, on ne cherche gnralement pas trouver les positions dquilibre dun objet mais plutt ses dformations au cours du temps. Il faut alors prendre en compte les inerties et les forces de frottement, ce qui transforme lquation 1.8 en une quation diffrentielle du second ordre classique :

2 U U D K U t 2 t

(1.9)

o M et D sont des matrices lies la masse et aux coefcients damortissement. Elles sont obtenues, tout comme K , en regroupant les quations de chaque sommet. La masse dun sommet est ainsi calcule comme lintgrale de la fonction densit au travers des fonctions de base (de mme pour D obtenue partir des coefcients de frottement de chaque lment). Les diffrentes matrices M D et K peuvent dpendre de la gomtrie des lments et doivent donc tre recalcules ds que lobjet se dforme, ce qui est coteux. Cozot dsigne par le terme de lagrangien libre de telles mthodes dans lesquelles un remaillage de lobjet suit chaque pas de simulation fait par lments nis [Coz96]. On considre gnralement que lobjet se dforme sufsamment peu pour considrer ces matrices comme constantes. Cette approximation signie que lon approxime un comportement purement linaire de lobjet, ce qui nest gnralement vrai que pour les petites dformations. Il faudrait au del dune certaine dformation modier les coefcients pour obtenir un comportement plus raliste. Considrer ces valeurs comme constantes nest nanmoins pas absurde, linteraction entre deux points proches tant conditionne par leur disposition gomtrique (le nombre datomes les sparant), qui ne changera pas au cours du temps.

7.2

Applications

Mthode classique Lune des premires application des lments nis lanimation fut faite par Gourret et al. dans une simulation de contact entre une main et une balle dformables. La rponse aux collisions est quelque peu empirique et la modlisation des doigts simple, mais la simulation permet une dformation complexe [GMTT89]. Les matrices sont remises--jour quand les articulations des doigts ont boug de plus de dix degrs. La simulation est longue calculer et la dynamique en a t supprime pour ne pas la ralentir davantage. Chronologiquement vinrent ensuite Collier et al. avec un modeleur de tissus utilisant des lments carrs en deux dimensions, inspirs de ceux utiliss pour simuler les membranes dans lindustrie [CCOS91]. Chen et Zeltzer cherchrent quand eux animer les muscles humains [CZ92]. Leurs lments sont trs complexes (20 nuds chacun) et il nen utilisent que 2 par muscle. Ceux-ci se voient imposer des forces par lintermdiaire des tendons qui les relient aux os. Bien quutilisant les principes de la dynamique modale dcrits dans la Section 2.1, leur simulation de quelques dizaines de noeuds est trs lente. Bro-Nielsen et Cotin utilisrent une ide intressante en 1996 en remarquant tout simplement que seul le dplacement des nuds de la surface est pertinent visuellement [BNC96]. Le systme matriciel de lquation
8 Les sommets ont une inuence sur la fonction limite au support de leur fonction de base. Avec des fonctions linaires, lexpression des drives en un sommet ne fera intervenir que les sommets voisins qui lui sont directement lis par un lment. 9 Sa facilit tre inverse.

7. LES LMENTS FINIS

23

1.8 peut tre rcrit en sparant ces nuds de ceux de lintrieur. Cette mthode, dnomme condensation par les auteurs, aboutit un systme matriciel qui ne concerne plus que les nuds de la surface, donc de taille bien moindre, mais qui a en contrepartie perdu sa structure de matrice creuse. noter que cette manipulation, classique chez les physiciens, avait dj t applique dans [GMTT89]. Le nouveau systme, de type K U F est alors pr-invers, an de pouvoir dterminer rapidement les dformations en fonction des forces par U K 1 F On dformera lobjet en appliquant des forces non nulles quelques endroits (seules quelques colonnes de K 1 seront donc prendre en compte, ce qui acclre beaucoup le produit), et en en dduisant trs rapidement les dformations gnres. On obtient ainsi une position dquilibre statique de lobjet. Linconvnient de piloter les dformations en appliquant des forces et non des dplacements aux nuds est quon ne peut alors garantir la forme des dformations lendroit o lon voudrait appliquer un outil. Celui-ci peut ne pas repousser assez lobjet (si les forces appliques sont trop faibles) ou au contraire sembler agir distance (forces trop fortes), ce qui pose videment problme. On doit donc ici se mettre la place du modle physique et appliquer exactement les forces que celui-ci aurait gnres pour avoir une simulation correcte, ce qui est impossible. On gagne par contre normment en temps de calcul en imposant ainsi des forces arbitraires car la matrice peut-tre prinverse une fois pour toutes. Dans les applications classiques, loutil va imposer une dformation lobjet, les forces gnres ces nuds devenant alors les inconnues du systme. Si les points sur lesquels on agit ne sont pas toujours les mmes au cours de la simulation, ce qui est le cas, le systme matriciel change tout le temps et ne peut donc tre ainsi pr-invers. 2 U On peut par contre effectuer une simulation dynamique, lquation M tU D t K U F pouvant se 2 rcrire laide de diffrences nies pour calculer les drives temporelles. On obtient alors un systme de la forme f K ut t t 1 t 2 o le vecteur dpend maintenant des dformations aux deux instants prcdents. Il est plus cher calculer et f na plus comme prcdemment quasiment toutes ses valeurs nulles ce qui ralentit beaucoup le produit matriciel avec K 1 . Dans le mme ordre dide, James et Pai [JP99] ont tout rcemment propos une mthode base sur le mme principe, mais dans laquelle ils mettaient jour linverse de la matrice K . Lorsque lutilisateur manipule un outil virtuel pour dformer lobjet, peu de nuds passent du statut de dplac celui de libre, et inversement. Les auteurs ont alors fait remarquer que la matrice inverse ntait en fait que peu modie dans ces cas. Linuence dun point tant limite une colonne de la matrice, une astuce mathmatique permet de la remettre jour rapidement laide de lourds prcalculs, lanimation restant temps-rel. Dans sa thse [Cot97], Cotin a propos une mthode imposant cette fois ci une contrainte en dplacement sur lobjet. Il utilise lintressante proprit de superposition des lments nis en lasticit linaire, qui dit que la dformation de lobjet rsultant du dplacement d dun point est la somme de celles qui seraient produites par des dplacements d x , dy et dz appliqus sparment dans chacune des 3 directions x, y et z. Ce rsultat est d au caractre linaire du systme dquations. Qui plus est, un dplacement double va simplement crer une dformation double 10 . Il suft alors de prcalculer, pour chaque point sparment, quelle va tre la dformation de tout lobjet lorsque ce point est dplac dans les trois directions. Ces informations, ltres pour supprimer les dplacements trop faibles et conomiser ainsi la mmoire, sont stockes dans chaque point de la surface, conduisant une animation temps-rel [CDA99, CDA96, CDA98]. Le problme est quon ne peut connatre la dformation cre lorsquon manipule plus dun point la fois (ce qui est gnralement le cas). Appliquer en les sommant chacune des dformations cres par les points dplacs va conduire une dformation exagre. Cotin nen applique alors quune partie, en reprsentant dans une matrice linuence mutuelle des nuds dplacs, dont linverse va dterminer les dplacements appliquer aux diffrents nuds. On peut ainsi dplacer plusieurs sommets, mais au prix de linverse dune matrice 3m 3m o m est le nombre de noeuds dplacs.
10 Ce

comportement nest pas trs raliste, mais la linarit est une premire approximation de la complexit des mouvements rels.

24

CHAPITRE 1. TRAVAUX ANTRIEURS

Lun des dfauts de ces trois dernires mthodes ([BNC96, JP99, Cot97]) est que toute modication de la topologie de lobjet (une simple entaille ou une dcoupe plus profonde) est impossible car elle remettrait en cause toutes les matrices prcalcules qui ne seraient plus adaptes. Mais leur inconvnient majeur est quelles sont statiques, ne donnant quune suite dtats dquilibre de lobjet. Cest en particulier sensible lorsque loutil quitte brusquement lobjet et que celui-ci revient alors immdiatement dans sa position dquilibre sans aucune oscillation dynamique. lments nis explicites Toutes les mthodes dcrites jusqu maintenant font usage dlments nis implicites et ncessitent linversion dun systme global. Les lments nis explicites, au contraire sapparentent plus des systmes de particules et protent de leur exibilit. Le principe est le suivant : lorsque, sur chacun des lments du systme, on a crit les quations dquilibre, on est capable dexprimer la force que subit chaque sommet en fonction des dplacements des sommets voisins. Plutt que de chercher trouver la position dquilibre que ces forces vont crer en rsolvant le systme matriciel, on va simplement intgrer ces forces pour chaque point. On obtient ainsi de nouvelles positions dans lesquelles on va de nouveau calculer des forces, etc. Il suft dutiliser les lois de la dynamique du point pour crer lanimation, ce qui est plus simple que dessayer de rsoudre lquation du second ordre 1.9. On perd ici en prcision ce que lon va gagner en vitesse. La rsolution globale du systme garantissait que les positions trouves taient toutes compatibles entre elles, satisfaisant globalement toutes les quations. On na plus ici cette cohrence, mais plutt une juxtaposition de solutions locales, bien plus rapides calculer. On introduit par contre un retard dans la propagation, chaque point ne ragissant qu la position de ses voisins linstant prcdent.

F IG . 1.7: Simulation de laparoscopie hpatique utilisant les masses-tenseurs.

Cette mthode a t utilise dans deux contributions rcentes de la littrature. De part sa ressemblance avec les masses-ressorts (on calcule une force en chaque point daprs ses voisins puis on lintgre), Cotin a dans sa thse dnomm cette mthode les masses-tenseurs, le calcul de la force pouvant sexprimer par un tenseur 11 (voir Fig 1.7) [Cot97, DCA99]. Plus rcemment, OBrien et Hodgins ont propos une mthode simulant les fractures et leur propagation lintrieur dun matriau en utilisant galement eux aussi une mthode explicite [OH99]. La discrtisation du modle en lments nis voluait au cours du temps pour suivre lapparition des craquelures dans le matriau. Celles-ci apparaissaient lendroit o les contraintes internes dpassaient un seuil donn. Ces deux approches sont bien plus rapides que celles ncessitant une inversion globale, mme si dans le cas de [OH99] les trs fortes raideurs des matriaux employs demandaient un trs faible pas de temps, ncessaire galement au suivi de lvolution des fractures. Cotin propose ainsi un simulateur chirurgical interactif.

7.3

Conclusion

Une fois le formalisme compris (on na en particulier pas dcrit ici la faon dont sont calcules les drives partielles sur les lments), utiliser les lments nis revient dans la mthode classique rsoudre un gros systme matriciel. Trop lente, cette opration interdit les applications temps-rel. Pr-inverser les matrices en les supposant constantes au cours du temps limite les applications de faibles dformations. Cela demande de xer une fois pour toutes le statut (dplac par loutil ou libre) de chacun des
11 On

peut voir un tenseur comme une matrice symtrique.

8. MODLES COUCHES

25

points. Il faut employer des mathmatiques subtiles pour pouvoir comme dans [JP99] mettre jour cette inverse en fonction du statut de chaque point et pouvoir ainsi dplacer des points arbitraires avec un outil. Encore dans ce cas l nobtient-on que des tats dquilibre du systme, la dynamique de lanimation faisant cruellement dfaut. Les lments nis explicites sont quand eux bien plus rapides, et devraient permettre le temps-rel. Ils procurent de meilleures conditions que les masses-ressorts, le temps de calcul de la force en chaque point pouvant en effet tre du mme ordre de grandeur alors que moins de points simuls sufsent obtenir le mme rsultat visuel. Les changements de topologie sont impossibles avec les lments nis implicites, mais mis en uvre par Cotin avec une mthode explicite. Le systme matriciel doit en effet alors tre compltement recalcul, les interactions entre points tant modies. Ce formalisme nest en outre pas appropri la simulation de matriaux trop dformables. Les modles physiques dcrivant les matriaux sont faits pour des mtaux et tolrent une dformation de lordre de 1%, incompatible avec les tissus biologiques. On peut considrer les matrices comme constantes pour de trs faibles dformations, mais il faudrait pour des matriaux biologiques les remettre jour rgulirement. Les rsultats de Cotin avec une mthode explicite semblent nanmoins montrer que lon doit pouvoir dpasser ces limites, aux dpends du ralisme physique de la simulation.

8
8.1

Modles couches
Principe

Les modles que nous allons maintenant dcrire vont essayer de mlanger plusieurs des approches prsentes pour sen enrichir en tirant parti de leurs avantages respectifs. Tout comme les modles de Terzopoulos vu prcdemment [TW88, TPF89], cest gnralement des couches constitues de diffrents modles qui vont tre superposes. Ds 1976, Burtnik [BW76] animait le squelette dun personnage et en dduisait le mouvement de la couche de muscles et de peau qui y tait attach, le travail de lanimateur sen trouvant simpli. La mthode fut amliore par Chadwick et al. [CP88, CHP89] par la sparation des muscles, anims par une FFD contrle par un rseau masses-ressorts, et de la peau purement gomtrique. Ce type de modle est repris par CaniGascuel et al. dans [GVP90, GVP91, Gas90], les interactions entre les couches tant plus complexes. [CGD97] reprendra certaines des ides du modle de [GVP91] en remplaant la surface spline par une surface implicite. Le modle de Turner [TT93, Tur95] danimation de personnages mlange une animation cinmatique du squelette par cinmatique inverse, des muscles modliss par objets implicites attachs au squelette par des ressorts, et enn une peau sur laquelle se concentrent les calculs et qui utilise la mthode de [TPBF87]. Shen et Thalmann [ST95] se concentreront sur la modlisation des muscles par metaballs, la peau purement gomtrique tant constitue de B-splines. Citons galement en 1992 les travaux de Metaxas et Terzopoulos [MT92] qui reprennent ceux de [TF88] et [WW90] dans des simulations utilisant plusieurs couches.

8.2

Conclusion

Ces modles sont souvent rapides, car ils dcomposent le problme et simulent avec une mthode adapte chaque partie. Ils offrent ainsi un paramtrage spar de chaque couche, ce qui peut tre intressant car parfois plus intuitif. Ce genre dapproches se rapproche de la multirsolution. Celle-ci ne consiste nanmoins pas simplement en un empilement de couches. On doit plutt la voir comme une faon de gnrer automatiquement des couches pouvant interagir et se modier. Or les mthodes proposes offrent trs rarement une interaction relle entre les couches, chacune se contentant plutt de contrler seulement la suivante. Dans [GVP91, CGD97] ou [TW88] linteraction se fait dans les deux sens, les dformations de la peau pouvant leur tour inuencer le modle interne.

26

CHAPITRE 1. TRAVAUX ANTRIEURS

Les sections prcdentes classaient les modles par grandes familles de mthode. Nous allons maintenant dpasser ce classement et nous intresser deux types dalgorithmes, plus spciquement viss par cette thse : ceux autorisant une simulation interactive et ceux tirant parti de la multirsolution.

Applications interactives

Cette section dtaille quelles sont, parmi les mthodes prsentes, celles qui permettent une vritable animation interactive. On ne parle pas ici de temps-rel car nous rserverons ce terme des applications bien prcises (voir Sec. 11.2). Les applications prsentes permettent nanmoins une raction interactive du matriau aux sollicitations de lutilisateur, accompagnes dun afchage de plusieurs images par seconde. Lapplication typique des modles dformables temps-rel est le simulateur mdical. Trs utile pour la formation des chirurgiens, il est actuellement sujet de recherche pour de grands groupes industriels : www.musetech.com/html/muse2000/apps/medical.html MUSE HT Medical System www.ht.com Teneo www.teneocomp.com et universitaires : touchlab.mit.edu MIT Penn State cs.millersv.edu/haptics EPFL imt.dmt.epfl.ch Karlsruhe www-kismet.iai.fzk.de/TRAINER/mic_trainer1.html LIFL www.lifl.fr/GRAPHIX/ AISIM www-sop.inria.fr/epidaure/AISIM/ [INR] Les simulateurs existant sur le march se contentent nanmoins gnralement danimer des objets rigides et apprennent principalement au chirurgien le maniement des outils dans lespace. De par leur simplicit et leur rapidit, les masses-ressorts ont t largement utiliss, notamment par Meseure [MC96a, MC96b, Mes97] et Cover et al. [CEO93]. Ces approches utilisent peu de ressorts pour assurer linteractivit et ajoutent des ressorts de longueur vide nulle entre chaque point et la position quil occupait dans sa position de repos. Il dnissent ainsi une forme au repos vers laquelle la surface va chercher revenir. Sans cette surface, le maillage purement surfacique de lobjet naurait aucune consistance volumique et pourrait tre aplati sans rsister. Basdogan et al. [BHS 98] fournissent un retour deffort lutilisateur au travers de lutilisation dun Phantom [Tec] en appliquant le mme genre de mthode. La force calcule est celle subie par quelques ressorts attachs un objet xe et simulant le comportement lastique trs local de lobjet, autorisant ainsi des calculs 1000Hz ncessaires au retour deffort. Lafchage du modle utilise localement des courbes splines et globalement une mthode FFD. Citons galement lutilisation temps-rel des masses-ressorts par Desbrun dans [DSB99] qui grce une mthode dintgration semi-implicite, interprtation simplie de [BW98], propose une animation de tissus trs rapide12 . Lalgorithme de ChainMail de Gibson [Gib97] modlise lobjet comme un ensemble de maillons ne pouvant ni tre dissocis ni tre trop imbriqus (Fig. 1.8). chaque dplacement impos, un algorithme itratif dplace tous les maillons de faon satisfaire ces contraintes. Purement gomtrique, cette dformation est trs rapide : elle est accompagne dune relaxation par masses-ressorts, faite uniquement lorsque lon en a le temps, cest-dire quand on ne manipule plus lobjet. Lintret de cette combinaison est que les dformations purement plastiques du rseau de maillons sont trs rapides (125000 maillons dplacs 3Hz sur une SGI Indy). Parmi les mthodes utilisant les lments nis, les travaux de Bro-Nielsen [BNC96] et Cotin [Cot97] ainsi que ceux de James et Pai [JP99] offrent une interface interactive. Notons quaucun de ces modles nest rellement dynamique, les masses-tenseurs de Cotin [Cot97] rinitialisant la vitesse 0 avant chaque pas de simulation et les deux autres ne proposant que des tats dquilibre statiques.
12 Voir

Annexe B

10. LA MULTIRSOLUTION EN ANIMATION

27

F IG . 1.8: Une juxtaposition de maillons imbriqus forme le ChainMail.

10
10.1

La multirsolution en animation
Plusieurs faons de faire de la multirsolution

Dnissons plus prcisment ce que lon entend par multirsolution en animation. Il ne sagit pas simplement de pouvoir avoir une rsolution variable au cours de lanimation, comme cest le cas dans [HPH96] ou [OH99] qui font voluer la discrtisation de leur systme en fonction du lieu des plis dun tissus ou de la propagation de fractures. Multirsolution signie davantage avoir tout instant disposition diffrentes reprsen-tations du mme mouvement et choisir en permanence celle qui convient le mieux, ce choix pouvant ventuellement dpendre de la partie de lobjet concerne. On se donne la possibilit de gnrer plusieurs mouvements, des qualits et des vitesses de calcul diffrentes, pour nutiliser chaque instant que celui offrant le meilleur compromis. Ces diffrentes reprsentations doivent nanmoins cohabiter sufsamment pour que lutilisateur nait pas conscience de leur prsence. Il doit avoir limpression que le comportement reste identique au cours de la simulation, indpendant des rsolutions qui cohabitent et de leur possibles modications. Les diffrents niveaux de dtail peuvent tre tablis au dpart ou tre calculs lors de lanimation en fonction de ce qui sy droule. Ce dernier cas est plus complexe et risque, sil prend trop de temps, de ger lanimation, ce qui est gnant dans un contexte interactif. Ces diffrentes rsolutions peuvent galement tre du mme type de simulation, vues des rsolutions diffrentes, ou mlanger diffrentes techniques danimation (dynamique, cinmatique et ponctuelle par exemple dans [CH97]). Les divers seuils qui dcideront quelle rsolution doit tre utilise chaque endroit permettront de rgler la vitesse de la simulation en autorisant trs ponctuellement ou au contraire assez largement lutilisation des rsolutions les plus nes. Dans une approche de temps-rel, on pourra galement garantir un dlai xe entre deux afchages en limitant lutilisation des rsolutions les plus coteuses en fonction du temps de calcul disponible.

10.2

Difcults

Il y a toujours deux problmes principaux dans la mise en place des approches multirsolution : Les diffrentes rsolutions que lon veut mlanger doivent avoir, dans une certaine mesure, le mme comportement dynamique, cest--dire approximer le mme mouvement au cours du temps. Si tel ntait pas le cas, la simulation serait chaotique, son comportement dpendant des rsolutions employes alors que cest prcisment ce que lon veut cacher lutilisateur. Les diffrentes rsolutions doivent pouvoir cohabiter, cest--dire que les transitions entre les niveaux ne doivent pas tre visibles. Ces transitions sont dune grande importantes et de leur discrtion dpend le rsultat. Cette notion est diffrencier de la prcdente, car mme avec un comportement dynamique identique, deux rsolutions ne peuvent pas donner un bon rsultat si elles ne cohabitent pas. Deux mouvements, mme similaires, doivent par exemple tre en phase lendroit ou lon passe de lun lautre. On devra aussi veiller viter les clignotements dues une oscillation entre deux rsolutions ainsi que les apparitions soudaines de dtails qui ne faisaient pas partie de la rsolution grossire prcdente, ou tout autre indice visible dpendant de lapplication. Dans notre cas, simuler une srie de points, chacun sa propre chelle est ais, mais encore faut-il que ces points puissent interagir les uns avec les autres lorsquils nappartiennent pas la mme chelle, an que lobjet forme un tout et non une simple juxtaposition de parties diffrentes rsolutions.

28

CHAPITRE 1. TRAVAUX ANTRIEURS

10.3

Adaptatif versus Hirarchique

Pour une mme zone de lobjet, les diffrentes rsolutions qui peuvent y tre employes vont ltre sparment ou collectivement : Ou bien une rsolution ne sera la seule rellement active dans cette zone et elle devra alors tre capable de cohabiter avec les zones voisines qui nont pas forcment la mme rsolution. Ou bien cette rsolution cohabitera avec les autres rsolutions de cette mme zone, en leur redonnant par exemple par moyenne les informations dont elle dispose. Un certain nombre de rsolutions seront alors actives en mme temps dans cette zone pour reprsenter le phnomne. Nous dsignerons les premires mthodes par le terme dadaptatives (Fig. 1.9a) et les secondes par celui de hirarchiques (Fig. 1.9b). Ladaptatif nutilisera quune rsolution un endroit donn, devant linterfacer avec les zones voisines. Le but sera alors dadapter en chaque zone la rsolution en fonction de la simulation. Le hirarchique devra par contre grer plusieurs rsolutions simultanment chaque endroit et tre capable de les faire communiquer. On gagne en gnricit (les diffrentes zones peuvent communiquer directement au travers de la mme rsolution) au prix dun cot de calcul lgrement plus lev d la simulation de plusieurs rsolutions chaque endroit.

Adaptatif

Hierarchique

(a)

(b)

F IG . 1.9: Parmi toutes les rsolutions possibles, ladaptatif (a) ne simule que le niveau le plus n (points) alors quen hirarchique (b), les niveaux infrieurs continuent tre actifs et cohabitent avec le niveau n.

Ces dnitions ne sont pas acadmiques et sont introduites ici par commodit an de pouvoir sy rfrer dans la suite de ce document lorsque nous dcrirons nos contributions.

10.4

Utilisations de la multirsolution

Diffrents articles ont tout dabord cherch formaliser quels taient les types de mouvements que lon pouvait gnrer et les critres permettant de choisir lequel est le mieux appropri. Berka introduit dans [Ber97] la notion de niveau de dtail dynamique (DLOD). Il numre quelques critres de dcision quand au choix du niveau de dtail : lamplitude observable lcran du mouvement, sa vitesse et le nombre des objets qui ladoptent, permettent ventuellement de les regrouper. Il soulve, sans toutefois y rpondre, les problmes qui apparaissent alors : comment mesurer ces paramtres, quel sera le mouvement simpli et comment grer les transitions entre les niveaux ? Chenney et Forsyth [CF97] vont eux tudier quel point on peut simplier le calcul de lanimation des objets temporairement non visibles. Il faut pour cela que ltat (position, posture) dans lequel les objets rapparaissent soit cohrent avec ce dont lutilisateur peut se souvenir. Le but va donc tre de reproduire la statistique dcrivant les tats de lobjet ; plus celle-ci est alatoire, plus on pourra simplier les calculs consacrs aux objets non visibles. Les gains de temps annoncs par les auteurs varient entre 1.5 et 5. Dans sa thse [Val99], Valton dcrit un mcanisme de dcomposition en niveaux de dtail de modles danimation. Une structure darbre comportant diffrents modules dcoupls, pouvant tre dsactivs lorsquil faut dgrader le mouvement, permettent de rgler la qualit de lanimation. Une grammaire permet de corrler les changements de niveaux de dtail dans lanimation et dans le modle gomtrique afch. Carlson et Hodgins ont propos un modle utilisant trois niveaux de dtail dans lanimation par modle physique de pistons bondissants [CH97]. Selon que chaque objet est proche ou lointain, ou utilisera une simulation dynamique, cinmatique, voire simplement base sur des particules en ne considrant lobjet que comme un point. Mme si chaque niveau na pas tout fait le mme comportement, on obtient quand mme ainsi un gain sur le temps de calcul.

11. CHOIX DUN MODLE

29

Rappelons dans lapproche modale de Pentland et Williams [PW89] la possible utilisation multirsolution dun nombre donn de modes vibratoires permettant de modier le compromis vitesse-qualit. En utilisant cette fois-ci un rseau masses-ressorts, Hutchinson et al. proposent une mthode adaptative de simulation de tissus [HPH96]. Celui-ci est tout dabord maill grossirement, mais de nouvelles masses sont ajoutes en fonction de lanimation lorsque langle entre deux ressorts devient trop important pour afner le rsultat. On acclre ainsi le dbut de la simulation dans leur exemple dune nappe tombant sur une table et se pliant au bord. Le problme principal de la mthode est que ladjonction de ressorts modie sensiblement le comportement du tissus, chaque point ajout apportant par exemple dans leur implmentation une masse supplmentaire. Rien nest de plus prvu pour resimplier localement le maillage si lobjet change de position. Ganovelli a lui aussi dvelopp des approches multirsolution base de masses-ressorts. Ses premiers travaux [GCS99] cherchaient dterminer la raideur quivalente plusieurs ressorts en calculant leur rsistance un fort tirement (tous les ressorts ayant atteint leur longueur limite). Il a ensuite utilis les raideurs de Van Gelder [Gel98] dans un modle autorisant les dcoupes [GCMS00]. La faible indpendance la rsolution de ce modle (voir Chapitre 4, Section 7) grve nanmoins cette mthode. Desbrun dveloppe lui aussi un modle multirsolution (voir Sec. 5.3) en temps (le pas de temps dintgration de chaque particule peut varier) et en espace (les particules peuvent se diviser et se regrouper) bas sur le formalisme SPH [DCG96, Des97, GCD 98, DC99b]. Cette mthode a t dveloppe pour des matriaux hautement dformables, et les essais que nous avons faits dapplication des matriaux plus lastiques que plastiques nont pas t concluants. Cest nanmoins ce genre dapproche qui nous inspirera et que nous chercherons appliquer. Parmi les mthodes utilisant des lments nis, citons les travaux de Hayward [AH97] qui, par une analogie avec les impdances quivalentes de circuits lectriques, pouvait sparer lobjet simul en 2 parties, lune ne et lautre plus grossire, chacune ne voyant lautre que par un modle quivalent simpli au travers des noeuds situs linterface. Zhuang dcrit dans sa thse [Zhu00] un formalisme base dlments nis permettant de simuler en tempsrel les dformations dobjets dformables. La discrtisation, xe au cours du temps, nest pas uniforme : plus ne proximit de la surface, elle permet dobtenir plus de prcision dans la zone dinteraction. Nous avons dj dcrit le maillage adaptatif gnr par les fractures dans [OH99]. Mme si le maillage volue pour sadapter la simulation, on ne peut toutefois ici, pas plus que dans les masses-ressorts de Hutchinson [HPH96], parler de multirsolution. Il faudrait pour cela que lon puisse par exemple pour [OH99] nouveau simplier le maillage des morceaux qui se dtachent de lobjet et ont un simple vol balistique ne ncessitant pas lanimation de tous les ttradres dont ils sont constitus.

11
11.1

Choix dun modle


Mthodes interactives

Il existe dj des mthodes permettant de simuler interactivement des matriaux dformables, dans un contexte chirurgical par exemple. On pourrait dire que plus rien nest faire, certaines de ces mthodes permettant une vitesse de rafrachissement de 15 Hz. Cet argument na cependant aucune valeur, le taux de rafrachissement ne signiant strictement rien si lon ne sait pas quelle dure danimation physique correspond lintervalle entre deux afchages. Si les dures ne sont pas les mmes, le mouvement apparatra simplement dans ces cas comme trs ralenti, bien quafch 25 images par secondes.

11.2

Le temps rel vrai

Sont gnralement dsignes comme temps-rel toutes les mthodes permettant lafchage de plusieurs images par seconde, dnition bien trop imprcise que nous prfrons restreindre. Une application temps-rel vrai synchronise chaque image afche le temps ressenti par la personne qui la regarde celui correspondant ltape de simulation afche. Il faut en dautres termes que lorsque deux images sont afches une seconde dintervalle, la machine ait effectivement calcul le comportement du matriau durant une seconde, ni plus, ni moins. Dans le cas contraire, le mouvement apparatra respectivement comme jou en acclr ou au ralenti.

30

CHAPITRE 1. TRAVAUX ANTRIEURS

Ce genre de considration nest que trs rarement pris en compte [Luc85]. On choisit gnralement de simuler le nombre maximal de points dchantillonnage qui permette de conserver un afchage de plusieurs images par secondes. Ds que le matriau est un peu rigide, le pas de temps dintgration doit tre baiss pour limiter la divergence de lintgration 13 . Les dix cinquante images afches par seconde (aprs chaque pas de simulation) nont alors plus rien voir avec lintervalle de un millime de seconde ou moins qui est suppos les sparer. Que lanimation ne soit pas afche la bonne vitesse ne gne pas trop si on ne cherche quun ralisme visuel. On pourra chercher jouer sur les coefcients pour obtenir leffet recherch (on aura tout de mme du mal crer un corps rigide et ayant beaucoup de particules). Il faut galement garantir que chaque pas de simulation prendra le mme temps machine tre calcul pour tre sr que lanimation se fera une vitesse ventuellement fausse, mais au moins constante.

11.3

Ncessit de la multirsolution

Le temps de calcul dune seconde danimation dpend linairement du nombre n de points simuls et du temps mis pour calculer une force en chaque point 14 . Si lon admet que le temps de calcul dune force en un point est une constante, on est limit par le nombre de points que lon peut simuler. Il faut donc employer des mthodes multirsolution si on veut accrotre le ralisme visuel et optimiser lutilisation de ces n points, en les plaant chaque instant au bon endroit dans le matriau. Dans des animations multirsolution encore plus que dans les autres mthodes, la charge de calcul va pouvoir varier au cours de lanimation, mme si on cherchera lutiliser son maximum. Il conviendra donc de bien synchroniser calcul et afchage pour obtenir ce que nous avons appel le temps-rel vrai. Mettre en place de telles mthodes ncessite un formalisme sufsamment indpendant de la rsolution employe pour que lon puisse esprer simuler des discrtisations diffrentes sans que cela napparaisse trop.

11.4

Modle indpendant de la rsolution.

Nous allons ici chercher, la lumire de ltat de lart qui prcde, quelle sont les mthodes permettant une simulation indpendante de la rsolution. Le comportement des rseaux masses-ressorts est directement li au maillage utilis. On ne peut esprer faire facilement cohabiter des maillages trop diffrents ayant le mme comportement dynamique. Van Gelder a dmontr dans un article [Gel98] limpossibilit de rgler les raideurs dun rseau masses-ressorts pour le faire concider avec un modle continu de la matire et de le rendre indpendant de la rsolution. Van Gelder prsente les deux mthodes dans un mme formalisme matriciel (sur un rseau trois points fait de masses-ressorts ou dlments nis) et cherche dterminer les raideurs donner aux ressorts pour les faire concider. Il fournit un contre exemple simple prouvant que cest impossible. En simpliant considrablement le modle continu de la matire 15 , Van Gelder propose de choisir la raideur k de chaque ressort selon : k EV l2

pour minimiser la diffrence entre les deux mthodes. E est le module dYoung 16, reprsentant la raideur globale que lon souhaite donner au matriau. V est la somme des volumes des ttradres (des aires des triangles en 2D) adjacents larte o est le ressort, alors que l est sa longueur au repos. Ces considrations ne sauraient totalement supprimer le trop fort lien existant entre le maillage et le comportement dun rseau masses-ressorts, ce qui les rend inutilisables en multirsolution. Parmi les mthodes prsentes, seules celles bases sur lutilisation dune quation dtat caractrisant le matriau garantissent un comportement indpendant (dans une certaine mesure) de la rsolution employe. On se tournera donc vers les SPH et les mthodes de type lment nis.
annexe B 2 exclut donc demble les mthodes matricielles de type lments nis implicites dont la rsolution est en O n au mieux. 15 On supprime toute notion dincompressibilit dans le matriau, ce qui revient prendre 0 avec les notations introduites au chapitre suivant. 16 Voir le chapitre 2.
14 On 13 Voir

12. CONCLUSION GNRALE

31

Nos premiers essais ont t raliss avec une mthode base de SPH. Ils nont pas permis la simulation de matriaux trop rigides, le modle tant mieux adapt aux interactions inter-particules faibles. En effet, lapproximation dune intgrale continue par une somme discrte telle quon le fait en Section 5.1 nest possible que si le volume sur lequel on intgre est sufsamment bien chantillonn. Les simulations astrophysiques grent plusieurs millions de points qui font que cette approximation est valable. Dans notre cas, les contraintes de temps-rel font que lon doit se contenter de quelques centaines de points au plus, les noyaux de convolution nen englobant quune partie dans chaque intgrale, ce qui rend lapproximation bien plus grossire. Libersky et Petschek simulent bien un matriau trs rigide [DP90], mais l encore il utilisent beaucoup de points et les temps de calcul sont prohibitifs, mme pour leur exemple 2D. Les rsultats visuels que nous avons constats font tat dun matriau trs mou, tendant plus vers le liquide ou le boueux que vers le solide, ce qui tait bien adapt aux objectifs de Desbrun. Obtenir des matriaux rigides en augmentant la cohsion demande un grand nombre de points simuls et des pas de temps trs faibles pour que lanimation ne diverge pas, ce qui rend cette mthode difcilement compatible avec notre objectif de temps-rel. Cest vers des mthodes utilisant une loi de comportement globale, bases sur une vision continue de la matire que nous allons nous tourner. La solution semblait alors devoir passer par lutilisation de mthodes de type lments nis, assez complexes et trs coteuses puisque impliquant des rsolutions matricielles. Les mthodes explicites nous taient inconnues aux dbuts de nos travaux et nous avons cherch dvelopper des mthodes similaires, impliquant le calcul direct dune force en chaque point, intgre sparment par la suite comme dans un systme de particules. Nous comparerons par la suite les rsultats obtenus avec ceux de certaines mthodes dlments nis. Seront alors labors des algorithmes permettant une utilisation multirsolution de ces calculs.

12

Conclusion gnrale

Ce chapitre a prsent les grandes classes de mthodes utilises dans la simulation dobjets dformables ainsi que les principaux articles sy rapportant. Des conclusions partielles explicitaient leurs avantages et leurs inconvnients, ainsi que leur adquation avec nos buts de simulation temps-rel tirant parti de la multirsolution. Nous avons vu quune solution pouvait tre le mlange des mthodes base de particules de type massesressorts (pour leur rapidit), et de forces issues de la description continue de la matire faite par les physiciens (pour leur indpendance la rsolution). Nous allons en quelque sorte mettre au point un systme de particules amlior en cherchant une expression de la force entre deux points qui soit lie aux caractristiques physiques du matriau. Nous allons pour cela tudier dans le chapitre suivant le formalisme utilis par les physiciens pour dcrire la matire comme un milieu continu. Nous verrons par la suite comment calculer ces forces et mettre alors en place les mthodes multirsolution qui en tireront parti.

32

CHAPITRE 1. TRAVAUX ANTRIEURS

CHAPITRE

Notions dlasticit linaire

A beautiful story needs a beautiful language to tell. Tensor is the language of mechanics. Y. C. F UNG, A rst Course in Continuum Mechanics

Ut tensio sic vis. The power of any springy body is in the same proportion with the extension. Robert H OOKE, 1635-1703

ES PHYSICIENS ont depuis des sicles tent de mettre en quations le comportement de la matire. Plus ou moins gnrales, prcises ou robustes, ces modlisations sappuient sur la reprsentation du phnomne de dformation laide de champs vectoriels et de tenseurs. Ceux-ci dcrivent en particulier la dformation de lobjet ainsi que les contraintes internes quil subit. Des lois de comportement viennent ensuite lier les contraintes et la dformation qui en rsulte. Ce chapitre prsente succinctement cette modlisation physique et les quations principales que nous utiliserons dans les chapitres suivants. Le lecteur non familier avec les notations diffrentielles peut se reporter lAnnexe A pour une brve introduction. Les modles physiques prsents sont parmi les plus simples. Il ne prennent pas en compte des phnomnes tels que linuence et la variation de la temprature lintrieur du matriau, la possible anisotropie de ce dernier, etc. Ils ne sont donc pas forcment les mieux adapts une simulation spcique, mais ont lavantage de la simplicit et de la polyvalence. Pour une prsentation plus complte, le lecteur pourra se rfrer [LL59, TG70] (acadmiques), [Ger62, Cia85] (en franais), [Dar95] (clair et simple) ou [Fun65, CMP89, SBG96] (plus complexe). Citons aussi [MWTT98] qui dtaille plus prcisment les modles de matriaux ddis aux applications bio-mdicales. Nous dtaillons tout dabord la modlisation des dformations en prsentant deux modles de dformation distincts. Nous prsentons ensuite la modlisation des contraintes que subit le matriau puis la loi de comportement qui relie contraintes et dformations. Nous prsentons enn la faon dont sont exprimes les forces de frottement.

33

34

CHAPITRE 2. NOTIONS DLASTICIT LINAIRE

Le tenseur des dformations

Nous prsentons ici deux faons de reprsenter les dformations que subit un matriau, lune tant la version simplie de lautre. Chacune va, pour reprsenter les dformations du matriau, dnir en chaque point un tenseur des dformations, not , plus ou moins complexe. Les deux modles ont leurs intrts et leurs inconvnients, aussi les comparons-nous par la suite.

1.1

Le tenseur de Cauchy

Le champ de dplacement Les dformations dun objet sont mesures partir dune position initiale, qui est gnralement la position de repos de lobjet dans laquelle aucune force nest applique lobjet. On dnit alors le champ vectoriel dplacement, gnralement not u, qui est simplement pour chaque point le vecteur reliant sa position au repos sa position actuelle dans la conguration dforme (voir Fig. 2.1). En chaque point, et chaque instant, on dnit donc : u t pt p0 o lindice dsigne ici le temps et p la position du point dans un repre galilen xe.

Position de repos

Points dchantillonnage

Champ de dplacement

F IG . 2.1: Un champ de dplacement dans un cube en 3D, reprsent en chaque point par un vecteur.

Dcomposition du champ On nutilise plus ensuite que la premire drive spatiale de ce champ u au travers de la matrice A qui est son gradient 1 :
ux
x uy x uz x

grad u

ux y uy y uz y

ux z uy z uz z

(2.1)

Cette matrice A peut tre spare en la somme de deux matrices 3 3 :

grad u

1 1 grad u grad uT grad u grad uT 2 2


E R

(2.2)

E est une matrice symtrique tandis que R est antisymtrique et est lie au rotationnel rot u du champ de
dplacement. Dnition Dans le modle de Cauchy que nous dcrivons ici, cest la matrice E qui va reprsenter les dformations du matriau et va donc tre le tenseur des dformations, Cauchy . R , que nous nutiliserons pas dans les modles simplis prsents, est appel tenseur de rotation.
matrice est forme, sur chacune de ses lignes, du gradient de la composante associe du vecteur u. Voir lAnnexe A pour des dnitions plus compltes.
1 Cette

1. LE TENSEUR DES DFORMATIONS

35

On a donc : Cauchy

ux 1 uy 2 x y ux 1 uz 2 x z

ux x

1 ux 2 y uy y 1 uz y 2

uy x uy z

1 ux 2 z 1 uy 2 z uz z

uz x uz y

(2.3)

` En dsignant par x i la ieme direction du repre du monde (xe et galilen) dans lequel on drive (x 1 y x3 z), les termes de la matrice peuvent scrire :

x x2

Cauchy i j

1 ui 2 x j

u j xi

(2.4)

Proprits Lopration de drive spatiale que lon applique pour obtenir A ltre le champ u pour nen plus considrer que son volution au travers du matriau. Une translation applique tout lobjet se traduit par lajout dune constante au champ u, qui sera supprime par la drive. Ne modiant pas le tenseur des dformations, cette translation ne crera pas de force additionnelle. Si lobjet est donc insensible aux translations, il ne lest par contre pas lautre mouvement rigide quest la rotation qui elle entranera des forces internes et donc une dformation. Ce comportement est irraliste, mais il savre sufsant dans la plupart des cas, lorsquon se limite de faibles dplacements et que lobjet reste donc proche de sa position dquilibre. Bien videmment, lorsque lobjet est dans sa position de repos, le champ u est uniformment nul et le tenseur lest aussi, ce qui ne crera aucune force comme on le verra dans une section suivante. La position de repos est donc une position stable.

1.2

Le tenseur de Green-Lagrange

Le repre li au matriau Pour le tenseur de Green-Lagrange, on dnit deux systmes de coordonnes, lis deux repres diffrents : le repre du monde, xe, et dans lequel seront mesures les positions des points, et celui, local et li au matriau, dni par la position de repos de lobjet. En labsence de dformation, ces deux rfrentiels concident une transformation rigide prs. Cest leur cartement, encore une fois ltr par une drive spatiale, que va mesurer le tenseur des dformations de Green-Lagrange. ` On dsignera par le systme de coordonnes li au repre du matriau. Les drives par rapport la i eme coordonne de ce repre seront donc notes i . Dnition Le tenseur de Green-Lagrange est dni par : GreenLagrange grad p

grad p I3
pi j

(2.5)

o les termes grad p sont des matrices 3 3 de gradient de la position, dnies dans le repre li au matriau :
grad pi j

dont on fait le produit matriciel et auxquels on soustrait la matrice identit de taille 3, I 3 . Chaque terme de la matrice peut donc scrire :
GreenLagrange i j

p p i j

i j

(2.6)

o i j est le symbole de Kronecker ( i j 1 si i j et 0 sinon). Chaque terme de i j est ainsi le produit scalaire de deux vecteurs, auquel on soustrait ventuellement 1.

36

CHAPITRE 2. NOTIONS DLASTICIT LINAIRE

Proprits Cette dnition du tenseur provient de ltude de la variation du carr de la distance entre deux points voisins, avant et aprs dformation. On na pas de racine carre inhrente une distance, mais restent des termes quadratiques que lon retrouve dans lexpression du tenseur, qui nest donc pas linaire. Le tenseur de Green-Lagrange est une matrice symtrique (puisque cest un tenseur) et a plusieurs proprits intressantes : la premire est que, tout comme pour le tenseur de Cauchy, le tenseur de Green-Lagrange est nul lorsque lobjet est dans sa position de repos. En effet, supposons dans un premier temps et pour simplier que lon a pris comme rfrentiel li au matriau le rfrentiel global 2 . Alors la matrice grad p nest autre que lidentit puisquelle est le gradient de la position par rapport la position. La matrice est donc nulle (aprs soustraction de I 3 , voir Eq. 2.5). Ce tenseur est, tout comme Cauchy, galement insensible aux translations globales de lobjet (ajout dune constante au champ p qui disparat dans la drive). Il a de plus limportante proprit de ne pas tre modi par des rotations globales de lobjet dans sa forme de repos. Si lon se trouve dans la position de repos, les p drives i qui servent calculer les i j sont les lignes de la matrice identit, cest--dire des vecteurs de la forme 1i 2i 3i T . Faire tourner rigidement lobjet revient appliquer la position de ses points une matrice de rotation O . Les nouvelles positions p sont alors p O p. On a donc, pour chaque terme du tenseur (Eq. 2.6) : i j p p i j i j O p O p i j i j

O 1i 2i 3i T O 1 j 2 j 3 j T
` ieme ligne de O

i j ` jeme ligne de O i j

(2.7)

Mais puisque O est une matrice de rotation, le produit scalaire de ses lignes i et j vaut prcisment i j . Le tenseur est donc bien nul aprs que lon a appliqu la rotation. Il est noter que dans le cas gnral, la multiplication par la matrice O ne prserve pas le tenseur et que cest parce quon est dans la forme de repos et que les vecteurs sont alors composs de 1 et de 0 que lon peut ainsi simplier. Une rotation rigide dun objet dform modiera donc le tenseur. Lannexe C dcrit en dtails limplmentation de ce formalisme dans un cadre dlments nis explicites (cf Section 7.2 du chapitre prcdent).

1.3

Comparaison des deux modles

Diffrences mathmatiques Les deux modles se diffrencient par le repre par rapport auquel les drives spatiales sont calcules. Alors que Cauchy drive par rapport au repre du monde, Green-Lagrange drive dans le repre li au matriau. Cauchy est dsign comme Eulrien (on mesure tout dans un repre xe), alors que Green-Lagrange est Lagrangien (on suit les points dans leur mouvement, en mesurant par rapport un repre li au matriau). Ces deux faons de mesurer les choses sont quivalentes, et lon peut passer de lune lautre en prenant en compte le mouvement dun repre par rapport lautre. Outre cette diffrence, le modle de Cauchy, plus simple, peut tre vu comme une approximation au premier ordre de celui de Green-Lagrange. Alors que Cauchy est une combinaison linaire de drives premires, Green-Lagrange introduit en plus un terme quadratique. Si lon rcrit en effet les quations de Green-Lagrange en fonction du dplacement et non plus de la position, on obtient :
GreenLagrange i j

1 ui 2 j

u j i

u1 u1 i j

u2 u2 i j

u3 u3 i j

(2.8)

Si lon remplace alors les drives par rapport au repre du matriau par des drives dans le repre du monde ( 1 devenant x ; 2 y et 3 z), on reconnat dans les deux premiers termes de GreenLagrange ceux qui
va montrer par la suite que la transformation rigide qui peut exister entre ces deux repres quand on est dans la position dquilibre ne change pas le tenseur, qui sera donc nul quel que soit le choix du repre du matriau.
2 On

1. LE TENSEUR DES DFORMATIONS

37

forment Cauchy (Eq. 2.4). Ce remplacement de drives, cette assimilation de lEulrien et du Lagrangien, nest possible que lorsque les deux repres sont trs proches, ce qui est le cas uniquement dans la position de repos de lobjet. Pour de trs faibles dformations, les termes quadratiques de Green-Lagrange devenant ngligeables, les deux modles sont donc quivalents. Le tenseur de Cauchy est dailleurs appel tenseur innitsimal de Cauchy. Ils se diffrencient nanmoins assez rapidement pour des dplacements plus importants. On peut en fait dnir quatre tenseurs en combinant lutilisation ou non des termes quadratiques additionnels et la drivation dans le repre du monde ou dans celui du matriau. Le tenseur utilisant les termes quadratiques, mais dni dans le repre du monde sappelle dailleurs tenseur dAlmansi (et Hamel).

Diffrences comportementales Pour illustrer la diffrence entre les deux tenseurs, nous prsentons quelques images extraites de deux animations. Nous simulons le mouvement dun cube sous laction de la gravit, sa face de gauche tant xe un mur xe (non reprsent). Au dpart, le cube est plac, sans vitesse initiale dans sa position de repos (Fig. 2.2) et nous prsentons quelques images de sa premire oscillation.

F IG . 2.2: Le cube dans sa position de repos. Vues de face et de prol des points qui vont tre simuls.

Tous paramtres par ailleurs gaux 3, la mthode dintgration tant la mme, seul le mode de calcul du tenseur des dformations diffrencie les deux animations. Les images des Figures 2.4 et 2.5 montrent en chaque point le dplacement, la vitesse et la force subie des intervalles rguliers de la simulation.

a Cauchy (a) et Green-Lagrange (b).

F IG . 2.3: La position dquilibre nale du cube lorsquon ajoute du frottement interne est diffrente en utilisant

Comme on peut le voir, le tenseur de Green-Lagrange donne une animation plus naturelle, le cube sarquant, alors quil a plus tendance seffondrer avec Cauchy (voir les positions dquilibre des deux animations lorsquon ajoute un frottement interne pour les stabiliser en Figure 2.3). Le tenseur de Cauchy montre l sa limitation aux trs faibles dplacements. Plus complexe, Green-Lagrange donne donc une animation plus raliste, mais par contre plus lente calculer (environ 2.3 fois), car ncessitant plus de calculs. Lautre dfaut du tenseur de Green-Lagrange est sa plus grande instabilit numrique, contrepartie dun mouvement plus complexe.
3

7000

20000, aucun frottement, pas de temps de 8 3 104 secondes

38

CHAPITRE 2. NOTIONS DLASTICIT LINAIRE

Positions

Vitesses

Forces

t=0.03sec

t=0.05sec

t=0.08sec

t=0.12sec

t=0.16sec

t=0.20sec

F IG . 2.4: Images de lanimation dun cube sous laction de la gravit avec le tenseur de Cauchy.

Positions

Vitesses

Forces

t=0.03sec

t=0.05sec

t=0.08sec

t=0.12sec

t=0.16sec

t=0.20sec

F IG . 2.5: Images de lanimation dun cube sous laction de la gravit avec le tenseur de Green-Lagrange.

Le tenseur des contraintes

Aprs la description des dformations, nous introduisons ici le tenseur des contraintes qui va dcrire en chaque point la rpartition des forces internes. Nous verrons ensuite comment relier ce tenseur aux forces et acclrations rellement subies par les points.

2. LE TENSEUR DES CONTRAINTES

39

2.1

Dnition

Le tenseur des contraintes, not , est galement une matrice 3 3 symtrique. Cest tout comme le tenseur des dformations, une approximation assez grossire de ce qui se passe en chaque point du matriau.

fPression n

F IG . 2.6: Dcomposition de la force agissant sur un lment de surface dS dni par sa normale n.

1111111111111111 0000000000000000 1111111111111111 0000000000000000 1111111111111111 0000000000000000 1111111111111111 0000000000000000 dS fCisaillement 1111111111111111 0000000000000000 1111111111111111 0000000000000000 1111111111111111 0000000000000000

Considrons, en un point donn de lobjet, un lment innitsimal de surface dS et de normale n. Ce petit lment de surface reoit une force f qui dpend de lorientation de sa normale. On peut idalement mesurer lvolution de f en fonction de celle de n et lcrire sous la forme : f n dS (2.9)

Proportionnelle laire, la force (intensit et direction) dpend au travers de la fonction de la normale n. La fonction peut tre arbitrairement complexe. On pourra tout de mme lui imposer dtre symtrique (n n), indiquant par l que la force reue par le petit lment de surface sera la mme quon le considre retourn (n n) ou non. Si la fonction est une simple multiplication par un scalaire, la force est une pression uniforme : elle sapplique le long de la normale la surface et a une valeur constante dans toutes les directions. P 0 0 0 0 0 , on a cette fois affaire un Si peut tre reprsente par une matrice 3 3 de la forme 0 0 0 champ de pression directif (ici selon laxe x, mais ce pourrait tre dans nimporte quelle direction en multipliant par une matrice de rotation). Llment de surface reoit une pression P lorsquil est orient le long de la direction x, et une force nulle quand il est orient dans une direction orthogonale. Un peu plus complexe, la classe des tenseurs de contrainte que nous allons utiliser est celle o la fonction peut-tre reprsente par une matrice 3 3 quelconque. Cette matrice, qui sera dnote , sera symtrique pour les raisons vues plus haut. Lapplication linaire pourra donc tre considre comme lapproximation au premier ordre de , qui elle peut tre quelconque. Une force linairement dpendante de la normale est videmment une approximation, mais elle se rvle sufsante pour des simulations gnrales. On a donc : f n dS (2.10)

2.2

Force et acclration

Ce tenseur des contraintes est une notion assez abstraite des contraintes internes. On peut le relier simplement lacclration a que subit chaque point par lquation : a div (2.11)

o est la masse volumique du matriau au point considr et div est le vecteur compos des divergences de chacune des lignes de la matrice (voir Annexe A). Lacclration est inversement proportionnelle la densit, ce qui se comprend intuitivement : pour une contrainte donne, lacclration subie sera dautant moins forte que le matriau est lourd et donc difcile dplacer, et inversement sil est lger. Loprateur divergence va ici indiquer la direction que doit suivre le point pour tenter duniformiser le champ (une contrainte dun ct va, si elle nest pas compense de lautre ct, avoir tendance pousser le point dans cette direction). La notion de force est quant elle lie celle de masse. La loi fondamentale de la dynamique stipule que m a o m est la masse du point considr. Depuis le dbut de ce chapitre, nous nommons point une position

40

CHAPITRE 2. NOTIONS DLASTICIT LINAIRE

quelconque lintrieur du matriau, qui est suppos continu. Le point, tel que nous lentendons na donc pas de volume donc pas de masse. Pour pouvoir parler de force, il faut isoler un volume V , mme innitsimal, et considrer le tenseur des contraintes comme constant sur ce volume pour obtenir une force. On parlera alors plutt de force volumique en crivant : f V ma V V a V a div

La loi de comportement

La loi de comportement va relier contraintes et dformation, en introduisant des proprits propres au matriau considr. Ces lois peuvent encore une fois tre bien plus complexes que celle prsente ici, en faisant par exemple intervenir la temprature du matriau. Nous prsentons la loi de comportement que nous utiliserons, ainsi que lquation de Navier qui en rsulte dans le cadre des petits dplacements et son interprtation comme la superposition de deux phnomnes simples.

3.1

Dnition

La loi de comportement va relier les deux tenseurs dnis prcdemment (dformations et contraintes). Comme cela se passe dans un ressort, on va gnralement imposer que la contrainte soit linairement lie la dformation. On pourrait, mais cest trs rare, introduire des termes de plus haut degr. Pour simuler des comportements plus complexes et en particulier non linaires, on prfre utiliser une fonction linaire par morceaux pour approximer la courbe non linaire qui relie contraintes et dformation. On voit sur la Figure 2.7 une illustration de ce qui se passe au del du comportement lastique : entre les tats A et B, le matriau est lastique ; il devient ensuite plastique si lon augmente la dformation jusquen C. Relcher la contrainte en C fera revenir le matriau dans une nouvelle position dquilibre D, selon une pente gale celle de son comportement lastique.
Contrainte

Plastique Seuil de rupture C

El
A D Nouvelle position de repos

as

tiq

ue

Deplacement

F IG . 2.7: Type de comportement dun matriau au del des hypothses de linarit.

La loi linaire que nous allons considrer est de la forme K o K est une fonction linaire 4 . Les deux tenseurs et sont des matrices 3 3 symtriques et ont donc chacun 6 coefcients indpendants. K comporte donc 36 coefcients indpendants qui lient linairement ceux des deux tenseurs. Un matriau, dans le cadre des approximations linaires qui ont t faites depuis le dbut de ce chapitre, va donc tre reprsent par 36 coefcients qui vont entirement dnir son comportement et peuvent tre mesurs sur des matriaux rels par des sries de tests, qui sont dits rhologiques.

3.2

La loi de Hooke

En pratique, la loi linaire introduite prcdemment est souvent trop gnrale et peut tre simplie. Si lon considre que la matriau est isotrope, cest--dire quil a le mme comportement dans toutes les directions (cest trs souvent le cas, sauf pour des matriaux breux direction privilgie, comme le bois ou les muscles),
4K

est en fait un tenseur dordre 4

3. LA LOI DE COMPORTEMENT

41

alors des raisons de symtrie font que parmi les 36 coefcients, deux seulement sont indpendants. La loi de comportement se simplie alors grandement et peut scrire : tr I3

(2.12)

o I3 est la matrice identit et tr la trace de la matrice. et sont les deux coefcients indpendants et sappellent les constantes de Lam. Elles sont homognes des pressions. Des tests rhologiques permettent de dterminer ces constantes, spciques un matriau donn. Ces tests mesurent en fait directement deux autres valeurs : le module dYoung E (homogne une pression) et le coefcient de Poisson (sans unit). Ces valeurs sont lies aux coefcients de Lam par les quations : E 1 21 E 21 (2.13)

E correspond intuitivement la rigidit du matriau et varie entre 10 5 et 1010 . mesure son incompressibilit et varie entre 0 0 (aucune prservation de volume, valeur thorique, en pratique est suprieur 0.25) et 0 5 (matriaux parfaitement incompressibles).
1

0.8

0.6

0.4

0.2

0.1

0.2

0.3

0.4

0.5

F IG . 2.8: volution de et lorsque varie entre 0 et 0.5, pour un E donn. Noter que tend vers linni pour

des matriaux incompressibles (

0 5).

3.3

quation de Navier

On se place ici dans le cadre des petits dplacements et des petites vitesses, de sorte que lon peut linariser les quations. Cela revient pour nous considrer que le tenseur de Green-Lagrange peut tre assimil celui de Cauchy, comme on la vu prcdemment. On a donc (Eq. 2.4) : i j Vitesse et acclration sont lis par : vi La loi de conservation de la masse scrit : div v 0 t Celle de la conservation du moment, en omettant laction des forces extrieures (Eq. 2.11) : a div 2 (2.16) 1 2 ui t ui x j

u j xi vi t

(2.14)

ai

(2.15)

(2.17)

Et enn la loi de comportement de Hooke scrit (Eq. 2.12) : tr I3

(2.18)

Lensemble de ces quations dcrit la thorie de llasticit. On a en tout 22 quations (6 + 6 + 1 + 3 + 6) pour les 22 variables du systme en chaque point : u v a et . En substituant les termes en i j dans ces quations, on obtient lquation de Navier : a div grad u
graddiv

(2.19)

42

CHAPITRE 2. NOTIONS DLASTICIT LINAIRE

3.4

Interprtation

Lquation de Navier, qui, rappelons-le, nest valable que dans lhypothse des trs faibles dplacements a une interprtation intressante. Lacclration est tout dabord proportionnelle linverse de la densit, ce qui se comprend intuitivement, car plus le matriau est lourd, moins une contrainte donne parviendra le dformer. Lacclration est ensuite la somme de deux termes, qui ont chacun une interprtation physique simple : Le premier terme, a divgrad u u, est une quation hyperbolique qui simule la propagation dune onde lintrieur du matriau. Une dformation provoque un endroit va se propager dans toutes les directions, une vitesse . Le second terme, a graddiv u, simule une prservation du volume. div u mesure lexpansion volumique, et une acclration dirige selon le gradient de cette valeur va chercher dplacer le point de telle sorte que la densit soit localement prserve. Les constantes de Lam viennent pondrer ces deux comportements et ainsi crer des comportements plus complexes donde de dformation avec plus ou moins de compressibilit. noter que lorsque le coefcient de Poisson, , est proche de 0 5, ce qui correspond un matriau parfaitement incompressible, le second terme (prservation du volume) devient prpondrant, le coefcient augmentant jusqu devenir inni pour 0 5. En pratique on considrera le matriau comme raisonnablement incompressible ds lors que 100. Cette interprtation du comportement, exacte si lon utilise le tenseur de Cauchy, devient trop rductrice si lon utilise le tenseur de Green-Lagrange. Nanmoins, en tant quapproximation au premier ordre de celui-ci, ce comportement se retrouvera avec Green-Lagrange, mme si les termes non linaires feront apparatre des ractions plus complexes.

Frottements

Les quations prcdentes ne font pas intervenir les drives temporelles des dformations. Le modle de Kelvin-Voigt prsent ici va les utiliser trs naturellement, permettant ainsi de modliser les forces de dissipation, aussi appeles par analogie aux uides, forces visqueuses. La dmarche mathmatique est lgamment exactement la mme que celle prsente plus haut et nous ne la dtaillerons donc pas trop.

4.1

Le tenseur des taux de dformation

Ce tenseur, not , va mesurer la vitesse laquelle les dformations se produisent. Il est tout simplement dni comme le tenseur compos des drives temporelles des termes du tenseur des dformations, . Ses t termes sexpriment donc ainsi : Pour le tenseur de Cauchy (voir Eq. 2.4), i j 1 vi 2 x j

v j xi p v i j

(2.20)

Pour le tenseur de Green-Lagrange (voir Eq. 2.6), i j v p i j

(2.21)

Rien ninterdit dutiliser un tenseur des taux de dformations de Green-Lagrange avec un tenseur des dformations de Cauchy, et inversement, mais le comportement diffrent de ces deux formulations risque dentraner un comportement chaotique. Puisque le tenseur des taux de dformations scrit de manire similaire celui des dformations, il hrite de ses proprits. En particulier, une translation rigide de lobjet, qui naffecte pas , ne sera pas prise en compte dans . Si lon utilise le tenseur driv de Green-Lagrange, il en sera de mme des rotations globales et donc de tout mouvement rigide. Le tenseur des taux de dformations ne mesurera et nattnuera donc que les vibrations internes au matriau.

4.2

Le tenseur des contraintes

Le tenseur des taux de dformations va lui aussi engendrer des contraintes lintrieur du matriau, elles aussi modlises par un tenseur de taille 3. Pour diffrencier ces deux inuences, nous notons ici les

5. CONCLUSION

43

contraintes dues aux dformations (dcrites prcdemment) et celles dues aux forces visqueuses. Les contraintes vraiment exerces sur un point seront tout simplement la somme de ces deux inuences .

4.3

La loi de comportement

Les considrations disotropie voques plus haut font que la loi de comportement qui relie et se dnit, tout comme la loi de Hooke (Eq. 2.12), par deux variables indpendantes : tr I3

(2.22)

Les constantes et sont encore une fois dpendantes du matriau simul. Leur interprtation dcoule de celle faite de lquation de Navier, pour de faibles dformations. va attnuer la propagation des ondes dans le matriau, alors que inuencera la prservation du volume.

Conclusion

Ce chapitre a prsent les notions lmentaires de physique des milieux continus qui vont tre utilises dans les chapitres suivants. Les formules utilises par la suite ne reprendront que les rsultats naux de cette modlisation, qui donnent lexpression de la force applique en fonction des dformations subies. Nous avons nanmoins tenu, mme si nous nous sommes restreint leur expression la plus simple, prsenter les diffrents tenseurs qui interviennent dans cette modlisation, pour ainsi introduire les hypothses qui sont faites sur la classe de dformations et de matriaux quils permettent de simuler. Les quations impliques demandent toutes le calcul de drives partielles, par rapport un repre xe ou celui li au matriau. Les approches prsentes par la suite ont principalement pour but de trouver lexpression de ces drives, dans un matriau qui nest plus continu comme on la suppos ici, mais qui a t discrtis en un ensemble nis de points dchantillonnage. Une fois ces formules tablies et aprs avoir vri leur indpendance la discrtisation, il restera mettre en place le processus de multirsolution qui tirera parti du caractre intrinsque des modles dcrits ici, qui fait que le comportement du matriau ne dpendra pas, dans une certaine mesure, de la rsolution utilise.

44

CHAPITRE 2. NOTIONS DLASTICIT LINAIRE

CHAPITRE

Premier modle multirsolution

ALCULER le mouvement dun objet plusieurs rsolutions est indispensable pour optimiser les calculs et acclrer la simulation. Nous avons dcrit dans le chapitre prcdent la thorie de llasticit qui permet de sabstraire, au moins partiellement, de la rsolution utilise. Ce chapitre va prsenter un premier modle dalgorithme multirsolution mettant en uvre les quations de ` la mcanique des milieux continus vues dans le prcdent chapitre. Il a fait lobjet dune publication au 10 eme Workshop Eurographics sur lanimation et la simulation [DDBC99].

Plus prcisment, nous sommes ici partis de lquation de Navier, qui donne directement lacclration subie par un point en fonction des dplacements des points voisins (Eq. 2.19) : a divgrad u
graddiv

(3.1)

Le chapitre prcdent a dtaill les hypothses faites et linterprtation de cette quation (voir Section 3.3). Lalgorithme que nous allons dvelopper (sans prendre en compte dans un premier temps laspect multirsolution) a la simplicit de ceux des modles de particules. Partant dune discrtisation de lobjet, chaque pas de temps on va : calculer en chaque point div grad u et graddiv u ; en dduire lacclration en utilisant lquation de Navier ; intgrer cette acclration et les ventuelles forces extrieures (gravit) ; en dduire les nouvelles positions des points et donc leurs dplacements respectifs ; et ainsi de suite... La seule difcult rside dans le calcul des deux oprateurs diffrentiels. Des mthodes comme les diffrences nies permettent de calculer, grce des dveloppements de Taylor, lexpression de drives partielles arbitraires. Elles ncessitent par contre de connatre la valeur du champ dont on veut calculer la diffrentielle en des points quirpartis sur une grille rgulire. On veut ici pouvoir discrtiser un objet de topologie arbitraire. Lintroduction de nouveaux points pour la multirsolution va de plus compliquer ensuite la discrtisation, pouvant amener une grille quelconque, ce qui fait que cette mthode est mal adapte. Cest la raison pour laquelle nous avons cherch dnir de nouveaux oprateurs diffrentiels capables dapproximer les diffrentielles sur des points dchantillonnage arbitrairement rpartis. Le laplacien div grad u 45

46

CHAPITRE 3. PREMIER MODLE MULTIRSOLUTION

est le premier des deux termes que nous avons calculs. Son expression a ensuite t reprise pour formuler graddiv u. Une fois ces oprateurs exprims, nous pourrons les utiliser dans un algorithme multirsolution, protant de ce que lchantillonnage puisse tre arbitraire. Nous dtaillerons la faon dont nous adaptons la rsolution locale au cours de la simulation, laborant ainsi lune des premires mthodes de simulation multirsolution pour un matriau lastique.

Calcul du laplacien

Le laplacien u du champ u, qui est gal au div grad u est pour chacune de ses composantes la somme des drives secondes dans les trois directions :
ui

ui xx ui yy ui zz

(3.2)

1.1

Drive seconde scalaire


jj 2 ui , x2 j

Le but est donc ici de savoir calculer un des ces termes u i dans une direction j quelconque.

drive seconde du champ scalaire u i

Sinspirant des diffrences nies, on peut exprimer classiquement la drive seconde de f au point p comme : f p h 2 f p f p h f p h2 o h est la distance entre p et ses deux voisins situs en p h et p h. Cette expression est valide lordre 2, les termes ngligs tant de lordre de O h 2 . Milne avait dans sa thse [Mil95] montr combien la drive tait sensible au bruit ds lors que lon na plus affaire une drive centre. Fornberg [For88] avait propos une extension de la formule prcdente pour traiter le cas o les deux voisins de p ne sont plus situs la mme distance h, mais des distances et . Son calcul revient chercher la courbure du polynme de degr deux passant par les trois points. La drive sexprime alors par : 2 f p f p f p f p f p On notera que dans le cas o h on retrouve lexpression prcdente, ce qui est normal puisque toutes deux sobtiennent en regroupant les dveloppements de Taylor de f faits en p avec chacun de ses voisins. Si les points ne sont pas la mme distance, on nobtient par contre plus quune formule valable lordre 1, les termes ngligs tant de lordre de O .

1.2

Passage en trois dimensions

Lexpression du laplacien que nous allons utiliser en 3D est une simple extrapolation de la formule prcdente. En lieu et place des deux voisins prcdents, nous avons maintenant n voisins rpartis autour du point. Nous ne calculons plus la drive seconde le long dun axe donn (celui sur lequel sont les points dans lexemple 1D prcdent), mais la somme de toutes ces drives secondes dans toutes les directions. On obtient donc en un point i une approximation du laplacien, somme de ces drives secondes :
i f

2
voisins

li j
j

voisins

f j fi li j

(3.3)

f j est la valeur du champ (scalaire) au voisin j et l i j la distance avec ce voisin. Cette expression a dj t utilise par Fujiwara dans le cadre de lanalyse dimage [Fuj95] et fut reprise par Desbrun et al. pour le lissage de maillages [DMSB99]. Il est noter quon retrouve exactement lexpression des diffrences nies ds lors que lon se place sur une grille rgulire. On peut donc voir cette formule, avec ses coefcients dpendant des distances aux voisins

2. EXTENSION AU GRAD (DIV)


j

47

comme une extension de diffrences nies, les poids associs la valeur f conguration dans laquelle on se trouve.

de la fonction dpendant de la

Cette formulation peut galement tre vue comme un ltrage par analogie au noyau de ltrage W h utilis dans les SPH (voir Sec. 5, Chap. 1). Limportance dun point (de la valeur de la fonction en ce point) est en effet inversement proportionnelle la distance qui le spare du point considr. On tiendra donc davantage compte des voisins proches ce qui est naturel puisque cest leur valeur qui inuencera le plus laspect local de la fonction, et donc le laplacien.

1.3

Laplacien dun champ vectoriel

On cherche le laplacien vectoriel du champ dplacement u 1 . Puisque chacune de ses composantes est le laplacien de la composante associe de u, on a simplement :
i u

2 li j
voisins j

voisins

u j ui li j

(3.4)

pour un point i donn, en fonction de ses voisins j situs la distance l i j .

Extension au grad (div)


Le graddiv u que nous cherchons calculer scrit, pour chacune de ses composantes : graddiv u
i

ux xi uy yi uz zi

(3.5)

Nous allons, pour calculer cet oprateur, extrapoler lquation 3.4 du laplacien, les deux formulations tant donc dveloppes dans un cadre uni. Le graddiv u est en effet li au laplacien prcdemment calcul par lquation : u graddiv u

rotrot u

(3.6)

Il faut donc, dans lexpression du laplacien, simplement parvenir diffrentier les deux termes de cette somme pour isoler la contribution de graddiv u. Cela se fait en remarquant que le double rotationnel va prcisment mesurer la rotation du champ u et que celle-ci peut tre extraite du vecteur dplacement. Celui-ci peut en effet tre considr comme la somme dune composante purement radiale due aux forces de pression et dune composante tangentielle indiquant localement la rotation du champ u (voir Fig. 3.1).

Champ de deplacement Composante Composante relatif radiale rotationnelle F IG . 3.1: Le champ de dplacement peut tre spar en deux composantes : la radiale, cre par les forces de pression, et la rotationnelle, cre par les forces de cisaillement.

Ce ne sont pas directement les valeurs u j du dplacement des voisins qui nous intressent, mais plutt leur dplacement relatif, u j ui , par rapport au point i o lon cherche calculer la diffrentielle. On se place en quelque sorte ici dans un repre li au point o lon fait les calculs et lon observe comment se sont dplacs les voisins en supposant notre position xe.

48

CHAPITRE 3. PREMIER MODLE MULTIRSOLUTION

(x.

y)

) x y x (

y
F IG . 3.2: y scrit comme la somme de deux vecteurs orthogonaux en fonction du vecteur unitaire x.

2.1

Projection le long de laxe

Comme on le voit sur la Figure 3.2, un vecteur y peut scrire un utilisant en vecteur unitaire x, comme la somme dun vecteur align avec x et dun vecteur orthogonal x grce la relation : y x yx x x y, dsignant le produit vectoriel et le produit scalaire. On notera li j le vecteur reliant le point i son voisin j et l i j sa norme. Nous pouvons alors rcrire en la dcomposant lquation du laplacien 3.4 en prenant pour x le vecteur unitaire x l i j l i j et pour y le vecteur dplacement relatif u j ui :
i u

voisins j

2 u j ui ij l voisins j l i j 2 l i j voisins j

u j

ui ll

ij

ij

li j
li j

ll

ij

ij

li j
li j

u j

ui
li j
li j

li j

voisins j

voisins j

li j li j u j ui i j i j 2 l l li j l i j voisins j

Composante radiale

voisins j

2 l i j voisins j

li j
li j

u j

ui

li j

(3.7)

Composante rotationnelle

En comparant cette quation avec 3.7, nous choisissons didentier la composante radiale comme tant le gradient de la divergence : li j li j u j ui i j i j 2 l l li j l i j voisins j

graddiv u

(3.8)

voisins j

Cette extrapolation partir de la formule du laplacien possde une autre justication, plus intuitive. Comme il la t dit dans la discussion de lquation de Navier chapitre 2, le terme graddiv u va chercher prserver le volume du matriau. Localement, la variation de ce volume peut-tre reprsente comme celle du volume entourant un point, dni par ses plus proches voisins. Il est donc normal de ne considrer que le dplacement radial des voisins, car cest cette composante uniquement qui affecte le volume. Nous reviendrons la n de ce chapitre sur les inconvnients de cette assimilation.

3
3.1

Simulation rsolution xe
Cas dcole

Nous avons maintenant grce aux quations 3.4 et 3.8 le moyen de calculer lacclration de tout point pour appliquer lalgorithme dcrit au dbut de ce chapitre. Cette acclration est une fonction du champ de dplacement, chantillonn sur ses points voisins. Nous allons mesurer la qualit de ces oprateurs diffrentiels en simulant un ensemble de points. Lexemple choisi est celui dun cube de matire uniforme, dont lune des faces est colle sur un mur. Partant de sa position au repos avec une vitesse nulle, nous allons simuler ses oscillations sous leffet de la gravit. Nous avons volontairement choisi de ne faire intervenir aucune force dissipative (frottement de lair, viscosit) de manire mettre en vidence le comportement du modle sur un cas dcole.
1 Voir

Annexe A.

3. SIMULATION RSOLUTION FIXE

49

Les rsultats visuels obtenus sont assez satisfaisants. Ils sont conformes au modle de Cauchy prsent au Chapitre 2. Le cube se dforme sans trop plier, oscillant principalement verticalement. Augmenter la raideur du matriau cre des oscillations plus rapides et de plus faible amplitude. La Figure 3.3 reprsente laltitude de lun des coins du cube en fonction du temps. Les diffrentes courbes ont t obtenues avec plus ou moins de points simuls correspondant des maillages rguliers de respectivement 43 64, 83 512 et 16 3 4096 particules.
deplacement vertical (metres) 0.002 64 particules 0 -0.002 -0.004 -0.006 -0.008 -0.01 -0.012 -0.014 -0.016 1.4 temps (sec)

512 particules

4096 particules

0.2

0.4

0.6

0.8

1.0

1.2

(a)

(b)

F IG . 3.3: Laltitude de lun des coins du cube (indiqu par une che) lors de la simulation, pour diffrents maillages rguliers. Aucun frottement na t ajout dans cette simulation.

Labsence de forces de dissipation explique ces oscillations continues et rgulires non amorties. Peu de mthodes sont sufsamment propres pour permettre ce genre de simulation sans divergence numrique (on intgre avec un schma dEuler modi 2). Lexistence dune position de rfrence servant dattracteur y est probablement pour beaucoup. La forte ressemblance des courbes obtenues conrme lindpendance la discrtisation obtenue grce lutilisation de lquation de Navier. Les oprateurs diffrentiels prsents fournissent bien un calcul relativement indpendant de la rsolution. Cette proprit est un lment essentiel pour pouvoir passer une mthode mlangeant chaque instant les diffrentes rsolutions.

3.2

Ajout de forces dissipatives

Le ralisme de la simulation peut tre amlior par lajout de forces dissipatives. Ceci aura pour effet de stabiliser plus ou moins rapidement les oscillations de lobjet, se rapprochant ainsi des matriaux rels o ces forces apparaissent naturellement. Ceci peut se faire laide dune force de frottement visqueuse classique, inversement proportionnelle la vitesse : Fd kd v Nous avons galement ajout une force de viscosit dans notre modle en modlisant les interactions des particules entre elles. Cette force va faire en sorte que chaque particule soit affecte par le mouvement de ses voisines et tente de suivre leur mouvement global, ajoutant ainsi une cohrence interne au matriau. Inspire par la formulation SPH de [Mon92, DCG96], nous exprimons cette force comme : Fi v
2 Voir

kv mj
voisins

voisins

m j v j vi

(3.9)

Annexe B.

50

CHAPITRE 3. PREMIER MODLE MULTIRSOLUTION

On peut voir cette quation comme une extension de celle utilise dans les cas dchantillonnage rgulier de lespace. Linuence dun voisin a t choisie comme proportionnelle sa masse. Cette force est ltre pour nen conserver que son aspect dissipateur et on lannule si elle acclre la particule ou lui fait changer la direction de sa vitesse. Bien que noffrant pas de garantie dun comportement indpendant de la rsolution, cette formulation inspire de [Mon92] ne cre pas dartefact trop visible. Nous utiliserons des coefcients assez faibles dans nos exemples, principalement pour obtenir un matriau plus rigide. Nous aurions pu utiliser le formalisme dlasticit linaire dcrit en Section 4 du chapitre prcdent. Cela na pas t fait car au moment du dveloppement de cette mthode, nous navions pas dvelopp les formules qui y sont prsentes, qui sont une extrapolation de celles trouves dans dautres articles de la littrature [OH99] au cas du tenseur innitsimal de Cauchy.

Simulation multirsolution

La mthode multirsolution prsente ici va tre adaptative selon la dnition faite en Section 10 du chapitre 1. Nous allons prcalculer plusieurs maillages volumiques, dnir comment une zone de lespace peut tre simule par lun ou lautre de ces maillages et comment elle interagit alors avec le reste de lobjet pour enn voir comment et sur quels critres imposer un changement de niveau de dtail.

4.1

Cration des maillages

Les maillages que nous allons crer seront issus dune division de lespace en cubes. Le cube est en effet la seule gure gomtrique rgulire pouvant remplir lespace. On peut mailler un volume laide de ttradres, mais ceux-ci ne pourront avoir tous la mme forme. La dcoupe dun ttradre en de nouveaux ttradres plus petits dgrade par ailleurs largement leur qualit, plusieurs applications du processus conduisant des ttradres trs irrguliers. On garantit en utilisant des cubes une rpartition la plus rgulire possible des points dchantillonnage. Le maillage dont on va partir est rgulier, align avec les axes et de mme rsolution dans les trois directions x, y et z. On ne considre que les nuds de ce maillage qui se trouvent lintrieur de lobjet 3. Ce seront les particules que nous allons simuler. Leur masse est xe comme tant celle de lobjet divise par le nombre de particules (si lobjet est suppos de densit uniforme, les points dchantillonnage tant uniformment rpartis). On construit ensuite rcursivement les diffrents maillages en partant de celui-ci, qui sera le plus n. Chaque maillage se dduit du prcdent en regroupant chaque bloc de 8 particules en une nouvelle particule, celles-ci formant le nouveau maillage (voir Fig. 3.4).

F IG . 3.4: Un mme cube sera chantillonn par huit particules lles ou par leur mre.

Une telle particule chantillonnera ainsi un volume de taille huit fois moindre que celui chantillonn par les particules prcdentes. On dnotera par les termes de mre et lles les particules ainsi lies. On va galement implicitement classer ces maillages du bas vers le haut, en allant du plus n vers le plus grossier. Une lle appartiendra ainsi au niveau infrieur de celui de sa mre. Lorsquon construit un maillage partir du prcdent, on peut regrouper moins de 8 particules ensemble si on se trouve au bord (voir Fig. 3.5). Dans tous les cas, et pour conserver la masse totale et sa rpartition,
3 On pourrait choisir de dplacer les points situs prs du bord pour les amener sur la surface, mais cette optimisation nest pas ncessaire. Les maillages, mme sils doivent tre proches de la gomtrie de lobjet, seront en effet dcorrls de la surface qui va tre afche (voir Chapitre 6), et seul leur mouvement global nous importe.

4. SIMULATION MULTIRSOLUTION

51

(a)

(b)

(c)

(d)

F IG . 3.5: Cration rcursive des maillages. La grille rgulire qui sert crer le maillage le plus n (a). On regroupe ensuite les particules pour crer les maillages suivants (b), (c) et (d). Les tailles reprsentent la masse des particules.

la nouvelle particule aura pour masse la somme de celles de ses lles et une position dnie comme leur barycentre pondr par les masses : m

f illes i

mi

f illes i

mi pi m (3.10)

o m est la masse, et p la position de la particule mre. Les maillages ainsi crs ne seront donc plus exactement rguliers, mais la position de chacune des nouvelles particules est optimale au sens de la rpartition de masse et lon cre donc un maillage adapt la morphologie de chaque objet. En regroupant ainsi par huit les particules entre elles, on cre un octree topologique de particules. Ce nest pas un octree au sens classique (des cases cubiques rgulirement divises en huit autres cases) puisque les maillages ne sont plus rguliers et vont pouvoir se dformer au cours de lanimation, mais a lest au sens topologique de voisinage. Les relations de voisinages entre les particules sont quant elles bien organises dans une structure doctree, des voisines pouvant tre dnies dans chaque direction (bien que nexistant pas forcment au bord).

4.2

Dnition des voisines

Voisines de mme niveau Nous avons choisi quune particule se serve, pour calculer les oprateurs diffrentiels, de ses voisines immdiates. Ce sont les 26 particules (il peut y en avoir moins si on est au bord de lobjet) qui touchent le cube associ la particule par une face (6), une arte (12) ou un coin (8), et qui sont reprsentes Figure 3.7 b. Voisines appartenant aux autres maillages Une particule pourra galement, et cest la clef des algorithmes multirsolution, prendre en compte des particules se trouvant ct delle mais ne faisant pas partie du maillage de ce niveau. Nous avons choisi de limiter cette interaction entre deux niveaux de dtail aux seuls maillages prcdant et suivants : parmi les maillages successifs de lobjet, le maillage du niveau n ne pourra utiliser que les niveaux n 1 et n 1, sils existent (voir Fig. 3.6).

F IG . 3.6: Durant la simulation, les voisins dune particule ne peuvent appartenir quau mme niveau de rsolution, au niveau suprieur ou au niveau infrieur.

Ce choix limite la souplesse de la mthode, mais crer un tel octree restreint (dnition de [VB87]) a deux avantages :

52

CHAPITRE 3. PREMIER MODLE MULTIRSOLUTION

La structure de voisinage est limite et plus simple. On va faire lhypothse que lobjet se dforme sufsamment peu pour que les voisines dune particules ne changent pas au cours de la simulation. Elles pourront donc tre dnies et toutes stockes au dbut de la simulation et on vitera les coteuses remises jour de cette structure. Imposer des niveaux de rsolution proches entre deux particules voisines va garantir que la discrtisation du matriau sera tout instant continue. Il ne serait pas naturel que deux zones juxtaposes aient deux rsolution trop diffrentes. Si on a besoin de beaucoup de prcision un endroit et de trs peu juste ct, il vaut mieux passer continuement dune rsolution lautre. Il faudra donc garantir au cours de la simulation que chaque particule ne soit entoure que par des particules de niveau directement infrieur ou suprieur En ayant ainsi limit les maillages parmi lesquels une particule va avoir des voisines, on peut stocker dans des listes toutes les voisines possibles, parmi lesquelles toutes ne seront pas forcment actives un instant donn. Outre les 26 particules du mme niveau dj dcrites, cette liste comporte 7 particules au niveau suprieur (les mres des prcdentes) et 56 particules appartenant au niveau infrieur (les lles des voisines du mme niveau qui jouxtent la particule considre). Ce sont en fait toutes les particules qui touchent le cube associ la particule (Fig. 3.7). Chaque particule aura donc ainsi 89 voisines potentielles.

(a)

(b)

(c)

F IG . 3.7: Les 56 voisines de niveau infrieur (a), les 26 voisines de mme niveau (b) et les 7 voisines de niveau

suprieur (et les surs) (c) dune particule donne.

4.3

Simulation adaptative

tout instant, chaque zone du matriau va tre reprsente par une et une seule particule. Cette particule aura une taille plus ou moins grosse (i.e. sera issue dun maillage plus ou moins grossier) en fonction de la simulation. En pratique, un objet au repos sera reprsent par les quelques particules du niveau le plus grossier que lon aura cr. On appellera les particules servant ainsi effectivement la simulation les particules actives. Toutes les particules des autres rsolutions ne serviront pas cet instant et seront qualies dinactives. Sil se passe quelque chose dans une rgion, une particule de cette rgion va pouvoir se diviser et tre remplace par ses 8 lles (encore une fois il peut ne pas y avoir 8 lles mais moins, si on considre une particule situe au bord de lobjet), qui chantillonneront alors mieux la rgion. La particule mre qui sest divise devient inactive, ses lles accdant au statut dactives. La simulation ne prendra plus alors en compte que les lles cres, qui cohabiteront avec les particules non divises des zones voisines. On peut avoir diviser encore une ou plusieurs des lles cres, en les dsactivant pour les remplacer galement par leur lles, devenues alors actives, et ainsi de suite. Inversement, lorsque cette zone est soumise des contraintes moindres, les 8 lles peuvent se regrouper et laisser leur place leur mre. Celle-ci redevient alors active et ses lles inactives. Ces diffrents processus de division et regroupement de particules devront nanmoins veiller conserver la structure doctree restreint de larbre. Ainsi, la ncessit de division dune particule pourra entraner dautres divisions dans son voisinage.

4. SIMULATION MULTIRSOLUTION

53

La simulation ne va rellement utiliser chaque instant que les particules actives. Celles-ci vont calculer des forces en fonction des dplacements de celles parmi leurs voisines qui sont galement actives, forces qui seront intgres comme prcdemment. La diffrence avec lalgorithme rsolution xe donn au dbut de ce chapitre est que des critres vont pouvoir tout instant venir modier la liste des particules actives, et donc les relations de voisinage entre particules, en effectuant des divisions et des regroupements.

4.4

Position relative mre-lle

Repre local Lorsquune particule se divise, elle fait apparatre 8 lles qui vont la remplacer. La position de ces nouvelles particules doit tre bien choisie. Si on se contente de placer les 8 lles dans la mme position que celle quelles occupaient par rapport leur mre au moment o lon a construit les maillages, on va assister des instabilits. En effet, le matriau tant dform, les lles apparatront des positions non dformes peu intuitives, source dinstabilits que lon veut minimiser lorsque lon change de rsolution. On va donc dnir la position des lles par rapport la mre dans un repre local, li au matriau. Ce repre a pour origine la mre et pour axes trois directions dnies comme suit. Pour chaque lle et pour chaque direction x, y ou z, il existe 4 particules issues du mme maillage que la mre et formant la face la plus proche de la lle, orthogonale la direction donne. Cest le barycentre pondr par les masses de ces faces qui dnit la direction de laxe. La Figure 3.8 explicite cette dnition en 2D. On na ici que deux axes, dnis par deux faces. Les faces sont constitues des deux particules qui vont le mieux chantillonner la dformation dans chacune des directions. On calcule ensuite le barycentre de ces faces pour obtenir laxe du repre.

Face Mere Barycentre de la face Fille

Voisines de la mere
F IG . 3.8: Le systme de coordonnes locales (ches), dni par les voisines de la mre assure un bon placement

des lles, mme lorsque lobjet est dform. Les coordonnes de chacune des lles dans son repre local propre seront calcules dans la position non dforme et ne changeront pas. Ces axes, dnis par rapport aux voisines de la mre, vont suivre la dformation du matriau et vont permettre de trouver une position intuitive pour les lles lorsquelles apparaissent. Ces difcults de positionnement napparaissent pas lorsque les lles se regroupent, la position de la mre se dduisant simplement grce une moyenne pondre par les masses de celles de ses lles (Eq. 3.10). Cas particuliers La dnition propose nest plus valable lorsquon lapplique aux particules du bord. Les faces que nous avons dnies nont alors pas forcment 4 particules. Si elles en ont moins, cest tout de mme la seule source dinformation que nous ayons sur les dformations dans cette direction et nous conservons la mme dnition, le barycentre des particules de la face comprenant simplement moins de 4 particules. Il se peut quand on est tout au bord quil ny ait aucune particule voisine de la mre pour composer une face dans une direction donne. La meilleure approximation des dformations ayant eu lieu dans cette direction est alors donne par la face symtrique de la face manquante par rapport la mre.

54

CHAPITRE 3. PREMIER MODLE MULTIRSOLUTION

Dans le cas ultime ou mme cette face symtrique nest pas dnie on se rabat sur lutilisation daxes xes dans les directions x, y ou z. Lautre subtilit de la dnition de ces axes est quau moment o la mre se divise, ses particules voisines qui dnissent les faces ne sont pas forcment actives. Leur position na donc pas t mise jour depuis le moment o elles se sont divises 4 . On va dans ces cas l simplement mettre jour leur position en fonction de celles de leurs lles par lquation 3.10. Cette remise jour nest pas trs coteuse, mais on pourrait dcider ou non de la faire en fonction du temps coul depuis la division de la particule et donc de limprcision de sa dernire position. Il faut dans tous les cas savoir de quand date la dernire estimation de position pour viter par exemple de faire ainsi plusieurs fois remonter la position depuis les lles lorsquune particule sert dans plusieurs des faces que lon va utiliser, ce qui est souvent le cas.

4.5

Changement de rsolution

Nous allons dtailler les critres qui vont dcider quelle rsolution doit tre applique en chaque zone de lobjet, ou plus prcisment quelles sont les particules qui ont se regrouper ou se diviser une tape donne de la simulation. Ces choix sont faits en deux passes. La premire fait une prslection des particules candidates ( la division ou au regroupement) et la deuxime ltre ces listes pour satisfaire le principe doctree restreint. Critre de continuit On va dcider de diviser (resp. regrouper) des particules en fonction de limportance de la dformation dans la zone considre. Ce nest pas en fait de son amplitude, ni mme de sa variation que lon va se soucier, mais plutt de sa drive seconde. Une amplitude constante voire mme variant linairement va tre bien gre par les oprateurs diffrentiels prsents plus haut car ils ont une prcision du premier ordre. Les volutions dordre plus lev de la dformation, en commenant par la drive seconde, seront par contre mal approximes et il faudra pour mieux les grer diviser les particules dans cette zone. Il se trouve que le laplacien est justement une trs bonne mesure du caractre non linaire du champ dplacement puisquil mesure la somme des drives secondes principales. Cest sa norme, calcule en chaque point et multiplie par un terme correctif relatif la rsolution employe, qui va nous servir dindicateur :

regroupement

min

h2 u

max

(3.11)

division

o h reprsente la plus petite distance entre cette particule et ses voisines. Le terme en h 2 vient pondrer la valeur du laplacien tolrable en fonction de la discrtisation locale. Si elle est suprieure un seuil max donn, on va ajouter cette particule dans la liste de celles devant se diviser. Au contraire, si elle est infrieure min pour les huit lles dune particule, celles-ci vont se placer dans la liste des particules regrouper. Cette approximation rapide, base sur la continuit, donne de bons rsultats en pratique, le rafnement apparaissant o et quand nous lesprions intuitivement. Lcart entre les deux seuils min et max fait quil sera plus facile une particule de se diviser qu ses lles de se regrouper. Cet effet hystrsis empchera la zone dosciller entre deux rsolutions. Critres lis loctree restreint Les listes prcdemment tablies vont tre ltres pour garantir que la structure doctree restreint soit conserve. Nous passons dabord en revue les particules dsirant se diviser. Ce nest possible que si toutes leurs voisines ont un niveau gal ou infrieur car on aurait sinon un cart de deux niveaux entre les lles cres et une particule voisine. Si ce nest pas le cas, la particule qui dsirait se diviser est supprime de la liste, mais les voisines qui empchaient sa division y sont ajoutes, an que la division puisse se faire au pas daprs (ou un pas suivant si la division des voisines a elle aussi demand la division dautres particules).
4 Elles

sont en effet forcment divises si elles sont inactives pour satisfaire le critre doctree restreint.

5. MULTIRSOLUTION TEMPORELLE

55

De faon similaire, il est possible quun regroupement pose problme. Pour des raisons de stabilit, la priorit est donne aux particules subdivises, mme si elles empchent un regroupement, et on se contente dans ce cas de supprimer ce regroupement de la liste. Critres lis au respect du temps-rel Pour respecter le temps-rel et assurer une frquence dafchage xe, on peut tre amen ajouter dautres conditions sur la division des particules. On va pouvoir limiter le cot de calcul entre deux afchages (qui varie linairement avec le nombre de particules et leur pas de temps et qui peut donc tre mesur) en interdisant une division trop importante du modle. On pourra nouveau diviser pour amliorer la prcision locale des calculs lorsque des regroupements auront eu lieu ailleurs dans lobjet. Inversement, on va ralentir volontairement la simulation lorsque celle-ci est stable et pourrait aller plus vite que le temps-rel du fait du faible nombre de particules utilises. Une simple boucle dattente base sur lheure donne par la machine permettra dattendre la synchronisation avec lafchage suivant.

4.6

Mise jour de la structure

Les voisines qui vont rellement servir une particule (leur dplacement servant calculer la force) vont tre celles parmi ses 89 voisines qui sont actives ce moment l. Elles ne peuvent tre toutes actives en mme temps (elles sont lies par des relation mre-lles). Le nombre de particules actives est au maximum de 56 (si la particule est entoure de particules divises (Fig. 3.7a) et au minimum de 14 (si tout est regroup autour delle : 7 voisines du niveau suprieur et ses 7 surs (Fig. 3.7 c). Les 89 voisines sont tablies au dpart et ne changeront pas durant la simulation. On mettra par contre jour une liste dynamique de celles parmi elles qui sont actives (i.e. rellement simules). Lorsquune particule se divise (resp. regroupe), des tables prcalcules permettent de mettre jour la liste de ses voisines actives, ainsi que les listes des voisines actives de ses voisines. Toutes ces relations peuvent en effet tre prcalcules en fonction des position relatives des deux anciennes voisines. La mise jour des listes de voisines actives ne demande ainsi aucun calcul.

Multirsolution temporelle

Tout comme la mthode propose une structure de multirsolution laide dchantillonnages diffrents de lespace, nous allons introduire ici la notion de multirsolution temporelle. Le changement du pas de temps global dintgration avait dj t utilis dans la littrature [Jou96, Arn88], et celui du changement du pas de temps individuel lavait t par Desbrun [Des97], dont nous reprenons le principe ici. Un pas de temps dintgration diffrent pour chaque particule va permettre doptimiser les calculs. Il permet de garantir en chaque endroit une stabilit numrique de lintgration, tout en vitant de simuler la frquence la plus haute lensemble de lobjet. Lalgorithme de simulation est donc un peu plus complexe. Ce qui est dcrit ici nest pas li au caractre de multirsolution spatiale dcrit prcdemment et pourrait tre appliqu avec la mthode rsolution xe de la Section 3.

5.1

Critre de Courant

Le critre de Courant (voir annexe B) impose un pas de temps dintgration compatible avec la vitesse du son lintrieur du matriau. Ceci impose pour une particule donne davoir un pas de temps satisfaisant :

dt

0 2

La vitesse du son associe lquation de Navier est 0 . Le paramtre h reprsente la plus petite distance 2 entre une particule et lune de ses voisines. Puisque les rsolutions dchantillonnage sont divises par deux entre un niveau et le suivant, la distance dune particule ses voisines grandit galement dun facteur deux. Le pas de temps dun niveau grossier pourra donc tre le double de celui du niveau n qui le succde. En plus davoir environ huit fois moins de particules,

56

CHAPITRE 3. PREMIER MODLE MULTIRSOLUTION

celles-ci doivent donc tre simules deux fois moins souvent, ce qui donne un rapport 16 entre les temps de simulation de deux niveaux successifs, si on les suppose intgralement actifs.

5.2

Synchronisation et mise en uvre

Pour cette raison de facteur deux entre les pas de temps des particules des diffrents maillages, ainsi que pour des raisons de synchronisation, on nutilisera en pratique quun nombre ni de pas de temps possibles, ceux-ci tant des inverses de puissances de deux du pas de temps dafchage : dti dtafchage 2i

On classe les particules dans des listes en fonction de leur pas de temps dintgration, choisi parmi les dti . Entre deux afchages successifs de la simulation, on va simuler de nombreux pas dintgration. On divise ` le temps en intervalles de la taille du dt le plus faible, dt min . Au keme pas de la simulation, on parcourt les listes de particules correspondant des dt i sous-multiples du temps t k dt min . Le niveau dt min1 sera ainsi effectivement simul une fois sur deux, dt min2 , une fois sur quatre et ainsi de suite. En pratique, choisir quels sont les dti qui doivent tre simuls chaque pas se fait trs rapidement grce des oprations binaires sur le nombre de pas dintgration dj raliss. Pour chaque particule de la liste parcourue, on va calculer une force en fonction des derniers dplacements des voisines actives et ensuite lintgrer pour trouver la nouvelle position. Cette intgration se fait sur un pas de temps correspondant celui de la particule. On pourrait aussi imaginer que toutes les intgrations se droulent la frquence de dt min . Les forces appliques toutes les particules actives seraient toujours calcules la frquence de leur dt i , mais leur position serait remise jour chaque pas (tous les dt min ), en intgrant la dernire force calcule. On aurait ainsi chaque instant des positions actualises pour toutes les particules actives, ce qui rendrait le calcul des forces plus prcis car bas sur des positions plus rcentes. Si on ne calcule pas plus souvent les forces, ce qui est lopration chre, mettre jour chaque pas de temps la position de toutes les particules actives entrane nanmoins un surcot non ngligeable qui ne vaut peut-tre pas la peine dtre entrepris.

5.3

Critre de stabilit dintgration

Le pas de temps dtermin par le critre de Courant est le plus grand tolrable pour une particule donne. Nous lui avons ajout un autre critre assurant que le pas de temps est sufsamment petit pour prvenir les problmes dintgration numrique. Ceci est obtenu en faisant en sorte que dt satisfasse : a dt vt vt 1 vmax

Ainsi nous rduisons dt lors des soudains changements de vitesse, sources dinstabilits. Chaque particule adopte chaque instant le plus grand pas de temps satisfaisant ces deux critres.

6
6.1

Rsultats
Premiers essais

Les rsultats de cet algorithme multirsolution sont assez intressants. La simulation est trs stable : mme si lon excde les limites de dformations ralistes, la surface commenant se replier sur elle-mme, il suft de reculer loutil pour que lobjet revienne trs rapidement sa position dquilibre. Ce genre de comportement nexiste pas avec les rseaux masses-ressorts qui, une fois quils ont t trop dforms, divergent inexorablement. Ladaptativit du modle en fonction des dformations subies est assez intuitive, comme le montre la Figure 3.9. Les diffrentes rsolutions sont toutes employes, les plus nes tant adoptes proximit de loutil que lon manipule, les rgions lointaines se contentant de peu de particules.

6. RSULTATS

57

(a)

(b)

F IG . 3.9: Un paralllpipde dform par un outil. Les rsolutions comportent entre 24 et 1056 particules (a). La discrtisation qui a lieu au contact de loutil durant la simulation est intuitive.

6.2

Cas dcole

Nous tudions maintenant lanimation dune tige, dont une des faces est maintenue xe, qui se plie sous leffet de la gravit dans un milieu visqueux. La Figure 3.10 montre les tats initiaux et naux, avec des coefcients de Lam de 5000 et 1000000.

F IG . 3.10: Une tige oscillant sous la gravit. Simulation de rfrence faite avec 256 particules (a). Images de la simulation adaptative (b).

Le Tableau 6.2 montre le temps moyen de la simulation obtenu en utilisant diffrentes rsolutions spatiales. Comme espr, la simulation adaptative offre un bon compromis en donnant un temps de calcul proche de celui du niveau 3 (32 particules), tout en protant des 256 particules potentielles du niveau 4. Le nombre de particules rellement simules varie entre 4 (dbut) et 88, se stabilisant 32 (niveau 3) quand la barre atteint sa position dquilibre. Niveau Nb de particules Temps de simulation (units cpu) 2 4 0.87 3 32 4.29 4 256 38.90 adaptatif 4-88 5.27

6.3

Une application temps-rel

Nous avons ralis avec cette technique un simulateur de chirurgie laparoscopique. Le foie virtuel, issu de donnes anatomiques, peut ragir en temps-rel aux actions de lutilisateur, comme le montre la Figure 3.12. Les coefcients rhologiques et ont t choisis pour leur rsultat visuel. Des donnes bio-mdicales auraient d tre disponibles, mais les mesures faites ne sont pas sufsamment ables car elle varient dans de grandes proportions en fonction de lexprience et du caractre vivant ou mort de lorgane sur lequel elles sont faites. Le caractre multirsolution de notre mthode est ici crucial car une simulation discrtisation xe utilisant seulement la rsolution la plus ne aurait t trop lente dun facteur dix par rapport au temps rel 5 . En combinant les rsolutions, nous pouvons garantir que le temps-rel et la frquence dafchage seront respects, celle-ci tant de 12 Hz dans notre cas sur une Silicon Graphics Onyx2 avec un processeur R10K. Le nombre de particules actives de la simulation varie entre 34 (rsolution la plus grossire, utilise lorsque le foie est au repos) et 130-140 qui est le nombre maximal de particules simulables en conservant le temps-rel avec cette raideur de matriau ( 4000 et 5000). La rsolution des particules utilises est intuitivement correcte :
5 La

simulation se faisant alors avec environ 770 particules.

58

CHAPITRE 3. PREMIER MODLE MULTIRSOLUTION

leve proximit de loutil et simplie plus grande distance (voir Figure 3.11). Le pas de temps le plus faible utilis tait denviron 0.002 sec (500 Hz) soit 32 pas dintgration entre deux afchages.

F IG . 3.11: Illustration de la rpartition intuitive des particules lors dune dformation. Le niveau des particules

est reprsent par la taille des cubes les symbolisant (a) ou par la couleur des nuds de la surface auxquels elles sont relies (b). La che reprsente la force renvoye lutilisateur.

F IG . 3.12: Bien que les contraintes imposes dpassent parfois le formalisme des petites dformations, notre modle prsente nanmoins une rponse dune bonne qualit visuelle lutilisateur. Lajout de textures augmente sensiblement le ralisme du simulateur.

7
7.1

Discussion
Indpendance de la rsolution

Les rsultats obtenus sont assez convaincants et il est intressant de noter que trs peu de particules (quelques dizaines) sufsent souvent pour avoir un bon rsultat. Les simulations ralises donnent un aspect un peu trop mou au foie et augmenter sa raideur se fait au dtriment du nombre de particules que lon peut simuler en conservant le temps-rel. Laspect multirsolution de lanimation est assez bien dissimul lutilisateur (voir Chapitre 6), et mme si les changements de niveau de dtail internes peuvent se remarquer la surface, le comportement global de lobjet reste cohrent. Nanmoins des tests dcole raliss sur lexemple classique du cube coll un mur et oscillant montrent que le comportement dynamique dun objet o se mlangent les rsolutions nest pas le mme que lorsque lon simule les niveaux de dtail sparment. La frquence des oscillations est diffrente et le comportement global est beaucoup moins stable.

7. DISCUSSION

59

Cest un cas difcile o lon ne mesure que le comportement dynamique et lon peut comprendre que ces imperfections se remarquent moins sur lexemple du foie o lon se contente gnralement dappuyer et de maintenir la dformation, puis de relcher. Ces instabilits peuvent sexpliquer par le mauvais comportement des oprateurs diffrentiels lorsquon les applique sur des points trop loigns dune grille rgulire (o ils rejoignaient les rsultats des diffrences nies). Une particule entoure de voisines dun niveau diffrent doit en effet utiliser des points dchantillonnage assez mal rpartis autour delle. Il est possible de corriger ce comportement en passant dune mthode adaptative une mthode hirarchique.

7.2

Une mthode hirarchique

Puisque les particules semblent mal parvenir prendre en compte leurs voisines issues dune rsolution diffrente, on va modier lalgorithme pour que seules les voisines actives du mme niveau soient prises en compte. La modication principale rside dans le fait que lorsquune particule se divise, elle reste active (voir Fig. 3.13).

Adaptatif

Hierarchique

(a)

(b)

F IG . 3.13: Ladaptatif (a) ne simule que le niveau le plus n choisi alors quen hirarchique (b), les niveaux infrieurs continuent tre actifs et cohabitent.

Une particule divise va continuer calculer une force base sur le dplacement de ses voisines, mais en ne considrant maintenant plus que celles actives et non divises, du mme niveau quelle. Elle ne prendra donc plus en compte que les inuences des particules actives du mme niveau quelle. La cohabitation entre les niveaux sen trouve modie. Descente des forces La force calcule par la particule divise ne va par contre pas tre classiquement intgre mais transmise aux lles. Celles-ci vont ainsi recevoir de la part de leur mre une force qui exprimera les interactions ayant eu lieu entre la zone quelles occupent et les zones actives voisines simules une rsolution plus grossire. Cette descente va se faire chaque mise--jour de la force et va se propager toute la descendance active de la particule (lles, petites lles, etc...). Toutes les particules actives de cette zone vont ainsi prendre en compte les contraintes gnres par la mre et ses voisines de mme niveau. Les interactions ayant eu lieu lintrieur de ce maillage entre cette zone et les zones voisines sont ainsi propages aux lles des niveaux infrieurs. Remonte des positions Inversement, les mres vont pouvoir prendre en compte les interactions de leurs lles avec les niveaux infrieurs grce une mise jour directe de leur position. Les particules divises dduisent en effet leur position de celle de leur lle par barycentre (Eq. 3.10), retant ainsi ce qui a pu se passer dans cette zone aux niveaux infrieurs. La particule divise ne sert ainsi que en quelque sorte que dindicateur grossier de ce que ses lles (ou petites-lles si celles-ci sont aussi divises, etc...) ont simul nement dans cette zone.

60

CHAPITRE 3. PREMIER MODLE MULTIRSOLUTION

Sa position ainsi actualise sert calculer les forces intervenant avec les voisines non divises pour pouvoir la communiquer ses lles. On cre ainsi avec cette descente de forces et cette remonte de positions la liaison entre les maillages indispensable tout processus multirsolution. Algorithme Lanimation dun niveau de rsolution donn se passe ainsi : Pour les particules divises seulement, remettre jour la position en remontant rcursivement celle de sa descendance active par barycentre (en descendant jusquaux particules actives non divises). Calculer la force engendre par les dplacements des voisines de mme niveau, actives et non divises grce aux oprateurs diffrentiels. Pour les particules divises, transmettre la force ainsi calcule toute leur descendance active, qui la stockera. Pour les particules non divises, ajouter cette force celles reues de tout le reste lascendance (mre, grand-mre, etc...) et intgrer la force totale pour dterminer la nouvelle position. Lalgorithme est un peu plus complexe si on autorise la multirsolution temporelle dcrite en Section 5. On ne remet plus alors jour les particules niveau par niveau, mais selon le pas de temps de chacune. Le principe reste le mme : remonte de position, calcul et descente de force pour les particules divises et calcul et intgration de la force cumule pour les particules actives non divises. Avec un tel algorithme, on na plus dinteraction (i.e. de calcul de force en fonction des dplacements relatifs) quentre des particules de mme niveau. On va ainsi limiter limprcision des oprateurs prcdemment dcrits qui nuisait aux rsultats multirsolution. Mesure du surcot du hirarchique La contrepartie est une augmentation du nombre de particules actives simules, et donc du cot de lanimation. Cette augmentation reste nanmoins trs limite. Supposons par exemple un matriau compos de 4 maillages, composs de respectivement 4, 32, 256 et 2048 particules. Prenons, pour simplier, le cas o un instant donn, la moiti des particules de chaque niveau est subdivise (subdivision rgulire). En conservant les mres comme actives dans la mthode hirarchique qui vient dtre propose, on doit 1 calculer la force subie par 4 1 32 22 256 213 2048 4 16 64 256 340 particules. Lalgorithme 2 adaptatif naura pas prendre en compte les particules divises, ce qui donnera 1 4 1 16 1 64 256 298 2 2 2 particules actives. On aura donc dans cet exemple une augmentation de 14% du nombre de particules actives et donc approximativement du temps de calcul (celui-ci tant principalement constitu du calcul de la force et de lintgration des positions des particules actives) entre la version hirarchique et celle adaptative de la mthode.

7.3

Problme avec le grad(div)

Nous navons pas pouss les tests avec cette nouvelle mthode, que nous avons dcrite ici pour lintrt de son principe. En effet, nous nous sommes aperus que loprateur servant calculer le graddiv u donnait des rsultats errons. Ceci sest rvl lors de tests raliss en 2D en tudiant les rsultats des oprateurs lorsquon les appliquait des champs analytiques. Les deux oprateurs sexpriment en 2D comme : u ux xx ux yy uy xx uy yy graddiv u ux xx uy xy ux xy uy yy

Notons tout dabord que ces oprateurs sont totalement indpendants de la direction dans laquelle se trouvent les voisins, partir du moment o ceux-ci sont sur une grille rgulire, qui na donc pas besoin dtre aligne avec les axes. Ce rsultat tait prvisible dans la mesure o ces oprateurs ne font intervenir que les distances entre les points et non leur position absolue.

8. CONCLUSION

61

Si loprateur laplacien donne bien les rsultats escompts, loprateur graddiv u tel que nous lutilisons ux xx , les drives croises napparaissant pas. calcule en fait graddiv u uy yy Si au lieu de considrer la projection le long des directions radiales comme on le fait, on prend les directions ux yy tangentes, on cre un oprateur calculant graddiv u , ce qui est normal puisque la somme de ces uy xx deux composantes doit donner le laplacien. Lassimilation faite dans la Section 2 entre le graddiv u et la partie non rotationnelle du champ tait donc trop simplicatrice. La version publie de ce chapitre [DDBC99, DC99a] ne mentionnait pas ce problme, apparu lors de tests postrieurs. On a galement pu mesurer sur cet exemple analytique que les rsultats se dgradaient assez vite lorsquon sloignait de la grille rgulire. Le problme plus profond de cet oprateur est quil est incapable de calculer une drive croise. On a beau modier laxe selon lequel on projette, elles ne peuvent apparatre avec cette mthode. Les approximations faites sont trop arbitraires et lon ne voit pas o lon pourrait retrouver les termes de drive croise. Dautres pistes de recherche menes en parallle semblant promettre de meilleurs rsultats, nous avons prfr les privilgier pour obtenir une nouvelle expression des oprateurs.

Conclusion

Un calcul des oprateurs intervenant dans lquation de Navier a t propos. Donnant de bons rsultats indpendants de la rsolution, ils ont pu tre utiliss dans une mthode multirsolution adaptative utilisant un octree. Les rsultats visuels sont assez convaincants et un premier modle de simulateur chirurgical a t mis au point. Il permet de simuler le mouvement dune centaine de points en temps-rel, la rsolution sadaptant automatiquement lors de la simulation. Les tests plus formels que nous avons effectus sur ces oprateurs ont rvl des insufsances numriques. Cette mdiocre qualit nous a conduit chercher une autre faon de calculer ces diffrentielles, en partant de considrations gomtriques et mathmatiques plus pousses, comme nous allons le dcrire dans le prochain chapitre.

62

CHAPITRE 3. PREMIER MODLE MULTIRSOLUTION

CHAPITRE

Nouveaux oprateurs diffrentiels

IEUX CALCULER les oprateurs diffrentiels impliqus dans les modles continus de la matire est le but de ce chapitre. Nous allons pour cela utiliser des principes mathmatiques et gomtriques plus volus, permettant de mieux cerner les hypothses que nous ferons. Les calculs seront dans un premier temps mens en deux dimensions, leur expression et leur interprtation tant plus simples. Nous gnraliserons ensuite les rsultats en trois dimensions. Les rsultats mathmatiques obtenus savrent sapparenter ceux issus dune certaine classe dlments nis, offrant ainsi un point de vue original sur cette mthode. Nous comparerons ces deux mthodes, ainsi que dautres base de masses-ressorts, pour choisir celle qui semble la mieux adapte au dveloppement dun modle multirsolution.

1
1.1

Le thorme de Gauss
Expression mathmatique

Les calculs mathmatiques dtaills dans les sections suivantes sappuient sur un thorme classique de physique : le thorme de Gauss. Ce thorme fut nonc sous diverses formes par Lagrange (1762), Gauss (1813), Green (1828) ou Ostrogradski (1831) et na en consquence pas le mme nom dans tous les pays. Quoi quil en soit, il permet de rduire le calcul dune intgrale sur un volume celui dune intgrale sur la surface du volume : x dV i x ni dS i (4.1)

x est un champ scalaire, et n la normale la surface dintgration V , frontire de V . En appliquant Gauss composante par composante, on obtient la version vectorielle du thorme : Xi dV i Xi ni dS i (4.2)

Ces expressions sont les versions les plus gnrales du thorme, on le connat mieux sous la forme suivante, 63

64

CHAPITRE 4. NOUVEAUX OPRATEURS DIFFRENTIELS

dite dOstrogradski :
V

div X dV

X n dS

(4.3)

` On peut repasser de cette criture aux prcdentes en lappliquant un champ valant X i sur sa ieme composante et 0 sur les autres composantes. Le passage dune intgrale sur le volume une intgrale de surface sexplique intuitivement par le fait quil suft de mesurer ce qui entre et sort de la surface (la composante normale la surface du champ) pour mesurer lvolution de ce qui se passe lintrieur du volume.

Outre lintressant passage du volume la surface, ce thorme permet de calculer la valeur moyenne de la diffrentielle dun champ laide des valeurs de ce champ sur la surface. On gagne ainsi un ordre dans lexpression des diffrentielles. Le principe des calculs qui vont suivre est dappliquer le thorme de Gauss de petites rgions de lespace entourant chacune une particule. On va supposer ces volumes de lespace sufsamment petits pour y considrer la drive i Xi comme constante et pouvant donc tre extraite de lintgrale volumique. Lintgrale de surface pourra quand elle tre value en faisant des hypothses sur la forme du champ vectoriel considr.

1.2

Dnition du volume

Le volume sur lequel nous allons appliquer le thorme de Gauss est dni comme tant la rgion de Vorono associe chaque particule (voir par exemple [dBvKOS97]). Cette rgion est celle contenant les points de lespace qui sont plus proches de la particule considre que daucune autre particule (voir Figure 4.1). Cest donc la zone la plus mme dtre reprsente par la particule. Ces rgions sadaptent ainsi naturellement la disposition des points dchantillonnage, leur union couvrant tout lespace et donnant chaque particule une importance adquate.
Region de Voronoi du point i j

i Premiers voisins

F IG . 4.1: Le point i reprsentera les valeurs du champ lintrieur de sa rgion de Vorono.

Dans la suite de ce chapitre, la rgion de Vorono associe une particule sera souvent appele par simplicit le Vorono de cette particule. Utiliser la dnition dun volume propre pour chaque particule qui sappuie sur la division de lobjet en lments peut tre rapproch de la mthode des volumes nis [McC89]. Ce choix peut galement tre rapproch de la mthode des lments naturels 1 [BS95] qui permet, en choisissant des lments nis suivant les rgions de Vorono dobtenir de bien meilleurs rsultats.

1.3

Champ linaire par morceaux

Lobjet considr est suppos maill laide de ttradres (de triangles si on est en 2D). Ce choix est motiv par le fait que ce sont les lments les plus simples capables de mailler lespace et nous reviendrons sur le processus dobtention de ces maillages. Les points dchantillonnage que sont les particules constituent les sommets des ttradres de notre maillage. Le but est ici dvaluer en chaque particule la valeur de certaines diffrentielles du champ dplacement u, pour pouvoir appliquer lquation de Navier (voir Chapitre 2). Ce champ ntant chantillonn quen chaque particule, il est naturel de le considrer comme linaire par morceaux sur chacun des ttradres (resp. triangles) puisquon ne dispose pas de plus dinformation sur sa valeur lintrieur des ttradres. Cest galement une manire trs simple et rapide de calculer la valeur du champ en tout point de llment.
1 Natural

Element Method.

2. CALCUL DU LAPLACIEN

65

Le volume dintgration et la forme du champ tant dnis, reste choisir le champ X auquel nous allons appliquer Gauss et qui amnera lexpression du laplacien et du grad div . Cest en prenant respectivement le div et le grad du champ dplacement que lon arrive au rsultat, comme nous allons le dtailler dans les deux sections suivantes.

2
2.1

Calcul du laplacien
Principe

Le laplacien du champ dplacement vaut u div grad u, o div est la divergence dune matrice, compose des divergences de chacune des lignes 2 . En appliquant Gauss (Eq. 4.3) la composante de u on obtient : u dV u dV div grad u dV grad u n dS (4.4)
V V V
V

On va dcomposer lintgrale de droite en la somme des intgrales sur chacun des triangles (artes en 2D) composant la frontire de la rgion de Vorono dune particule i. Lintret de la mthode est quaprs avoir grce Gauss supprim le terme en div , le terme grad u qui reste dans la partie droite de lquation 4.4 est constant sur chacun des ttradres ou triangles (drive spatiale premire dun champ linaire) et que son produit scalaire avec la normale va pouvoir tre exprim simplement.

2.2

Expression en 2D

Pour simplier les expressions dans les explications qui vont suivre, on va tout dabord tudier le cas o lon est en deux dimensions. Nous gnraliserons les formules obtenues la 3D dans la Section 4. Les artes qui composent la frontire de la rgion de Vorono du point i passent par les milieux des artes reliant i ses voisins. Elles leurs sont orthogonales et se rejoignent en chacun des orthocentres des triangles entourant i. Soit i j k un de ces triangles, dorthocentre not m, et soit j le milieu de i j (voir Fig. 4.2). Sur la demi-arte j m de normale dirige selon i j , le produit grad u n est constant et vaut :
grad u

u ui
j

j i

Cest en effet sa valeur le long du segment i j, donc en particulier en j et donc sur toute larte j m puisque ce terme est constant lintrieur du triangle i j k.

k k m i j j

F IG . 4.2: On dcompose lintgrale sur le contour en la somme des intgrales sur les demi-artes. m est lorthocentre du triangle, j et k les milieux des artes.

On va donc pouvoir rcrire :


m j

grad u

n dl

u ui
j

La longueur j m de la demi-arte j m peut sexprimer laide des caractristiques gomtriques du triangle i j k. On appelle , et les demi-angles aux sommets du triangle (voir Fig. 4.3(a)).
2 Voir

j i

m j

dl

u ui
j

j i

jm

(4.5)

lAnnexe A.

66

CHAPITRE 4. NOUVEAUX OPRATEURS DIFFRENTIELS

k k k m i j
(a)

k m i j j l
(b)

k j

F IG . 4.3: On utilise les angles , et pour obtenir une expression en fonction de k.


1 On a alors j m tan i2j 2 tan i j . La somme des angles dun triangle valant , on a 2 2 2 , soit . 2 Ainsi tan tan tan k cotg k, o k est langle en k du triangle (voir Fig. 4.3(b)). 2 2

Finalement :
m j

grad u

n dl

u ui 1 j 2 cotg k i j i
j

1 j cotg k u ui 2

2.3

Intgrale sur tout le contour

On peut runir les intgrales sur les deux demi-artes l j et j m (Fig. 4.3b) situes de part et dautre de larte i j et qui forment le contour de la rgion de Vorono de i pour obtenir :
m l

grad u

n dl

1 j i cotg j cotg j u u 2

(4.6)

Les angles j et j tant dnis comme ceux opposs larte i j (voir Fig. 4.4).

j m j j l i
F IG . 4.4: Les cotg des angles opposs larte viennent pondrer la contribution dun voisin.

Ces deux coefcients cotg j et cotg j viennent pondrer linuence du voisin j sur le calcul du laplacien. Remarquons encore une fois leur possible interprtation comme celle dun ltre, leur valeur augmentant lorsque le voisin j se rapproche de i. Elle sannule, puis devient ngative lorsque les angles dpassent 90 degrs. Dans les maillages que nous utiliserons par la suite, ce cas ne se prsentera pas et lon naura affaire qu des coefcients positifs. Le laplacien est suppos sufsamment continu sur la rgion de Vorono pour pouvoir tre extrait de lintgrale. Mathmatiquement, cela signie simplement que sa valeur moyenne est atteinte au point i, mais intuitivement on pourra plutt considrer le laplacien comme voluant sufsamment rgulirement sur la rgion de Vorono pour que sa valeur au point central i reprsente convenablement sa valeur moyenne sur la rgion.

2. CALCUL DU LAPLACIEN

67

On peut alors crire :


A
u

dV

grad u
m j l

n dS n dl
(4.7)

A u

voisins

grad u

voisins

1 j i cotg j cotg j u u 2

Soit nalement, pour le point i, en regroupant chacune des composantes du laplacien :


i u

1 2A

voisins

cotg
j

j cotg j u j ui

(4.8)

o A dsigne laire totale de la rgion de Vorono associe au point i. Noter que bien que lon a considr le champ u comme localement linaire, ce qui devrait normalement conduire une drive seconde nulle, le fait den considrer la valeur comme une fonction par morceaux sur plusieurs triangles cre un laplacien non nul aux sommets. Cette formulation du laplacien est en fait assez classique. Nous lavons en effet par la suite retrouve, obtenue de manire diffrente, dans un ouvrage danalyse numrique de rfrence ([LT94], page 115).

2.4

Mise en uvre

Pour une arte i j donne, le coefcient cotg j cotg j ne dpend que de la gomtrie du maillage. En faisant la classique hypothse des faibles dformations, on peut considrer ce coefcient comme constant durant la simulation et donc le prcalculer dans la position de repos. Cest un simple scalaire qui peut tre stock dans larte i j. Noter que cette hypothse des petites dformations signie seulement que lon reste dans le domaine de comportement linaire du matriau. On ne fait pas dapproximation en considrant le terme en cotg comme constant lors de la dformation. Linteraction entre deux particules est en effet lie la gomtrie intrinsque de lobjet. Ce sont en quelque sorte les atomes entre les particules, leur nombre, leur disposition, qui vont dnir les interactions entre deux points. Ces donnes ne changent pas au cours de la simulation (sauf si lon fait intervenir des dcoupes) et sont donc celles calcules dans la position de repos. Calculer le laplacien revient donc pour chaque particule simplement faire une somme pondre des dplacements de ses voisines, ce qui est trs rapide. Plus rapide mme, dans cette hypothse, quavec un rseau masses-ressorts o chaque arte demande le calcul de sa longueur et donc lemploi dune coteuse racine carre. Recalculer ces cotg (lorsque lobjet sest trop dform, que lon souhaite un comportement non linaire, ou lors de dcoupes ventuelles) reste trs peu cher : deux produits scalaires, deux produits vectoriels, une norme et une division.

2.5

Interprtation

La formulation de lquation 4.8 satisfait le principe daction-raction, la force exerce par i sur j tant loppose de celle exerce par j sur i. Si lon ne considre plus que le dplacement relatif dun point i par rapport ses voisins, ce laplacien sinterprte assez simplement. Tout dplacement de lun des voisins va en effet se traduire par un laplacien, et donc par une force, proportionnelle ce dplacement. Le point i aura ainsi tendance suivre chacun de ses voisins dans leurs dplacements. Tous les voisins tant susceptibles de bouger, le point i dduira son dplacement propre dune moyenne pondre de ces inuences. Les coefcients pondrateurs (cotg j cotg j ) sont lis la gomtrie. On peut grossirement considrer leur inuence comme proportionnelle au rapprochement du point i et de son voisin j, ce qui est naturel. Lisovaleur exacte donnant les positions o un voisin j a une inuence donne sur le point i dcrit une hyperbole. La Figure 4.5 montre les diffrentes valeurs de cotg j cotg j lorsque le point j est dplac. Les deux voisins j 1 et j 1 sont supposs xes et formant ici un angle de 90 en i.

68

CHAPITRE 4. NOUVEAUX OPRATEURS DIFFRENTIELS

F IG . 4.5: Reprsentation des iso-valeurs du coefcient pondrateur dun point j sur le laplacien calcul en i en fonction de la position de j.

2.6

Qualit de loprateur

Ce calcul du laplacien est exact si lon considre un champ linaire par morceaux. Voyons quelles sont les conditions ncessaires pour quil le soit pour un champ quadratique par morceaux. Dans la pratique, les champs seront en effet arbitrairement complexes. On peut les classier en faisant un dveloppement limit de Taylor, pour isoler leurs composantes constante, linaire, quadratique et dautres termes de plus haut degr. Il est donc utile dtudier le comportement de cet oprateur sur un champ quadratique par morceaux pour mesurer son adquation des champs plus complexes que ceux linaires par morceaux qui nous ont conduits sa formulation. Le gradient est maintenant un champ linaire sur chacun des triangles et lintgrale sur la demi-arte nest j i plus son simple produit par la longueur de larte. Le gradient calcul au milieu j de larte i j, u u , est
ij

nanmoins encore exact lordre 2 en ce point. Un dveloppement limit de Taylor lordre 2 de la valeur de u en j donne, en effet, en prenant classiquement h u
j

j i
2 j

: h2 2 h2 2

u u

h grad

2 u x 2 u x

j 2 O h j 2 O h

(4.9) (4.10)

h grad u

Soit en soustrayant les deux expressions : u j ui


grad

2h grad u j

2 O h

u j

u j ui 2h u j ui

O h2
h (4.11)

j i

3 O h

) et lintgrale calcule (valeur en j multiplie par la longueur de larte) est alors exacte lordre deux, quelle que soit la pente du gradient (formule du trapze). La Formule 4.8 prcdente reste donc exacte pour un champ quadratique lorsque les deux angles opposs chaque arte sont gaux. Plusieurs maillages satisfont cette proprit, comme celui associ une grille rgulire, avec des angles de 45 et 90 . Ce cas est quelque peu dgnr (cotg nuls) et on lui prfrera le maillage compos de triangles quilatraux de mme taille pour optimiser les rsultats. Il nest par contre pas possible de crer un maillage de ttradres rguliers en 3D.

j ( l j

De plus, lorsque les angles j et j sont gaux, larte de Vorono a la mme longueur de part et dautre de

m j

3. CALCUL DU GRAD(DIV U)

69

On retiendra de cette proprit que le calcul du laplacien est dautant plus exact (car sadaptant des champs plus complexes) que le maillage est rgulier. Cette proprit gouvernera la cration et loptimisation des maillages que nous utiliserons par la suite.

3
3.1

Calcul du grad(div u)
Principe

Nous allons calculer le graddiv u en utilisant la mme mthode. Nous appliquons cette fois le thorme de Gauss (Eq. 4.1) chacune des composantes du vecteur gradient, en prenant comme scalaire x le div u. On obtient alors :
grad

div u dV

div u dV V x

div u n dS

(4.12)

Soit, en regroupant les expressions obtenues sur chacune des composantes :


grad

div u dV

div

u n dS

(4.13)

On va nouveau dcomposer lintgrale de droite en une somme dintgrales sur les frontires de la rgion de Vorono. La divergence est, tout comme le gradient, constante sur chacun des triangles du maillage (somme de drives premires dun champ suppos linaire). Nous allons, pour valuer lexpression de la divergence, calculer celle du gradient des diffrentes composantes de u. Encore une fois, nous dtaillons ici les calculs en 2D, leur extension la 3D tant reporte la Section 4.

3.2

Calcul du gradient

Soit un champ scalaire f (une des composantes de u en pratique), connu aux trois sommets i j k dun triangle par ses valeurs f i , f j et f k , et linaire lintrieur du triangle. La valeur de f au point x intrieur au triangle est donne par la somme pondre des trois fonctions de base : f x f i W i x f j W j x f k W k x chaque W x tant la fonction linaire valant 1 au sommet considr et 0 aux autres. Le gradient de ces fonctions de base est un vecteur constant et le gradient de f scrit : grad f f i grad W i f j grad W j f k grad W k

La somme des fonctions de base est, sur le triangle, une fonction linaire valant 1 aux trois sommets. Cest donc une fonction constante sur le triangle : W i W j W k 1. On a donc grad W i grad W j grad W k 0 et le gradient de f peut se rcrire : grad f

grad W j grad W k f j grad W j f k grad W k j i j k i k f f grad W f f grad W


fi

(4.14)

Dsignons par h i la hauteur du triangle au point i (Fig. 4.6). Le gradient de W i , que nous noterons i , vaut3 :
3 Cette

grad W

1 jk hi jk

(4.15)

notation est choisie pour sa similarit avec des travaux dj publis sur le sujet [DDCB00, Cot97]. Il ne faudrait pas confondre ce vecteur i avec langle i du triangle utilis plus haut. Dans tout ce qui suit i reprsente le gradient.

70

BILBOQUET & GIRAFE 4. NOUVEAUX OPRATEURS DIFFRENTIELS


i

hi
grad Wi j k

F IG . 4.6: Le gradient de la fonction de base dun sommet est dirig selon la normale larte oppose.

o jk dsigne le vecteur jk tourn de 90 degrs dans le sens trigonomtrique 4. Lcriture aux sommets j et k se dduit par simple changement dindices. Introduisons galement laire A i jk du triangle i j k, qui peut scrire comme : 2Ai jk hi jk

h j ki

hk i j

Le gradient de f scrit alors nalement comme : grad f


f

f i j f k f i k 1 1 j i f f ki f k f i hk j i j j ki i h f k f i j 1 j i i f f ki
j

2Ai jk

(4.16)

3.3

Calcul de la divergence

Toujours en 2D, la divergence div u scrit comme div u u x x uy y . Cest donc la somme de la premire composante de grad f avec f u x et de la seconde composante de grad f avec f u y . On a : grad f f x grad f y
grad

1 2Ai jk

f i

ki y ki x

i f i jj y i x

(4.17)

La divergence vaut donc, sur le triangle i j k : div u 1 2Ai jk


j ux

uix y uk uixj y ki i x

ki i uyj uiy x uk uiyj x y

(4.18)

3.4

Intgrale sur tout le contour

La divergence tant exprime sur chaque triangle, il ne reste qu intgrer le produit div u n sur tout le contour de la rgion de Vorono pour obtenir graddiv u (Eq. 4.13). Sur chaque triangle,
A

div

u n dl

div

n dl

Intgrer sur un segment un vecteur unitaire qui lui est normal donne comme rsultat le vecteur correspondant au segment, tourn de 90 degrs.
choix du sens trigonomtrique permet dassurer que jk sera dirig vers i et ne pointera donc pas vers lextrieur du triangle. Il en est ainsi lorsque les points i, j et k sont eux mmes positionns dans lordre trigonomtrique. Si on nomme les points dans le sens inverse, un signe apparat ici, mais il sera compens lors du calcul de la normale larte (Eq. 4.19). Aussi ne reviendrons-nous pas sur cette nuance de numrotation, nomme inversion de la girafe pour dobscures raisons.
4 Ce

3. CALCUL DU GRAD(DIV U)

71

En intgrant sur tout le contour, on obtient donc : grad div u dS


div

u dl
m

triangles du Voronoi

div

div

u j m

dl

dl

mk

triangles du Voronoi

div

u j k
u jk

triangles du Voronoi

1 2 triangles Voronoi du

div

(4.19)

Sur chaque triangle, lintgrale ne dpend donc pas directement de la forme du Vorono (dans notre cas, les deux vecteurs j m et mk ), mais seulement des deux points extrmes j et k car on somme ensuite les vecteurs formant le contour. la limite, dans ce calcul, peu importe la forme de la rgion considre pourvu quelle passe par les points j et k et reste lintrieur du triangle i j k. Tout comme pour le laplacien, on suppose le graddiv u sufsamment continu pour pouvoir tre reprsent par sa valeur moyenne et ainsi tre extrait de lintgrale 5. On obtient alors nalement lexpression : graddiv u i 1 2A

triangles (i,j,k) du Vorono

div

u jk

(4.20)

o div u est donn sur chaque triangle par lquation 4.18.

3.5

Mise en uvre

Une fois encore, les termes qui viennent pondrer les dplacements des particules pour crer graddiv u sont purement gomtriques. Ils peuvent tre prcalculs dans la conguration de repos et tre considrs comme constants dans lhypothse de petites dformations 6. Ce ne sont plus cette fois-ci de simples scalaires, mais ils peuvent tre reprsents par une matrice 2 2 symtrique. Calculer le graddiv u revient donc chaque pas de temps calculer un produit matrice-vecteur de taille 2 (4 multiplications, 2 additions), et ce pour chaque voisin. Cest plus long que pour le laplacien, mais reste trs faible.

3.6

Interprtation

Tout comme celle du laplacien, cette formulation satisfait le principe daction-raction. La contribution pour le sommet i dune demi-arte j m ou m k tant loppose de celle fournie au sommet j (mme divergence, mais normale au Vorono oriente en sens oppos). Cette formule possde une intressante interprtation. Il faut pour cela rcrire lexpression de la divergence de la Formule 4.18 laide de produits vectoriels. Notons d i j le dplacement relatif du point j par rapport au point i : di j u j ui . Encore une fois, lapparition dans toutes les formules calcules en i du dplacement relatif des voisins est normale. Elle sexplique par le fait que les oprateurs sont en quelque sorte calculs dans un repre attach la particule i. Seules les variations relatives de position importent. On vrie ainsi galement que lors dune translation globale de lobjet, ces dplacements relatifs vont sannuler et ainsi conduire des forces nulles.
5 Voir 6 On

ce que cette hypothse suppose dans le paragraphe ddi au laplacien Sec. 2.3, page 66. se reportera la discussion de cette condition Sec. 2.4, page 67.

72 Avec di j

BILBOQUET & GIRAFE 4. NOUVEAUX OPRATEURS DIFFRENTIELS


u j ui , lquation 4.18 de la divergence peut scrire : 1 2Ai jk 1 2Ai jk 1 ij 2Ai jk
j ux

div u

uix y uk uixj y uyj uiy x uk uiyj x ki i ki i x y di j ki dik i j di j ki dik i j


x y x y y x y x

dik ki

di j

(4.21)

Les produits vectoriels qui apparaissent sont une facilit dcriture, obtenue en plongeant les vecteurs 2D dans un espace 3D. Les vecteurs considrs sont tous situs dans le plan, la norme nest quune faon de ne prendre que leur unique composante non nulle, celle en z. Lexpression du graddiv u sur le triangle i j k devient alors : graddiv u i 1 4 A Ai jk

j i

dik ki

di j

jk

(4.22)

la lumire de cette formulation, le graddiv u peut sinterprter comme suit : la particule i va, pour chacun des triangles i j k lentourant, subir une acclration dirige selon la normale larte j k du triangle. Lintensit et la direction de cette pousse sont exprims par la divergence. Supposons pour simplier que seul le point j sest dplac relativement au point i. La divergence vaut alors 1 2Ai jk

ki

di j

Le terme daire ainsi que ki tant xes, la divergence va donc tre uniquement dtermine par le dplacement relatif du voisin j. vectoriel cest en fait la de j par parallle Daprs le produit 4.7). Si j de la formule,le long de cettepositionle produitrapport une droite ne subira ki qui importe (Fig sest dplac droite, vectoriel est nul et i aucune inuence de la part de j sur ce triangle. Par contre, plus j sloigne de la droite en sloignant de k, plus la divergence est positive et plus i sera donc attir selon jk vers larte j k. Inversement, si j sloigne de la droite en allant vers k, i sera repouss de larte j k.
jk j k

F IG . 4.7: Le point i va se dplacer pour compenser au mieux la variation daire due aux dplacements de ses voisins.

On remarque alors que ces dplacements correspondent en fait la variation daire du triangle i j k. Lorsque celle-ci a augment, i cherche la rduire en se rapprochant de larte j k, et inversement. Noter que la direction de dplacement de i nest pas anodine, un mouvement le long de jk tant en effet le plus efcace pour i pour corriger laire du triangle. On retrouve ici linterprtation comme terme de prservation de volume du graddiv u faite dans la section sur lexpression de Navier (Chap. 2).

3.7

Qualit de loprateur

Une fois encore, les calculs prsents supposent un champ u linaire par morceaux et sont exacts dans ce cas. Voyons, comme nous lavons dj fait pour le laplacien, quelles sont les conditions ncessaires pour que le rsultat soit galement exact pour un champ quadratique par morceaux.

4. EXTENSION TROIS DIMENSIONS

73

Sur chaque triangle, le graddiv u est le produit de la divergence sur ce triangle par la normale larte k. La normale reste la mme dans le cas quadratique, reste donc obtenir la mme divergence. Celle-ci nest plus constante, mais linaire lintrieur du triangle et donc le long de larte j k sur laquelle on intgre. Pour que le rsultat soit le mme, il faut et il suft (toujours grce la formule du trapze) que la divergence ait la mme valeur que celle exprime en (4.18) au milieu de larte j k .
j

de j k (voir Section 3.2). Le long de la hauteur au triangle en i, la fonction f est maintenant de la forme f x x
hi 2,
i car f h 2

Cette valeur provient de lexpression du gradient, qui doit donc avoir la mme valeur (

x 2 , hi

1 jk hi jk

) au milieu

si x reprsente la distance larte j k. La valeur obtenue dans le cas linaire se retrouve en


1 . hi

Le gradient aura donc la mme valeur au milieu de j k si ce point concide avec le milieu de la hauteur (voir Fig. 4.8). en i. Ceci nest vri que si le triangle est isocle en i, i j ik

j h j i k k
triangle est isocle en i.

j j i k k h

F IG . 4.8: Le milieu de la hauteur ih (carr) et celui de larte j k (cercle) ne concident que dans le cas o le

Si lon souhaite que la proprit soit vrie aussi pour le calcul en j et en k, il faut donc que le triangle soit quilatral. Cest la mme condition que celle trouve en Section 2.6 pour le laplacien. Encore une fois, pour que les oprateurs calculs soient le plus gnriques possibles (car sadaptant des champs u plus complexes), il faut que le maillage soit le plus parfaitement rgulier possible (i.e. constitu de triangles quilatraux). Cette proprit ne pouvant tre vrie pour un maillage volumique, on cherchera nanmoins sen approcher autant que possible.

4
4.1

Extension trois dimensions


Expression des oprateurs

Dans cette section, nous tendons les rsultats prcdents au cas 3D. Le principe est exactement le mme et lon va nouveau appliquer le thorme de Gauss sur la rgion de Vorono associe chaque particule. Le champ dplacement va toujours tre considr comme linaire par morceaux sur chaque ttradre et lon va pouvoir en exprimer facilement le gradient et la divergence. La composante normale la surface du gradient sobtient par la mme formule que prcdemment : u j ui . La divergence est un peu plus complexe, mais se dduit comme prcdemment des grad u n
ij

diverses composantes du gradient dans chaque ttradre. Nous reviendrons sur son expression dans la Section 5 consacre la comparaison avec les lments nis. Il faut ensuite intgrer ces valeurs sur le contour de la surface de Vorono. Celle-ci est un peu plus complexe quen 2D, gnralement constitue sur chaque ttradre de trois surfaces planes, chacune tant orthogonale lune des artes du ttradre. Ces surfaces passent par les milieux des artes, les orthocentres des faces et lorthocentre du ttradre (voir Fig. 4.9). Lexpression de la surface de chaque quadrilatre est difcilement exprimable analytiquement. Son calcul ne pose par contre aucun problme, les coordonnes des points qui la compose pouvant tre calcules comme nous le verrons Section 4.4.

74

CHAPITRE 4. NOUVEAUX OPRATEURS DIFFRENTIELS

F IG . 4.9: La surface de Vorono intersecte chaque ttradre T en formant 3 polygones orthogonaux aux artes. Ils passent par les milieux des artes, les orthocentres des faces et lorthocentre du ttradre. On a ici supprim la face avant du ttradre pour montrer les polygones intrieurs.

Une fois calcules les valeurs du gradient et de la divergence ainsi que la surface de Vorono intersectant chaque ttradre, il ne reste plus qu sommer ces contributions pour obtenir la valeur de chacun des oprateurs en un point i :
i u

1 S ur fi j V ol voisins j

u j

ui j i
div

(4.23)

graddiv u i

V ol ttradres voisins T

S ur fT

u T

(4.24)

o V ol est le volume de la rgion de Vorono de i. S ur f i j dsigne laire de la surface de Vorono propre larte i j (orthogonale cette arte) et S ur f T celle situe lintrieur du ttradre T (reprsente Fig. 4.9).

4.2

Expression de la force

Lacclration subie par un point est relie aux oprateurs que nous venons de dcrire par lquation de Navier : i a ui grad div u i (4.25) La force subie sexprime donc par : f Le terme
m

ui

grad div u

(4.26)
V ol . Ce terme
m

se simplie en V ol si lon suppose que la densit est localement approxime par

V ol disparat ensuite lors du produit avec les oprateurs exprims par les quations 4.23 et 4.24.
La masse m, la masse volumique et le volume de la rgion de Vorono se simplient dans lexpression de la force, prouvant ainsi que lon ne fait nulle part lhypothse dune densit uniforme dans le matriau. On suppose seulement que la masse et la densit dune particule se dduisent lune de lautre en utilisant le volume de sa rgion de Vorono. La densit peut donc tre constante par morceaux sur chacune des rgions de Vorono, voire plus complexe pour peu que volume, masse et densit moyenne locale soient en accord pour chaque particule.

4. EXTENSION TROIS DIMENSIONS

75

4.3

Mauvaise dnition de la rgion de Vorono

Sur certains maillages, il peut arriver que la rgion de Vorono associe un point ne soit pas entirement comprise lintrieur du ttradre (resp. triangle en 2D), ce qui pose des problmes. En 2D cela arrive lorsque lun des angles du triangle est suprieur 90 , la longueur de larte de Vorono, 1 donne par le cotg de langle, devenant alors ngative : l 2 cotg k i j (voir Eq. 2.2 et Fig. 4.10). Le mme problme apparat en 3D lorsque langle didrique (entre 2 faces dun ttradre) dpasse lui aussi 90 , lorthocentre du ttradre tant alors situ de lautre ct de la face oppose.
111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000

111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000

F IG . 4.10: La rgion de Vorono peut se trouver lextrieur du triangle si langle dpasse 90 .

111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000 111111111 000000000

Ce type de maillage est trs gnant dans notre cas. Nous avons en effet suppos que la rgion de Vorono tait bien localise autour de chaque point pour pouvoir y supposer les oprateurs sufsamment continus et donc approximables par leur valeur moyenne sur la rgion. Ces cas dangles suprieurs 90 sont rares en 2D o lon peut rester proche de la triangulation idale faite de triangles quilatraux aux angles de 60 . La ttradrisation dun simple cube montre quil nen est pas de mme en 3D. Prenons un cube compos de 9 sommets, situs ses 8 coins et en son centre. Les ttradres gnrs (composs du point central et des triangles composant les faces du cube) possdent tous des angles didriques suprieurs 90 (Fig. 4.11a). La rgion de Vorono associe au point central est dans ce cas une double pyramide reprsente Figure 4.11b.

(a)

(b)

F IG . 4.11: Les ttradres composant lobjet (a) et la rgion de Vorono associe au point central (b).

Dans ce cas particulier, apparat en plus un second problme qui est que la rgion de Vorono dun point, dpassant des ttradres avoisinants, peut se retrouver lextrieur de la surface de lobjet. Ces diffrents problmes expliquent quil faille prendre un soin particulier la cration du maillage et des rgions de Vorono associes.

4.4

Cration des rgions de Vorono

Nous avons pour gnrer les surfaces de Vorono dun maillage utilis qhull 7 , un logiciel libre dvelopp par la communaut de gomtrie algorithmique. qhull permet de calculer des diagrammes de Delaunay, et dualement des rgions de Vorono, en dimension arbitraire.
a t crit par The Geometry Center, Minneapolis MN. Voir www.geom.umn.edu/locate/qhull.
7 QuickHull

76

CHAPITRE 4. NOUVEAUX OPRATEURS DIFFRENTIELS

Les rgions de Vorono des points situs la surface de lobjet ont une tendue innie. Elles comportent dans la description de qhull un point particulier, estampill comme reprsentant linni. Exacte mathmatiquement, cette description ne nous suft nanmoins pas, car nous dsirons galement connatre la direction de larte innie. Aussi avons-nous eu recours une astuce permettant de ne plus obtenir de points situs linni. Aux n points composant lobjet dont on cherche les rgions de Vorono, nous en ajoutons 6, disposs en diamant selon les trois axes. Ces points sont sufsamment loigns de lobjet pour ne pas interfrer sur les facettes de Vorono internes. Ils vont par contre venir couper les facettes innies qui partent des points de la surface, et ainsi permettre de bien dlimiter celles-ci. Les facettes innies sont maintenant celles correspondant ces 6 points, et nous ne les utiliserons pas. Une fois les facettes composant les rgions de Vorono obtenues, reste les traiter. On procde pour cela en plusieurs tapes, illustres Figure 4.12 pour la rgion de Vorono associe un point situ sur une arte extrieure dun cube (Fig 4.12a). La premire consiste dterminer quels sont, parmi les points qui composent ces artes, ceux situs hors de lobjet. Un test sur la bote englobante, afn par un test dappartenance aux ttradres du maillage donne le rsultat. On peut ensuite supprimer les facettes nayant que des points extrieurs (Fig 4.12b). Il faudra nanmoins parfois, dans des congurations pathologiques, vrier que la facette nintersecte tout de mme pas lobjet bien quayant tous ses points situs au dehors. On projette ensuite les points extrieurs sur la surface de lobjet, en calculant lintersection des artes avec les faces externes des ttradres. Reste fermer les facettes qui avaient une partie extrieure lobjet en joignant les points que lon vient de projeter par un chemin sur la surface des ttradres (Fig 4.12c).

(a)

(b)

(c)

F IG . 4.12: Les artes extrieures sont coupes aux limites de lobjet en plusieurs tapes : rgion de Vorono complte pour un des sommets du bord (a), suppression des facettes externes (b) et projection sur la surface (c).

Cet algorithme permet lobtention de rgions de Vorono bien dnies et limites lintrieur de lobjet. Les Figures 4.13 et 4.14 montrent quelques rgions de Vorono obtenues sur des maillages de cubes rguliers et sur un maillage de foie beaucoup moins rgulier.

(a)

(b)

(c)

F IG . 4.13: Des exemples de rgions de Vorono obtenus sur diffrents maillages.

5. COMPARAISON AVEC LES LMENTS FINIS

77

(a)

(b)

F IG . 4.14: La rgion associe au point central dun cube compos de 9 (a) (comparer avec la Figure 4.11b) et 57 (b) points rgulirement rpartis.

Les maillages que nous utiliserons pour reprsenter les objets seront les duaux des rgions de Vorono obtenues avec qhull. Les ttradres de Delaunay ont en effet comme artes des paires de points partageant une facette de Vorono. Cest de ces artes que nous construirons les relations de voisinage entre points. Ceci ne suft pas liminer les cas de ttradres aux angles suprieurs 90 , en particulier prs du bord de lobjet (comme le montre lexemple du cube maill avec 9 points de la Figure 4.14(a)). Nanmoins, dans ces cas, la restriction des facettes lintrieur de lobjet que nous oprons limite lapparition de facettes dans des zones mal dnies o les hypothses faites lors des calculs dintgrales ne sont plus vries.

Comparaison avec les lments nis

Les calculs dvelopps plus haut sont bass sur des considrations gomtriques simples. Il nous est apparu quils prsentaient une grande similarit avec une certaine classe de mthodes dlments nis. Cette similarit permet de reconsidrer les deux mthodes sous un jour nouveau, comme nous allons le voir dans cette section.

5.1

lments nis explicites

La mthodologie des lments nis a t dcrite lors de la prsentation des travaux antrieurs (Chap. 1). Pour rsumer rapidement, on exprime sur chaque lment du maillage une quation dquilibre mettant en jeu les dplacements des sommets du maillage. Ces diffrentes quations sont ensuite rassembles dans un gros systme matriciel prenant en compte les dplacements et les forces subies par tous les nuds. Selon les conditions au bord (surface libre, dplacement impos), qui vont changer au cours de la simulation, la matrice globale change et doit donc tre rinverse, ce qui est trs long. En protant astucieusement de ce que peu de modications sont apportes la matrice, on peut toutefois rapidement la mettre jour, comme dans [JP99] (au prix dune simulation statique et non dynamique). Cette lenteur, incompatible avec une application temps-rel, nous avait dissuads dutiliser des mthodes base dlments nis et conduits dvelopper les oprateurs diffrentiels exposs prcdemment. La dcouverte de la mthode des lments nis explicites, qui elle aussi fournit un calcul local de lacclration bas sur les lois de la mcanique des milieux continus, a chang notre vision. Parmi les deux exemples de la littrature utilisant les lments nis explicites (Cotin [Cot97] et OBrien et Hodgins [OH99]), celui de Cotin est le plus proche. Comme nous, il utilise en fait en effet lquation de Navier (Eq 2.19) tire de lutilisation du tenseur innitsimal de Cauchy et conduisant au calcul des deux oprateurs diffrentiels vus plus haut. OBrien utilise quand lui un tenseur des dformations non linaire (Green-Lagrange 8) conduisant des quations plus complexes.
8 Voir

la comparaison de ces deux formalismes dans le Chapitre 2.

78

CHAPITRE 4. NOUVEAUX OPRATEURS DIFFRENTIELS

La comparaison de nos oprateurs avec les calculs mis en uvre dans la mthode des masses-tenseurs de Cotin a montr que les deux approches taient trs similaires. Ce rsultat tait prvisible de par la similarit des deux mthodes : utilisation de lquation de Navier, lments ttradriques sur lesquels on interpole linairement la fonction. Les deux mthodes sont nanmoins diffrentes, dune part par la manire dont elles arrivent lexpression des oprateurs ce qui est dj intressant en soi, mais galement de par lexpression mme des oprateurs, celle-ci diffrant lgrement dune mthode lautre.

5.2

Rcriture des masses-tenseurs

Utilisant rigoureusement le formalisme des lments nis, Cotin arrive aprs plusieurs tapes lexpression par une matrice 12 12 des quations rgissant le comportement dun ttradre T . Cette matrice de rigidit K relie les 24 inconnues du systme sur un ttradre que sont les forces dun ct et les dplacements en chacun des 4 sommets de lautre (chacun ayant 3 composantes) : f

Ku

(4.27)

gomtrie du ttradre et introduits plus haut (voir Sec. 3.2). Un vecteur i est rappelons-le orthogonal la face oppose au sommet i et de norme inverse de la hauteur h i du ttradre au point i. Cest en dautres termes le gradient de la fonction de base linaire associe au point i. La matrice K dun ttradre scrit alors comme :

K sexprime en fonction des paramtres et du matriau ainsi quen fonction des vecteurs i , lis la

V olT
0 0 0 0 1x 2x 3x 4x 0 0 0 0 0 0 0 0 0 0 0

T L

o V olT est le volume du ttradre T et et L des matrices dnies comme suit : 1x 2x 3x 4x 0 0 0 0 0 0 0 0 1y 2y 3y 4y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1z 2z 3z 4z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1y 2y 3y 4y 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 1z 2z 3z 4z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1x 2x 3x 4x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1y 2y 3y 4y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1z 2z 3z 4z

2 0 0 0 0 0 0

0 0 0 0 0 0 2

On peut isoler la contribution des deux oprateurs dans cette matrice en jouant sur les paramtres et : 0 1 donne directement la matrice correspondant grad div u alors que 1 0 donne u aprs soustraction de la matrice prcdente. Inuence de deux particules Ltape suivante consiste isoler, dans les deux matrices 12 12 prcdentes, lexpression de linuence dun sommet j sur un sommet i donn. Cette inuence se caractrise pour chaque oprateur par une matrice ij ij 3 3, dnomme tenseur par Cotin. Notons T et Tgraddiv les tenseurs associs aux deux oprateurs.

5. COMPARAISON AVEC LES LMENTS FINIS

79

En utilisant Maple, on parvient avoir lexpression suivante :


ij Tgraddiv

V olT

jT

(4.28)

o reprsente le produit matriciel de ces deux vecteurs, dont lun est transpos. On peut noter que linuence de i sur j et celle de j sur i sexpriment par des tenseurs transposs (ce qui peut tre utile pour conomiser la mmoire et les calculs) :
ji Tgraddiv ij ij T Tgraddiv

La matrice T a, quand elle, sur chacun des termes de sa diagonale la valeur V ol T i j (produit scalaire cette fois). Cest une matrice antisymtrique, et le terme non diagonal plac la ligne l et la colonne c de la matrice triangulaire suprieure (c l) est donn par lexpression :

Ti j l c Ti j c l Ti j l l

V olT V olT

Ti j l c

i j c l

il cj
(4.29)

Ces tenseurs permettent de calculer directement la force subie par un point en fonction des dplacements de ses voisins. Ils sappliquent aux relations lintrieur dun ttradre. Pour calculer la valeur dun des oprateurs, une particule i devra sommer les inuences de tous les ttradres dont elle est un sommet. Au point i, pour la contribution dun ttradre T , les oprateurs scrivent :
i u

V olT i j j T u sommet j 1 4 V ol

(4.30)

graddiv u i

sommet

V olT i j Tgraddiv u j j 1 4 V ol

(4.31)

V olT dsigne le volume du ttradre T considr alors que V ol est le volume de toute la rgion de Vorono associe au point i.
Noter que ces sommes se font sur tous les sommets du ttradre et comprennent donc le point i o lon calcule loprateur. Une expression en fonction des seuls dplacements relatifs d i j u j ui comme celle prsente en 2D est possible mais moins lgamment concise. Dans le cas particulier de points disposs sur une grille rectangulaire rgulire, on retrouve avec ces formules lexpression des diffrences nies un coefcient prs [LT94]. Il est intressant de noter que contrairement aux oprateurs issus de lutilisation de Gauss, ces expressions ne vrient pas a priori le principe daction-raction. Il ny a en effet aucune raison avec ces expressions que T i j u j T ii ui T i j T ui T j j u j . Dans lhypothse de faibles dplacements, ces tenseurs peuvent tout comme prcdemment tre prcalculs dans la position de repos. Le calcul de la force subie par un point se ramne donc au calcul de n produits dune matrice 3 3 par un vecteur, n tant le nombre de voisins du point. Ces tenseurs tant exprims, nous allons maintenant les comparer avec les rsultats obtenus par la mthode base sur les rgions de Vorono des Sections 2 et 3.

5.3

Comparaison en 2D

En 2D, les formulations rsultant de lutilisation des Vorono sont trs similaires celles obtenues par les lments nis explicites.

80

CHAPITRE 4. NOUVEAUX OPRATEURS DIFFRENTIELS

La matrice reprsentant loprateur grad div u avec les Vorono est en effet la mme que celle trouve par lquation 4.31. Un jeu de rcriture permet de simplier lquation 4.18 de la divergence pour faire apparatre ij le tenseur Tgraddiv S ur f i j T dans lexpression de la dpendance des points i et j (S ur f est lquivalent en 2D du terme V ol de la 3D). Laction de loprateur u entre les points i et j est par contre dans notre cas exprime par un simple scalaire li aux cotg des angles (Eq. 4.8). L encore, une rcriture permet de faire apparatre les vecteur i et j . On peut alors montrer que le coefcient de lquation 4.8 est en pratique gal au terme diagonal du tenseur, S ur f i j . Lorsquon utilise ce tenseur, on multiplie donc bien le dplacement par le scalaire S ur f i j comme on le fait en appliquant la formule issue de Vorono. On ajoute par contre ce rsultat le produit du dplacement par les termes non diagonaux de la matrice. On peut en fait montrer que cette multiplication supplmentaire est sans effet. Les termes additionnels obtenus sannulent en effet deux deux, de part et dautre dune arte liant i et un voisin. j j Ceci sexplique par le fait que les termes hors-diagonale i l i c sont en fait des produits vectoriels c l de deux vecteurs correspondant aux inverses des hauteurs du triangle (voir la dnition des i , Eq. 4.15). Le terme hors-diagonale, une fois multipli par S ur f est donc une constante, qui vaut plus ou moins 1 de part et 2 dautre de larte, et qui va donc disparatre lorsquon va sommer linuence de tous les voisins. En plus de complexier les calculs, ces termes additionnels inutiles vont donc probablement ajouter un bruit dans la simulation d aux imprcisions numriques qui vont faire que ces termes ne vont pas forcment sliminer deux deux une fois calculs. Les deux mthodes (bases sur les lments nis ou sur les rgions de Vorono et le thorme de Gauss) sont donc quivalentes en 2D. Ce rsultat est en soi une contribution de cette thse. Il permet en effet dafrmer que les lments nis se basent implicitement sur une dcomposition en rgions de Vorono du plan. Plus que les rgions de Vorono, on saperoit que cest en fait la limitation de la zone dinuence dun point au milieu de chaque arte entre lui et ses voisins qui est au cur des formules tablies. La remarque de la Section 4.2 sapplique donc galement aux lments nis. Pour peu que masse et densit soient choisis daprs la rgion de Vorono de chaque point, les lments nis ne font alors pas lhypothse dune densit uniforme dans tout le matriau, mais seulement de masses calcules en fonction de la densit locale et des volumes propres de chaque particule.

5.4

Comparaison en 3D

La comparaison des deux mthodes en trois dimensions est plus difcile car nous navons pas dexpression analytique de la surface des facettes de Vorono. Dtaillons le calcul de loprateur grad div u prsent en Section 4.1, en cherchant utiliser les notations des lments nis. La valeur de div u sur un ttradre donn sobtient alors partir de la formule du gradient dune champ scalaire f : (4.32) grad f i f i
sommet i 1 4

On applique cette formule des champs f valant successivement chacune des trois composantes du champ u. ` ` La divergence est forme de la somme des j eme composantes du gradient de la j eme composante du u (div u ux x uy y uz z ). On a donc : div u

i1 4

i ui x x

ij i1 4 jx yz i i u i1 4

i1 4

i ui y y

i1 4

i ui z z

uij

(4.33)

La contribution du dplacement u i dun sommet i la divergence de llment scrit donc comme un simple produit scalaire avec le vecteur i correspondant.

5. COMPARAISON AVEC LES LMENTS FINIS

81

Si on reporte cette expression dans le calcul de lintgrale sur la surface des facettes de Vorono se trouvant lintrieur dun ttradre T , on obtient (Eq 4.13) :
V T

grad div u dV

div

u n dS
div

V ol grad div u
div

f acettes de V

u n dS nf Sf
T

u
i

f acettes f de V

i1 4

u
i

f acettes f de V

nf Sf
T

(4.34)

o n f et S f reprsentent respectivement la normale et la surface des diffrentes facettes composant la surface de Vorono de i et intersectant le ttradre que lon est en train de considrer. Linuence de j sur i (i et j tant des sommets du ttradre, ventuellement identiques) sexprime donc par : 1 j j u nf Sf (4.35) V ol f acettes f de V T Cette expression est celle de loprateur grad div u. Passer celle de la force va permettre de comparer les deux approches et se fait, nous lavons vu en Section 4.2, en multipliant par V ol, qui disparat donc de lexpression. Sur chaque ttradre, le tenseur T i j indiquant dans loprateur linuence du dplacement du voisin j sur i peut sexprimer en isolant les termes qui viennent pondrer u j . Notons donc j le vecteur S f n f correspondant linuence de la facette f . On a alors :

T ij

f acettes f de V

x j j y j j z j

(4.36)

Cette expression peut maintenant tre compare avec celle donne par la mthode des lment nis explicites (voir Eq. 4.28) : V olT ix j ij V olT iy j TEF (4.37) V olT iz j Comparaison des expressions La diffrence entre les deux mthodes est donc toute entire contenue dans la diffrence entre les vecteurs j et V olT i . Plus prcisment, le terme V ol T i qui intervient dans la formulation par lments nis peut se rcrire, en introduisant la surface S i et la normale ni de la face oppose i du ttradre T :

V olT i

1 i i i S h 3

1 S i ni 3

le terme hi , hauteur du ttradre au point i, intervenant dans lexpression de i (4.15) se simpliant. Le signe provient de ce que i est orient vers i alors que n i est dirig vers lextrieur de T . On est donc amen comparer la normale n i la face du ttradre, pondre par 1 de sa surface (Fig. 3 4.15a) et les normales des intersections des facettes de Vorono avec T , pondres par leurs propres surfaces (Fig 4.15b). Noter quon a reprsent sur la Figure 4.15a non pas la la face du ttradre, mais son homothtie passant par les milieux des artes (de surface 4 fois moindre), an de mieux pouvoir comparer les formulations. Ces deux pondrations sont intuitivement trs proches. Les diffrentes facettes composant le Vorono tant toutes plus ou moins oriente autour de n i et la somme de leurs surfaces tant trs proche de 1 Si . 3 En pratique, sur un exemple rgulier comme le cube, on constate que les valeurs numriques des coefcients sont trs proches, et diffrent en tout cas du mme ordre de grandeur sur lensemble des ttradres du maillage.

82

CHAPITRE 4. NOUVEAUX OPRATEURS DIFFRENTIELS

(a)

(b)

F IG . 4.15: La diffrence de calcul de loprateur grad div entre les deux mthodes tient au calcul pondr dune normale la face du ttradre pour les lments nis (a) qui est remplac dans notre approche par la somme pondre des trois normales des facettes de Vorono (b).

Notons que dans le cas particulier o lintersection des facettes de Vorono avec T est forme de trois triangles, les deux vecteurs sont identiques un coefcient prs. La somme, pondre par leurs surfaces, des normales de ces trois triangles est en effet gale, daprs une proprit gnrale des ttradres, au produit de la surface de la quatrime face du ttradre (gnr par les trois triangles) par sa normale. Puisque cette quatrime face passe par les milieux des artes, le thorme de Thales stipule que sa surface est 1 Si . Les deux vecteurs 4 sont donc gaux un coefcient 3 prs dans ce cas. 4 Ce cas apparat toutefois rarement. Les facettes de Vorono intrieures T tant gnralement des quadrilatres, voire des formes plus complexes sur des maillages non rguliers. Il peut galement arriver que plus (ou moins) de trois facettes distinctes soient intersectes dans un ttradre donn. En pratique, nous avons obtenu ce facteur 3 entre les deux mthodes sur lexemple dun cube rgulier, pour 4 les points situs aux coins du cube.

6
6.1

Cration dun modle hybride


Inspiration

Nous avons vu que, dans la mthode des Vorono, loprateur laplacien sexprime toujours comme un scalaire. Le tenseur 2 2 T qui reprsente le laplacien dans la mthode des lments nis en 2D est en fait quivalent au scalaire obtenu avec Vorono, les termes hors-diagonaux sliminant deux deux. Les termes hors-diagonaux du tenseur T ne sliminent toutefois pas en 3D. Aussi avons-nous voulu essayer, par analogie avec la mthode utilisant les Vorono, de ne prendre en compte que les termes diagonaux de T .

6.2

Comportement

Simplier ainsi le tenseur change beaucoup le mouvement obtenu lors de la simulation. Les nombreuses ondes qui parcouraient le matriau avec le tenseur de Cauchy sont rduites une seule dformation principale si lon nutilise plus que les termes diagonaux. Le comportement trs glatineux du tenseur de Cauchy, fait de nombreuses oscillations superposes, disparat alors et laisse place un matriau plus rigide ( constantes rhologiques gales) qui retrouve plus rapidement et plus simplement sa position dquilibre.

7. COMPARAISON DES DIFFRENTES FORMULATIONS

83

Sur lexemple dun cube soumis la gravit, les positions extrmes atteintes avec les deux modles sont bien diffrentes (Fig. 4.16).

(a)

(b)

F IG . 4.16: Les positions extrmes atteintes par un cube soumis laction de la gravit en utilisant les lments nis explicites et le tenseur de Cauchy (a) et la version hybride que nous proposons par analogie avec les rsultats de la mthode de Vorono (b). La premire ligne montre le vecteur dplacement de chaque point.

On retiendra que cet oprateur hybride donne des animations trs stables qui, bien que moins complexes quavec Cauchy, permettent dobtenir un rsultat visuel convaincant. Noter que larticle tir des calculs de ce chapitre [DDCB00] faisait lamalgame entre cette mthode hybride et lutilisation du tenseur de Cauchy classique, car nous pensions alors que les termes hors-diagonaux sannulaient galement deux deux en 3D.

Comparaison des diffrentes formulations

Nous allons ici comparer diffrentes mthodes de simulation et en particulier mesurer leur indpendance la discrtisation. Le but est dobtenir des courbes aussi similaires que possible sur des simulations utilisant diffrentes rsolutions, pour pouvoir dvelopper des applications multirsolution.

7.1

Protocole de test

Lexemple dcole que nous avons choisi est un cube homogne de 10 centimtres de ct et dune masse dun kilo. Une de ses faces est maintenue immobile, colle verticalement contre un mur. On mesure la position dun des coins du cube lorsque celui-ci oscille sous leffet de la gravit, en labsence de toute force de frottement (quelques images de lanimation ont t prsentes au Chapitre 2, page 38). La position de dpart est non dforme, sans vitesse initiale. Cette animation a t faite avec trois discrtisations diffrentes du cube comportant respectivement 27, 57 et 135 points (soit 48, 122 et 448 ttradres) (voir Fig. 4.17).

84

CHAPITRE 4. NOUVEAUX OPRATEURS DIFFRENTIELS

(a)

(b)

(c)

F IG . 4.17: Trois rsolutions diffrentes vont tre simules. Le niveau 0 a 27 points (a), le niveau 1 en a 57 (b) et le niveau 2, 135 (c).

7.2

Les diffrents modles compars

Nous allons comparer les mthodes dlments nis explicites utilisant les tenseurs de Cauchy et GreenLagrange (dcrits en dtails dans le Chapitre 2 consacr llasticit linaire). Nous comparerons ces rsultats ceux obtenus avec la mthode base sur les Vorono dcrite dans ce chapitre. Nous testerons galement le modle hybride dtaill dans la section prcdente, issu dun mlange des oprateurs de diffrences nies et des concepts issus de la mthode base sur Vorono. Nous essaierons galement plusieurs mthodes de masses-ressorts (voir page 14) avec diffrents calculs de la raideur des ressorts : raideur constante, proportionnelle la longueur au repos du ressort ou calcule daprs la mthode Van Gelder [Gel98].

7.3

Rsultats

Dans toutes les courbes, le temps, en abscisse, est exprim en secondes et le dplacement vertical du point est exprim en mtres sur lordonne. Les trois courbes reprsentent chaque fois, de haut en bas, les niveaux 0, 1 et 2. Les diffrentes raideurs des simulations ont t choisies pour obtenir un mouvement de mme amplitude dans toutes les animations ( 7000 et 20000 pour Cauchy et Green-Lagrange, 2800 et 8000 pour la version hybride, k 0 05 7000 pour les masses-ressorts raideur constante, k l 0 7000 pour la version proportionnelle et k 20000 V pour Van Gelder). La frquence dchantillonage temporelle est de 800 Hz pour l 2 les niveaux 0 et 1 et de 1600 Hz pour le niveau 2, lintgration utilisant la mthode dEuler modie 9 . Le tenseur de Cauchy
0

0 -0.01 -0.02 -0.03 0 -0.01 -0.02 -0.03 0 -0.01 -0.02 -0.03 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

F IG . 4.18: Simulation avec le tenseur de Cauchy.


9 Voir

Annexe B.

7. COMPARAISON DES DIFFRENTES FORMULATIONS

85

Le tenseur de Cauchy donne des rsultats sinusodaux damplitude variable. Une analyse sur une plus longue priode montre quils sont en fait trs rguliers, la variation damplitude ayant elle aussi une frquence propre.
0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 -0.01 -0.02 -0.03 0 2 4 6 8 10 12 z 14 x y

F IG . 4.19: Tenseur de Cauchy, sur 15 secondes de simulation. La position en x,y et z du coin du cube fait

apparatre un mouvement rgulier. Lanimation montre bien lexpression de la combinaison de deux phnomnes : une oscillation rgulire, perturbe par un mode de rsonance de plus basse frquence qui module les oscillations. Bien que de forme similaire, il est noter que la frquence et lamplitude des oscillations ne sont nanmoins pas rigoureusement les mmes pour les trois rsolutions utilises. Augmenter la raideur du matriau pour avoir de plus petites dformations et donc rester plus proche du domaine de validit de ce tenseur ne change rien. Mme avec des oscillations de quelques millimtres damplitude, les diffrentes rsolutions ont encore des amplitudes et des frquences de mouvement variant dans un rapport de 1 2. La mthode base sur Gauss et Vorono

0 -0.01 -0.02 -0.03 0 -0.01 -0.02 -0.03 0 -0.01 -0.02 -0.03 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

F IG . 4.20: Simulation avec la mthode base sur les rgions de Vorono et le thorme de Gauss.

Les rsultats obtenus avec cette mthode sont bons, mais instables. Les oscillations sont propres, damplitudes identiques et de frquences trs proches. Malheureusement, des instabilits viennent perturber la simulation, dautant plus rapidement que lon utilise beaucoup de particules. Diminuer le pas de temps dintgration ne retarde pas lapparition de ce problme. Nous avons pu dterminer que ces perturbations taient lies loprateur grad div u, le laplacien ayant quant lui un comportement extrmement stable. Cette diffrence de comportement est assez tonnante au regard de la comparaison faite en Section 5.4 entre cette formulation et celle des lments nis avec le tenseur de Cauchy (qui elle nest pas ainsi perturbe).

86

CHAPITRE 4. NOUVEAUX OPRATEURS DIFFRENTIELS

Ce terme en grad div u exprime rappelons-le la recherche dune prservation de volume du matriau. Nous avons donc ralis une simulation nutilisant que ce terme et dans laquelle on vient appuyer avec un outil virtuel sur un cube. Les forces qui sont calcules paraissent alors trs intuitives (voir Fig. 4.21), repoussant les points vers lextrieur de lobjet, dans les directions laisses libres.

F IG . 4.21: Les forces cres par loprateur grad div u sont bien celles que lon attend dun oprateur assurant une prservation de volume.

Le problme est que lorsque lon relche la pression exerce sur lobjet, celui-ci ne parvient pas conserver une position dquilibre stable. Il continue de se dformer, trs lentement : de faible amplitude au dpart, les forces gnres continuent dformer lobjet, lentranant dans un cercle vicieux vers des positions plus dformes et des forces plus importantes (voir Fig. 4.22).

(a)

(b)

(c)

(d)

F IG . 4.22: On constate une lente divergence de la simulation utilisant loprateur grad div u issu de la mthode de Vorono.

Une animation faite dans des conditions rigoureusement identiques en utilisant la mthode du tenseur de Cauchy ne fait pas apparatre de telle divergence. Lobjet garde sa forme dforme, compatible avec une prservation de volume, arrivant rapidement une position stable o les forces sannulent. Bien quextrmement proches mathmatiquement et gomtriquement (voir la comparaison Sec. 5.4), les deux mthodes simulent donc un comportement diffrent, la divergence du grad div u dans la mthode base sur les Vorono nayant pas trouv ce jour dexplication mathmatique. Les modles masses-ressorts Nous avons essay diffrents modles masses-ressorts en choisissant la raideur des ressorts selon divers critres. Celle-ci tait soit constante pour tous les ressorts, quelle que soit la rsolution employe, soit proportionnelle leur longueur vide pour prendre en compte les variations de longueur entre les rsolutions. Enn, nous avons galement implment le calcul prconis par Van Gelder [Gel98] (voir Chapitre 1, Sec. 11.4), et qui est suppos tre ce qui peut se rapprocher le plus des lments nis dans un formalisme de masses-ressorts. Les rsultats sont globalement moins rguliers quavec les modles continus, lamplitude des oscillations variant en particulier davantage. Cest particulirement le cas lorsque la raideur est choisie comme inversement

7. COMPARAISON DES DIFFRENTES FORMULATIONS


0 -0.01 -0.02 -0.03 0 -0.01 -0.02 -0.03 0 -0.01 -0.02 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

87

F IG . 4.23: Simulation avec des masses-ressorts. La raideur est une mme constante pour tous les ressorts.
0 -0.01 -0.02 -0.03 0 -0.01 -0.02 -0.03 0 -0.01 -0.02 -0.03 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

F IG . 4.24: Simulation avec des masses-ressorts. La raideur est proportionnelle la longueur vide du ressort.
0 0.01 0.02 0 0.01 0.02 0 0.01 0.02 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

F IG . 4.25: Simulation avec des masses-ressorts. La raideur est inversement proportionnelle la longueur

vide du ressort. Noter que pour obtenir des courbes damplitudes similaires, on a d utiliser des raideurs de respectivement 20, 13 et 6 pour les rsolutions 0, 1 et 2. proportionnelle la longueur vide des ressorts (voir Figure 4.25). Il faut alors rgler le coefcient de raideur pour obtenir des courbes de mme amplitude car sinon celle-ci est moins forte pour les rsolutions leves (ce qui est normal puisque la raideur augmente lorsquon rafne davantage). On pourrait vouloir compenser cette modication de raideur par un coefcient proportionnel la discrtisation, mais cela revient ici vouloir liminer le facteur l1 , ce qui ramnerait aux rsultats de la Figure 4.23. 0 Il faut ici exclure de lanalyse les rsultats peu probants obtenus sur le niveau 0 (niveau le plus grossier, courbes du haut), probablement dus au manque de cohsion dans le matriau li au faible nombre de ressorts. Pour les niveaux 1 et 2, on obtient dassez jolies sinusodes, bien que moins rgulires que prcdemment. Les raideurs constantes donnent un rsultat lisse, mais trs dpendant de la rsolution (comparer les frquences

88
0 -0.01 -0.02 -0.03 0 -0.01 -0.02 -0.03 0 -0.01 -0.02 -0.03 0 0.5 1 1.5

CHAPITRE 4. NOUVEAUX OPRATEURS DIFFRENTIELS

2.5

3.5

4.5

F IG . 4.26: Simulation avec des masses-ressorts. La raideur est calcule selon la formule de Van Gelder [Gel98].

Figure 4.23). Les simulations avec dautres raideurs font apparatre au niveau 2 (courbes du bas) des oscillations parasites qui viennent dgrader la forme sinusodale du signal. noter que bien que trs perturbe, lanimation obtenue avec Van Gelder (Fig. 4.26) au niveau 2 a une frquence doscillation trs proche de celle du niveau 1. Cest beaucoup plus loin dtre la cas avec les autres calculs de raideurs. Ces rsultats sont relativement meilleurs que ce que nous imaginions. Bien quassez perturbes, les sinusodes obtenues sont relativement proches, ce qui rehausse lintrt que lon peut avoir pour les masses-ressorts. Il faut nanmoins relativiser ces propos en rappelant que lexemple du cube, de forme trs rgulire se prte bien aux masses-ressorts, ceux-ci pouvant tre bien aligns lintrieur du matriau. Si lallure des mouvements (leur amplitude en particulier) est assez proche, le comportement dynamique est toutefois loin dtre identique entre les rsolutions, ce qui est gnant si lon souhaite utiliser plusieurs rsolutions ensemble. Reste galement rgler le problme des dissipations internes dnergie, lintroduction de ressorts amortis risquant de grandement perturber le comportement dynamique. La version hybride du tenseur de Cauchy
0.01 0 -0.01 -0.02 -0.03 0 -0.01 -0.02 -0.03 0 -0.01 -0.02 -0.03 0

0.5

1.5

2.5

3.5

4.5

F IG . 4.27: La version hybride du tenseur de Cauchy (le laplacien est calcul laide dun simple scalaire).

La version hybride du tenseur de Cauchy (voir Sec. 6) donne de bien meilleurs rsultats. Les courbes obtenues sont des sinusodes parfaites, qui ont toutes exactement la mme amplitude. Il subsiste une lgre diffrence en frquence, celle-ci augmentant lgrement avec la rsolution (on mesure 4.08, 4.12 et 4.16 Hz respectivement aux niveaux 0, 1 et 2). La simulation est trs stable, et nous avons simul 5 minutes de cette animation sans constater de divergence de la mthode. Lexistence dune position de rfrence contribue probablement beaucoup cette stabilit numrique.

7. COMPARAISON DES DIFFRENTES FORMULATIONS

89

Lutilisation de termes de frottements internes permet de diminuer lamplitude des oscillations. Nous vrions sur les courbes de la Figure 4.28 que ces forces dissipatives ne viennent pas perturber le bon comportement multirsolution de loprateur. 3.
0.0 Niveau 0 Niveau 1 Niveau 2 -0.005

-0.01

-0.015

-0.02

-0.025

10

20

F IG . 4.28: Lintroduction de frottements internes naltre pas le comportement multirsolution de loprateur hybride.

Ces courbes sont comparer avec celles obtenues avec celles obtenues avec notre premier modle (Chapitre 3, Figure 3.3b, page 49). Plusieurs dizaines de secondes de simulation sont ici possibles sans appartition de nette divergence entre les rsolutions, contre quelques secondes seulement avec la mthode du Chapitre 3. Ce modle se prte donc trs bien une utilisation multirsolution. Cest au prix dune simplication du mouvement gnr (le cube oscille en pratique selon un mouvement de cisaillement, sans vraiment se plier) que lon va pouvoir esprer mlanger les rsolutions. Le tenseur de Green-Lagrange
0 0.01 0.02 0.03 0 0.01 0.02 0.03 0 0.01 0.02 0.03

0.5

1.5

2.5

3.5

4.5

F IG . 4.29: Simulation avec le tenseur de Green-Lagrange.

Le modle de Green-Lagrange donne galement de trs bons rsultats. Les trois rsolutions produisent des oscillations similaires, en amplitude et en frquence. Les courbes ne sont pas aussi lisses quavec la mthode hybride, perturbes par de petites oscillations parasites. Les frquences varient galement davantage dune rsolution lautre (3.86, 3.67 et 3.4 Hz respectivement pour les niveaux 0, 1 et 2). Rappelons toutefois que ces rsultats sont obtenus en simulant un comportement de matriau beaucoup plus complexe quavec la mthode hybride. Lajout de forces dissipatives ne dgrade pas les qualits multirsolution de la mthode, comme le montre la Figure 4.30. Les premiers essais raliss avec cette mthode ont rvl un comportement numriquement instable, d en ralit une erreur dans le code. Cette divergence aprs quelques secondes danimation nous avait pouss chercher dautres mthodes et dvelopper la mthode hybride prsente plus haut (voir Section 6). Bien que plus chre numriquement (dun facteur 2 environ par rapport la mthode hybride ou celle base sur Cauchy), ce formalisme prsente de nombreux avantages qui en font un modle de choix pour une

90
0 -0.01 -0.02 0 -0.01 -0.02 0 -0.01 -0.02 0 0.5 1 1.5

CHAPITRE 4. NOUVEAUX OPRATEURS DIFFRENTIELS

2.5

3.5

4.5

F IG . 4.30: Tenseur de Green-Lagrange avec ajout de forces dissipatives internes.

simulation multirsolution. Cette mthode, compare aux autres mthodes de ce comparatif, produit en effet le mouvement du cube le plus raliste lors de lanimation, celui-ci se pliant naturellement (voir page 38). Elle permet de plus deffectuer une rotation globale de lobjet sans quil y ait cration de forces ( linverse de celles utilisant le tenseur de Cauchy, voir Chapitre 2), ce qui gnre une animation bien plus raliste. Malgr la lgre dgradation des courbes constate sur notre exemple, cette mthode permet une cohabitation de plusieurs niveaux de rsolutions diffrentes. Le ralisme des animations produites en fait donc un trs bon choix de modle pour une animation dobjets dformables, utilisant ou non la multirsolution 10.

Conclusion

Nous avons dans ce chapitre prsent un mode de calcul original des oprateurs diffrentiels utiliss dans lquation de Navier. Bases sur le thorme de Gauss et la dcoupe de lespace en rgions de Vorono, ces formulations font intervenir les proprits gomtriques du maillage, et donc la discrtisation de lobjet. Si lon reste dans le cadre de faibles dformations, on ne recalcule pas les diffrents coefcients au cours du temps, les supposant sufsamment constants. Le calcul des forces appliques en chaque point est alors une simple multiplication de coefcients gomtriques par les dplacements des points voisins, ce qui est rapide. Nous nous sommes attachs interprter chaque fois la signication pratique des mathmatiques intervenant dans les formules. Ces explications gomtriques et intuitives permettent de mieux saisir le comportement de lobjet que lon va simuler. Nous avons pu rapprocher nos formulations de celles obtenues par la mthode des lments nis. Identiques en 2D, les deux mthodes se rvlent trs proches en 3D. On notera toutefois que nous avons pu mettre en vidence linutilit en 2D des coefcients hors-diagonaux du tenseur reprsentant le laplacien en lments nis, sources de bruit et dinstabilits. Ce rsultat et le rapprochement des deux mthodes contribue offrir un point de vue nouveau sur la mthode des lments nis. Les subtiles diffrences entre les deux modles sufsent introduire des instabilits dans la version 3D des oprateurs, ce qui fait quil ne semble pas y avoir dtat dquilibre dans la mthode base sur Vorono et que lon assiste une lente divergence de la simulation. En rapprochant les deux mthodes, nous avons dni un tenseur hybride, version scalaire de celui de Cauchy, qui simplie les rponses aux dformations du matriau. La comparaison gnrale de diffrentes mthodes de simulation faite la n de ce chapitre (Cauchy, GreenLagrange, hybride, Vorono et masses-ressorts) permet de mettre en vidence la grande indpendance la rsolution de ce nouveau modle hybride bas sur le tenseur de Cauchy scalaire. Bien quun peu moins parfait, le modle de Green-Lagrange se prte lui aussi bien la simulation multirsolution. Le chapitre suivant va dcrire comment plusieurs maillages vont pouvoir tre utiliss dans un algorithme multirsolution qui sappuiera sur la description des oprateurs diffrentiels que nous venons de proposer.

10 Lannexe

C dcrit en dtails limplmentation de ce formalisme dans le cadre des lments nis explicites.

CHAPITRE

Modle multirsolution hirarchique

N A TUDI dans le prcdent chapitre la formulation doprateurs diffrentiels efcaces et indpendants de la rsolution. Leur utilisation dans un algorithme multirsolution va consister utiliser simultanment plusieurs maillages de rsolutions diffrentes. Lintroduction de points fantmes permettra ces maillages de communiquer et il ne restera qu choisir quelle rsolution est la mieux adapte chaque zone de lobjet. Les mthodes dcrites dans ce chapitre ont fait lobjet dune publication Computer Animation [DDCB00] (avec le modle hybride, voir Chapitre 4) et Siggraph 2001[DDCB01] (avec le tenseur de Green-Lagrange et lintgration semi implicite).

Ide gnrale

Lalgorithme expliqu dans ce chapitre sappuie sur une dcoupe de lobjet en un maillage de ttradres. Ce choix prote de la simplicit et de la souplesse de ces maillages, ttradres. Ce choix prote de la simplicit et de la souplesse de ces maillages, seuls capables de mailler tout objet dlimit par une surface triangule. La notion de voisinage entre points se dduit du maillage, les points voisins tant ceux relis par une arte de ttradre. Nous supposerons ici que chaque point est capable de calculer la force qui lui est applique en fonction des seuls dplacements de ses voisins. Outre les mthodes dlments nis explicites ou celles bases sur les rgions de Vorono vues dans le chapitre prcdent, on pourrait donc utiliser lalgorithme que nous allons dcrire avec les oprateurs de la premire mthode de cette thse (Chapitre 3), voire avec une mthode de type masses-ressorts si lon est capable de la rendre sufsamment indpendante du maillage. De la qualit du maillage dpend grandement celle des rsultats numriques obtenus, en particulier avec la mthode des lments nis. Le ttradre idal est rgulier, toutes ses artes ayant la mme longueur. Il est en pratique impossible de mailler un volume en utilisant uniquement de tels ttradres rguliers, mais on peut avec une mthode de relaxation essayer de sen approcher. Lide gnrale de la mthode prsente ici est quil serait la fois coteux en temps de calcul et insatisfaisant au niveau de la simulation numrique dessayer dadapter le maillage en fonction de la simulation. Il faudrait en effet subdiviser les ttradres existants lorsque lon cherche ajouter des points [HPH96, OH99]. Il nexiste malheureusement pas de dcoupe rgulire dun ttradre, et lon est forcment amen dgrader la qualit du maillage (en terme dangles didriques et de rapport des longueurs dartes). Des tudes ont t faites sur le type de subdivision possible et loptimisation de la position des points ajouts [PLL98]. Il 91

92

CHAPITRE 5. MODLE MULTIRSOLUTION HIRARCHIQUE

nexiste pas de solution optimale et lon ne peut assurer la qualit du maillage gnr. On pourrait envisager de remailler compltement lobjet lorsque les ttradres sont de trop mauvaise qualit, mais cette opration est coteuse et incompatible avec le temps-rel. Il faut galement sassurer que le maillage reste conforme chaque instant. Enn, on a peu de chances de retrouver un maillage de grande qualit lorsque lon revient dans la position non dforme, suite aux regroupements successifs. Dailleurs, la simplication du maillage peut elle-mme poser problme. Regrouper localement plusieurs ttradres en un seul peut amener des maillages de mauvaise qualit dans lesquels des ttradres de tailles trs diffrentes cohabitent et ne peuvent se simplier. On peut viter ce problme en imposant que seuls les ttradres issus dune mme subdivision puissent se regrouper, ce qui restreint la souplesse du procd. Conserver un historique des subdivisions peut alors permettre de revenir au maillage initial, suppos de bonne qualit. En pratique, on constate une divergence de la simulation, lie la dgradation du maillage, aprs deux ou trois subdivisions successives des ttradres. Cest cette constatation qui nous a dcids dvelopper une mthode base de maillages xes, de grande qualit, pouvant ensembles approximer plusieurs chelles un mme mouvement.

2
2.1

Cohabitation de diffrents maillages


Cration des maillages

Les diffrents maillages utiliss sont totalement indpendants les uns des autres et nont en particulier pas partager de sommets. Ils reprsentent le mme objet des rsolutions diffrentes, leur cration pouvant comporter une phase doptimisation visant rendre les ttradres aussi rguliers que possible. Nous utiliserons dans nos simulations entre 2 et 7 maillages diffrents pour un mme objet. Il est noter que quelques dizaines de points sufsent gnrer le mouvement gnral dun objet. On nutilisera les maillages ns que pour simuler le mouvement de dtail de petites zones, souvent proches de loutil. En pratique, nous avons utilis les logiciels qslim [GH97] et GHS3D [SIM] pour crer nos maillages. Lobjet initial est donn par sa reprsentation surfacique dtaille, sous forme dune surface triangule. qslim permet de simplier ce maillage pour obtenir des reprsentations avec plus ou moins de triangles du mme objet. Une option du programme permet dimposer la cration de triangles aussi rguliers que possible. Ces diffrents maillages surfaciques sont ensuite maills volumiquement par GHS3D qui infre la taille donner aux ttradres internes de celle des triangles surfaciques. Le maillage volumique comprend une optimisation de la position des points internes visant galiser la longueur des artes (voir Fig. 5.1). On dispose aprs maillage de statistiques sur la qualit des ttradres crs. Il peut arriver quune diffrence de quelques triangles sur la surface conduise des maillages volumiques de qualits assez diffrentes. Aussi avons-nous utilis un script qui, une fois le nombre approximatif de ttradres dsirs donn, simplie le maillage surfacique de lobjet pour obtenir plus ou moins de triangles et ne conserve parmi les maillages volumiques rsultants, que celui correspondant aux meilleures statistiques.

2.2

Interface entre deux maillages

Supposons dans un premier temps que notre objet soit maill avec deux maillages diffrents, lun n et lautre plus grossier. Imaginons de plus quune moiti de lobjet doive tre simule avec le maillage n, lautre pouvant se contenter des calculs plus approximatifs du maillage grossier. La simulation de chacune des deux parties se fait trs bien en utilisant les algorithmes et les oprateurs vus prcdemment, et il ne reste qu grer linterface entre les deux maillages pour que lobjet forme un tout et ne soit pas la simple juxtaposition de deux simulations. Pour ce faire, nous utilisons une technique qui peut tre rapproche de la mthode de dcomposition de domaine1. Les deux maillages vont lgrement se superposer et certains de leurs sommets, que nous dsignerons par le terme de fantmes, serviront alors faire linterface entre les deux maillages.
1 Voir

www.ddm.org pour de plus amples informations.

2. COHABITATION DE DIFFRENTS MAILLAGES

93

F IG . 5.1: Le maillage triangulaire original (34700 triangles) est dgrad diffrents degrs (ici 550, 130 et 30

triangles), puis maill volumiquement (1874, 172 et 28 ttradres, ligne du bas). Pour cohabiter, les deux maillages ont seulement besoin de connatre la valeur du champ dplacement dans la zone situe linterface. Cest en effet la seule donne ncessaire aux points pour calculer leur mouvement. Les points fantmes dun maillage porteront cette information de dplacement. Ils la dduiront de lautre maillage et la communiqueront leurs voisins du mme maillage, servant ainsi dinterface.

2.3

Les points fantmes

Chaque point dun maillage pourra avoir lun des statuts suivants : Un point actif calculera la force quil subit chaque pas de temps en fonction des dplacements de ses voisins. Il intgrera cette force pour trouver sa nouvelle position et donc son nouveau dplacement. Un point inactif ne sera simplement pas simul. Entre les deux, nous trouverons les points fantmes. Ceux-ci ne calculent pas de force, mais auront un dplacement actualis en fonction de celui du maillage actif de la mme zone. Un point actif aura donc pour voisins dautres points actifs (aux dplacements ractualiss) ou des points fantmes (aux dplacements interpols), qui tous lui indiqueront quelle est la dformation locale dans la zone qui lentoure. Ce point ragira en sommant les inuences de ses diffrents voisins, prenant ainsi, en particulier, en compte le dplacement de la zone dinterface (voir Fig. 5.2). Un point fantme dduira son dplacement de celui du ttradre du maillage actif dans lequel il est situ. On ne peut en effet avoir de meilleure estimation de ce qui ce passe en ce point quen utilisant le ttradre qui le contient car cest lui qui reprsente cette partie de lespace pour ce maillage. Le point fantme utilise ses coordonnes barycentriques dans ce ttradre pour calculer la valeur de son propre dplacement en fonction des valeurs du dplacement aux quatre sommets du ttradre englobant (les points Q i de la Figure 5.2 pour lexemple du point F). Une moyenne pondre par les coefcients barycentriques des dplacements est quivalente une interpolation linaire de la valeur du champ lintrieur du ttradre. Cette interpolation est cohrente avec la mthode de calcul choisie pour les oprateurs diffrentiels, qui elle aussi suppose que le champ est linaire par morceaux sur chaque lment. On najoute donc pas ici dhypothses de continuit, se contentant dtre en accord avec les hypothses faites prcdemment.

94

CHAPITRE 5. MODLE MULTIRSOLUTION HIRARCHIQUE


11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 Q2 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 Q 11111111111111111111111 00000000000000000000000 1 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 F 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 Q3 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 P 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000

Zone dinterface

Points actifs

Points fantomes

F IG . 5.2: Le voisin F de P est fantme et sert P savoir ce qui se passe sa droite. Il interpole son dplacement daprs celui des points Q i du maillage n.

En pratique, le point fantme aura valu ses coordonnes barycentriques dans la position de repos et les utilisera comme poids durant la simulation. Lvaluation du dplacement dun point fantme ne ncessitera donc que quatre multiplications scalaire-vecteur et trois additions de vecteurs, ce qui est beaucoup plus rapide que lvaluation et lintgration de la force subie que ralise un point actif. Il est normal de considrer ces coefcients pondrateurs comme constants au cours de la simulation. On peut en effet voir le point fantme comme pris dans un ttradre glatineux, dont il va suivre les dformations. Ses coordonnes intrinsques lintrieur de ce ttradre ne varient donc pas au cours de la simulation. Il peut arriver, au bord de lobjet, quun point fantme dun maillage n ne soit pas lintrieur dun ttradre du maillage grossier. Nous le lierons alors avec le ttradre le plus proche, avec une de ses coordonnes barycentrique ngative, de sorte quil extrapolera nanmoins le dplacement du ttradre. Ce que nous venons de dcrire pour deux maillages peut se gnraliser, condition de bien prendre soin lapparition des zones dinterface. Il faudra en particulier veiller ce que les points actifs aient bien des voisins actifs ou fantmes et que les fantmes soient capables dinterpoler leur dplacement. Les conditions et la mise jour de la structure lors du changement de statut dun point sont lobjet de la section suivante, qui va permettre de choisir localement les maillages les mieux adapts au cours de la simulation.

3
3.1

Adaptation de la simulation
Structure de donnes hirarchique

Les sommets des diffrents maillages vont tre relis, dans la structure de donnes, avec les ttradres des deux maillages de rsolutions directement infrieure et suprieure. Chaque point stockera son ttradre parent (maillage plus grossier) et ls (maillage n), ainsi que ses coordonnes barycentriques dans ces deux ttradres. Il pourra ainsi, sil devient fantme, dduire son dplacement de celui des autres maillages (Fig. 5.3). Chaque point stockera galement une liste de points ls, dnis comme tant ceux du maillage immdiatement infrieur (plus n) situs lintrieur de sa rgion de Vorono, dnie par les voisins du point de mme niveau que lui (voir Fig. 5.4). Puisque situs lintrieur des rgions de Vorono, les points dun maillage n ne peuvent tre ls que dun point du maillage grossier. Cette relation permet donc de dnir une structure darbre couvrant tous les sommets des maillages, chaque pre tant li ses ls (voir Fig. 5.4). On stocke aussi dans chaque point lensemble des premiers voisins de ses ls (hormis les ls eux mmes). Ces points seront en effet ncessaires aux ls lorsquils deviendront actifs pour pouvoir calculer une force (Fig. 5.4).

3. ADAPTATION DE LA SIMULATION

95

F2

C1 C2
F1

F3

C3
F IG . 5.3: Liaison des maillages (en 2D) : en fonction des maillages effectivement simuls, le sommet C 1 pourra calculer sa position partir de celles des points F1 F2 F3 du maillage n. Les dformations pourront aussi tre propages aux noeuds du maillage n : F1 pourra dduire sa position de celle des points C 1 C2 C3 de son triangle parent.

11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000

Parent Fils Premiers voisins des fils


111111 000000 111111 000000 111111 000000 111111 000000 Region de Voronoi 111111 000000 111111 000000

F IG . 5.4: Les ls dun point sont les sommets du maillage n situs dans sa zone de Vorono. Ce sont eux qui remplaceront le point lorsquil se subdivisera. On stockera galement la liste des premiers voisins de ces ls.

3.2

Subdivision et regroupement dun point

Lorsquun point actif de lun des maillages devient trop grossier pour reprsenter les dformations de cette zone, il se subdivise et est remplac par ses ls. Il acquiert alors le statut de fantme : il dduira son dplacement de celui de son ttradre ls. Sa position pourra tre utilise par ses voisins, qui peuvent eux tre encore actifs. Ses ls ont quant eux le statut dactifs, et ils simuleront plus prcisment les dformations de la rgion de Vorono du point subdivis. Pour pouvoir se simuler, les points ls crs ont besoin davoir des dplacements actualiss en chacun de leurs voisins. Cest cela que vont servir les premiers voisins des ls, qui deviendront fantmes (ou resteront actifs sils ltaient dj) lors de la subdivision. Ces premiers voisins fantmes vont donner aux ls les dplacements des zones voisines, soit directement sils sont actifs (leur particule parente stant divise), soit par moyenne, en utilisant une interpolation sur leur ttradre parent. Inversement, on pourra simplier une zone de lespace en remplaant un ensemble de ls par leur parent, celui-ci redevenant actif. Les points ls ne disparaissent pas forcment de la simulation car ils peuvent tre ncessaires comme fantmes, voisins dun point encore actif. Pour le savoir, un compteur indique combien de fois chaque point a t sollicit pour tre premier voisin actif. Ce compteur est mis--jour lors de la subdivision ou du regroupement dun point, et lon sait quand il est zro que le point ls peut tre supprim lors du regroupement.

96

CHAPITRE 5. MODLE MULTIRSOLUTION HIRARCHIQUE

3.3

Critres de subdivision-regroupement

Les critres de subdivision et de regroupement des particules sont galement les mmes que ceux dcrits au Chapitre 3, Sec. 4.5, page 54. Ils sont nouveaux bass sur la variation damplitude de la norme du laplacien, qui reprsente la drive seconde locale du champ, et donc son inadquation avec le modle linaire utilis pour calculer les oprateurs. Rappelons que contrairement ce qui est dcrit au Chapitre 3, on na pas ici chercher conserver un octree restreint.

4
4.1

Rafnements du modle
Utilisation dun octree non restreint

Contrairement ce qui avait t fait dans le premier modle de cette thse (Chapitre 3), nous avons ici choisi de ne pas nous limiter la cration dun octree restreint. Une zone simule avec des particules actives dun certain niveau pourra donc ctoyer des rgions simules nimporte quel niveau de la hirarchie (et non plus seulement les niveaux directement infrieurs et suprieurs). Ce choix simplie grandement les procdures de subdivision et de regroupement de particules qui nont plus chercher conserver la structure doctree restreint. Outre lconomie faite en temps de calcul par les vrications supprimes, on gagne en simplicit et en lisibilit algorithmique, la conservation dun octree restreint tant en pratique trs subtile programmer efcacement. Justication La conservation dun octree restreint nest plus vraiment ncessaire avec notre mthode danimation puisque les rsolutions ne communiquent plus vraiment entre elles comme ctait le cas dans la premire mthode du Chapitre 3. Lutilisation de points fantmes fait que les dplacements dune zone dinterface peuvent tre dduits rcursivement de nimporte laquelle des rsolutions actives de cette zone. Sil y a plus dun niveau dcart entre une zone active et les points actifs dune zone dinterface voisine, les diffrents points fantmes vont permettre en transfrant linformation dun maillage au suivant de la propager jusqu la rsolution adquate. Les rsultats de la premire mthode ont galement montr quun critre de subdivision bien choisi, en loccurence fonction de la courbure du champ dplacement (voir Chapitre 3, Sec. 4.5), permet dobtenir en pratique une discrtisation intuitive du matriau, proche de celle dun octree restreint (voir Sec. 3.3). Nous esprons donc que la structure conservera delle-mme son caractre doctree (quasi) restreint. Subdivision modie Du fait de la non restriction un octree restreint, la procdure de subdivision dun point se trouve un peu modie. Les premiers voisins des points ls sont en effet toujours ajouts comme fantmes la simulation (sils ntaient dj actifs), mais doivent maintenant en plus sassurer quils seront capables de mettre jour leur dplacement. Il se peut en effet que les points composant leur ttradre parent ne soient pas encore actifs, cette rgion nayant pas t subdivise. Si tel est le cas, ces points seront eux aussi ajouts comme fantmes et iront chercher linformation au niveau suprieur. Cette procdure est rcursive et des fantmes sont ajouts tant que lon nest pas remont au niveau rellement actif de cette zone. Suppression des fantmes Tous ces points fantmes qui peuvent tre ajouts doivent donc aussi tre supprims lors du regroupement de la particule. Il est assez lourd de conserver dans chacun de ces points fantmes un compteur indiquant le nombre de particules de niveaux infrieurs ayant encore besoin du dplacement de ce point pour mettre jour leur propre dplacement par interpolation. Il faudrait alors chaque regroupement parcourir rcursivement les points fantmes des ttradres parents des premiers voisins pour voir sils ne peuvent tre supprims. Il est de plus possible quun de ces points, juste aprs avoir t supprim, soit de nouveau ncessaire comme fantme, une nouvelle subdivision le rclamant. Aussi avons-nous mis en place un processus de ramassemiettes qui servira supprimer les points fantmes devenus inutiles.

4. RAFFINEMENTS DU MODLE

97

Rgulirement, et en pratique chaque afchage de la scne (soit gnralement tous les 32, 64 ou 128 pas de simulation selon le pas de temps utilis), lensemble des points fantmes non subdiviss est parcouru pour y supprimer ceux devenus inutiles. Les points fantmes subdiviss ne sont pas tests car on les sait probablement utiles la simulation. Il est possible, si le matriau est trs largement subdivis, quun point fantme dun niveau trs grossier ne serve plus, tous ses voisins tant galement fantmes. Ce cas apparaissant rarement et ne concernant que quelques points au plus, nous ne le traitons pas.

4.2

Mise jour des points fantmes

Nous avons mis en vidence un problme avec cette mthode lorsque les maillages successifs de lobjet ne sont pas sufsamment imbriqus. Il peut en effet arriver que les quatre points du ttradre ls dun point donn (ceux qui serviront calculer son dplacement une fois subdivis) ne soient pas tous directement des ls de ce point (le point F dans la Figure 5.5).

111111111111111111 000000000000000000 111111111111111111 000000000000000000 F 111111111111111111 000000000000000000 111111111111111111 000000000000000000 111111111111111111 000000000000000000 111111111111111111 000000000000000000 111111111111111111 000000000000000000 111111111111111111 000000000000000000 111111111111111111 000000000000000000 111111111111111111 000000000000000000 111111111111111111 000000000000000000 P 111111111111111111 000000000000000000 111111111111111111 000000000000000000 111111111111111111 000000000000000000 111111111111111111 000000000000000000 111111111111111111 000000000000000000 111111111111111111 000000000000000000 111111111111111111 000000000000000000

F IG . 5.5: Un des points (F) du ttradre ls de P ne fait pas directement partie des ls de P.

Si lun des quatre points F i du ttradre ls ne fait pas partie des ls dun point P donn, on obtient une conguration assez confuse lors de la subdivision de P. Sa position dpend alors en effet de celle dun point F qui peut tre galement fantme (si les zones voisines de P ne se sont pas subdivises). Si tel est le cas, on a alors une drive systmatique de la position du point P. Les positions des points fantmes F et P dpendent alors en effet mutuellement lune de lautre. Selon lordre dans lequel on calcule ces positions, on introduira alors forcment une drive dans leurs positions, lune tant mise jour avec un pas de simulation de retard sur lautre. Cela se traduit dans les simulations par un phnomne damplication des oscillations, une sorte dinertie articielle tant alors introduite. Pour viter ce problme nous avons choisi de dclarer comme actifs tous les sommets du ttradre ls dun point qui se subdivise. On vite ainsi de crer cette boucle de dpendance. Lautre solution pourrait tre dutiliser des maillages qui vitent ce genre de problmes, ce qui est faisable si lon augmente la diffrence entre les rsolutions de deux maillages successifs. Plus gnralement, et pour vraiment pouvoir considrer les points fantmes comme des points au dplacement correctement ractualis, il faudra veiller ce que leur mise jour se fasse dans un ordre donn. Il faudra mettre leur position jour en remontant dans larbre, des feuilles vers la racine, les points fantmes dpendant dautres points fantmes tant mis--jour aprs ceux-ci. Linformation la plus jour contenue dans les feuilles (particules actives) sera ainsi bien propage tous les niveaux sans introduire de retards.

4.3

Intgration temporelle

Nous avons essay dutiliser diffrentes mthodes dintgration temporelle sur ce modle. Nous nous sommes limits des mthodes ne demandant quune seule valuation par pas de simulation 2 . Euler modi2 Toutes

ces mthodes sont dcrites en Annexe B.

98

CHAPITRE 5. MODLE MULTIRSOLUTION HIRARCHIQUE

et Stoermer donnent rigoureusement les mmes rsultats. On prfrera utiliser Euler modi car il fournit une expression de la vitesse des points, ncessaire au calcul des forces de frottement internes. Newton-Cotes est, quand lui, bien moins stable. Tout comme dans le Chapitre 3 (voir page 55) consacr notre premier modle, les particules bncient ici aussi dune multirsolution temporelle, base sur les mmes critres (critre de Courant et limitation de la modication de la vitesse). Utilisation dun W-cycle Diffrentes listes contiennent chaque instant la liste des particules utilisant un dt i donn. Rappelons que ces dti sont des sous-multiples par une puissance de deux du dt dafchage. dti dtafchage 2i

Un schma de type leap-frog, aussi nomm W-cycle, permet dviter que certains pas de simulations aient simuler tous les dti alors que dautres pas ne simuleront que le niveau dt max . Si tel est le cas, la dure de calcul de ces diffrents pas peut varier normment, ce qui nuit une simulation temps-rel. Au lieu de cela, la simulation des diffrents dt i sera rgulirement rpartie, chaque pas de simulation ncessitant un temps de calcul plus constant, puisquil ne simule que deux (voire un) dt i chaque tape (Fig. 5.6).

dt aff

dt aff

dt m2

dt m2

dt m1 dt max Pas de simulation

dt m1 dt max Pas de simulation

F IG . 5.6: La synchronisation dcale des simulations des diffrents pas de temps permet dviter les goulots

dtranglement en rpartissant la charge sur toute la simulation.

Intgration semi-implicite Nous avons galement implment une intgration semi-implicite, inspire des mthodes de [DSB99] 3 . Cette terminaison nest pas ofcielle et sinspire de la diffrence entre lments nis explites et implicites. Plutt que dinverser chaque pas de temps une matrice globale reprsentant tout le systme comme le fait lintgration implicite, nous allons une nouvelle fois approximer localement les effets de lintgration implicite.
f Nous allons prcalculer pour chaque particule la matrice jacobienne de sa force J x . Cette matrice est une approximation au premier ordre de la force subie par cette particule lorsquelle se dplace. Pour lestimer, nous calculons la force subie par chaque particule lorsquelle est dplace dans les trois directions x,y et z, en supposant xes et leur position de repos toutes les autres particules. Lamplitude de ce dplacement na pas dimportance dans le cas linaire (tenseur de Cauchy, mthode hybride), un dplacement double crant une force double et donc un jacobien identique. Il nen va pas de mme losque lon utilise le tenseur de Green-Lagrange, et nous choisissons alors de dplacer la particule avec une amplitude voisine de celle quelle subira lors de la simulation. En pratique nous avons x cette amplitude 1/10me de la distance inter-particulaire minimale du maillage auquel appartient la particule.

Comme dans [DSB99], nous allons supposer cette matrice J constante au cours du temps, ce qui permet dapproximer une intgration implicite pour un cot modique. Lintgration semi-implicite consiste alors simplement en la multiplication chaque pas de temps de la vitesse par une matrice prcalcule.
3 Voir

les dtails en Annexe B.

5. SIMULATION TEMPS-REL

99

f dt 2 1 dt v I 3 J x v dt (5.1) m m Lapplication de ce procd semi-implicite stabilise lintgration temporelle et nous permet en pratique de doubler le pas de temps dintgration sans quapparaissent dinstabilits. Les forces de frottements additionelles cres par cette mthode peuvent tre compenses en rduisant les coefcients et qui quantient la dissipation interne (quation 2.22). Noter toutefois que ces frottements dissipent galement les rotations rigides de lobjet, linverse des frottements issus de lquation 2.22, ce qui peut tre gnant dans certaines applications. v

Simulation temps-rel

Nous allons ici expliquer comment obtenir un simulateur chirurgical temps-rel utilisant le modle multirsolution de ce chapitre.

5.1

Paralllisation

Lune des machines utilise pour les dmonstrations du prototype de simulateur comporte six processeurs. Nous avons donc cherch utiliser cette puissance pour acclrer lexcution du programme. Plusieurs processus diffrents vont pouvoir tre lancs simultanment. Ils partageront la mme zone de mmoire ( lexception du processus grant la boucle de simulation du Phantom) et seront synchroniss laide de smaphores. Le premier de ces processus gre donc le retour haptique utilis par le bras retour deffort Phantom. Ce processus bncie dune priorit real-time qui assure quil sera mis--jour la frquence de 1000Hz. Cette frquence de rafrachissement de la force est en effet impose par le Phantom pour maintenir une sensation de force cohrente. Notre simulation ne met pas forcment jour la force cette frquence (en pratique ce sera fait une frquence variant entre 400 et 3700Hz) et ce processus se contente denvoyer nouveau la dernire force impose en attendant la suivante. Il met galement jour les variables indiquant la position du bras. Rcuprer les positions et envoyer des forces se fait donc de manire asynchrone par le programme principal de la simulation. Les diffrentes tapes de la simulation proprement dites sont les suivantes (le pourcentage indique grossirement la part du temps de la simulation consacre chaque partie) : simulation du modle interne (60%) ; mise--jour des positions des points de la surface (5%) ; dtection des collisions entre la surface et loutil (20%) ; afchage de la scne (15%) ; attente ventuelle pour se synchroniser avec lafchage. La version mono-processus excute ces tches, dans cet ordre, entre deux afchages successifs. La version multi-processus va sparer la simulation du modle interne, partie la plus coteuse de lalgorithme, dans un processus part. Apparaissent alors des dpendances entre les processus : la simulation ne peut dbuter quaprs la dtection de collision et doit se terminer avant la mise--jour des points de la surface. Nous avons dcid de dcaler dun afchage la dtection et la rponse aux collisions an de dsynchroniser ces deux tapes. Lafchage prendra en compte la collision qui a t faite au pas de simulation prcdent en non plus celui qui vient davoir lieu. Ce dcalage de 1/25me de seconde nest pas visible en pratique et la surface semble toujours bien repousse hors de loutil. Le graphe reprsentant la simulation devient alors : Noter quil est alors possible que la simulation du pas suivant commence avant lafchage courant. On optimise ainsi le temps de calcul utilisable par la simulation qui peut aller jusqu celui sparant deux afchages moins le temps (court) ncessaire la mise--jour de la surface. Enn, un autre processus a t utilis pour grer lafchage de textures dynamiques gourmandes en calcul sur la surface du foie (gouttes de sang, blanchiment, brlures). Nous ne dtaillerons pas davantage ce procd li au rendu de lobjet et dvelopp dans le cadre de laction incitative AISIM.

100

CHAPITRE 5. MODLE MULTIRSOLUTION HIRARCHIQUE


Programme principal Processus danimation Affichage de la scne Affichage Calcul dun Dtection de collision pas de simulation

dbloquer Misejour de la surface Attente Sync. Calcul dun Affichage Dtection de collision pas de simulation Affichage de la scne dbloquer

Misejour de la surface

F IG . 5.7: Le programme principal et le processus charg de lanimation sont lis par un systme de smaphores assurant leur synchronisation.

5.2

Temps-rel vrai

Un petit processus annexe sert uniquement compter le nombre de rafrachissements dcran effectus depuis le dernier afchage. Il sert assurer une simulation en temps-rel vrai en faisant en sorte que le programme attende ventuellement pour afcher une nouvelle image (tape Attente Sync de la Figure 5.7). On garantit ainsi que, mme si lon peut calculer plus vite que ncessaire, on attendra pour respecter le temps-rel. Cette attente, mme inme est ncessaire, et il faudra veiller ne pas dpasser le temps imparti, ce qui dcalerait lafchage dune frame. Pour ce faire, on peut limiter le nombre de particules de la simulation en limitant la subdivision. Une variable indique en permanence le pourcentage de temps pass la simulation pour le pas prcdent, par rapport au temps total disponible entre deux afchages. Un seuil ne pas dpasser (95% dans nos exemples) dtermine sil est encore possible de subdiviser. On garantit ainsi un afchage rgulier de la scne.

Rsultats

Nous prsentons ici quelques images issues de la simulation. La Figure 5.8 montre linuence de laugmentation du terme de prservation de volume sur la forme de lobjet dform.

a 50000 (b) et 500000 (c).

c 0 (a),

F IG . 5.8: Inuence de laugmentation de sur la prservation de volume. Les images reprsentent

Lorsque loutil vient appuyer trop fortement sur la surface, les maillages plus ns deviennent actifs dans cette zone, montrant ainsi ladquation du critre bas sur le laplacien pour dnir les points subdiviser ou regrouper.

7. CONCLUSION

101

c tion intuitive des zones proches de loutil.

F IG . 5.9: Lutilisation des maillages ns, faite daprs des critres lis la continuit, rsulte en une discrtisa-

F IG . 5.10: Autre exemple dobjet dformable. Les secousses appliques sur le ventre de ce bonhomme se rpercutent sur ses bras qui oscillent lgrement.

Conclusion

Nous avons prsent dans ce chapitre un deuxime modle multirsolution, utilisant les oprateurs dcrits dans le chapitre prcdent. Loriginalit de cette approche rside dans lutilisation de maillages indpendants pour reprsenter lobjet. Chaque zone de lobjet est rellement simule en utilisant un et un seul des maillages, choisi en fonction des besoins de la simulation. Ces diffrentes zones interagissent avec les zones voisines, simules par dautres maillages, grce lutilisation de points fantmes. En propageant la dformation calcule dun maillage un autre, ces points fantmes permettent aux maillages de connatre la dformation de leur voisinage et peuvent ainsi simuler leur propre dformation. Bien que compos de diffrents maillages, lobjet forme donc un tout cohrent. Ce modle multirsolution tant mis au point, il reste l"habiller" en lui associant une surface. Ce lien entre la surface et le modle interne est le propos du prochain chapitre.

102

CHAPITRE 5. MODLE MULTIRSOLUTION HIRARCHIQUE

CHAPITRE

Interface avec lutilisateur

EAUCOUP du ralisme dun simulateur provient de la qualit des images afches. Le mouvement de lobjet dcrit lors des prcdents chapitres ne concerne que celui de particules reprsentant lintrieur de lobjet. Nous allons dans ce chapitre dcrire comment la surface de lobjet va rendre compte de ces dplacements. Nous dtaillerons galement la faon dont ont t implmentes la dtection et la rponse aux collisions avec un objet virtuel, et en particulier le calcul de la force renvoye quand on utilise un dispositif retour deffort. Cest donc, plus gnralement, de la gestion de linterface avec lutilisateur que nous allons maintenant discuter. Cette partie va permettre dutiliser les rsultats des chapitres prcdents en dcrivant la dernire couche du prototype de simulateur laparoscopique que nous avons cr.

Afchage de la surface

La surface sert non seulement reproduire les dformations calcules de lobjet, mais aussi, dans notre cas, cacher lutilisation dun processus multirsolution lutilisateur. Celui-ci na en effet pas tre troubl par la variation du nombre de particules utilises.

1.1

Liaison avec les particules

La surface des objets sera constitue de triangles, primitive classique et optimise pour lafchage dune surface. Le nombre de triangles composant la surface devra tre un compromis entre qualit et rapidit, dpendant des capacits graphiques de la machine. Ce choix naffecte pas la rsolution des maillages volumiques utiliss pour la simulation, la surface et le modle physique interne tant totalement dcorrls. En pratique, notre maillage triangulaire sera pour la plupart des objets celui correspondant au maillage ttradrique le plus n, compos de quelques milliers de triangles. La surface sera rattache aux particules internes laide de liens. Ceux-ci sont des vecteurs doffset o xes, qui dnissent la position n dun nud de la surface directement partir de celle p dune particule interne (Fig. 6.1) : n po 103

104

CHAPITRE 6. INTERFACE AVEC LUTILISATEUR

n o p

F IG . 6.1: Un nud de la surface est li une particule du modle interne grce un dcalage o.

Gestion de la multirsolution Un prcalcul permet de dterminer quelle est la particule la plus proche de tout nud de la surface ainsi que le dcalage o associ. Cette recherche est en fait ralise dans tous les maillages, de sorte quun nud pourra dduire sa position de celle de nimporte quel maillage, et en pratique de celui qui sera actif dans cette zone. La dnition des ls dune particule comme tant les particules du maillage infrieur situes lintrieur de sa rgion de Vorono assure quun nud de la surface sera li des particules faisant partie de la mme sous-branche de larbre : si un nud est li p dans un maillage, ce nud sera li lune des lles de p dans le maillage infrieur, et ainsi de suite. Parmi les diffrents points (un par maillage) auxquels un nud est li, un seul sera donc actif tout moment de la simulation. Lorsque la discrtisation interne volue et entre deux afchages successifs, il est donc trs facile chaque nud de dterminer quelle est le point actif parmi ceux auxquels il est li. Si ce nest celui quil a utilis pour dterminer sa position lafchage prcdent, cest donc son ls (ou son pre). On recherche donc, en partant du niveau utilis lafchage prcdent, quel est le niveau rellement actif pour ce nouvel afchage. Ce sera trs souvent le mme, parfois celui directement suprieur ou infrieur et trs rarement un niveau plus loign. Cette recherche est donc trs rapide. Lissage de la position La mthode prcdemment dcrite a linconvnient de dplacer trop grossirement les nuds de la surface lorsque la simulation utilise des maillages volumiques internes de faible rsolution. Dans ces cas l, on dduit en effet rigidement la position de quelques milliers de nuds de celle des quelques dizaines de particules simules. La consquence est que le mouvement de la surface se fait par plaques, chacune tant lie lune des particules internes actives. Pour viter ce problme et lisser les positions des nuds de la surface, nous utilisons un ltrage de la position de plusieurs particules internes pour dterminer la position dun nud. Nous avons choisi encore une fois la simplicit et la rapidit en effectuant une interpolation linaire de la position de plusieurs particules. Un nud va tre li trois particules, celles-ci formant le triangle au dessus duquel il se trouve (voir Fig. 6.2). Sa position sera alors une somme pondre des positions dcales des particules : n i 1 3 wi pi oi i 1 3 wi wi 1 oi (6.1)

Les coefcients pondrateurs w i sont pris comme tant inversement proportionnels aux distances entre le nud et les trois points p i (analogie avec coordonnes barycentriques de la projection du nud sur le triangle). Ils sont renormaliss de faon ce que leur somme fasse 1 et que lon vite ainsi deffectuer une division inutile. Toutes ces informations (w i , pi et oi pour chaque niveau de la hirarchie) sont prcalcules et stockes dans les nuds de la surface. Un nud est ainsi capable de dterminer, avec plus ou moins de prcision, sa position partir de celles des triangles du modle physique. Il utilisera un instant donn de la simulation le triangle mis--jour (i.e. compos de points actifs ou fantmes) offrant la meilleure prcision, cest--dire appartenant au niveau le plus n (voir Fig. 6.2). On obtiendra ainsi un dplacement optimal du nud en fonction de la prcision des dformations disponible dans sa zone. Il peut arriver avec cette mthode que la position dun nud change soudainement lors des subdivisions ou des regroupements de points, le nud changeant alors de triangle de rfrence. Pour viter cet effet de popping

2. COLLISIONS AVEC LOUTIL

105

P1
R1

Q1
R2 R3

P2

Q2

P3

Q3
F IG . 6.2: Un nud de la surface est li aux diffrents triangles surfaciques des maillages ttradriques.

de la surface, on pourra ajouter un lger ltrage temporel permettant de passer continuement, sur quelques images, dun triangle un autre. On peut aussi limiter ce phnomne en jouant sur les seuils de subdivision et de regroupement pour contrler partir de quelle distance de la position dquilibre (qui par construction ne produit aucun popping) on dcide de subdiviser, limitant ainsi les dplacements brusques. Ce modle base de dcalage rigide entre la surface et le modle interne est en thorie limit de faibles dplacements, et devrait en particulier mal supporter les rotations de lobjet. En pratique, les vecteurs de dcalage oi sont sufsamment petits pour que des rotations raisonnables ne produisent pas deffet visuel trop notable. Si ctait le cas, il sufrait de dnir les dcalages o i dans un repre local li chaque triangle. Cela demanderait simplement de mettre jour la normale de ces triangles, ce que nous navons pas jug ncessaire de faire.

Collisions avec loutil

Le simulateur chirurgical va consister principalement en un objet dformable (un modle de foie dans nos exemples) et un outil virtuel manipul par le chirurgien. Nous allons voir comment ces deux objets interagissent.

2.1

Dtection de la collision

Les mthodes classiques de dtection de collision sont bien adaptes aux objets rigides (partitionnement de lespace et botes englobantes pour acclrer la recherche). Pour traiter la collision avec un objet dformable, il convient dutiliser dautres mthodes. Dans le cadre de laction incitative AISIM [INR] a t mis au point une mthode trs rapide base sur lutilisation du matriel graphique [LCN99]. Protant du fait quun seul des objets est dformable et que loutil est de forme assez simple (voir Fig. 6.3a), lide est de placer une camra orthographique lintrieur de loutil pour obtenir rapidement les parties de la surface qui sont ventuellement intersectes. Un rendu horscran (offscreen) de la surface de lobjet, vue au travers de cette camra, et tirant ainsi parti des performances graphiques de la machine, peut fournir la liste des triangles intersects. Si loutil est dplac rapidement, et en fonction de la frquence des dtections, il peut avoir parcouru une grande distance entre deux dtections de collision successives. Ce cas peut tre trait en utilisant une camra projective classique et des plans de clipping qui dniront lespace dans lequel sest dplac loutil (voir Fig. 6.3c). Mme rapide (150 fois plus quavec des algorithmes de partitionnement de lespace comme Rapid), cette dtection reste assez chre. Aussi avons-nous choisi de ne la faire quavant chaque afchage de la scne et non pas chaque pas de simulation. En faisant ainsi concider afchage et dtection de collision, on sassure que lafchage prendra bien en compte la collision qui vient ventuellement davoir lieu. Les mouvements dun chirurgien tant assez lents et la dtection se faisant environ 25Hz, le dplacement de loutil est au plus de quelques millimtres entre deux dtections successives et il nest donc pas ncessaire dutiliser en pratique la version dynamique de la mthode(Fig. 6.3c) ou une dtection plus frquente.

106

CHAPITRE 6. INTERFACE AVEC LUTILISATEUR

(a)

(b)

(c)

F IG . 6.3: Une camra place lintrieur de loutil (a) permet de dtecter rapidement les collisions avec lobjet,

que lon considre loutil comme statique (b) ou dynamique (c).

2.2

Rponse la collision

Une fois la collision dtecte, reste la propager au modle physique interne. Cette partie est loin dtre vidente et la solution propose, bien que rapide, est parfois mise en dfaut en particulier quand la taille de lobjet est importante (ce qui nest pas le cas avec les outils laparoscopiques). La dtection de collisions a renvoy une liste de polygones, qui sont les intersections des triangles formant la surface avec le volume de vue de la camra (frustum). Le traitement dcrit ici va tre appliqu chacun de ces triangles. On calcule tout dabord le barycentre B du polygone dintersection entre le triangle et la camra (voir Fig. 6.4). Les trois sommets du triangle seront ensuite dplacs au prorata des coefcients barycentriques de B dans le triangle.
1111111111111111 0000000000000000 1111111111111111 0000000000000000 1111111111111111 0000000000000000 1111111111111111 0000000000000000 1111111111111111 0000000000000000 1111111111111111 0000000000000000 1111111111111111 0000000000000000 1111111111111111 0000000000000000 B 1111111111111111 0000000000000000 1111111111111111 0000000000000000 1111111111111111 0000000000000000 1111111111111111 0000000000000000 1111111111111111 0000000000000000

Frustum de la camera

Triangles de la surface
F IG . 6.4: Pour chacun des triangles intersects, on calcule le centre de gravit B de la zone dintersection. Les trois sommets du triangle seront dplacs en fonction des coefcients barycentriques de ce point.

Dterminer la meilleure direction de dplacement des nuds du triangle est assez complexe. Nous avons choisi de la diriger selon loppose de la normale du triangle, de sorte que la surface sera dplace le plus efcacement possible. Sa norme est telle que le centre de gravit B sorte de loutil. On ne garantit donc pas que le triangle sera totalement repouss hors de loutil, ce qui serait difcile calculer, mais on fait en sorte quil sorte sufsamment. En quelques itrations de lalgorithme, le triangle sera presque totalement hors de loutil. Un coefcient permet de rgler quel point on dsire pousser B hors de loutil. Il peut tre utile de le rgler en fonction de la rigidit de lobjet, mais un coefcient de 1 (le point B est repouss exactement la limite de loutil) donne de bons rsultats, la surface ne paraissant pas rester en collision. Une fois les points de la surface dplacs, il reste communiquer ce mouvement aux particules internes. Ceci est fait en utilisant le mme processus que celui qui avait permis, dans lautre sens, de dterminer la position de la surface partir de celle des particules. Les particules internes sont en effet dplaces en utilisant les poids wi et les dcalages oi (voir Eq. 6.1) qui les lient aux nuds de la surface. Chaque particule peut recevoir plusieurs dplacements, pondrs par les w i , de la part des diffrents nuds de la surface qui lui sont lis. Elle moyennera donc la n du processus de rponse aux collisions les dplacements quelle a reus pour savoir quelle est la relle inuence de loutil sur sa position.

3. RETOUR DEFFORT

107

Retour deffort

En plus dun afchage et dun mouvement de qualit, le retour haptique est une composante importante dun simulateur raliste. Diffrents systmes permettent de transmettre lutilisateur une force dpendant de ses gestes et de la simulation. On pourra se rfrer [Cot97, MPT99] pour un inventaire des techniques existantes. Nous avons utilis un dispositif de retour haptique de type PHANToM, produit par Sensable Technologies [Tec]. Donnant la position de ses 6 degrs de libert, il permet en retour de transmettre lutilisateur une force de direction et dintensit donnes.

F IG . 6.5: Le Phantom desktop.

3.1

Principe

Toutes les particules dplaces lors de la dtection de collision seront stockes dans une liste. Lors des pas de simulation qui auront lieu entre deux dtections de collision, ces particules calculeront bien la force qui leur est applique, mais ne lintgreront pas. la place, elle transmettront cette force lutilisateur, qui sentira donc leffet de son geste et devra contrecarrer cette force pour maintenir lobjet dans sa position dforme. On simule entre 16 et 128 pas de simulation entre chaque dtection de collision ce qui avec un afchage 25-30Hz correspond un retour haptique dune frquence allant entre 400 et 3700 Hz, compatible avec les sensations nes du toucher.

3.2

Lissage de la force

Si lon se contente de sommer les forces issues de toutes les particules dplaces pour les renvoyer loutil, on risque dobtenir des discontinuits dans la force. Un trs lger dplacement de loutil peut en effet le faire entrer en collision avec un nouveau triangle de la surface, de nouvelles particules internes venant ajouter leur force. On aura alors une soudaine et articielle augmentation de la force reue (et inversement une diminution si on quitte un triangle). Pour viter ce problme, il suft de quitter cette version discrtise de la surface pour repasser une version continue. La force ne sera pas alors directement lie au nombre de particules dplaces, mais plutt la surface de la zone de collision. On moyenne donc les forces issues des particules dplaces et on multiplie cette force moyenne par la surface de contact. Il apparat un autre problme avec la mthode prcdemment dcrite. Lorsque lon dplace les particules internes aprs la dtection de collision, celles-ci bougent soudainement puis restent immobiles pendant tous les pas de temps suivants, se contentant de transmettre la force calcule. Ce dplacement brusque cre une soudaine variation de la force, qui volue ensuite lentement durant les pas de simulation suivants. Pour viter ce problme, il suft dappliquer progressivement le dplacement li la collision. On divise donc le dplacement impos par les 16, 32, 64 ou 128 pas qui vont avoir lieu et on applique cette petite partie de dplacement chaque pas, la collision sappliquant ainsi continuement entre deux dtections. Le dernier problme rencontr avec le retour deffort vient de la rponse aux collisions qui repousse chaque triangle de plus en plus hors de loutil. Arrive un moment o le triangle est totalement sorti de loutil et nentre donc plus en collision. Les particules prcdemment immobiles qui y sont attaches se retrouvent libres et se dplacent donc dun coup vers leur position de repos. Elles entrent alors forcment en contact avec loutil qui na pas boug normment. Celui-ci les repousse fortement, crant un brusque -coup dans la force transmise. Cet inconvnient peut tre supprim en empchant que le triangle puisse tre totalement sorti hors de loutil. Au del dun certain seuil (0.1mm par exemple), on considre la collision comme sufsamment gre et lon arrte de repousser le triangle. On vite ainsi ce brusque retour dans loutil du triangle libr.

108

CHAPITRE 6. INTERFACE AVEC LUTILISATEUR

Il faut par contre faire en sorte dviter que le triangle ne colle loutil, le suivant dans ses dplacements puisquon lempche de totalement sortir. On pourra alors comparer la direction de mouvement de loutil, la normale la surface et la force subie par la particule pour reprer les cas o lon cherche sortir de lobjet et o il faut laisser sortir le triangle.

Conclusion

Nous avons dcrit dans ce chapitre la faon dont sont relies les particules internes et la surface afche de lobjet. Assez simples, ces mthodes permettent dobtenir rapidement un afchage correct dissimulant lutilisateur les changements de discrtisation interne. Le retour haptique apporte un grand ralisme la simulation et il convient de bien le rgler pour que des discontinuits ne viennent pas perturber les sensations obtenues. Le travail dcrit dans ce chapitre a t ralis en collaboration avec diffrents stagiaires intervenant dans le cadre des actions incitatives INRIA AISIM et CAESARE. Ils ont principalement contribu lintgration dans le simulateur des travaux raliss dans le cadre de laction incitative sur laspect rendu de lorgane simul. Pierre-Olivier Agliati a cr lossature du simulateur et y a intgr lafchage des reets dune lampe virtuelle sur lobjet. Antoine Leroy et Sylvain Trimoreau ont durant leur stage ajout la gestion des effets dynamiques (gouttes de sang, blanchiment, brlures) qui peuvent apparatre sur la surface. Ils ont galement modi la structure de donnes de la surface (utilisation de triangles fans et simplication de maillage) et ont paralllis le code.

c de surface (brlures, blanchiment, reets).

F IG . 6.6: Images du simulateur montrant quelques dformations du foie. La Figure (d) montre quelques effets

4. CONCLUSION

109

F IG . 6.7: Dautres exemples danimation, aux comportements plus ou moins rigides en fonction des paramtres choisis.

a interne correspondant (b).

F IG . 6.8: Le rendu nal utilise des textures denvironnement qui explicitent la dformation subie (a). Le maillage

110

CHAPITRE 6. INTERFACE AVEC LUTILISATEUR

Intel products are not intended for use in medical, life saving, or life sustaining applications. Intel Copyright Notice

Conclusion

PRS avoir dcrit dans ce mmoire les diffrentes pistes de recherche que nous avons suivies, nous souhaitons dans ce chapitre dresser un bilan du travail ralis durant cette thse. Nous en rsumerons les diffrentes contributions, pour ensuite dgager des pistes de recherche futures. Nous pourrons alors conclure et replacer ce travail dans un cadre plus gnral.

Rsum des contributions


Nous avons, lors de cette thse, cherch tirer parti de la multirsolution pour animer en images de synthse les dformations dobjets mous. Lapplication principale de ces travaux, lie au caractre temps-rel de notre simulation, est principalement la mise au point dun simulateur pdagogique de chirurgie laparoscopique. Aprs avoir inventori les techniques existantes et dtaill leur adquation nos buts, nous avons dcrit le formalisme utilis par les physiciens pour dcrire un matriau continu. Ce formalisme permet en effet, grce sa relative indpendance la discrtisation de lobjet, denvisager une simulation multirsolution. Il faut pour cela pouvoir calculer, sur une grille arbitraire, la valeur doprateurs diffrentiels du second ordre qui donnent lexpression de la force subie par chaque particule en fonction des dformations de lobjet.

Premier modle adaptatif


Nous avons pour cela mis au point un premier modle multirsolution adaptatif. Le calcul des oprateurs tait bas sur une extension en 3D des formulations issues des dveloppements de Taylor 1D exprims sur des points non rgulirement rpartis. Relativement insensibles la discrtisation, ces oprateurs ont ensuite t utiliss dans un algorithme adaptatif bas sur une dcoupe en octree de lespace. Les rsultats visuels obtenus avec cette mthode sont assez convaincants, mais la mthode pche mathmatiquement, lun des oprateurs tant incomplet.

Nouveaux oprateurs diffrentiels


Aussi avons-nous ensuite cherch mettre au point de nouveaux oprateurs diffrentiels, cette fois ci bass sur des considrations gomtriques (rgions de Vorono autour des particules) et mathmatiques (utilisation du thorme de Gauss) plus pointues. Les dmonstrations formelles de lexpression des oprateurs ont t suivies dinterprtations intuitives et gomtriques de leur signication et de leur comportement. Nous avons, en particulier, pu montrer lquivalence de cette mthode avec celle des lments nis linaires dans le cas 2D, ce qui apporte un clairage nouveau sur cette mthode. Ce rapprochement a permis dtablir que 111

112

CONCLUSION

le tenseur des lments nis comportait des termes inutiles se compensant dans les calculs, probables sources de bruit et dinstabilits. La comparaison en 3D a quand elle montr la trs grande ressemblance des deux modles, leur lgre diffrence nexpliquant pas le comportement divergent du terme de prservation de volume de la mthode. Nous avons par contre, inspirs par la formulation obtenue partir de lutilisation de Gauss et Vorono, dvelopp un formalisme dlments nis hybride novateur. Nous terminons cette tude par une comparaison gnrale de diffrents modles utiliss en animation. Apparat alors lintrt de cette version hybride scalaire, ce modle tant celui offrant la plus grande indpendance la rsolution.

Modle multirsolution hirarchique


Nous proposons alors un second modle multirsolution, hirarchique cette fois ci. Celui-ci sappuie sur la cohabitation tout instant de plusieurs maillages indpendants, anims grce aux oprateurs prcdemment dcrits. Chaque zone de lobjet est rellement simule par un et un seul maillage, celui-ci tant choisi pour offrir le meilleur compromis entre qualit visuelle et temps de calcul. Les diffrents maillages qui composent lobjet peuvent nanmoins communiquer grce lintroduction de points fantmes servant dinterface, an quils forment un tout uni. Ces travaux ont permis la ralisation dun prototype de simulateur chirurgical hpatique garantissant le temps-rel vrai. La liaison entre le modle physique multirsolution et la surface de lobjet se fait par interpolation des positions des particules internes. Elle permet un afchage de qualit de la surface de lorgane, celle-ci rpondant aux sollicitations de loutil virtuel. Le retour deffort, bas sur les valeurs physiques du modle interne, permet daugmenter sensiblement le ralisme du simulateur.

Travaux futurs
Aux quelques rponses et avances apportes par cette thse reviennent en cho de nouvelles interrogations, inhrentes tout travail de recherche. Quelques amliorations pratiques peuvent tre envisages, comme la simulation des dcoupes de lobjet. La multirsolution pour un systme dynamique pose quand elle un problme de fond, qui sest rvl ardu mettre en uvre.

Amliorations du modle
Les travaux proposs visaient la mise au point dun modle dformable temps-rel utilisable au sein dun prototype de simulateur chirurgical. Lobjectif est atteint, mais de nombreuses amliorations peuvent tre apportes. Nous ne parlerons mme pas des optimisations pouvant acclrer la simulation ou des modications esthtiques du simulateur qui ne font pas directement partie de ce travail de recherche. Le modle multirsolution hirarchique prsent au Chapitre 5 peut probablement tre amlior. Les choix arbitraires qui ont parfois t faits en raison de leur adquation intuitive nos buts (interpolations linaires gnralises, octree non restreint) peuvent ventuellement tre remis en cause. Il peut arriver que le nombre de triangles composant la surface soit un facteur limitant, leur afchage prenant trop de temps. On pourra alors utiliser des niveaux de dtails gomtriques de la surface et il peut tre intressant dessayer de les lier aux niveaux de dtails du modle physique. Les mouvements les plus subtils bncieront ainsi dun rendu adquat. Linterface avec lutilisateur peut galement bncier damliorations sensibles. Si la dtection des collisions semble bien traite par lalgorithme utilisant le rendu offscreen, la rponse aux collisions peut encore poser problme. Lorsque loutil est de grande taille il est trs difcile de savoir comment dplacer les points

CONCLUSION

113

de la surface pour les sortir de faon naturelle de loutil. Ce problme ne se pose pas trop dans le cadre dune application chirurgicale, mais reste rgler si lon souhaite utiliser cette technique dautres ns. Le retour deffort est galement perfectible. Les possibles vibrations ou discontinuits que lutilisateur peut ressentir dtruisent en effet grandement le sentiment dimmersion que celui-ci aurait pu avoir. Il convient donc de consacrer beaucoup dattention ce problme, ce qui engendrera probablement des calculs supplmentaires. Lintgration temporelle des forces calcules est encore trop sensible. Il est impressionnant de constater combien un pas de temps dintgration donn conditionne les raideurs maximales permises. Le passage dune animation inconditionnellement stable une divergence immdiate se faisant lors dune augmentation de quelques pour cent des coefcients. Ce phnomne est particulirement sensible lorsque lon cherche augmenter les forces dissipatives lintrieur de lobjet pour le rendre moins oscillant. Nous avons impos que ces forces ne puissent pas acclrer une particule ou inverser sa vitesse. Le seuil de divergence sen trouve repouss, mais il reste des problmes. On est ainsi encore trop limit par les raideurs, le pas de temps ou le nombre de particules simules, les trois paramtres tant directement lis, si lon cherche assurer le temps-rel. Une autre piste que nous navons pas explor consiste utiliser une intgration temporelle semi-implicite. Les mthodes de calcul de forces explicites permettent en effet davoir une bonne approximation du jacobien de la force. Ce jacobien pourrait tre utilis pour mieux prvoir la position suivante de chaque particule et pouvoir ainsi augmenter le pas de temps dintgration sans risque de divergence 1.

Dcoupes de lobjet
Une importante partie du dveloppement dun simulateur chirurgical, non traite lors de cette thse, consiste autoriser lobjet subir des dcoupes. Le choix dun modle physique explicite permet denvisager raisonnablement cette extension. Il suft en effet de supprimer le coefcient grant linteraction entre deux particules pour simuler leur sparation. Cotin a dans sa thse propos une approche similaire, base sur la suppression de certains des ttradres du maillage [Cot97]. La prsence de dcoupes couples une simulation multirsolution est par contre un problme plus complexe. Sil est facile de supprimer des interactions entre les particules du maillage le plus n, il reste dnir comment doivent interagir les particules des maillages plus grossiers, qui se voient ainsi partiellement spares. Nous avions pens simuler ce genre de phnomne en rduisant progressivement les coefcients dinteraction entre particules mres en fonction du nombre de particules lles spares. Se pose un nouveau problme lorsque lon cherche modier la topologie de lobjet, en le sparant en plusieurs morceaux aprs dcoupe. Les diffrents morceaux peuvent en effet alors subir des rotations importantes et nous avons vu que le modle de Cauchy sy prte mal. Lintroduction de repres locaux, par rapport auxquels est dnie la position de lobjet peut tre envisage pour remdier ce problme. Ces repres sont capables dabsorber la partie rigide des dformations, ce qui limiterait lamplitude des dformations gres par le modle physique et le rendrait donc plus stable. Ils pourraient tre rattachs aux particules du niveau le plus grossier, qui donnent une indication de la position globale de lobjet. Au del de la mise au point dun modle physique, lvolution de la surface de lobjet lors des dcoupes est un problme complexe. Faire apparatre des triangles au bon endroit en modiant localement la gomtrie est envisageable. Prendre en compte une petite dcoupe supplmentaire proche, sans ajouter chaque fois de nouveaux triangles trop petits est plus difcile. Ce problme est rendu encore plus complexe par la gestion des textures de la surface. Faire en sorte que les nouveaux triangles apparaissent avec une texture uniforme, sans remettre en cause celle des autres triangles est un problme ouvert.

tude de la multirsolution dynamique


Cette thse a galement soulev des problmes directement lis la multirsolution. Nous avons en effet pu dtailler une dizaine de modles physiques et comparer leur indpendance la discrtisation de lobjet. Il en
1 Voir

Annexe B.

114

CONCLUSION

ressort que de trs subtiles nuances (comme celle existant entre les lments nis et la mthode base de Vorono) peuvent changer radicalement le comportement. Sil est facile dobtenir des comportements grossirement similaires diffrentes rsolutions, faire rellement correspondre les animations est trs difcile. La multirsolution dynamique est donc un phnomne subtil, qui ne se laisse pour linstant approcher que par des mthodes au comportement simple. Utiliser davantage les connaissances des physiciens dans ce domaine devrait permettre dtendre ce type de simulation des comportements plus complexes. On se heurte toutefois ici un problme difcile, car dynamique. La trs grande majorit des simulations cherchent calculer ltat dquilibre statique dun systme. On peut ventuellement atteindre cet tat aprs plusieurs tapes de simulation, mais la simulation reste quasi-statique. La simulation dynamique est beaucoup moins tudie, car souvent beaucoup trop gourmande en temps de calcul et lon manque donc dexprience en ce domaine. La recherche dune simulation temps-rel nous conduit galement grandement limiter le nombre de points dchantillonage utiliss. Dans ces conditions, la qualit thorique des mthodes peut tre prise en dfaut, celles-ci sappuyant parfois sur un phnomne dchelle pour modliser le comportement. On a donc trouver un compromis difcile entre deux buts antagonistes. On cherche dune part obtenir des comportements dynamiques trs proches les uns des autres diffrentes chelles, ce qui suppose une prcision des calculs. On est dautre part prt sacrier un peu au ralisme de lanimation, pourvu que celle-ci soit sufsamment rapide. On voit donc que multirsolution et rapidit dexcution sont difcilement compatibles, et quil reste beaucoup de travail faire avant de tirer pleinement parti des mthodes multirsolution dans le cadre de la simulation temps-rel.

Toutes ces pistes non explores, ces choix non justis par des expriences, font que ce simulateur reste un prototype et pose au moins autant de nouvelles questions quil ne rpond dautres.

Pour conclure
Nous aimerions terminer ce document par quelques rexions dordre plus gnral et faire que cette thse mrite son titre, au sens tymologique du terme tout du moins. Lanimation en synthse dimage est un domaine hybride entre limage et la physique, et cette ambivalence peut poser problme. On est amen, lorsque lon cherche imiter le rel, utiliser des modles physiques pour gnrer les mouvements. Une possibilit est de se plonger dans des ouvrages de physiques pour en extraire les quations adquates. Reste alors habiller les rsultats de la simulation, en utilisant tout lattrait de mouvements uides et colors en trois dimensions ou en invoquant au contraire la lourdeur ou la complexit des calculs mis en uvre pour justier la pitre qualit graphique des images gnres. Ce type dapproche nest pas trs enrichissante dans la mesure o la recherche en animation de synthse semble alors se limiter habiller des rsultats connus des physiciens pour les prsenter sous leur meilleur jour. Un rcent auteur dune publication Siggraph me conait ainsi avoir t troubl en ralisant que la premire moiti de son article se composait dune simple recopie dquations complexes de la physique des uides, sa contribution se limitant au rendu attractif des rsultats numriques [YOH00]. La recherche en animation, si elle veut tre autre chose quune bte mise en application de connaissances pratiques en cration dimages numriques, doit chercher tirer parti de sa spcicit. Ce nest pas tant de prcision que lon a besoin, mais plus dun effet visuel, dun contrle intuitif ou de rapidit de calcul. titre danecdote, lors de Siggraph99, deux articles simulant les mouvements des uides furent prsents. Lun utilisait les quations diffrentielles les plus pointues et ncessitait des heures de calcul [Wit99] alors que

CONCLUSION

115

lautre faisait simplement en sorte de reproduire un comportement uide, lanimation se droulant en tempsrel [Sta99]. Lassistance a catgoriquement privilgi la seconde approche, les dmonstrations ludiques et interactives emportant largement ladhsion. Il faut nalement plus chercher imiter la nature pour laisser place la nouveaut, la simplication et pourquoi pas au caractre artistique. Il est certes difcile de copier ainsi lessence du mouvement, mais cest l que rside la partie recherche de notre domaine.

116

CONCLUSION

ANNEXE

Rappels sur les oprateurs diffrentiels

Nous rappelons ici la dnition des diffrents oprateurs diffrentiels que lon peut appliquer un champ vectoriel. Les dnitions sont donnes pour un champ vectoriel dans lespace, mais stendent de faon naturelle aux champs planaires par exemple. On peut classer ces oprateurs daprs lordre (premier ou second) de leurs drives, ainsi que par la variable (temps ou espace) par rapport laquelle on drive.

Drives par rapport au temps


Ces drives sont simples et intuitives.

1.1

Oprateurs du premier ordre

px t py t pz t

Driver une fois par rapport au temps transforme une position en vitesse, une vitesse en acclration.

pt

p t

vx vy vz

vt

v t

(A.1)

1.2

Oprateurs du second ordre


tt p 2 t

Lacclration est la drive seconde de la position par rapport au temps : p

2
2.1

Drives par rapport lespace


Oprateurs du premier ordre

Ces oprateurs utilisent les drives premires du champ vectoriel. On peut driver chacune des composantes dun champ vectoriel par rapport nimporte laquelle des directions. On a donc, en trois dimensions, 9 drives spatiales premires pour un champ vectoriel v : vi
j

vi j

x y z

(A.2)

117

118

ANNEXE A. RAPPELS SUR LES OPRATEURS DIFFRENTIELS

Parmi ces drives et leurs combinaisons, il en est trois particulires qui ont des interprtations prcises. Le gradient dun champ scalaire s est un vecteur dni par :

grad s

sx sy sz

(A.3)

Ce vecteur nest autre quune extension de la classique drive dune fonction un espace de dimension suprieure. Il indique donc la pente locale de la fonction, le vecteur obtenu tant dirig le long de la plus grande pente au champ s. Par extension, on dnit le gradient dun champ vectoriel v comme la matrice 3 3 dont chaque ligne contient le gradient de la composante associe de v :
vx
x vy x vz x vx y vy y vz y vx z vy z vz z

grad v

(A.4)

La divergence dun champ vectoriel v est un scalaire dni par : div v v x x vy y vz z (A.5)

Sommant les drives des composantes de v dans les trois directions, il peut sinterprter comme un terme de mesure locale de lexpension (ou de la dilatation) du champ. Si on considre en effet un petit cube centr autour dun point, le terme v i i mesure comment les faces alignes avec laxe i se sont dplaces dans la direction i. La divergence est une somme sur les trois directions de ces dilatations locales. Par extension, on dnit la divergence dun tenseur (matrice 3 3 symtrique) comme le vecteur de taille 3 dont chaque composante est la divergence de la ligne correspondante de la matrice :

div

1x 2x 3x

1y 2y 3y

1z 2z 3z

div

1 2 3

div 1 div 2 div 3

(A.6)

Le rotationnel dun champ vectoriel v est un vecteur dni par :

rot v

vy z vz y vz x vx z vx y vy x

(A.7)

Ce terme, aparent un produit vectoriel, est une approximation de laxe de rotation des dformations locales du champ v. On linterprte facilement comme laxe dun tourbillon en mcanique des uides, le champ v reprsentant la vitesse du liquide. Ce rotationnel est nul pour tous les champs v linaires en les variables x, y et z.

2.2

Oprateur Nabla

Loprateur nabla () est pratique lorsquil sagit dcrire des drives premires. est un vecteur de coordonnes x y z T . Les oprateurs prcdents sont alors exprims simplement par : grad s s div v v rot v v o et reprsentent respectivement le produit scalaire et le produit vectoriel.

2.3

Oprateurs du second ordre

Les oprateurs du second ordre sont gnralement des combinaisons de ceux du premier ordre. Nous utili` serons en particulier graddiv v et v div grad v ( est appel loprateur laplacien). La i eme composante de ces oprateurs sexprime par : (A.8) graddiv vi vx xi vy yi vz zi
vi

vi xx vi yy vi zz

(A.9)

ANNEXE

Les mthodes dintgration

Les mthodes prsentes permettent de calculer dans une conguration donne les forces en chaque point. Il existe diffrentes faons de les intgrer dans le temps et nous en prsentons ici quelques unes.

Difcults

On peut employer diffrentes mthodes dintgration, toutes demandent dadapter le pas de temps dintgration la valeur des acclrations. Si le pas de temps est trop petit, on perdra du temps de calcul alors que sil est trop grand le systme divergera. La difcult intgrer dpend de lamplitude de lacclration et de sa direction. Un schma de NewtonCotes intgrera ainsi parfaitement une acclration constante (la gravit par exemple), quelle que soit son intensit. Que la direction de celle-ci change un peu au cours du temps et il faudra rduire de faon drastique le pas de temps.

Dpendance de lintgration
En lasticit linaire, on a, daprs le principe fondamental de la dynamique, une loi de la forme : a f m kx m

o k est la raideur du matriau et x une mesure de dplacement. Un dveloppement de Taylor donne la nouvelle position p dun point p comme gale p p v dt a dt 2 O dt 3 (B.1)

pour un pas de temps dt donn. La vitesse v de ce moment de la simulation est ce quelle est, mais on peut jouer sur les autres paramtres pour diminuer lcart de position p p p qui va tre gnr par lintgration. Plus explicitement : p a dt 2 k x dt 2 m (B.2)

Pour rduire cet cart et donc ne pas aller trop vite dans lintgration, on voit donc que le plus efcace est de baisser le pas de temps puisque ce terme est quadratique dans lquation prcdente. Lautre moyen, 119

120

ANNEXE B. LES MTHODES DINTGRATION

moins efcace consiste prendre des matriaux mous et donc des raideurs faibles, ne bouger que faiblement les points (ce qui peut revenir modier les units pour avoir un objet de trs petite taille) pour limiter les dplacements ou enn prendre des objets lourds avec plus dinertie. Une autre remarque tire de [Mes97] est que si lon augmente le nombre de points de la discrtisation, on va accrotre linstabilit. La masse de chaque point devra en effet diminuer pour que masse totale soit la

k conserve. Or la frquence doscillation correspondant la solution de lquation B.2 est m et va donc sen trouver augmente, ce qui demandera un plus faible pas de temps pour une intgration correcte.

Cette remarque rejoint le critre de stabilit de Courant-Friedrichs-Lewy, qui stipule que la distance parcourue par une onde se propageant dans le matriau doit tre infrieure la distance entre deux points de discrtisation. On comprend intuitivement que la propagation de cette onde ne pourrait tre bien calcule si elle pouvait ainsi sauter une maille. En augmentant le nombre de points, on rduit la taille du maillage et il faut donc diminuer la distance parcourue par londe (dont la vitesse est proportionelle temps.
k m)

entre deux intgrations et donc baisser le pas de

Intgration explicite

Les mthodes dintgration explicites sont les plus simples et sappuient directement sur le dveloppement de Taylor donn plus haut (Eq. B.1). La plus simple dentre elles est la mthode dEuler, qui nutilise que des dveloppements limits dordre 1 pour crire : vt dt pt dt vt pt

at dt vt dt

(B.3) (B.4)

Simpliste, elle offre nanmoins parfois de bons rsultats. En faisant dpendre la nouvelle position de la nouvelle vitesse et non plus de celle du pas prcdent, on obtient le schma dEuler modi. En pratique beaucoup plus stable que le prcdent. Il a t dmontr comme tant dordre 4 par Provost dans sa thse [Pro97] et donne souvent des rsultats suprieurs ceux de RungeKutta 2 (voir supra).

vt dt pt dt

vt pt

at dt vt dt dt

(B.5) (B.6)

On pourra parfois lui prfrer la mthode de Newton-Cotes : vt dt pt dt vt pt


at dt vt dt a dt
2

(B.7) (B.8)

qui prsente lintressant avantage dintgrer correctement les acclrations constantes (la gravit par exemple). Citons aussi la mthode de Stoermer qui donne de bons rsultats, mme avec de fortes raideurs : bt dt pt dt bt pt

at dt 2 b

(B.9) (B.10)

o b est un vecteur servant daccumulateur initialis 0 au dpart. Il existe des mthodes dordres plus levs, offrant plus de prcision, mais ncessitant en contrepartie le calcul de la force pour des positions intermdiaires entre t et t dt. Lordre de ces mthodes dpend du nombre de calculs de forces supplmentaires effectuer. Les plus utilises sont celles de Runge-Kutta, dordre 2 et 4 (voir [PTVF92] pour plus de dtails). Plus chres, elles sont galement mal appropries aux simulations dynamiques faisant apparatre des collisions et o apparaissent des discontinuits dans le mouvement.

4. INTGRATION IMPLICITE

121

Intgration implicite

Lintgration implicite fut remise au got du jour par Baraff et Witkin dans [BW98]. Elle donne dexcellents rsultats pour des raideurs leves que lintgration explicite ne sait grer, ou au prix dun pas de temps rdhibitoire. Lide consiste ne plus trouver la nouvelle position en fonction des forces connues un instant, mais chercher la position o les forces t dt auraient conduits, si on les avait intgres en partant de la position courante. Plutt quun bond en aveugle dans le futur, on cherche un tat o les forces sont compatibles avec la position. Mathmatiquement, Euler deviendrait : vt dt pt dt vt pt

at

dt

dt

(B.11) (B.12)

vt dt dt

Cela demande donc de connatre a t dt pour trouver pt dt , ce qui parait impossible puisque la force dpend elle mme de la position. On crit alors un dveloppement limit lordre 1 de lexpression de la force en fonction de la position f f f dp p

qui va permettre de connatre approximativement la force dune position proche. Puisque la force dpend de la f position dun point et de celle de ses voisins, lexpression p va tre reprsente par une matrice quil va falloir inverser. Le cot de linversion de la matrice chaque pas de temps est largement compens par le gain en stabilit de la mthode et par le pas de temps qui peut alors tre employ, en comparaison avec le pas de temps inme ncessaire avec de fortes raideurs dans une intgration explicite. Il est noter que les mthodes implicites avaient dj t utilise par Terzopoulos et al. dans leur article de 1987 [TPBF87]. Citons pour information deux articles qui ont t cits comme utilisant des lments nis et une intgration implicite [OPT83, HLW83], mais publis dans des revues de physique, non disponibles sur la toile et que nous navons pu nous procurer. Desbrun a repris cette mthode en lacclrant jusqu lobtention de temps rel en approximant la matrice f jacobienne p comme constante (ce qui revient considrer les ressorts comme ayant une longueur vide nulle) et donc pr-inversible [DSB99]. Desbrun montre que cela revient ajouter une viscosit articielle (force inversement proportionnelle aux vitesses, module par un coefcient dpendant de la raideur et du pas de temps) et appliquer un ltrage sur les forces appliques aux particules. Les simplications entranes par cette hypothse sont corriges en ajoutant des forces qui vont corriger le moment dinertie de lobjet, suivies dun post-traitement itratif limitant la longueur de chacun des ressorts. Une meilleure gestion des collisions est introduite dans [MDDB00], permettant une simulation trs uide du mouvement dun tissus. Lintgration implicite est une mthode la mode et dautres dveloppements, que nous jugeons plus douteux (faux) dans leurs fondements mathmatiques, ont t prsents dans [EEH00].

122

ANNEXE B. LES MTHODES DINTGRATION

ANNEXE

Green-Lagrange en pratique

Nous dcrivons ici brivement les formules ncessaires limplmentation dun modle dformable utilisant le formalisme de Green-Lagrange, dans un cadre dlments nis explicites. Lobjet est suppos maill laide de ttradres, que lon aura pris soin de gnrer aussi rguliers que possible pour des raisons defcacit et de stabilit numrique. Aprs un rappel rapide de notions dlasticit, nous donnons les formules qui permettront dimplmenter ce formalisme.

Rappels dlasticit

Nous reprenons ici les principales quations dcrivant llasticit des objets dformables. On se reportera la Section 1.2 du Chapitre 2 pour une description plus complte. Le tenseur des dformations est dni en tout point du matriau. Le terme situ en i j a pour expression, dans le cas de Green-Lagrange :
i j

x x i j j et 0 sinon).

i j

(C.1)

o i j est le symbole de Kronecker ( i j

1 si i

reprsente le vecteur de 3 reprsentant les coordonnes dun point dans le repre li au matriau. x reprsente la position dun point dans le repre du monde en fonction de ses coordonnes matrielles. Les deux systmes de coordonnes se correspondent ( une transformation rigide prs, voir la Section 1.2 du Chapitre 2) lorsque lobjet est au repos, crant ainsi un tenseur des dformations nul. x est une fonction continue qui varie en fonction des dformations de lobjet (les coordonnes matrielles dun point sont xes, mais sa position dans lespace x variera au cours du temps). Le tenseur des contraintes reprsente la distribution de force lintrieur du matriau. Tout comme , on peut lapproximer au premier ordre par une matrice 3 3 . La force f agissant sur une surface lmentaire dS, de normale unitaire sortante n est : f n dS. La thorie de llasticit linaire suppose que dformations et contraintes sont linairement lies (comme dans un ressort idal). Si le matriau est considr comme isotrope, des raisons de symtrie font que seuls 2 123

124

ANNEXE C. GREEN-LAGRANGE EN PRATIQUE

coefcients dcrivent le comportement du matriau : tr I3

(C.2)

o I3 est la matrice identit 3 3 et tr la trace de . et sont les coefcients de Lam : reprsente la rigidit du matriau tandis que mesure son incompressibilit (un matriau incompressible a thoriquement un inni). Lnergie potentielle lastique E est dnie en tout point du matriau par : E 1 3 3 i j i j 2 i j 1 1 (C.3)

Sa drive par rapport la position du point crera la force qui sera applique en chaque point.

Forces dissipatives

Lajout de forces dissipatives est simple et cohrent avec la description faite des prcdents tenseurs. Le tenseur des taux de dformations est la drive par rapport au temps de (Eq. C.1) : o v
x t

i j

v p i j

p v i j

(C.4)

est la vitesse dun point.

est mis jour grce une quations identique celle utilise pour (Eq. C.2) : tr I3

(C.5)

o et contrlent la vitesse avec laquelle le matriau perd son nergie cintique. Un mouvement rigide de lobjet ne sera pas attnu avec cette formulation ( 0 3 ) qui ne dissipe que les vibrations internes.

lments nis explicites

Nous dcrivons ici les quations des lments nis explicites, appliqus des maillages ttradriques dobjets 3D. Au lieu de regrouper toutes les quations relatives tous les points dans un grand systme matriciel, comme dans les lments nis classiques, les lments nis explicites rsolvent les quations relatives chaque lment sparment. Cette approximation locale rduit normment la taille du systme rsoudre et donc le temps de calcul, au prix dune perte en prcision. Pour quune information (un dplacement impos par lutilisateur par exemple) se propage entre deux lments, il faudra en particulier maintenant autant ditrations quil y a dlments entre ces deux lments. Lobtention de mthodes de calcul temps-rel doit se faire au prix de ces approximations. Nous avons choisi des lments ttradriques et des fonctions de bases linaires (voir Chapitre 1, Section 7) pour leur trs bon compromis vitesse-efcacit. Pour chaque lment E , la fonction de base linaire a i x bi y ci z d i associe un sommet i de E peut tre reprsente 1 comme un vecteur L i ai bi ci d i . Par dnition des fonctions de base linaires, appliquer L i un point situ lintrieur de llment ttradrique E donne ses coordonnes barycentriques lintrieur du ttradre. La coordonne barycentrique dun sommet i valant 1 au somment i et 0 aux autres sommets, on a : Li j 1 i j i j1 4 (C.6)

Pour chaque somment i, ces quatre quations ( j 1 4) forment un systme linaire qui peut tre invers si llment E nest pas dgnr (cest dire aplati, ce qui nest pas le cas avec notre mthode par construction).
1 Les

(1

exposants reprsentent la valeur en un sommet donn (ci j ) tandis que les indices reprsentent les composantes dun vecteur x 2 y 3 z ).

3. LMENTS FINIS EXPLICITES

125

La fonction dinterpolation rsultante L i va nous permettre de calculer les drives exprimes dans le repre associ au matriau. Tout champ vectoriel c peut tre linairement interpol sur llment E en utilisant les coordonnes barycentriques. Pour un point situ lintrieur de llment de coordonnes , la valeur de c est : c

i 1

ci

Li

(C.7)

Les drives (dans le repre li au matriau) peuvent alors tre exprimes par : c j

i 1

ci

i L j

(C.8)

En utilisant cette quation aux champs vectoriels position et vitesse, on est capable de calculer en chaque x v sommet i et i , et donc la valeur des tenseurs , et dcrits prcdemment. La force au sommet i rsultant de la dformation de E sexprime par (voir [OH99]) : fi

vol 2

xj

j 1

k 1l 1

i j L k L l kl

(C.9)

o vol E est le volume du ttradre E . Tous les calculs prsents lont t pour un lment E donn, et sappliquent ses quatre sommets. Il suft ensuite de rpter ces calculs pour chacun des lments qui composent lobjet, chaque sommet sommant les contributions (i.e. la force rsultante) de tous les ttradres auquel il appartient.

126

ANNEXE C. GREEN-LAGRANGE EN PRATIQUE

TABLE DES MATIRES

Notations Introduction Contexte . . . . . . . . . . Motivations . . . . . . . . Simulation multirsolution Objectifs de cette thse . . Organisation du document

5 7 7 8 9 9 10 11 11 11 12 12 13 13 13 14 14 14 14 15 15 16 16 17 17 17 18 18 19 19 19 20 20 20

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

1 Travaux antrieurs 1 Dformations gomtriques de la surface . . . . . 1.1 Surfaces de forme libre . . . . . . . . . . 1.2 Les dformations de lespace . . . . . . . 1.3 Surfaces implicites . . . . . . . . . . . . 1.4 Conclusion . . . . . . . . . . . . . . . . 2 Dformations globales . . . . . . . . . . . . . . 2.1 Dynamique modale . . . . . . . . . . . . 2.2 Dformation globale dynamique . . . . . 2.3 Conclusion . . . . . . . . . . . . . . . . 3 Les modles masses-ressorts . . . . . . . . . . . 3.1 Principe . . . . . . . . . . . . . . . . . . 3.2 Rafnements du modle . . . . . . . . . 3.3 Conclusion . . . . . . . . . . . . . . . . 4 Les systmes de particules . . . . . . . . . . . . 4.1 Principe . . . . . . . . . . . . . . . . . . 4.2 Conclusion . . . . . . . . . . . . . . . . 5 Le modle SPH . . . . . . . . . . . . . . . . . . 5.1 Passage du continu au discret . . . . . . 5.2 Lquation dtat du matriau . . . . . . 5.3 Simulation multirsolution des SPH . . . 5.4 Conclusion . . . . . . . . . . . . . . . . 6 Les modles continus . . . . . . . . . . . . . . . 6.1 Minimisation de lnergie de dformation 6.2 Conclusion . . . . . . . . . . . . . . . . 7 Les lments nis . . . . . . . . . . . . . . . . . 7.1 Principe . . . . . . . . . . . . . . . . . . 127

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

128

TABLE DES MATIRES

9 10

11

12

7.2 Applications . . . . . . . . . . . . . . . . . 7.3 Conclusion . . . . . . . . . . . . . . . . . . Modles couches . . . . . . . . . . . . . . . . . . 8.1 Principe . . . . . . . . . . . . . . . . . . . . 8.2 Conclusion . . . . . . . . . . . . . . . . . . Applications interactives . . . . . . . . . . . . . . . La multirsolution en animation . . . . . . . . . . . 10.1 Plusieurs faons de faire de la multirsolution 10.2 Difcults . . . . . . . . . . . . . . . . . . . 10.3 Adaptatif versus Hirarchique . . . . . . . . 10.4 Utilisations de la multirsolution . . . . . . . Choix dun modle . . . . . . . . . . . . . . . . . . 11.1 Mthodes interactives . . . . . . . . . . . . 11.2 Le temps rel vrai . . . . . . . . . . . . . . . 11.3 Ncessit de la multirsolution . . . . . . . . 11.4 Modle indpendant de la rsolution. . . . . Conclusion gnrale . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

22 24 25 25 25 26 27 27 27 28 28 29 29 29 30 30 31 33 34 34 35 36 38 39 39 40 40 40 41 42 42 42 42 43 43 45 46 46 46 47 47 48 48 48 49 50 50 51 52 53 54 55 55 55 56

2 Notions dlasticit linaire 1 Le tenseur des dformations . . . . . . . . 1.1 Le tenseur de Cauchy . . . . . . . . 1.2 Le tenseur de Green-Lagrange . . . 1.3 Comparaison des deux modles . . 2 Le tenseur des contraintes . . . . . . . . . . 2.1 Dnition . . . . . . . . . . . . . . 2.2 Force et acclration . . . . . . . . 3 La loi de comportement . . . . . . . . . . . 3.1 Dnition . . . . . . . . . . . . . . 3.2 La loi de Hooke . . . . . . . . . . . 3.3 quation de Navier . . . . . . . . . 3.4 Interprtation . . . . . . . . . . . . 4 Frottements . . . . . . . . . . . . . . . . . 4.1 Le tenseur des taux de dformation 4.2 Le tenseur des contraintes . . . . . 4.3 La loi de comportement . . . . . . 5 Conclusion . . . . . . . . . . . . . . . . . 3 Premier modle multirsolution 1 Calcul du laplacien . . . . . . . . . . . . 1.1 Drive seconde scalaire . . . . . 1.2 Passage en trois dimensions . . . 1.3 Laplacien dun champ vectoriel . 2 Extension au grad (div) . . . . . . . . . . 2.1 Projection le long de laxe . . . . 3 Simulation rsolution xe . . . . . . . . 3.1 Cas dcole . . . . . . . . . . . . 3.2 Ajout de forces dissipatives . . . 4 Simulation multirsolution . . . . . . . . 4.1 Cration des maillages . . . . . . 4.2 Dnition des voisines . . . . . . 4.3 Simulation adaptative . . . . . . . 4.4 Position relative mre-lle . . . . 4.5 Changement de rsolution . . . . 4.6 Mise jour de la structure . . . . 5 Multirsolution temporelle . . . . . . . . 5.1 Critre de Courant . . . . . . . . 5.2 Synchronisation et mise en uvre

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

TABLE DES MATIRES

129

5.3 Critre de stabilit dintgration Rsultats . . . . . . . . . . . . . . . . . 6.1 Premiers essais . . . . . . . . . 6.2 Cas dcole . . . . . . . . . . . 6.3 Une application temps-rel . . . Discussion . . . . . . . . . . . . . . . . 7.1 Indpendance de la rsolution . 7.2 Une mthode hirarchique . . . 7.3 Problme avec le grad(div) . . . Conclusion . . . . . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

56 56 56 57 57 58 58 59 60 61 63 63 63 64 64 65 65 65 66 67 67 68 69 69 69 70 70 71 71 72 73 73 74 75 75 77 77 78 79 80 82 82 82 83 83 84 84 90 91 91 92 92 92 93 94

4 Nouveaux oprateurs diffrentiels 1 Le thorme de Gauss . . . . . . . . . . . . . . . . 1.1 Expression mathmatique . . . . . . . . . 1.2 Dnition du volume . . . . . . . . . . . . 1.3 Champ linaire par morceaux . . . . . . . 2 Calcul du laplacien . . . . . . . . . . . . . . . . . 2.1 Principe . . . . . . . . . . . . . . . . . . . 2.2 Expression en 2D . . . . . . . . . . . . . . 2.3 Intgrale sur tout le contour . . . . . . . . 2.4 Mise en uvre . . . . . . . . . . . . . . . 2.5 Interprtation . . . . . . . . . . . . . . . . 2.6 Qualit de loprateur . . . . . . . . . . . 3 Calcul du grad(div u) . . . . . . . . . . . . . . . . 3.1 Principe . . . . . . . . . . . . . . . . . . . 3.2 Calcul du gradient . . . . . . . . . . . . . 3.3 Calcul de la divergence . . . . . . . . . . . 3.4 Intgrale sur tout le contour . . . . . . . . 3.5 Mise en uvre . . . . . . . . . . . . . . . 3.6 Interprtation . . . . . . . . . . . . . . . . 3.7 Qualit de loprateur . . . . . . . . . . . 4 Extension trois dimensions . . . . . . . . . . . . 4.1 Expression des oprateurs . . . . . . . . . 4.2 Expression de la force . . . . . . . . . . . 4.3 Mauvaise dnition de la rgion de Vorono 4.4 Cration des rgions de Vorono . . . . . . 5 Comparaison avec les lments nis . . . . . . . . 5.1 lments nis explicites . . . . . . . . . . 5.2 Rcriture des masses-tenseurs . . . . . . . 5.3 Comparaison en 2D . . . . . . . . . . . . . 5.4 Comparaison en 3D . . . . . . . . . . . . . 6 Cration dun modle hybride . . . . . . . . . . . 6.1 Inspiration . . . . . . . . . . . . . . . . . 6.2 Comportement . . . . . . . . . . . . . . . 7 Comparaison des diffrentes formulations . . . . . 7.1 Protocole de test . . . . . . . . . . . . . . 7.2 Les diffrents modles compars . . . . . . 7.3 Rsultats . . . . . . . . . . . . . . . . . . 8 Conclusion . . . . . . . . . . . . . . . . . . . . . 5 Modle multirsolution hirarchique 1 Ide gnrale . . . . . . . . . . . . . 2 Cohabitation de diffrents maillages . 2.1 Cration des maillages . . . . 2.2 Interface entre deux maillages 2.3 Les points fantmes . . . . . 3 Adaptation de la simulation . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

130

TABLE DES MATIRES

6 7

3.1 Structure de donnes hirarchique . . . 3.2 Subdivision et regroupement dun point 3.3 Critres de subdivision-regroupement . Rafnements du modle . . . . . . . . . . . . 4.1 Utilisation dun octree non restreint . . 4.2 Mise jour des points fantmes . . . . 4.3 Intgration temporelle . . . . . . . . . Simulation temps-rel . . . . . . . . . . . . . . 5.1 Paralllisation . . . . . . . . . . . . . . 5.2 Temps-rel vrai . . . . . . . . . . . . . Rsultats . . . . . . . . . . . . . . . . . . . . . Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. 94 . 95 . 96 . 96 . 96 . 97 . 97 . 99 . 99 . 100 . 100 . 101 . . . . . . . . . 103 103 103 105 105 106 107 107 107 108

6 Interface avec lutilisateur 1 Afchage de la surface . . . . . . 1.1 Liaison avec les particules 2 Collisions avec loutil . . . . . . . 2.1 Dtection de la collision . 2.2 Rponse la collision . . 3 Retour deffort . . . . . . . . . . 3.1 Principe . . . . . . . . . . 3.2 Lissage de la force . . . . 4 Conclusion . . . . . . . . . . . .

Conclusion 111 Rsum des contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Travaux futurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Pour conclure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 A Rappels sur les oprateurs diffrentiels 1 Drives par rapport au temps . . . 1.1 Oprateurs du premier ordre 1.2 Oprateurs du second ordre 2 Drives par rapport lespace . . . 2.1 Oprateurs du premier ordre 2.2 Oprateur Nabla . . . . . . 2.3 Oprateurs du second ordre B Les mthodes dintgration 1 Difcults . . . . . . . . . . 2 Dpendance de lintgration 3 Intgration explicite . . . . . 4 Intgration implicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 117 117 117 117 117 118 118 119 119 119 120 121

C Green-Lagrange en pratique 123 1 Rappels dlasticit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 2 Forces dissipatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 3 lments nis explicites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Table des matires Table des gures Bibliographie 127 131 135

TABLE DES FIGURES

1 1.1

c quipement dune salle de simulation laparoscopique pidaure - INRIA. . . . . . . . . . . Quatre points de contrle, la spline dinterpolation qui passe par eux ( lextrieur) ainsi que la courbe de Bzier quils dnissent, tangentes au dpart et larrive au polygone de contrle ( lintrieur). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dformation de lespace illustre sur un modle de girafe : la grille originale (a) et celle obtenue aprs une dformation localise (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Discrtisation dun objet 2D laide de masses-ressorts. . . . . . . . . . . . . . . . . . . . . Intensit de la force rsultant dun potentiel de Lennard-Jones en fonction de la distance. . . . Chaque particule peut se diviser en plusieurs autres (a). Le regroupement est possible lorsque la forme est globalement sphrique (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Les fonctions de base ont une forme triangulaire en 1D (seules celles associes aux sommets encadrs sont reprsentes) (a). Leur somme pondre cre la fonction linaire par morceaux qui approxime la fonction continue (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulation de laparoscopie hpatique utilisant les masses-tenseurs. . . . . . . . . . . . . . . . Une juxtaposition de maillons imbriqus forme le ChainMail. . . . . . . . . . . . . . . . . . Parmi toutes les rsolutions possibles, ladaptatif (a) ne simule que le niveau le plus n (points) alors quen hirarchique (b), les niveaux infrieurs continuent tre actifs et cohabitent avec le niveau n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Un champ de dplacement dans un cube en 3D, reprsent en chaque point par un vecteur. . . Le cube dans sa position de repos. Vues de face et de prol des points qui vont tre simuls. . La position dquilibre nale du cube lorsquon ajoute du frottement interne est diffrente en utilisant Cauchy (a) et Green-Lagrange (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . Images de lanimation dun cube sous laction de la gravit avec le tenseur de Cauchy. . . . . Images de lanimation dun cube sous laction de la gravit avec le tenseur de Green-Lagrange. Dcomposition de la force agissant sur un lment de surface dS dni par sa normale n. . . . Type de comportement dun matriau au del des hypothses de linarit. . . . . . . . . . . . volution de et lorsque varie entre 0 et 0.5, pour un E donn. Noter que tend vers linni pour des matriaux incompressibles ( 0 5). . . . . . . . . . . . . . . . . . . . . . . . . . . Le champ de dplacement peut tre spar en deux composantes : la radiale, cre par les forces de pression, et la rotationnelle, cre par les forces de cisaillement. . . . . . . . . . . . . . . . y scrit comme la somme de deux vecteurs orthogonaux en fonction du vecteur unitaire x. . . Laltitude de lun des coins du cube (indiqu par une che) lors de la simulation, pour diffrents maillages rguliers. Aucun frottement na t ajout dans cette simulation. . . . . . . . . Un mme cube sera chantillonn par huit particules lles ou par leur mre. . . . . . . . . . . 131

12 12 14 16 18

1.2 1.3 1.4 1.5 1.6

1.7 1.8 1.9

21 24 27

28 34 37 37 38 38 39 40 41

2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8

3.1 3.2 3.3 3.4

47 48 49 50

132

TABLE DES FIGURES

3.5

3.6 3.7 3.8 3.9 3.10 3.11

3.12

3.13

Cration rcursive des maillages. La grille rgulire qui sert crer le maillage le plus n (a). On regroupe ensuite les particules pour crer les maillages suivants (b), (c) et (d). Les tailles reprsentent la masse des particules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Durant la simulation, les voisins dune particule ne peuvent appartenir quau mme niveau de rsolution, au niveau suprieur ou au niveau infrieur. . . . . . . . . . . . . . . . . . . . . . . Les 56 voisines de niveau infrieur (a), les 26 voisines de mme niveau (b) et les 7 voisines de niveau suprieur (et les surs) (c) dune particule donne. . . . . . . . . . . . . . . . . . . Le systme de coordonnes locales (ches), dni par les voisines de la mre assure un bon placement des lles, mme lorsque lobjet est dform. . . . . . . . . . . . . . . . . . . . . . Un paralllpipde dform par un outil. Les rsolutions comportent entre 24 et 1056 particules (a). La discrtisation qui a lieu au contact de loutil durant la simulation est intuitive. . . . . . Une tige oscillant sous la gravit. Simulation de rfrence faite avec 256 particules (a). Images de la simulation adaptative (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Illustration de la rpartition intuitive des particules lors dune dformation. Le niveau des particules est reprsent par la taille des cubes les symbolisant (a) ou par la couleur des nuds de la surface auxquels elles sont relies (b). La che reprsente la force renvoye lutilisateur. . Bien que les contraintes imposes dpassent parfois le formalisme des petites dformations, notre modle prsente nanmoins une rponse dune bonne qualit visuelle lutilisateur. Lajout de textures augmente sensiblement le ralisme du simulateur. . . . . . . . . . . . . . . Ladaptatif (a) ne simule que le niveau le plus n choisi alors quen hirarchique (b), les niveaux infrieurs continuent tre actifs et cohabitent. . . . . . . . . . . . . . . . . . . . . . . . . . Le point i reprsentera les valeurs du champ lintrieur de sa rgion de Vorono. . . . . . . . On dcompose lintgrale sur le contour en la somme des intgrales sur les demi-artes. m est lorthocentre du triangle, j et k les milieux des artes. . . . . . . . . . . . . . . . . . . . . . On utilise les angles , et pour obtenir une expression en fonction de k. . . . . . . . . . . Les cotg des angles opposs larte viennent pondrer la contribution dun voisin. . . . . . . Reprsentation des iso-valeurs du coefcient pondrateur dun point j sur le laplacien calcul en i en fonction de la position de j. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Le gradient de la fonction de base dun sommet est dirig selon la normale larte oppose. . Le point i va se dplacer pour compenser au mieux la variation daire due aux dplacements de ses voisins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Le milieu de la hauteur ih (carr) et celui de larte j k (cercle) ne concident que dans le cas o le triangle est isocle en i. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . La surface de Vorono intersecte chaque ttradre T en formant 3 polygones orthogonaux aux artes. Ils passent par les milieux des artes, les orthocentres des faces et lorthocentre du ttradre. On a ici supprim la face avant du ttradre pour montrer les polygones intrieurs. . La rgion de Vorono peut se trouver lextrieur du triangle si langle dpasse 90 . . . . . . . Les ttradres composant lobjet (a) et la rgion de Vorono associe au point central (b). . . . Les artes extrieures sont coupes aux limites de lobjet en plusieurs tapes : rgion de Vorono complte pour un des sommets du bord (a), suppression des facettes externes (b) et projection sur la surface (c). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Des exemples de rgions de Vorono obtenus sur diffrents maillages. . . . . . . . . . . . . . La rgion associe au point central dun cube compos de 9 (a) (comparer avec la Figure 4.11b) et 57 (b) points rgulirement rpartis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . La diffrence de calcul de loprateur grad div entre les deux mthodes tient au calcul pondr dune normale la face du ttradre pour les lments nis (a) qui est remplac dans notre approche par la somme pondre des trois normales des facettes de Vorono (b). . . . . . . . . Les positions extrmes atteintes par un cube soumis laction de la gravit en utilisant les lments nis explicites et le tenseur de Cauchy (a) et la version hybride que nous proposons par analogie avec les rsultats de la mthode de Vorono (b). La premire ligne montre le vecteur dplacement de chaque point. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trois rsolutions diffrentes vont tre simules. Le niveau 0 a 27 points (a), le niveau 1 en a 57 (b) et le niveau 2, 135 (c). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulation avec le tenseur de Cauchy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tenseur de Cauchy, sur 15 secondes de simulation. La position en x,y et z du coin du cube fait apparatre un mouvement rgulier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51 51 52 53 57 57

58

58 59 64 65 66 66 68 70 72 73

4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9

4.10 4.11 4.12

74 75 75

4.13 4.14 4.15

76 76 77

82

4.16

83 84 84 85

4.17 4.18 4.19

TABLE DES FIGURES

133

4.20 Simulation avec la mthode base sur les rgions de Vorono et le thorme de Gauss. . . . . . 4.21 Les forces cres par loprateur grad div u sont bien celles que lon attend dun oprateur assurant une prservation de volume. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.22 On constate une lente divergence de la simulation utilisant loprateur grad div u issu de la mthode de Vorono. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.23 Simulation avec des masses-ressorts. La raideur est une mme constante pour tous les ressorts. 4.24 Simulation avec des masses-ressorts. La raideur est proportionnelle la longueur vide du ressort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.25 Simulation avec des masses-ressorts. La raideur est inversement proportionnelle la longueur vide du ressort. Noter que pour obtenir des courbes damplitudes similaires, on a d utiliser des raideurs de respectivement 20, 13 et 6 pour les rsolutions 0, 1 et 2. . . . . . . . . . . . . 4.26 Simulation avec des masses-ressorts. La raideur est calcule selon la formule de Van Gelder [Gel98]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.27 La version hybride du tenseur de Cauchy (le laplacien est calcul laide dun simple scalaire). 4.28 Lintroduction de frottements internes naltre pas le comportement multirsolution de loprateur hybride. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.29 Simulation avec le tenseur de Green-Lagrange. . . . . . . . . . . . . . . . . . . . . . . . . . 4.30 Tenseur de Green-Lagrange avec ajout de forces dissipatives internes. . . . . . . . . . . . . . Le maillage triangulaire original (34700 triangles) est dgrad diffrents degrs (ici 550, 130 et 30 triangles), puis maill volumiquement (1874, 172 et 28 ttradres, ligne du bas). . . . . . 5.2 Le voisin F de P est fantme et sert P savoir ce qui se passe sa droite. Il interpole son dplacement daprs celui des points Q i du maillage n. . . . . . . . . . . . . . . . . . . . . . 5.3 Liaison des maillages (en 2D) : en fonction des maillages effectivement simuls, le sommet C1 pourra calculer sa position partir de celles des points F1 F2 F3 du maillage n. Les dformations pourront aussi tre propages aux noeuds du maillage n : F 1 pourra dduire sa position de celle des points C1 C2 C3 de son triangle parent. . . . . . . . . . . . . . . . . . 5.4 Les ls dun point sont les sommets du maillage n situs dans sa zone de Vorono. Ce sont eux qui remplaceront le point lorsquil se subdivisera. On stockera galement la liste des premiers voisins de ces ls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Un des points (F) du ttradre ls de P ne fait pas directement partie des ls de P. . . . . . . . 5.6 La synchronisation dcale des simulations des diffrents pas de temps permet dviter les goulots dtranglement en rpartissant la charge sur toute la simulation. . . . . . . . . . . . . 5.7 Le programme principal et le processus charg de lanimation sont lis par un systme de smaphores assurant leur synchronisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8 Inuence de laugmentation de sur la prservation de volume. Les images reprsentent 0 (a), 50000 (b) et 500000 (c). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.9 Lutilisation des maillages ns, faite daprs des critres lis la continuit, rsulte en une discrtisation intuitive des zones proches de loutil. . . . . . . . . . . . . . . . . . . . . . . . 5.10 Autre exemple dobjet dformable. Les secousses appliques sur le ventre de ce bonhomme se rpercutent sur ses bras qui oscillent lgrement. . . . . . . . . . . . . . . . . . . . . . . . . 6.1 6.2 6.3 6.4 Un nud de la surface est li une particule du modle interne grce un dcalage o. . . . . . Un nud de la surface est li aux diffrents triangles surfaciques des maillages ttradriques. . Une camra place lintrieur de loutil (a) permet de dtecter rapidement les collisions avec lobjet, que lon considre loutil comme statique (b) ou dynamique (c). . . . . . . . . . . . . Pour chacun des triangles intersects, on calcule le centre de gravit B de la zone dintersection. Les trois sommets du triangle seront dplacs en fonction des coefcients barycentriques de ce point. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Le Phantom desktop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Images du simulateur montrant quelques dformations du foie. La Figure (d) montre quelques effets de surface (brlures, blanchiment, reets). . . . . . . . . . . . . . . . . . . . . . . . . . Dautres exemples danimation, aux comportements plus ou moins rigides en fonction des paramtres choisis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Le rendu nal utilise des textures denvironnement qui explicitent la dformation subie (a). Le maillage interne correspondant (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1

85 86 86 87 87

87 88 88 89 89 90 93 94

95

95 97 98 100 100 101 101 104 105 106

6.5 6.6 6.7 6.8

106 107 108 109 109

134

TABLE DES FIGURES

BIBLIOGRAPHIE

[AH97]

Olivier R. Astley and Vincent Hayward. Real-time nite-elements simulation of general viscoelastic materials for haptic presentation. In International Conference on Intelligent Robots and Systems, volume IROS97 September 7-11, Grenoble, pages 5257, 1997. (rfrenc en page 29)
Bruno Arnaldi. Conception du noyau dun systme danimation de scnes tridimentionelles intgrant des lois de la mcanique. PhD thesis, Universit de Rennes 1, 1988. (rfrenc en page 55) Alan H. Barr. Global and local deformations of solid primitives. Computer Graphics, 18(3) :2129, 1984. (rfrenc aux pages 12, 14) G. K. Batchelor. An Introduction to Fluid Dynamics. Cambridge University Press, 1973. (rfrenc en page 18) K-J. Bathe. Finite Element Proceedures. Prentice Hall, Englewood Cliffs, NJ, 1996. (rfrenc en page 20) R. Bartels and J. Beaty. A technique for the direct manipulation of splines curves. In Proceedings of Graphics Interface, 1989. (rfrenc en page 12) R. Bartels, J. Beaty, and B. Barski. An introduction to splines for use in Computer Graphics and Geometric Modeling. Morgan Kaufmann, Los Altos, 1987. (rfrenc en page 11) David Bourguignon and Marie-Paule Cani. Controlling anisotropy in mass-spring systems. In Proceedings of the 11th Eurographics Workshop on Animation and Simulation, pages 113123. Springer-Verlag, August 2000. (rfrenc en page 15) Franois Boux de Casson and Christian Laugier. Simulating 2D tearing phenomena for interactive medical surgery simulators. In Proceedings of Computer Animation, Philadelphia, PA (US), May 2000. (rfrenc en page 15) Roman Berka. Reduction of computations in physics-based animation using level of detail. In Proceedings of the 1997 Spring Conference on Computer Graphics, pages 6976, 1997. (rfrenc en page 28) C. Basdogan, C. Ho, M.A. Srinivasan, S.D. Small, and S.L. Dawson. Force interactions in laparoscopic simulations : Haptic rendering of soft tissues. In Medicine Meets Virtual Reality (MMVR6) Conference, San Diego, CA, pages 1922, Jan 1998. (rfrenc en page 26) J. Bloomenthal. Polygonization of implicit surfaces. Xerox Technical Report CSL-87-2, pages 119, May 1987. (rfrenc en page 13) Jules Bloomenthal. Polygonisation of implicit surfaces. Computer Aided Geometric Design, 5 :341355, 1988. (rfrenc en page 13) Morten Bro-Nielsen and Stphane Cotin. Real-time volumetric deformable models for surgery simulation using nite elements and condensation. In Eurographics, pages 2130, 1996. (rfrenc aux pages 22, 24, 26) Jean Braun and Malcolm Sambridge. A numerical method for solving partial differential equations on highly irregular evolving grids. Nature, 376 :655660, August 1995. (rfrenc en page 64) Nicholas Burtnyk and Mark Wein. Interactive skeleton technique for enhancing motion dynamics in key frame animation. Communications of the ACM, 19(10) :564569, October 1976. (rfrenc en page 25)

[Arn88] [Bar84] [Bat73] [Bat96] [BB89] [BBB87] [BC00]

[BdCL00]

[Ber97] [BHS 98]

[Blo87] [Blo88] [BNC96]

[BS95] [BW76]

135

136

BIBLIOGRAPHIE

[BW90] [BW92] [BW98]

Jules Bloomenthal and Brian Wyvill. Interactive techniques for implicit modeling. Proceedings of Symposium on Interactive 3D Graphics, 24(2) :109116, March 1990. (rfrenc en page 13) David Baraff and Andrew Witkin. Dynamic simulation of non-penetrating exible bodies. Proceedings of SIGGRAPH92 (Chicago, Illinois, July 1992), 26(2) :303308, July 1992. (rfrenc en page 14) David Baraff and Andrew Witkin. Large steps in cloth simulation. In Michael Cohen, editor, SIGGRAPH98 Conference Proceedings, Annual Conference Series, pages 4354. ACM SIGGRAPH, Addison Wesley, July 1998. (rfrenc aux pages 7, 15, 26, 121) J. Collier, B. Collier, G. OToole, and S. Sargand. Drape prediction by means of nite elements analysis. In Journal of the Textile Institute, volume 82(1), pages 96107, 1991. (rfrenc en page 22) Stphane Cotin, Herv Delingette, and Nicolas Ayache. Real time volumetric deformable models for surgery simulation. In Lectures Notes in Computer Science, editor, Proceedings of Visualization in Biomedical Computing, volume 11, September 1996. (rfrenc en page 23) Stphane Cotin, Herv Delingette, and Nicolas Ayache. Efcient linear elastic models of soft tissues for real-time surgery simulation. Technical Report RR-3510, INRIA, 1998. (rfrenc en page 23) Stphane Cotin, Herv Delingette, and Nicolas Ayache. Real-time elastic deformations of soft tissues for surgery simulation. IEEE Transactions On Visualization and Computer Graphics, 5(1) :6273, JanuaryMarch 1999. (rfrenc en page 23) Steven A. Cover, Norberto F. Ezquerra, and James F. OBrien. Interactively deformable models for surgery simulation. IEEE Computer Graphics and Application, 13(6) :6875, November 1993. (rfrenc en page 26) Stephen Chenney and David Forsyth. View-dependent culling of dynamics systems in virtual environments. In Proceedings of the 1997 Symposium on Interactive 3D Graphics, pages 5558, 1997. (rfrenc en page 28) Stephen Chenney and D. Forsyth. Sampling plausible solutions to multi-body constraint problems. Proceedings of SIGGRAPH2000 (New-Orleans, Louisiana, pages 209218, July 2000. (rfrenc en page 7) Marie-Paule Cani-Gascuel and Mathieu Desbrun. Animation of deformable models using implicit surfaces. IEEE Transactions on Visualization and Computer Graphics, 3(1) :3950, March 1997. (rfrenc aux pages 17, 25, 25) Deborah Carlson and Jessica K. Hodgins. Simulation levels of detail for real-time animation. In Proceedings of Graphic Interface, pages 18, 1997. (rfrenc aux pages 27, 28) John E. Chadwick, David R. Haumann, and Richard E. Parent. Layered construction for deformable animated characters. Computer Graphics, 23(3) :243252, July 1989. (rfrenc aux pages 15, 25) Ciarlet. Elasticit Tridimensionnelle. Masson, 1985. (rfrenc en page 33) Robert D. Cook, David S. Malkus, and Michael E. Plesha. Concepts and Applications of Finite Element Analysis. John Wiley & Sons, January 1989. ISBN : 0471847887. (rfrenc en page 33) Sabine Coquillart. Extending free-form deformation : a sculpting tool for 3d geometric modeling. Proceedings of SIGGRAPH90, pages 187196, 1990. (rfrenc en page 12) Stphane Cotin. Modles anatomiques dformables en temps-rel. PhD thesis, Epidaure-Sophia Antipolis, 1997. (rfrenc aux pages 11, 23, 24, 26, 69, 77, 107, 113) Rmi Cozot. Environnement de Simulation de systmes physiques : Modle et langage. PhD thesis, Universit de Rennes, Juillet 1996. (rfrenc aux pages 17, 22) John .E. Chadwick and Eric Parent. Critter construction : Developping characters for computer animation. In Proceedings of PIXIM88, pages 283305, Paris, France, October 1988. (rfrenc en page 25) David T. Chen and David Zeltzer. Pump it up : Computer animation of a biomechanically based model of muscle using the nite element method. In Edwin E. Catmull, editor, SIGGRAPH92 Conference Proceedings, Annual Conference Series, pages 8998. ACM SIGGRAPH, Addison Wesley, July 1992. (rfrenc en page 22) Denis Dartus. Elasticit linaire. Cepadues-Editions, 1995. (rfrenc en page 33) Mark de Berg, Marc van Kreveld, Mark Overmars, and Otfried Schwarzkopf. Computational Geometry. Verlag, 1997. (rfrenc en page 64) Gilles Debunne and Marie-Paule Cani. Animation multiresolution interactive dobjets dformables. In 12me journes de lAssociation Franaise dInformatique Graphique, Reims, nov 1999. (rfrenc en page 61) Mathieu Desbrun and Marie-Paule Cani. Space-time adaptive simulation of highly deformable substances. INRIA Technical Report, RR-3829 (http ://www.inria.fr/RRRT/RR-3829.html), December 1999. (rfrenc aux pages 18, 19, 29)

[CCOS91] [CDA96]

[CDA98] [CDA99]

[CEO93]

[CF97]

[CF00] [CGD97]

[CH97] [CHP89] [Cia85] [CMP89] [Coq90] [Cot97] [Coz96] [CP88] [CZ92]

[Dar95] [dBvKOS97] [DC99a]

[DC99b]

BIBLIOGRAPHIE

137

[DCA99]

Herv Delingette, Stphane Cotin, and Nicolas Ayache. A hybrid elastic model allowing real-time cutting, deformations and force-feedback for surgery training and simulation. In Computer Animation, Geneva Switzerland, May 26-28 1999. (rfrenc en page 24) Mathieu Desbrun and Marie-Paule Cani-Gascuel. Smoothed particles : A new approach for animating highly deformable bodies. In Springer Computer Science, editor, 7th Eurographics Workshop on Animation and Simulation, pages 6176, Poitiers, France, September 1996. (rfrenc aux pages 29, 49) Gilles Debunne, Mathieu Desbrun, Alan Barr, and Marie-Paule Cani. Interactive multiresolution animation of deformable models. In 10th Eurographics Workshop on Computer Animation and Simulation, Milano, Italy, 1999. (rfrenc aux pages 45, 61) Gilles Debunne, Mathieu Desbrun, Marie-Paule Cani, and Alan Barr. Adaptive simulation of soft bodies in real-time. In Computer Animation, Philadelphia, USA, may 2000. (rfrenc aux pages 69, 83, 91) Gilles Debunne, Mathieu Desbrun, Marie-Paule Cani, and Alan H. Barr. Dynamic real-time deformations using space and time adaptive sampling. In Computer Graphics Proceedings, Annual Conference Series. ACM Press / ACM SIGGRAPH, aug 2001. Proceedings of SIGGRAPH01. (rfrenc en page 91) Mathieu Desbrun. Modlisation et animation dobjets hautement dformables laide de surfaces implicites. PhD thesis, Institut National Polytechnique, Grenoble, December 1997. (rfrenc aux pages 11, 17, 18, 29, 55) Gary A. Dilts. Equivalence of the SPH Method and a Space-Time Galerkin Moving Particle Method. Technical Report LA-UR 96-134, Los Alamos National Laboratory, January 1996. (rfrenc en page 19) Oliver Deussen, Leif Kobbelt, and Peter Tucke. Using simulated annealing to obtain good nodal approximations of deformable objects. In Proceedings of the 6th Eurographics Workshop on Animation and Simulation, pages 3043. Springer-Verlag, September 1995. (rfrenc en page 16) Mathieu Desbrun, Mark Meyer, Peter Schrder, and Alan Barr. Implicit fairing of irregular meshes using diffusion and curvature ow. In SIGGRAPH 99 Conference Proceedings, 1999. Los Angeles, CA. (rfrenc en page 46) Libersky L. D. and A. G. Petschek. Smooth particle hydrodynamics with strength of materials, advances in the free-lagrange method. Trease, Fritts, and Crowley, eds., Springer Verlag, pages 248257, 1990. (rfrenc en page 31) Mathieu Desbrun, Peter Schrder, and Alan Barr. Interactive animation of structured deformable objects. In Graphics Interface99 proceedings, pages 18, June 1999. (rfrenc aux pages 26, 98, 121) Mathieu Desbrun, Nicolas Tsingos, and Marie-Paule Gascuel. Adaptive sampling of implicit surfaces for interactive modelling and animation. Computer Graphics Forum, 15(5) :319327, December 1996. A preliminary version of this paper appeared in Implicit Surfaces95, Grenoble, France, may 1995. (rfrenc en page 13) Bernhard Eberhardt, Olaf Etzmu, and Michael Hauth. Implicit-explicit schemes for fast animation with particle systems. In N. Magnenat-Thalmann, D. Thalmann, and B. Arnaldi, editors, 11th Eurographics Workshop on Computer Animation and Simulation, Interlaken, Swizerlan, August 2000. ISBN 3-21183549-0. (rfrenc en page 121) G. Farin. Curves and Surfaces for Computer Aided Geometric Design. Academic Press Inc., San Diego, 1990. Second edition. (rfrenc en page 11) Nick Foster and Dimitri Metaxas. Realistic animation of liquids. Proceedings of Graphics Interface, pages 204212, May 1996. (rfrenc en page 7) Bengt Fornberg. Generation of nite difference formulas on arbitrarily spaced grids. Math. Comput., 51 :699706, 1988. (rfrenc en page 46) A. Finkelstein and D. Salezin. Multiresolution curves. In Proceedings of SIGGRAPH94, Computer Graphics Proceedings, Annual Conference Series, pages 262268, 1994. (rfrenc en page 12) Koji Fujiwara. Eigenvalues of laplacians on a closed riemannian manifold and its nets. In Proceedings of the AMS 123, pages 25852594, 1995. (rfrenc en page 46) Y.C. Fung. Foundations of Solids Mechanics. Prentice-Hall, 1965. (rfrenc en page 33) Marie-Paule Gascuel. Dformations de surfaces complexes : techniques de haut niveau pour la modlisation et lanimation. Thse de doctorat, Universit Paris XI, October 1990. (rfrenc en page 25) Jean-Dominique Gascuel, Marie-Paule Cani, Mathieu Desbrun, Eric Leroi, and Carola Mirgon. Simulating landslides for natural disaster prevention. In Proceedings of the 8th Eurographics Workshop on Animation and Simulation, 1998. (rfrenc en page 29) Fabio Ganovelli, Paolo Cignoni, Claudio Montani, and Roberto Scopigno. A multiresolution model for soft objects supporting interactive cuts and lacerations. In Proceedings of Eurographics 2000, 2000. (rfrenc en page 29)

[DCG96]

[DDBC99]

[DDCB00] [DDCB01]

[Des97]

[Dil96] [DKT95]

[DMSB99]

[DP90]

[DSB99] [DTG96]

[EEH00]

[Far90] [FM96] [For88] [FS94] [Fuj95] [Fun65] [Gas90] [GCD 98]

[GCMS00]

138

BIBLIOGRAPHIE

[GCS99] [Gel98] [Ger62] [GH97]

Fabio Ganovelli, Paolo Cignoni, and Roberto Scopigno. Introducing multiresolution representation in deformable object modeling. In Proceedings of SCCG99, pages 149158, 1999. (rfrenc en page 29) Allen Van Gelder. Approximate simulation of elastic membranes by triangulated spring meshes. Journal of Graphics Tools, 1998. (rfrenc aux pages 29, 30, 84, 86, 88, 133) Paul Germain. Mcanique des milieux continus. Masson, 1962. (rfrenc en page 33) Michael Garland and Paul S. Heckbert. Surface simplication using quadric error metrics. In Turner Whitted, editor, SIGGRAPH97 Conference Proceedings, Annual Conference Series, pages 209216. Addison Wesley, August 1997. ISBN 0-89791-896-7, http ://www.cs.cmu.edu/ arland/multires/my-work.html. (rg frenc en page 92) Sarah F. Gibson. 3d chainmail : a fast algorithm for deforming volumetric objects. In Michael Cohen and David Zeltzer, editors, Symposium on interactive 3D graphics, pages 149154, April 1997. ACM SIGGRAPH. (rfrenc en page 26) Sarah F. Gibson and Brian Mirtich. A survey of deformable modeling in computer graphics. Technical report, MERL, 1997. (rfrenc en page 11) Jean-Paul Gourret, Nadia Magnenat-Thalmann, and Daniel Thalmann. Simulation of object and human skin deformation in a grasping task. Proceedings of SIGGRAPH89 (Boston, MA), pages 2130, July 1989. (rfrenc aux pages 22, 23) Marie-Paule Gascuel, Anne Verroust, and Claude Puech. Animation with collisions of deformable articulated bodies. In Eurographics Workshop on Animation and Simulation, September 1990. (rfrenc en page 25) Marie-Paule Gascuel, Anne Verroust, and Claude Puech. A modeling system for complex deformable bodies suited to animation and collision processing. Journal of Visualization and Computer Animation, 2(3) :8291, August 1991. A shorter version of this paper appeared in Graphics Interface91. (rfrenc en page 25) W. Hsu, J. Hughes, and H. Kaufmann. Direct manipulation of free-form deformations. Proceedings of SIGGRAPH92, pages 177184, 1992. (rfrenc en page 12) Lars Hernquist and Neal Katz. Treesph : A unication of sph with the hierarchical tree method. Astronony Astrophysics Suppl. Series, 70 :419446, June 1989. (rfrenc en page 18) T. J. R. Hughes, I. Levit, and J. Winget. An element-by-element solution algorithm for problems of structural and solid dynamics. Computer Methods in Applied Mechanics and Engineering, 36(2) :241254, 1983. (rfrenc en page 121) Dave Hutchinson, Martin Preston, and Terry Hewitt. Adaptative renement for mass/spring simulations. In Proceedings of the Eurographics Workshop on Computer Animation and Simulation, pages 3145, Poitiers, France, sep 1996. (rfrenc aux pages 16, 27, 29, 91) INRIA. Aisim - caesare. http ://www-sop.inria.fr/epidaure/AISIM/. (rfrenc aux pages 26, 105) Stphane Jimenez. Modlisation et simulation physique dobjets volumiques dformables complexes. Thse de doctorat, Institut National Polytechnique de Grenoble, November 1993. (rfrenc en page 16) Ammar Joukhadar. Adaptive time step for fast converging dynamic simulation system. In Proc. of the IEEERSJ Int. Conf. on Intelligent Robots and Systems, volume 2, pages 418424, November 1996. (rfrenc aux pages 15, 55) Doug James and Dinesh Pai. Art defo - accurate real time deformable objects. Proceedings of SIGGRAPH99 (Los Angeles, California), pages 6572, August 1999. (rfrenc aux pages 23, 24, 25, 26, 77) Michael Kass. An introduction to continuum dynamics for computer graphics. In SIGGRAPH Course Notes. ACM SIGGRAPH, 1997. (rfrenc en page 20) Michael Kass, Andrew Witkin, and Demetri Terzopoulos. Snakes : active contour models. In International Journal Computer Vision, volume 1(4), pages 321332, 1987. (rfrenc en page 19) John Lasseter. Principles of traditional animation applied to 3d computer animation. Proceedings of SIGGRAPH87 (Anaheim, California), 21(4) :3543, July 1987. (rfrenc en page 7) Annie Luciani and Claude Cadoz. Utilisation de modles mcaniques et gomtriques pour la synthse et le contrle dimages animes. In Deuxime Colloque Image, CESTA, Nice, April 1986. (rfrenc en page 16) Jean-Christophe Lombardo, Marie-Paule Cani, and Fabrice Neyret. Real-time collision detection for virtual surgery. In Proceedings of Computer Animation, May 1999. (rfrenc en page 105) Annie Luciani, Arach Habibi, A. Vapillon, and Y. Duroc. A physical model of turbulent uids. In 6th Eurographics Workshop on Animation and Simulation, Maastricht, Netherlands, September 1995. (rfrenc en page 16)

[Gib97]

[GM97] [GMTT89]

[GVP90]

[GVP91]

[HHK92] [HK89] [HLW83]

[HPH96]

[INR] [Jim93] [Jou96]

[JP99] [Kas97] [KWT87] [Las87] [LC86]

[LCN99] [LHVD95]

BIBLIOGRAPHIE
[LJR 91]

139

Annie Luciani, Stphane Jimenez, Olivier Raoult, Claude Cadoz, and Jean-Loup Florens. A unied view of multitude behaviour, exibility, plasticity, and fractures : balls, bubbles and agglomerates. In IFIP WG 5.10 Working Conference, Tokyo, Japan, April 1991. (rfrenc en page 16) L.D. Landeau and E.M. Lifshitz. Theory of Elasticity. Pergamon Press, 1959. (rfrenc en page 33) Jean-Christophe Lombardo and Claude Puech. Oriented particles : A tool for shape memory objects modelling. In Graphics Interface95, Quebec, Canada, May 1995. (rfrenc en page 16) Jean Louchet, Xavier Provot, and David Crochemore. Evolutionary identication of cloth animation models. In Proceedings of the 6th Eurographics Workshop on Animation and Simulation, pages 4454. Springer-Verlag, September 1995. (rfrenc en page 16) Patrick Lascaux and Raymond Thodor. Analyse numrique matricielle applique lart de lingnieur, mthodes directes. Masson, seconde edition, 1994. (rfrenc aux pages 67, 79) Y. Lee, Demetri Terzopoulos, and K. Waters. Realistic modeling for facial animation. Proceedings of SIGGRAPH95, pages 5562, 1995. (rfrenc en page 15) Annie Luciani. Un outil informatique de cration dimages animes. Thse de docteur ingnieur dlectronique, Institut National Polytechnique de Grenoble, November 1985. (rfrenc aux pages 15, 30) Philippe Meseure and C. Chaillou. Modlisation mcanique pour la simulation dactes chirurgicaux. In Actes du 4me sminaire du groupe de travail Animation et Simulation, Strasbourg, 1996. (rfrenc en page 26) Philippe Meseure and C. Chaillou. Simulations de corps dformables par subdivision adaptative compatibles avec les dcoupes. In Actes des 4mes journes de lAFIG, Dijon, France, 27-29 novembre 1996, 1996. (rfrenc en page 26) S. F. McCormick. Multilevel Adaptive Methods for Partial Differential Equations. Chapter 2 : The Finite Volume Method. Vol. 6, SIAM, Philadelphia, 1989. (rfrenc en page 64) Mark Meyer, Gilles Debunne, Mathieu Desbrun, and Alan H. Barr. Interactive animation of cloth-like objects in virtual reality. In Journal of Visualization and Computer Animation, 2000. (rfrenc en page 121) Philippe Meseure. Modlisation de corps dformables pour la simulation dactes chirurgicaux. PhD thesis, Universit des Sciences et Technologies de Lille, janvier 1997. (rfrenc aux pages 26, 120) Gavin Miller. The motion dynamics of snakes and worms. Proceedings of SIGGRAPH88 (Atlanta, Georgia), 22(4) :169177, August 1988. (rfrenc en page 15) Roger B. Milne. An adaptive level-set method. PHD Thesis, University of California, Berkeley Lab, December 1995. (rfrenc en page 46) R. MacCracken and K. Joy. Free-form deformations with lattices of arbitrary topology. Proceedings of SIGGRAPH96, pages 181188, 1996. (rfrenc en page 12) J. J. Monaghan. Smoothed particle hydrodynamics. Annual Review on Astronomy and Astrophysics, 543(30) :543574, 1992. (rfrenc aux pages 17, 49, 50) Gavin Miller and Andrew Pearce. Globular dynamics : A connected particle system for animating viscous uids. Computers and Graphics, 13(3) :305309, 89. This paper also appeared in SIGGRAPH89 Course notes number 30. (rfrenc en page 16) William A. McNeely, Kevin D. Puterbaugh, and James J. Troy. Six degree-of-freedom haptic rendering using voxel sampling. In SIGGRAPH 99 Conference Proceedings, 1999. Los Angeles, CA. (rfrenc en page 107) Dimitri Metaxas and Demetri Terzopoulos. Dynamic deformation of solid primitives with constraints. Computer Graphics, 26(2) :309312, July 1992. (rfrenc aux pages 14, 25) W. Maurel, Y. Wu, N. Magnenat Thalmann, and D. Thalmann. Biomechanical Models for Soft Tissue Simulation. Springer, 1998. (rfrenc en page 33) H. Ng and R. Grimsdale. Computer graphics techniques for modelling cloth. In IEEE Computer Graphics and Applications, volume 16(5), pages 2841, 1996. (rfrenc en page 11) James OBrien and Jessica Hodgins. Graphical models and animation of brittle fracture. In Proceedings of SIGGRAPH99, pages 137146, 1999. (rfrenc aux pages 24, 27, 29, 50, 77, 91, 125) M. Ortiz, P.M. Pinsky, and R.L. Taylor. Unconditionally stable element-by-element algorithms for dynamic problems. Computer Methods in Applied Mechanics and Engineering, 36(2) :223239, 1983. (rfrenc en page 121) S. Platt and Norman Badler. Animating facial expressions. Proceedings of SIGGRAPH81, 15(3) :245252, July 1981. (rfrenc en page 15)

[LL59] [LP95] [LPC95]

[LT94] [LTW95] [Luc85] [MC96a]

[MC96b]

[McC89] [MDDB00] [Mes97] [Mil88] [Mil95] [MJ96] [Mon92] [MP89]

[MPT99]

[MT92] [MWTT98] [NG96] [OH99] [OPT83]

[PB81]

140

BIBLIOGRAPHIE

[PB88] [PLL98] [Pro95] [Pro97] [PSE00]

John Platt and Alan Barr. Constraint methods for exible models. Proceedings of SIGGRAPH88 (Atlanta, Georgia), 22(4) :279288, August 1988. (rfrenc en page 19) Julien Pquignot, Jean-Christophe Lombardo, and Stphane Lantri. Optimisation gomtrique locale de maillages ttradriques. Technical report, ESSI3 - CSI - INRIA, 1998. (rfrenc en page 91) Xavier Provot. Deformation constraints in a mass-spring model to describe rigid cloth behavior. In Graphics Interface, pages 147154, June 1995. (rfrenc en page 15) Xavier Provot. Animation Raliste de Vtements. Thse de doctorat, Synthim - INRIA, France, December 1997. (rfrenc en page 120) Joseph Popovi , Steven M. Seitz, Michael Erdmann, Zoran Popovi , and Andrew Witkin. Interactive mac c nipulation of rigid body simulations. Proceedings of SIGGRAPH2000 (New-Orleans, Louisiana), pages 201208, July 2000. (rfrenc en page 7) William Press, Saul Teukolsky, William Vetterling, and Brian Flannery. Numerical Recipes in C, second edition. Cambridge University Press, New York, USA, 1992. (rfrenc en page 120) Alex Pentland and John Williams. Good vibrations : Modal dynamics for graphics and animation. Proceedings of SIGGRAPH89 (Boston, MA), 23(3) :215222, July 1989. (rfrenc aux pages 13, 14, 29) W. T. Reeves. Particle systemsa technique for modeling a class of fuzzy objects. Computer Graphics, 17(3) :359376, 1983. (rfrenc en page 16) Craig W. Reynolds. Flocks, herds and schools : A distributed behavioral model. Proceedings of SIGGRAPH87, 21(4) :2534, juillet 1987. (rfrenc en page 16) Hugh Reynolds. An alternative inter-particle force model for coupled system exible body dynamics. In 8th Eurographics Workshop on Computer Animation and Simulation, Budapest, Hungria, 1997. (rfrenc en page 16) B. Robertson. Antz-piration. Computer Graphics World, 21, 1998. (rfrenc en page 7) B. Robertson. Meet Geri : The new face of animation. Computer Graphics World, 21, 1998. (rfrenc en page 7) Barry Smith, Petter Bjrstad, and William Gropp. Domain Decomposition : Parallel Multilevel Methods for Elliptic Partial Differential Equations. Cambridge Univ Pr, May 1996. (rfrenc en page 33) L. Segerlind. Applied Finite Element Analysis. John Wiley and Sons, New York, 1984. page 20) (rfrenc en

[PTVF92] [PW89] [Ree83] [Rey87] [Rey97]

[Rob98a] [Rob98b] [SBG96] [Seg84] [SF93] [SF95] [SIM] [SP86] [ST92] [ST95]

Jos Stam and Eugene Fiume. Turbulent wind elds for gaseous phenomena. Proceedings of SIGGRAPH93, 27 :369376, August 1993. (rfrenc en page 17) Jos Stam and Eugene Fiume. Depicting re and other gaseous phenomena using diffusion processes. Proceedings of SIGGRAPH95 (Los Angeles), pages 129136, August 1995. (rfrenc en page 17) SIMULOG. Ghs3d. (rfrenc en page 92) Thomas W. Sedeberg and Scott R. Parry. Free-form deformations of solid geometric models. Computer Graphics, 20(4) :151160, 1986. (rfrenc en page 12) Richard Szeliski and David Tonnesen. Surface modeling with oriented particle systems. Proceedings of SIGGRAPH92 (Chicago), 26(2) :185194, July 1992. (rfrenc en page 16) Jianhua Shen and Daniel Thalmann. Interactive shape design using metaballs and splines. In Implicit Surfaces95the First Eurographics Workshop on Implicit Surfaces, pages 187195, Grenoble, France, April 1995. (rfrenc en page 25) Jos Stam. Stable uids. Proceedings of SIGGRAPH99, pages 121128, August 1999. ISBN 0-20148-5605. Held in Los Angeles, California. (rfrenc en page 115) SensAble Technologies. Systme retour deffort "Phantom". http ://www.sensable.com. (rfrenc aux pages 26, 107) Demetri Terzopoulos and Kurt Fleischer. Modeling inelasctic deformation : Viscoelasticity, plasticity, fracture. Proceedings of SIGGRAPH88 (Atlanta, Georgia), 22 :269278, August 1988. (rfrenc aux pages 19, 25) S.P. Timoshenko and J.N. Goodier. Theory of Elasticity. McGraw-Hill, 1970. (rfrenc en page 33) David Tonnesen. Modeling liquids and solids using thermal particles. In Graphics Interface91, pages 255262, Calgary, AL, June 1991. (rfrenc en page 16) Demetri Terzopoulos, John Platt, Alan Barr, and Kurt Fleischer. Elastically deformable models. Proceedings of SIGGRAPH87 (Anaheim, California), 21 :205214, July 1987. (rfrenc aux pages 19, 20, 25, 121)

[Sta99] [Tec] [TF88]

[TG70] [Ton91] [TPBF87]

BIBLIOGRAPHIE

141

[TPF89] [TT93] [Tur95]

Demetri Terzopoulos, John Platt, and Kurt Fleisher. Heating and melting deformable models (from goop to glop). In Graphics Interface89, pages 219226, London, Ontario, June 1989. (rfrenc aux pages 16, 25) Russel Turner and Daniel Thalmann. The elastic surface layer model for animated character construction. In Springer Verlag, editor, Computer Graphics International, 1993. (rfrenc en page 25) Russel Turner. Leman : A system for constructing and animating layered elastic characters. In Computer Graphics - Developments in Virtual Environments, pages 185203, Academic Press, San Diego, CA, June 1995. (rfrenc en page 25) Demetri Terzopoulos and Andrew Witkin. Physically based model with rigid and deformable component. IEEE Computer Graphics and Applications, pages 4151, dcembre 1988. (rfrenc aux pages 19, 25) Demetri Terzopoulos and K. Waters. Physically based facial modeling analysis and animation. In Journal of Visualization and Computer Animation, pages 7380, 1990. (rfrenc en page 15) Bernard Valton. Gestion de la complexit de scnes animes et interactives : contributions la conception et la reprsentation. PhD thesis, Universit de Rennes 1, 1999. (rfrenc en page 28) Brian Von Herzen and Alan H. Barr. Accurate triangulations of deformed, intersecting surfaces. In Maureen C. Stone, editor, Computer Graphics (SIGGRAPH 87 Proceedings), volume 21, pages 103110, July 1987. (rfrenc en page 51) Andrew Witkin, Kurt Fleisher, and Alan H. Barr. Energy constraint on parametrized models. Computer Graphics, 21(4) :225232, July 1987. (rfrenc en page 19) Andrew Witkin and Paul Heckbert. Using particles to sample and control implicit surfaces. Proceedings of SIGGRAPH94, pages 269278, July 1994. (rfrenc en page 13) Patrick Witting. Computational uid dynamics in a traditional animation environment. Proceedings of SIGGRAPH 99, pages 129136, August 1999. ISBN 0-20148-560-5. Held in Los Angeles, California. (rfrenc en page 114) Geoff Wyvill, Craig McPheeters, and Brian Wyvill. Data structure for soft objects. The Visual Computer, 2(4) :227234, August 1986. (rfrenc en page 13) Andrew Witkin and William Welch. Fast animation and control for non-rigid structures. Proceedings of SIGGRAPH90 (Dallas, Texas), 24(4) :243252, August 1990. (rfrenc aux pages 14, 25) Gary D. Yngve, James F. OBrien, and Jessica K. Hodgins. Animating explosions. Proceedings of SIGGRAPH 2000, pages 2936, July 2000. ISBN 1-58113-208-5. (rfrenc en page 114) Yan Zhuang. Real-time Simulation of Physically-Realistic Global Deformations. PhD thesis, UC Berkeley, Department of Electrical Engineering and Computer Science, Fall 2000. http ://www.cs.berkeley.edu/ yzhuang/publications.html. (rfrenc en page 29) O.C. Zienkiewicz and R.L. Taylor. The Finite Element Method. McGraw-Hill, 1991. (rfrenc en page 20)

[TW88] [TW90] [Val99] [VB87]

[WFB87] [WH94] [Wit99]

[WMW86] [WW90] [YOH00] [Zhu00]

[ZT91]