Brevet FR2784770A1 — publié le 20000421

Procédé de codage d'un maillage source par minimisation de volume, et applications correspondantes. 1. domaine de l'invention et applications 1.1 domaine de l'invention Le domaine de l'invention est celui du codage de structures de données géométriques, ou maillages, notamment de grande taille. Plus précisément, l'invention concerne la représentation et le codage d'objets ou de scènes en trois dimensions. Plus précisément encore, l'invention concerne une technique d'approximation d'un maillage source en trois dimensions. Un maillage est classiquement défini par un ensemble de sommets et de faces (ou un ensemble de sommets, d'arêtes et d'orientations) définissant une topologie. De tels maillages sont par exemple utilisés en graphisme sur ordinateur, pour modéliser des objets en trois dimensions avec une complexité géométrique limitée. L'approximation d'un maillage M consiste à trouver un maillage M' dont la complexité géométrique est moindre que celle du maillage M, et qui approche au mieux la géométrie de M, au sens d'un certain critère défini à l'avance. 1.2 exemples d'applications L'invention trouve des applications dans tous les domaines o il est souhaitable de réduire le nombre d'informations nécessaires pour représenter et/ou manipuler efficacement un objet en trois dimensions ou un ensemble d'objets, par exemple pour l'analyser, ou stocker et/ou le transmettre. A titre indicatif, l'invention peut notamment s'appliquer au domaine de la réalité virtuelle (visites ou boutiques virtuelles, loisirs, télémanipulation, etc...). Dans ce type d'application, l'approximation de maillages permet de réduire le coût de rendu de scènes complexes, en particulier en définissant la notion d'échelonnabilité sur les maillages (fonction du point de vue, des capacités graphiques, du taux de rafraîchissement souhaité,...). Dans le cas de la réalité virtuelle distribuée ou partagée, cela permet également d'adapter la complexité d'une scène aux capacités de rendu et de stockage des différents terminaux, ainsi qu'aux débits des réseaux; - la simulation scientifique (éléments finis, CAO, etc...). La réduction de la complexité géométrique des modèles permet une accélération des temps de calcul, une prise de décisions plus rapide, notamment lors de la conception en CAO, et l'élimination des informations redondantes dans une base de données 3D; - la modélisation (scanner 3D (reconstruction de surfaces à partir de points non organisés), scanners volumiques, reconstruction de surfaces à partir de photos stéréoscopiques ou de séquences vidéo, de modèles numériques de terrains (imagerie satellite ou radar), etc...). Un modèle numérique de terrain permet ainsi l'obtention d'un maillage représentant la topologie d'une région. Un tel maillage est obtenu par l'échantillonnage régulier d'une image stockant l'information d'altitude en chaque point. Il en résulte une quantité de données importante, comprenant des informations inutiles pour la simulation scientifique, ou trop coûteuse pour le rendu (dans le cas de simulateurs). L'approximation de maillages réduit la quantité de données, tout en garantissant une bonne fidélité géométrique aux données initiales et la conservation de la topologie. 2. art antérieur 2.1 les familles d'algorithmes Plusieurs techniques d'approximation de maillages sont déjà connues. Les plus répandues peuvent être classées en trois grandes familles d'algorithmes selon qu'elles fonctionnent par: - décimation; ré- échantillonnage sous-critique; - subdivision adaptative. 2.1.1 décimation La décimation consiste à retirer de manière itérative des sommets et/ou des faces d'un maillage. Cette opération est appelée opération élémentaire de simplification. Les méthodes mettant en oeuvre ce principe de décimation peuvent également optimiser les positions des sommets après simplification, cette dernière étant choisie de manière à préserver au mieux la topologie du maillage. 2.1.2 réDchantillonnage sous-crii Le ré-échantillonnage consiste à échantillonner un modèle original, soit en prenant des points aléatoirement sur sa surface et en retriangulant ensuite soit en définissant une grille tridimensionnelle et en agglomérant les sommets dans chaque boîte élémentaire de la grille. Le modèle ainsi généré est simplifié, et doit approximer au mieux les données initiales. Cette technique est rapide, mais ne conserve pas la topologie ni les caractéristiques visuellement importantes des maillages. 2.1.3 subdivision adantative La subdivision adaptative commence avec un modèle comportant une géométrie très simple, que l'on subdivise récursivement ensuite, en ajoutant à chaque itération un détail dans les régions ou l'erreur d'approximation est maximale. 2.2 exemples de techniques connues De façon à permettre une approximation d'un maillage avec une qualité de reconstruction satisfaisante, il est nécessaire de combiner une décimation et une optimisation des positions des sommets conservés. En d'autres termes, l'objectif de base d'un procédé de codage d'un maillage source étant de maximiser la qualité de l'approximation pour une complexité géométrique donnée, celui-ci doit notamment présenter les propriétés suivantes: - décimation; - préservation de la topologie; - optimisation des positions, suivant un critère d'erreur prédéfini. 2.2. 1 remaillage Une première méthode, appelée "remaillage" répondant à ces critères a été présentée par Greg TURK, dans le document "Re-tiling polygonal surfaces" (SIGGRAPH 92 Conference Proceedings, pages 55-64, 1992). Elle fonctionne par échantillonnage, décimation et optimisation des positions. Elle permet de paramétrer le nombre de niveaux de résolution souhaités et le nombre final de sommets pour chacun d'eux. L'algorithme débute par une distribution aléatoire du nombre de sommets paramétrés sur la surface du modèle, puis optimise leur position en les liant par des forces de répulsion (fonctions de la courbure locale). Il triangule ensuite les polygones ainsi formés, en incluant les sommets du maillage original. Enfin, on décime le modèle un sommet après l'autre (si cette opération conserve la topologie locale) puis on retriangule le trou résultant. On obtient ainsi un modèle raffiné dans les régions de forte courbure et décimé sur les régions planes. Un inconvénient de cette méthode est qu'elle présente une partie aléatoire. En conséquence, deux décimations successives ne donnent pas le même résultat. Par ailleurs, cette technique a tendance à lisser les discontinuités dans la plupart des situations. De plus, la fidélité aux données initiales n'est pas exprimée directement au cours de l'optimisation des positions. 2.2.2 codage progressif de maillages Une autre technique, appelée "codage progressif de maillages", a été développée par Hugues HOPPE, dans le document "Progressive meshes" (SIGGRAPH 96 Conference Proceedings, pages 99-108, 1996). Elle repose sur la décimation et l'optimisation des points. Cette technique est décrite plus en détail en annexe 1, en relation avec les figures 1 à 4, de façon à ne pas surcharger la présente discussion. Il est clair cependant que cette annexe 1, ainsi que l'annexe 2, font partie intégrante de la description. Cette technique de codage progressif de maillages présente différents inconvénients. Notamment, elle ne conserve pas naturellement les discontinuités ou singularités géométriques, ce qui suppose une gestion de cas particuliers, tels que les coins, les arêtes vives finissantes et les arêtes vives régulières, pour éviter des ruptures de topologie. Cela entraîne des calculs complexes, difficiles à mettre en oeuvre, et suppose des paramétrages peu aisés (qu'est-ce qu'une arête vive ? Comment pondérer le terme de ressort pour éviter de lisser les surfaces ?...). Par ailleurs, elle n'est pas efficace pour caractériser les différences perceptuelles entre deux maillages. 3. objectifs de l'invention L'invention a notamment pour objectif de pallier les différents inconvénients de la technique antérieure. Plus précisément, un objectif de l'invention est de fournir un procédé de codage d'un maillage source en trois dimensions, présentant un meilleur rapport qualité de l'approximation/complexité géométrique que les techniques connues. Notamment, l'invention a pour objectif de fournir un tel procédé, respectant plus fidèlement les caractéristiques importantes à conserver (singularités ou discontinuités). Un autre objectif de l'invention est de fournir un tel procédé, ne nécessitant pas une recherche et une gestion des cas particuliers (tels que les arêtes et les coins), ni la mise en oeuvre de paramètres spécifiques (par exemple critères de reconnaissance d'une arête, seuils,...) qu'il est nécessaire de définir pour chaque maillage. L'invention a encore pour objectif de fournir un tel procédé, qui permet une reconstruction successive du maillage, celui-ci étant reconnaissable, sous une représentation grossière, très rapidement. L'invention a également pour objectif de fournir un tel procédé permettant de répondre aux fonctionnalités fixées dans le projet de standardisation ISO- MPEG4, à savoir: - la compression de maillages, qui doit réduire fortement la quantité de données décrivant la géométrie, avec des pertes visuelles minimales; - la représentation progressive d'un maillage, permettant de définir un maillage sous la forme d'un maillage de base à faible résolution, et d'une séquence de raffinements; - l'adaptation à une gamme de débits importante, la qualité étant acceptable, mais pour de très faibles débits. 4. caractéristiques principales de l'inentioni 4.1 utilisation d'une métrique volumiue Ces objectifs, ainsi que d'autres qui apparaîtront plus clairement par la suite, sont atteints selon l'invention à l'aide d'un procédé de codage d'un maillage source (M) représentatif d'un objet en trois dimensions, délivrant un maillage simplifié (M') correspondant audit maillage source (M), lesdits maillages étant définis par un ensemble de sommets, d'arêtes et/ou de faces. Ce procédé met en oeuvre une étape de minimisation d'un volume compris entre ledit maillage source (M) et ledit maillage simplifié (M'). Ainsi, l'invention concerne une technique d'approximation de maillages utilisant une métrique basée volume, et non comme cela est classiquement le cas, une métrique considérant la distance entre un sommet et une surface (une telle distance n'étant d'ailleurs pas unique). Cette approche nouvelle prend en compte naturellement les caractéristiques importantes à conserver (singularités) sans qu'il soit nécessaire de recourir à la détection de cas particuliers. Aucun paramétrage particulier n'est requis, avant le traitement d'un maillage: on minimise simplement le volume entre les deux maillages. 4.2 caractéristiques avantageuses de l'invention L'invention peut notamment être mise en oeuvre à l'aide d'un algorithme organisé en deux parties: la décimation et l'optimisation de positions. La décimation permet d'obtenir un maillage géométriquement simplifié, à partir du maillage original, tout en conservant la topologie et une bonne ressemblance avec ce maillage original. L'optimisation des positions des sommets permet l'obtention de la meilleure approximation au sens de la métrique basée volume de l'invention. En combinant décimation et optimisation, on peut générer soit un maillage sous forme progressive (en utilisant alternativement la décimation d'un sommet et une optimisation locale), soit des niveaux de résolution distincts (en utilisant successivement la décimation d'un ensemble de sommets et une optimisation globale). De façon avantageuse, chacun desdits maillages étant défini par la position de chacun de ses sommets et des arêtes les reliant, ladite étape de minimisation assure la détermination des positions des sommets (X 1, X2,... Xn) dudit maillage simplifié (M') minimisant le volume V(M, M') entre ledit maillage source et ledit maillage simplifié. Préférentiellement, ladite étape de minimisation met en oeuvre un processus itératif optimisant progressivement les positions des sommets dudit maillage simplifié (M'). Ledit processus itératif peut notamment être interrompu lorsqu'au moins un des critères d'arrêt suivants est atteint: - un nombre (N) maximum d'itérations; - une différence entre deux vecteurs déplacement successifs des positions des sommets inférieure à un seuil prédéterminé (ú). Selon un mode de réalisation avantageux, ladite étape de minimisation met en oeuvre une méthode de gradient adaptatif. Cette méthode, ainsi qu'on le verra par la suite, permet de mettre en oeuvre l'invention avec une complexité de calcul réduite. En effet, il n'est alors pas nécessaire d'effectuer un calcul explicite du volume. Dans ce cas, ladite méthode de gradient adaptatif peut avantageusement reposer sur les opérations suivantes: - sélection d'un vecteur X de R 3n (n > 1) dudit maillage simplifié, p et calcul du gradient VE (Xp) en Xp de la fonction à minimiser E=d(M,M'); détermination de la position Xp de Xp dudit maillage, selon la relation définie à l'itération k+l par: Xk+! =Xk 'YkX 7E(Xpk) k+l k DEI Xp = Xpk-- kX VE(Xpk) k variant de 0 à n-1 (avec n lorsqu'un nombre maximum d'itérations est atteint). On peut noter que Xp appartient à R 3 si on effectue une optimisation locale ou à R 3n Si on effectue une optimisation globale. En d'autres termes, on optimise les positions d'un sommet à la fois dans le cas d'une optimisation locale et de tous les sommets simultanément (sous la forme d'un unique vecteur de R 3n) dans le cas d'une optimisation globale. De façon préférentielle, ledit pas yk est variable, et il varie en fonction de l'oscillation de deux déplacements successifs des sommets et/ou en fonction des variations de l'énergie. Il peut notamment être maintenu entre deux bornes Ym.in et Tmax Selon un mode de réalisation avantageux de l'invention, on détermine, à chaque itération, une variation élémentaire dudit volume correspondant à un champ de vecteurs È4'. La surface étant paramétrée par u et v, de façon qu'un vecteur 81Kf s'exprime sous la forme II (u, v), ladite variation élémentaire est assimilée au parallélépipède généré par l'évolution de l'élément de surface dudv dans la direction 8M1 (u, v). Cette variation élémentaire de volume entre M et M' peut avantangeusement s'écrire: âd(M,M' 1,1r)=- f f r(u,v)f(u,v)lKr (u,v)do(u, v) U,V avec: T(u,v)=q(M,M,fi(u,v)) = 1 si la normale unitaire fi(u,v) est orientée vers le volume intérieur, et -1 sinon. Selon un mode de réalisation préférentiel de l'invention, ledit maillage simplifié est paramétré à l'aide d'un modèle d'éléments finis. Lesdits éléments finis sont avantageusement obtenus à l'aide d'un interpolateur affine. Dans ce cas, ledit maillage simplifié peut s'écrire: N M(uv) Xili(u, v) i-= avec k,(u,v) une fonction de forme adaptée à un modèle d'éléments finis triangulaires, et Xi sommet dudit maillage, défini dans R3, et on définit une fonction de forme sur le maillage par le biais de coordonnées barycentriques. En utilisant l'expression précédente, on obtient: N d(MM,6X,..., Xn)=- J J T(u, v)ii(u,v) ô âXiXi(u,v)da(u,v) u,v 1=, U,V i N =- J f l(uv)n(uv)ÈXii(uv)d(uv) i= I U,v De façon avantageuse, la position d'un sommet Xi à la kième itération s'écrit X k+I = Xi -k_ _ avec la dérivée partielle de la distance pour un sommet Xi =d - f r l(u,v)i(u,v)i (u,v)dc(u,v). a Xi u,v E Supp(X) Avantageusement, le procédé de l'invention met en oeuvre un codage progressif dudit maillage simplifié, par décimation et optimisation locale. Ainsi, ledit maillage simplifié est, de façon avantageuse, représenté par un maillage de base et une séquence de raffinements dudit maillage de base. Dans ce cas, le procédé comprend préférentiellement une étape d'initialisation du vecteur Xp, comprenant une étape de dénombrement des arêtes vives autour de deux sommets à fusionner, après ladite décimation, et: - si les nombres d'arêtes vives sont les mêmes autour des deux sommets, on place le sommet résultant de la fusion au milieu du segment reliant lesdits sommets; - si les nombres d'arêtes vives sont différents, on place le sommet résultant de la fusion sur le sommet présentant le plus grand nombre d'arêtes vives. De façon avantageuse, le calcul du gradient à la kième itération comprend les étapes suivantes: - discrétisation de l'expression de la dérivée partielle de la distance pour chaque sommet Xi, sous la forme: N M a 3d'' 0,-x-,_:, (i,)f(,j),(,j)(ij) avec: - S l'ensemble des triangles voisins du sommet Xij; - N le nombre de points échantillonnés dans la direction de u; - M le nombre de points échantillonnés dans la direction de v; - calcul de l'orientation des surfaces, par identification de la plus proche intersection avec le maillage source M. Selon un aspect préférentiel de l'invention, l'orientation relative des surfaces audit maillage source et dudit maillage simplifié est calculée selon l'équation: TI(U,V)=-- ' avec: Xj le point échantillonné sur M'; XM le point d'intersection de la droite passant par Xj et de direction f avec le maillage source M; tim la normale au maillage source M au point XM; HM. la normale au maillage source M' au point Xj; (XJXM représente un vecteur). Selon un autre aspect avantageux de l'invention, le procédé comprend une étape de limitation de la dégradation due à une transformation élémentaire, mettant en oeuvre une queue de priorité sur les transformations élémentaires. Préférentiellement, ladite étape de limitation de la dégradation due à une transformation élémentaire comprend les étapes de: - calcul d'un cofût pour chaque transformation élémentaire possible; - réalisation de la transformation élémentaire de moindre cofit; - recalcul des coûts des transformations élémentaires modifiées par la transformation élémentaire précédente; - ajout des nouvelles transformations élémentaires créées et calcul des coûts correspondants. Le coût d'une transformation élémentaire (Ti) peut par exemple s'exprimer par: C(Tj(X,Xj)) = max d2 (VM,F(X fI)) avec: Ti transformation fusionnant deux sommets Xi et Xj dudit maillage simplifié M'; xif le sommet dudit maillage simplifié M' résultant de ladite transformation; F(Xif) les faces dudit maillage simplifié M' avoisinant le sommet Xif après ladite transformation; VM ensemble des sommets dudit maillage source M appartenant aux faces ayant été intersectées lors du calcul de l'orientation des surfaces pendant ladite minimisation. Le procédé de l'invention peut s'appliquer à de très nombreux domaines techniques, et en particulier à au moins un des domaines appartenant au groupe comprenant: - la réalité virtuelle; - la simulation scientifique; - la modélisation. 5. liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel de l'invention, donnée à titre de simples exemples illustratifs et non limitatifs, et des dessins annexés parmi lesquels: les figures 1 à 4 sont discutées en annexe 1, présentant la technique connue du codage progressif de maillages, et illustrent respectivement: figure 1 (également commentée par la suite) transformation élémentaire (fusion d'arête); - figure 2: solutions initiales; - figure 3: mise à jour des transformations dans le voisinage affecté par la dernière modification; - figure 4: ajout des transformations nouvellement créées; la figure 5 illustre le principe de base de l'invention, consistant à minimiser le volume entre deux surfaces; - les figures 6 à 11 sont discutées en annexe 2, décrivant les aspects mathématiques de l'invention, et illustrent respectivement: - figure 6: variation élémentaire du maillage; - figure 7: variation élémentaire du maillage dans la direction de la normale; - figure 8: système de coordonnées sur un triangle; figure 9: fonction de forme; - figures 10 et 11: exemples d'évolutions de surface sur deux courbes en deux dimensions; - la figure 12 illustre la mise à jour des adjacences de face après fusion d'une arête adjacente à deux faces; - la figure 13 illustre la mise à jour des adjacences de face après fusion d'une arête adjacente à une face; - la figure 14 illustre le dénombrage des arêtes vives autour de sommets du maillage; - la figure 15 présente le principe de l'initialisation de la position du sommet à optimiser, dans différentes situations; - la figure 16 illustre l'échantillonnage sur un triangle pour l'intégration numérique; - la figure 17 explique le principe de l'orientation relative des surfaces, de façon à éviter la formation de plis sur la surface losrque la position initiale est trop éloignée de l'optimum; - la figure 18 illustre le coût d'une transformation élémentaire; - la figure 19 est un synoptique de l'approximation de maillages selon l'invention; - la figure 20 est un synoptique de l'optimisation d'un sommet Xi; - les figures 21 à 24 illustrent le comportement du procédé de l'invention, sur un parallélépipède rectangle, après décimation sur un coin (figure 21), une arête vive régulière (figures 22 et 23) et un plan (figure 24); - la figure 25 illustre les différentes (12) itérations effectuées sur un exemple simple, selon l'invention. 6. principe général d'une mise en oeuvre de l'invention 6.1 structure Ainsi que discuté précédemment, l'invention concerne une méthode d'approximation de maillage mettant en oeuvre une métrique basée volume. Un des avantages de cette métrique est qu'elle prend naturellement en compte les caractéristiques importantes à conserver (les singularités), sans devoir recourir à la détection de cas particuliers. D'une façon générale, l'approximation de maillages génère un modèle polygonal géométriquement plus simple que le modèle original. Le nombre de polygones nécessaire à la représentation est ainsi réduit, tout en conservant la meilleure approximation, au sens perceptuel, du modèle original. Le problème correspondant peut être formulé par une approche variationnelle permettant d'approximer un maillage M par un maillage M' (ou 1II) comprenant un nombre réduit de triangles. Elle autorise le déplacement des sommets en optimisant leurs positions au sens d'un ou plusieurs critères définis par le biais d'une fonctionnelle d'énergie à minimiser. L'approximation d'un maillage génère un modèle géométriquement plus simple que le modèle original. Le nombre de polygones nécessaires à la représentation est ainsi réduit tout en conservant la meilleure approximation (au sens perceptuel) du modèle original. La qualité de l'approximation définit le niveau de ressemblance perceptuelle pour une complexité géométrique fixée. L'invention utilise une métrique basée volume entre "le maillage approximant" et le "maillage approximé". Le principe de l'algorithme est scindé en deux parties: la décimation et l'optimisation des positions. L'opération élémentaire de décimation choisie est la fusion d'arête, qui fusionne deux sommets, de façon à supprimer un sommet et deux faces du maillage. L'algorithme d'optimisation choisi est un algorithme itératif de gradient à pas adaptatif afin de minimiser itérativement le volume compris entre le modèle et le maillage original. En combinant décimation et optimisation, on peut générer soit un maillage sous forme progressive, soit des niveaux de résolution distincts. 6.2 décimation Afin de simplifier la géométrie d'un maillage, il convient de décimer itérativement le maillage tout en conservant une bonne topologie, on choisit donc une transformation élémentaire: la fusion d'arête, qui fusionne deux sommets adjacents en un sommet, supprime deux faces et place le nouveau sommet résultant de la fusion, suivant un principe décrit ultérieurement. Cette décimation peut être réalisée alternativement ou successivement avec une optimisation des positions d'un ou de plusieurs sommets suivant l'application visée. On peut construire plusieurs niveaux de résolution d'un maillage en utilisant cette transformation élémentaire, et la granularité minimale est obtenue par une décimation puisque le maillage est alors défini au sommet près. On procède alors en alternant décimation locale et optimisation locale du sommet résultant de la fusion. Inversement, on peut définir des niveaux de résolutions de manière générale en décimant au préalable un ensemble de sommets puis en optimisant globalement les positions des sommets du maillage. La décimation successive permet de construire des maillages progressifs. Dans ce cas, il convient de choisir judicieusement l'ordre de réalisation des transformations. Cet ordre est défini par le biais d'une queue de priorité sur les transformations élémentaires de manière à effectuer en premier les transformations affectant le moins possible le modèle original. Cela amène à définir la notion de cofit pour chaque opération élémentaire et la queue de priorité sera triée par ce dernier. Ainsi initialement, toutes les transformations possibles sont listées, le coût de chacune d'elles est calculé (sans effectuer de modifications sur le maillage), on réalise la transformation de moindre coût, et on recalcule les coûts des transformations élémentaires modifiées par la transformation précédente. Bien sûr, d'autres techniques que la décimation peuvent être utilisées pour obtenir le maillage approché, ou approximé, tel que des techniques de sous- échantillonnage, de subdivisions adaptatives, etc... 6.3. optimisation Le problème de l'optimisation consiste donc à minimiser une fonctionnelle d'erreur définie par: E(M, M') = d(M, M') o d(M, M') caractérise une distance entre les deux maillages M et M', et garantit la fidélité aux données initiales. L'algorithme d'optimisation est choisi notamment pour ses performances en terme de vitesse et/ou de pertinence de la solution finale. On explique ci-dessous le contexte théorique de la métrique basée volume utilisée pour caractériser l'erreur d'approximation entre deux maillages, ainsi que la formulation variationnelle permettant l'optimisation de la qualité de l'approximation, selon l'invention. 6.3.1 métrique Un exemple de mesure de l'erreur, ou distance, entre les maillages M et M' est illustrée en figure 5. La mesure de l'erreur est donnée par le volume V, compris entre les deux surfaces formées par les maillages M et M'. Ce volume est défini par l'intégrale de Lebesgue suivante: V(M,M')= f I(V(M,M)(:)d3q R3 avec Iv(4) la fonction indicatrice de l'intérieur du volume et q un point générique de R3. 6.3.2 fonctionnelle Un maillage étant défini partiellement par les positions de ses sommets, on peut formuler le problème de la minimisation du volume par le biais d'une fonctionnelle d'énergie à minimiser, cette fonctionnelle étant définie par: E = E error = d(M, M') =d(M,M',X1,...,Xn)) L'algorithme d'optimisation mis en oeuvre consiste alors à déterminer les positions optimales des sommets X1, X2,...Xn qui minimisent la distance d(M',M). 6.3.3 variation élémentaire de volume L'évolution élémentaire du maillage M' est définie par le champ de vecteurs 81]. Une expression de la variation élémentaire du volume est décrite en annexe 2 ( 2). 6.3.4 mise en oeuvre du gradient adaptatif La technique d'optimisation utilisée pour résoudre le problème de la minimisation peut avantageusement reposer sur une approche itérative, tel que le gradient adaptatif. L'annexe 2 ( 1) décrit en détail la mise en oeuvre de cette technique du gradient adaptatif, ainsi que le calcul d'une variation élémentaire de volume permettant la détermination du gradient à chaque itération, et le paramétrage du maillage par un modèle d'éléments finis triangulaires. Un modèle d'éléments finis triangulaires permettant de calculer le gradient en chaque sommet est décrit en annexe 2 ( 3). L'algorithme du gradient pour un sommet Xi s'écrit sous la forme: k+' =X k _a _ XL xs -d d pa i L'expression de la dérivée partielle de la distance pour un sommet Xi est: a 38d - I I( uv)(u,v))xi(u,v)dG(u,v). a Xi u,v E Supp(ô) Le support de la fonction de forme est défini par les triangles voisins du sommet Xi. L'intégrale est calculée par le biais d'une discrétisation sur les triangles (décrite par la suite) et une heuristique a été adoptée pour déterminer l'orientation relative des surfaces formées par M et M' (également décrite par la suite). A chaque itération du gradient, on applique un déplacement sur le sommet X qui tend à minimiser le volume entre les surfaces. Le déplacement est la somme des contributions liées aux calculs d'orientation en plusieurs points de chaque triangle. Le pas y, est adaptatif. Au départ il est initialisé à To (une fraction de la longueur de l'arête fusionnée), puis il est multiplié par k (avec k sont de directions opposées: Ce pas y, est borné (borne inférieure Ymin)' afin de conserver la convergence de l'algorithme. On a y, e]8, 2%o-È], avec 0 Il On considère la convergence atteinte lorsque le déplacement du sommet Xi d'une itération à l'autre est inférieure à ú (E étant une fraction de la dynamique locale des arêtes du maillage). Le nombre d'itérations de l'algorithme peut également être borné. 7. description d'un mode de réalisation détaillé Le procédé de l'invention permettant de générer des approximations de maillages à différents niveaux de résolution, un codage progressif de maillages par décimation et optimisation locale peut être mis en oeuvre. Dans cette optique, on définit une transformation élémentaire de décimation adaptée au codage progressif, une méthode d'optimisation locale et une queue de priorité sur les transformations afin de maximiser le ratio quantité d'informations/qualité visuelle à chaque itération de l'algorithme. On décrit par la suite la mise en oeuvre de cet algorithme, et notamment le calcul du gradient défini sur un sommet du maillage. 7.1 transformation élémentaire Le codage progressif permet de définir la notion d'échelonnabilité sur un maillage. L'échelonnabilité maximale est obtenue lorsque la résolution du maillage peut être choisi au sommet près. Un maillage peut ainsi être codé sous la forme d'un maillage de base (à une résolution visuellement acceptable) et d'une séquence de raffinements. Afin d'obtenir une telle structure de données, il convient de décimer itérativement le maillage, d'optimiser localement les positions des sommets de manière à approximer localement au mieux le maillage initial, et d'enregistrer simultanément la séquence de décimation afin de coder le maillage dans le sens des raffinements. On choisit donc une transformation élémentaire réversible, par exemple la fusion d'arêtes définie par HOPPE (document déjà cité), qui est illustrée en figure 1. La fusion d'arête 10 consiste à fusionner les deux sommets adjacents 11 et 12 en un sommet 13, à supprimer les deux faces 14 et 15 et à optimiser la position du sommet 13 résultant de la fusion. Cette transformation est réversible (insertion 16 d'un sommet). Après transformation, les adjacences doivent être mises à jour. Pour cela, on considère une structure de type faces/sommets et une adjacence définissant toute les relations entre les éléments. Les faces stockent des liens vers leurs faces voisines, et chaque sommet liste les faces qui le contiennent et les sommets voisins. Les figures 12 et 13 illustrent la mise à jour des adjacences de faces après fusion d'une arête adjacente à deux faces (figure 12) ou à une face (figure 13). La décimation est ainsi naturellement prise en compte sur toutes les zones du maillage, sans qu'il soit nécessaire de détecter les cas particuliers, telles que les arêtes adjacentes à une seule face. 7.2 initialisation L'optimisation agit sur la position du sommet résultant de la fusion de l'arête formée par les sommets Xa et Xb. Afin de débuter l'algorithme d'optimisation avec une bonne condition initiale, on choisit de positionner le sommet le plus proche de l'optimum probable. Pour cela, on introduit la notion d'arête vive: une arête est vive lorsque l'angle formé par les normales aux deux faces adjacentes est supérieur à un seuil fixé paramétrable. On dénombre ensuite le nombre d'arêtes vives autour des sommets de l'arête à fusionner, ainsi que cela est illustré en figure 14. Le sommet 141 est associé à aucune arête vive, le sommet 142 à deux arêtes vives et le sommet à trois arêtes vives. On déduit de ce dénombrement deux cas pour l'initialisation, ainsi que cela est illustré en figure 15: - si les nombres d'arêtes vives autour de Xa et autour de Xb sont identiques, on effectue l'initialisation au milieu du segment formant l'arête à fusionner. Sur les zones planes de faible courbure, cela permet de conserver une bonne compacité sur les triangles voisins. Sur une arête vive régulière (nombres d'arêtes vives égaux à 2), cela permet de positionner le sommet proche de l'arête vive qui sera conservé au cours de l'optimisation; - si les nombres d'arêtes vives autour de Xaet autour Xb sont différents, l'initialisation est effectuée sur le sommet présentant le plus grand nombre d'arêtes vives. Dans les cas les plus courants, l'optimum est atteint à partir de cette position initiale. Dans l'exemple de la figure 15, dans lequel le maillage source correspond à un parallélépipède 151, on constate que cette heuristique place le sommet: - sur le coin du parallélépipède lorsque l'arête à fusionner forme un coin 152; - et sur l'arête vive régulière du parallélépipède lorsque l'arête commence sur la région plane et se termine sur l'arête vive 155. Les situations o le nombre d'arêtes vives est le même autour des deux sommets est illustré en 152 et 154. 7.3 optimisation On rappelle que l'expression de la fonctionnelle considérée: E = Eerror = d(M, M') Cette fonctionnelle est minimisée en optimisant la position du sommet Xi par un algorithme de gradient: k+l k a âdk X X i -Yi - X Les déterminations du pas yi et des critères d'arrêt sont discutées au 6.3.4. 7. 4 discrétisation Le calcul du gradient nécessite donc une discrétisation de l'intégrale: -a - IdJ l(u,v)ii(u,v)l,(u, v)do(u,v) a Xi u,v E Supp(X,) Sur le support de la fonction de forme définie sur Xi. On est donc amené à échantillonner la surface des triangles, avant d'évaluer en chaque point X(x,y,z) la valeur de la fonction de forme ki(x, y, z) et l'orientation des surfaces rl(u,v). Le gradient s'exprime donc sous la forme discrète suivante N M _=_ L (i"J0fi(i 'J0)i(iT'j')d(i'JT) i X i =-I = teSi =Ij =1 avec: - S l'ensemble des triangles voisins du sommet Xi; - Na le nombre de points échantillonnés dans la direction de u; - MT le nombre de points échantillonnés dans la direction de v. Pour un triangle donné, l'échantillonnage est effectué dans le plan passant par ses sommets, le nombre de points étant proportionnel à la surface du triangle, ainsi que cela est illustré en figure 16. Le repère d'échantillonnage est formé par l'arête 161 de plus grande longueur et la hauteur 162 du triangle courant. Soit n le nombre minimum de points par triangles fixés à l'avance, Smin l'aire minimale des triangles voisins de Xiet h le pas d'échantillonnage. On déduit h par la formule suivante: n x h2= Smin La fonction de forme est évaluée par un rapport de surfaces tel que décrit en annexe 2. 7.5 orientation des surfaces L'orientation relative de deux surfaces définie en trois dimensions est délicate à définir avec exactitude. On utilise avantageusement une heuristique pour calculer l'orientation des deux surfaces M et M' (c'est-à-dire le terme ril(u,v) de l'équation du gradient présenté ci-dessus): r(uv) =-- avec: Xj le point échantillonné sur M'; XM le point d'intersection de la droite passant par Xj et de direction HM avec le maillage source M; nm la normale au maillage source M au point XM; nM M la normale au maillage source M' au point Xj. o représente le produit scalaire. La figure 17 illustre ce calcul de l'orientation en deux dimensions. En trois dimensions, il suffit de remplacer les segments par des triangles. Cette heuristique limite fortement la formation de plis sur la surface, puisque le terme traduit l'opposition des normales lorsqu'elles sont de sens opposés. 7.6 priorités sur les transformations Chaque transformation élémentaire décime le maillage approximant M'. La qualité de l'approximation se dégrade donc au cours de la décimation, ou reste au mieux invariante lorsque le volume reste inchangé, et ce malgré l'optimisation des points. Par exemple, si l'on considère une sphère, on sait qu'elle nécessite en théorie une infinité de triangles pour être parfaitement modélisée. Dès lors que l'on restreint le nombre de triangles, on dégrade la qualité de son approximation. En revanche, sur des régions planes d'un objet, on peut décimer jusqu'à l'obtention d'un maillage optimal (ainsi, sur un parallélépipède, l'optimum est atteint lorsque chaque face est décrite par deux triangles). On souhaite coder progressivement les maillages, et donc retirer itérativement les sommets par une opération de fusion d'arêtes. Après l'optimisation des positions, un autre processus est donc développé, consistant à définir une priorité sur les transformations élémentaires, de manière à effectuer en premier les transformations affectant le moins possible le modèle. Pour cela, on définit la notion de coût pour chaque opération élémentaire, et une queue de priorité triée selon ce coût. Ainsi, initialement, toutes les transformations possibles sont listées puis le coût de chacune d'elles est calculé (sans effectuer les modifications correspondantes sur le maillage). On réalise la transformation de moindre coût, puis on recalcule les coûts des transformations élémentaires modifiées par la transformation précédente. On rappelle que la fusion d'arête supprime deux faces soit en conséquence, les transformations concernant ces faces sont retirées de la queue de priorité, ce qui créé une ou deux nouvelles transformations, pour lesquelles on calcule également le cofit en énergie, déduit de la technique décrite en annexe 2, et qui représente la variation de volume entre le maillage avant et après transformation. Le calcul direct du volume entre deux surfaces triangulées étant complexe à calculer, on fait appel à une heuristique permettant de simplifier ce problème. Soient: - Ti la transformation fusionnante de sommet Xi et Xj de M' Xifle sommet de M' résultant de la fusion (dont on a optimisé la position); - F(Xif) les faces de M' avoisinant le sommet x f après transformation; - VM l'ensemble des sommets de M appartenant aux faces ayant été intersectées lors du calcul de l'orientation des surfaces pendant l'optimisation. Le coût d'une transformation élémentaire Ti s'exprime alors sous la forme: C(Ti(Xi,Xj)) = maxd2(VM,F(Xit)) Ce coût correspond donc à la distance maximale des sommets du maillage original (sous les faces avoisinant le sommet Xi) aux faces avoisinant Xi après transformation. La figure 18 illustre, en deux dimensions, l'expression du coût dans le cas d'une décimation sur une discontinuité. Comme indiqué précédemment, en trois dimensions les segments sont remplacés par des triangles. La transformation 181 consiste à fusionner les sommets Xi et Xj en un sommet Xi'. Les sommets 182] à 1824 correspondent à l'ensemble VM. On peut constater que sur un plan maillé, le coût d'une transformation serait nul, les zones comportant une information redondante étant décimées en priorité. On présente maintenant des exemples de synoptique pour la mise en oeuvre des différents aspects discutés précédemment. 7. 8 synoptiques 7.8.1 approximation de maillages La figure 19 résume l'algorithme d'approximation d'un maillage M comportant n faces par un maillage M' comportant m faces (avec bien sûr m On commence tout d'abord par copier le maillage source M, ou maillage original, dans la variable M', représentant le maillage simplifié que l'on cherche à déterminer (191). Sur ce maillage M', on effectue ensuite une recherche de toutes les transformations élémentaires réalisables (192), puis un calcul (193) des coûts énergétiques de ces transformations après optimisation. On sélectionne et on réalise (194) la transformation de moindre coût parmi l'ensemble des transformations possibles. Il s'agit de l'étape de décimation. Puis, on met à jour (195) les coûts énergétiques des transformations, dans le voisinage affecté par la transformation effectuée à l'étape 194. Enfin, on ajoute (196) les nouvelles transformations induites par la transformation effectuée 194, et on calcule les cofits correspondants. Les trois étapes 194, 195 et 196 sont réitérées (197) n - m fois, jusqu'à ce qu'au moins un des critères d'arrêt soit atteint. 7.8.2 optimisation en position La figure 20 illustre l'optimisation du sommet Xi, après fusion de l'arête (Xj, Xj). On définit au préalable les paramètres d'initialisation suivants, partiellement en fonction de la dynamique de la géométrie locale autour du sommet Xi: Epsilon est un critère d'arrêt de la convergence, fraction de la longueur moyenne des arêtes autour du sommet Xi (typiquement 0,001); Maxlter est la borne supérieure du nombre d'itérations, fixée arbitrairement (typiquement 200 itérations); StepInit, StepDec et StepMin sont respectivement la valeur d'initialisation, le taux de décroissance et la borne inférieure du pas. StepInit et StepMin sont des fractions de la longueur de l'arête à fusionner (typiquement 0,1 et 0, 01), StepDec est fixé arbitrairement (typiquement 0,95); - StepSampling est le pas d'échantillonnage sur les triangles, utilisé pour le calcul discret de l'intégrale formant le gradient à chaque itération. Il est déduit des aires des faces voisines du sommet X. - NbSharpEdges(X) est le nombre d'arêtes vives autour du sommet X. L'algorithme débute par une étape 201 d'initialisation en position, qui consiste à effectuer les opérations suivantes: Si (NbSharpEdge(X1) = NbSharpEdge(Xj)) alors initialiser au milieu de l'arête à fusionner, sinon initialiser sur le sommet du plus grand nombre d'arêtes vives. On réalise ensuite le calcul 202 du gradient, avec les opérations de discrétisation sur les triangles et d'orientation des surfaces. Puis, on effectue le déplacement 203. Le sommet se déplace de la valeur du vecteur gradient multiplié par le pas courant. On contrôle ensuite l'évolution 204 du pas. Si une oscillation est détectée avec le vecteur gradient précédent, le pas est multiplié par StepDec. Si le pas est inférieur à StepMin, il est réinitialisé à StepMin. Enfin, on effectue un test de convergence 205. Si la distance entre la position courante et la position précédente est inférieure à Epsilon, ou si le nombre d'itérations MaxIter est atteint, l'algorithme est arrêté (206). Sinon, on répète (207) les étapes 202 à 205. 7. 9 résultats On montre maintenant, à partir d'un exemple simple (un parallélépipède), le comportement du procédé d'approximation de maillages selon l'invention. L'intérêt du parallélépipède est de permettre de vérifier la qualité de l'approximation sur les discontinuités (arêtes vives régulières et coins) et sur les plans. Sur un tel objet, l'optimum est atteint lorsque l'on obtient chaque face maillée par deux triangles et que la forme globale de l'objet est parfaitement conservée. La figure 21 illustre le cas d'une décimation sur un coin 211 du parallélépipède. La solution initiale a été placée sur le coin 211, puisque le nombre d'arêtes vives est maximal en ce sommet (trois autour du coin 211 et deux autour de l'arête vive régulière de l'objet (sommet 212)). L'algorithme d'optimisation oscille, puis converge autour de cette position initiale 213, puisque le pas de gradient a été initialisé à une valeur non nulle, puis a diminué dès que l'oscillation a été détectée. La figure 22 présente une décimation sur une arête vive régulière. La solution initiale a été placée au milieu de l'arête 223, puisque le nombre d'arêtes vives est identique (deux autour de chaque sommet 221 et 222). Plusieurs solutions situées sur l'arête vive régulière de l'objet satisfont l'invariance de volume, et l'algorithme converge après oscillation autour de l'arête, sur une position dépendante de la solution initiale. Le milieu 224 de l'arête constitue donc une bonne initialisation dans ce cas. La figure 23 illustre une autre situation de décimation sur une arête vive régulière, dans laquelle la solution initiale a été placée sur l'arête vive 234, puisque les nombres d'arêtes vives sont différents (deux autour du sommet 233 situé sur l'arête, et aucune autour du sommet 232 situé sur la face plane 235 de l'objet). Plusieurs solutions situées sur l'arête vive régulière de l'objet satisfont l'invariance de volume, et l'algorithme converge après oscillation autour de l'arête 234, sur une position 236 dépendant de la solution initiale. La figure 24 présente le cas d'une décimation sur un plan 243. La solution initiale a été placée au milieu de l'arête 245 formée par les sommets 241 et 242, puisque les nombres d'arêtes vives sont identiques (aucune autour de chaque sommet 241et 242). Plusieurs sommets situés sur le plan de l'objet satisfont l'invariance de volume. L'algorithme converge, après oscillation, de part et d'autre du plan, sur une position dépendant de la solution initiale. Le milieu 244 de l'arête constitue donc, à nouveau une bonne initialisation dans cette situation. Le procédé décime le maillage initial en utilisant une queue de priorité. * La figure 25 montre les douze itérations successives de l'algorithme, numérotées (b) à (m), à partir du maillage original numéroté (a). On constate que les arêtes entraînant une invariance de volume sont décimées en priorité. L'optimum est atteint pour les sommets demandés sur cet objet, puisque chaque face est alors maillée par seulement deux triangles. On remarque que les arêtes rejoignant deux coins de l'objet ne sont pas fusionnées, puisque cette opération aurait entraîné une forte dégradation de la qualité de l'approximation, les coûts et transformations élémentaires correspondantes étant supérieurs aux coûts d'une fusion d'arêtes sur un plan ou le long d'une arête vive régulière. ANNEXE 1 Codage progressif de maillages Hugues Hoppe a développé une méthode fonctionnant par décimation et optimisation des points. La décimation est réalisée par une transformation élémentaire réversible et facile- ment codable: la fusion d'arête qui rassemble deux sommets adjacents en un seul sommet, supprime deux faces et optimise ensuite la position du sommet résultant de la fusion (figure 1). L'auteur a utilisé une approche variationnelle permettant la minimisation du proces- sus, la fonctionnelle d'énergie associée est définie par un terme d'erreur et un terme de régularisation: E =. Eerror + Erógu1 Ce terme d'erreur caractérise la distance entre les deux maillages Al et. 1 définie lo- calement, et garantit la fidélité aux données initiales. Le terme de régularisation permet de respecter la topologie d'un mail]age et d'assurer l'unicité de la solution. Afin d'initialiser le problème, une fois la face à supprimer déterminée, trois minimisations (partant de trois positions initiales différentes choisies de manière à initialiser correctement le processus d'op- timisation) sont réalisées (figure 2) afin de retenir la solution correspondant au minimum d'énergie de la fonctionnelle. Chaque transformation Ti supprimant un sommet de la triangulation et modifiant le maillage Mi en Mi+1, engendre une augmentation de l'énergie globale qui peut être calculée. Le coût en énergie résultant de cette décimation est le suivant AETi = E. I, - Ef, (1) { AET, > O0 Au départ toutes les transformations possibles sur le maillage sont listées, puis le coût énergétique pour chacune d'entre elles est calculé. Ces transformations sont rangées dans une queue de priorité triée suivant leur coût estimé. Au cours de l'algorithme, la transformation de coût minimum est effectuée, puis les coûts des transformations dans le voisinage affecté par cette modification sont mis à jour(figure 3). Les transformations nouvellement créées sont ajoutées et leur coût estimé est calculé (figure 4). L'algorithme agit donc de manière itérative et décime le maillage Ml d'un sommet et de deux faces à chaque itération. Cette approche de décimation et d'optimisation est bien adaptée au contexte de codage progressif, puisqu'il suffit d'enregistrer la séquence des décimations dans le sens inverse (celui des raffinements) pour coder un maillage sous une forme progressive. Ainsi un maillage.1I peut être représenté par un maillage à la résolution M0 et par une séquence de raffinements {r0,rl,r2,.. rn}. L'erreur utilisée pour caractériser la distance entre les deux maillages est la distance euclidienne (ou quadratique) entre le point Xi à optimiser du maillage MI et le maillage AI, qu'il convient de définir. Les points situés à une distance D de Xi dans R2 forment une sphère de rayon D: d2(Xi, M) = min d2(Xi, Y) = min [IXi - Y112 (2) YEM o N X11II2 = ( x,X2)1/2,X E l. j=l Le maillage 3t étant une surface triangulée, cela engendre une mesure de la distance entre un point Xi et un ensemble de triangles. On remarque d'après la définition de la distance L2 dans R3 que le point de M1 situé à la distance minimale de.X, n'est pas toujours unique. Le choix effectif de ce point dépend de l'ordre d'insertion des points et de la nature du test lors de la recherche du minimum ( la métrique D2 puisque l'on raisonne avec une distance point-surface. ANNEXE 2 Optimisation La technique d'optimisation choisie pour résoudre notre problème de minimisation est une méthode itérative, appelée gradient adaptatif. 1 Gradient adaptatif Notre objectif consiste donc à minimiser la fonctionnelle E décrite précédemment. Comme dans tous les cas, la stationnarité de E est une condition nécessaire d'optimalité, effective- ment, pratiquement toutes les méthodes d'optimisation sans contraintes dans IN consistent à rechercher un vecteur X stationnaire (VE(X) = O). Ce problème est équivalent à la résolution du système d'équations non linéaires DE (1) oxE (x) = 0,Vi= l,...,.1 On peut chercher à résoudre directement ce système, ce qui conduit à la méthode de Newton. Cependant, cette méthode peut ne pas converger, si le point de départ des itérations est trop éloigné de X. D'autre part, elle suppose la fonction deux fois continûment différentiable, et elle nécessite le calcul des dérivées secondes en chaque point. C'est pourquoi les méthodes les plus couramment utilisées procèdent différemment: il s'agit de procédures itératives o l'on engendre une suite de vecteurs X , XK1,... convergeant vers un optimum local de E. Ces méthodes de gradient constituent une famille de méthodes qui procèdent de la façon suivante: On part d'un point X et on calcule le gradient VE(X ) en X de la fonction E à minimiser. Comme VE(X ) indique la direction de la plus grande augmentation de E, on se déplace d'une quantité 7o dans la direction opposée au gradient, et on définit le point: xI = X -70 x l VE(X )I (2) La procédure est répétée et engendre les points X , X,..., X",... suivant la relation ú7E(Xk) Y-k+l = Xk -7k x I VE(Xk 1 (3) Dans cette famille, il convient de signaler les méthodes de gradient à pas déterminé dans lesquelles on choisit à priori les valeurs de déplacements -y7. L'inconvénient de cette procédure est que la convergence peut être très lente. Nous avons donc choisi d'utiliser la méthode de gradient à pas adaptatif, qui consiste à diminuer (resp. augmenter) le pas %Yk lorsque l'erreur augmente (resp. diminue), tout en conservant la contrainte de contrôle du pas, soit: Yk E [Ymin,'ynû.] Finalement, comme critère d'arrêt, nous nous sommes fixés que la différence entre deux erreurs successives devait être inférieure à un e donné. Au cours de la minimisation, les positions des sommets du maillage vont évoluer de manière à minimiser le volume entre les deux surfaces, cette évolution nécessite de calculer le gradient à l'itération k (le terme VE(Xk') de l'équation 2 Variation élémentaire de volume Le processus d'optimisation est donc vu comme une évolution du maillage.M de manière à minimiser V(.I, JI). L'évolution élémentaire du maillage est définie par le champ de vecteurs.lf. En réalisant une paramétrisation de la surface par u et v, le vecteur:31 peut s'exprimer sous la forme,lf (u, v). Si on approxime localement la surface par son plan tangent la variation élémentaire de volume est alors le parallépipède généré par l'évolution de l'élément de surface dudv dans la direction:lf(u, v) (figure 6). On peut ainsi exprimer la variation élémentaire de volume induite par l'élément d'aire dudv ôvai"(M, 3,3Af(u;v)) = [ 'f ( A 63 '1 ' (v, v) dudv La variation est négative lorsque le vecteur ô.l est orienté vers l'intérieur du volume d'erreur. la figure 7 présente le cas particulier o l'évolution du maillage se fait dans la direction de la normale. Prenons maintenant en considération le fait que (9d1 (u. t' aA et) 19Mu _ a) A a- dudv = ii(uv)do(u,v) 20. u 9v avec ii(u, v) la normale unitaire en.l(u, v) et da(u, v) =dudv l'élément d'aire. ou Tt. i1'dudv l'él ement daire. On exprime la variation de distance entre.M et:MI 3d(Mf,.lf,3M^I) = J| A Vi(u, v)ô M (u 'v)1 du(u,v) Cette expression n'est pas facilement utilisable à cause de la valeur absolue. Nous intro- duisons maintenant la fonction: /(u,v) = r1(A1f,, i7(u,v)) = 1 si la normale est orientée vers le volume intérieur et -1 sinon, nous obtenons alors (Uv)SA'(u, v)| =.(u,v)il(u,v)@3f(uv) d'o d(,M,3) = (v)(v)6(uv)d(u) 3 Modèle d'éléments finis triangulaires Afin de calculer le gradient en chaque sommet du maillage à l'itération k de l'algorithme d'optimisation, on paramètre le maillage par un modèle d'éléments finis triangulaires P1: N (u v) = v(ilv) (4) Xi est un sommet du maillage défini dans R3 et A,(u, t') est une fonction de forme adaptée à un modèle d'éléments finis triangulaires. On définit une fonction de forme sur le maillage par le biais de coordonnées barycentriques tel que cela est décrit dans le document "la méthode des éléments finis, formulation de base et problèmes linéaires", par O.C. Zienkiewicz et R.L. Taylor (afnor technique, 4ième édition, 1991). Pour cela on numérote les sommets du triangle (figure 8), et on définit un système de coordonnées A1, A2. et A3 liées par les relations x = A\1 xl+,.. x2 + A3 r3 Y = A1 Y +.2 Y2 + 3 Y3 1 = Al + A2 + A3 Nous allons maintenant déterminer les valeurs des fonctions de base: au sommet 1, A = 1, A2 = 0 et A3 = 0. Les lignes de niveau de Al sont des lignes équidistantes parallèles au côté 2 - 3 le long duquel Al = 0. On peut exprimer la coordonnée Al en un point P par un rapport d'aires A,- aire(P23) (5) aire(123) On obtient l = al +bl x +cl y 2A a2 + b2. x + c2 y h2:= 2- 2A 3as + b3 - x + c3 y h3 = 2 2A Avec 1 1 XI YI A =aire(123)=.de 1 x2 y2 1 x3 y3 al = X2 'Y3 - Z3 - Y2 bl =Y2 - Y3 Cl = X3 - X2 On calcule les valeurs a2, b2, c2, a3, b3, et C3 par permutation circulaire des indices 1, 2 et 3. 4 Evolution de surface L'évolution du maillage peut ainsi s'écrire N êd(AMM,6X1,, . = - V) x t,iA,(u, v)do(u, v) on en déduit la dérivée partielle de la distance pour un sommet Xi: V = (uv)(uv)i(u,)d(u,) JJ)axiVESUPP(Ai) L'algorithme de gradient pour un sommet Xi s'écrit sous la forme A t t 01$ o '/i représente un pas adaptatif avec yi E ['ymin, o] Au départ le pas est initialisé à -yo, puis il est multiplié par k (avec k a1,k+l 8V- est le même avec une fonctio'dle forme définie sur les triangles voisins du sommet Xi. REVENDICATIONS 1. Procédé de codage d'un maillage source (M) représentatif d'un objet en trois dimensions, délivrant un maillage simplifié (M') correspondant audit maillage source (M), lesdits maillages étant définis par un ensemble de sommets, d'arêtes et/ou de faces, caractérisé en qu'il met en oeuvre une étape de minimisation d'un volume compris entre ledit maillage source (M) et ledit maillage simplifié (M'). 2. Procédé de codage d'un maillage source selon la revendication 1, caractérisé en ce que, chacun desdits maillages étant défini par la position de chacun de ses sommets, ladite étape de minimisation assure la détermination des positions des sommets (X 1, X2,... Xn) dudit maillage simplifié (M') minimisant le volume V(M, M') entre ledit maillage source et ledit maillage simplifié. 3. Procédé de codage d'un maillage source selon l'une quelconque des revendications 1 et 2, caractérisé en ce que ladite étape de minimisation met en oeuvre un processus itératif optimisant progressivement les positions des sommets dudit maillage simplifié (M'). 4. Procédé de codage d'un maillage source selon la revendication 3, caractérisé en ce que ledit processus itératif est interrompu lorsqu'au moins un des critères d'arrêt suivants est atteint: - un nombre maximum d'itérations; - une différence entre deux vecteurs déplacement successifs des positions des sommets inférieure à un seuil prédéterminé (Epsilon). 5. Procédé de codage d'un maillage source selon l'une quelconque des revendications 2 à 4, caractérisé en ce que ladite étape de minimisation met en oeuvre une méthode de gradient adaptatif. 6. Procédé de codage d'un maillage source selon la revendication 5, caractérisé en ce que ladite méthode de gradient adaptatif repose sur les opérations suivantes: sélection d'un vecteur Xp de R 3n (n > 1) dudit maillage simplifié, et calcul du gradient VE (Xp) en Xp de la fonction à minimiser E = d(M, M'(X1,...,Xn)); détermination de la position Xp de Xp dudit maillage, selon la relation définie à l'itération k+1 par: V E(Xpk) k+ 1 k __ _ _ __ _ _ X p =X p - Yk Xkj xY=x k- I 1iVE(Xxpk)ll k variant de 0 à n-1 et yk étant le pas de ladite relation. 7. Procédé de codage d'un maillage source selon la revendication 6, caractérisé en ce que ledit pas yk est variable, et en ce qu'il varie en fonction de l'oscillation de deux déplacements successifs des sommets et/ou en fonction des variations de l'énergie. 8. Procédé de codage d'un maillage source selon la revendication 7, caractérisé en ce que ledit pas yk est maintenu entre deux bornes Ymin et Ymax ' 9. Procédé de codage d'un maillage source selon l'une quelconque des revendications 2 à 8, caractérisé en ce que, à chaque itération, on détermine une variation élémentaire dudit volume correspondant à un champ de vecteurs 5b1, et en ce que, la surface étant paramétrée par u et v, de façon qu'un vecteur 51' s'exprime sous la forme M19' (u, v), ladite variation élémentaire est assimilée au parallélépipède généré par l'évolution de l'élément de surface dudv dans la direction 519 (u, v). 10. Procédé de codage d'un maillage source selon la revendication 9, caractérisé en ce que la variation élémentaire entre M et M' s'écrit: d(M,M', 5/1') =-. f rl(u,v)à(u,v)È1f (u,v)d(Y(u,v) u,v avec: r(u,v)=il(M,M,fi(u,v)) = 1 si la normale unitaire fi(u,v) est orientée vers le volume intérieur, et -1 sinon. 1 1. Procédé de codage d'un maillage source selon l'une quelconque des revendications 1 à 10, caractérisé en ce que ledit maillage simplifié est paramétré à l'aide d'un modèle d'éléments finis. 12. Procédé de codage d'un maillage source selon la revendication 1 1, caractérisé en ce que lesdits éléments finis sont obtenus à l'aide d'un interpolateur affine. 1 3. Procédé de codage d'un maillage source selon l'une quelconque des revendications 11 et 12, caractérisé en ce que ledit maillage simplifié s'écrit: N M(u,v)= Z X x;(u,v) i--I avec X,(u,v) une fonction de forme adaptée à un modèle d'éléments finis triangulaires, et Xi sommet dudit maillage, défini dans R3, et en ce qu'on définit une fonction de forme sur le maillage par le biais de coordonnées barycentriques. 14. Procédé de codage d'un maillage source selon la revendication 13, caractérisé en ce que la variation de la position d'un sommet Xi à la kième itération s'écrit: k+l a di Xap Xun so X1 avec la dérivée partielle de la distance pour un sommet Xi: a âd d- -I f rl(u,v)h(u,v)X.(u,v)do(u,v). a Xi u,v e Supp(O) 15. Procédé de codage d'un maillage source selon l'une quelconque des revendications 1 à 14, caractérisé en ce qu'il met en oeuvre un codage progressif dudit maillage simplifié, par décimation d'un sommet et optimisation locale ou par décimation d'un ensemble sommets et optimisation globale. 16. Procédé de codage d'un maillage source selon la revendication 15, caractérisé en ce que ledit maillage simplifié est représenté par un maillage de base et une séquence de raffinements dudit maillage de base. 17. Procédé de codage d'un maillage source selon l'une quelconque des revendications 15 et 16 et selon la revendication 6, caractérisé en ce qu'il comprend une étape d'initialisation du veceteur Xp, comprenant une étape de dénombrement des arêtes vives autour de deux sommets à fusionner, après ladite décimation, et en ce que: - si les nombres d'arêtes vives sont les mêmes autour des deux sommets, on place le sommet résultant de la fusion au milieu du segment reliant lesdits sommets; - si les nombres d'arêtes vives sont différents, on place le sommet résultant de la fusion sur le sommet présentant le plus grand nombre d'arêtes vives. 1 8. Procédé de codage d'un maillage source selon l'une quelconque des revendications 14 à 17, caractérisé en ce que le calcul du gradient à kitme itération comprend les étapes suivantes: - discrétisation de l'expression de la dérivée partielle de la distance pour chaque sommet Xi, sous la forme: N M X 'E =!(i =1 J(iJ (ij)d(iJ e$i =1 j. =l avec: - S l'ensemble des triangles voisins du sommet Xi; - NX le nombre de points échantillonnés dans la direction de u; - M le nombre de points échantillonnés dans la direction de v; - orientation des surfaces, par identification de la plus proche intersection avec le maillage source M. 1 9. Procédé de codage d'un maillage source selon l'une quelconque des revendications 1 à 18, caractérisé en ce que l'orientation relative des surfaces audit maillage source et dudit maillage simplifié est calculée selon l'équation: 1rl(u,v) =-- avec: Xj le point échantillonné sur M'; XM le point d'intersection de la droite passant par Xj et de direction fi avec le maillage source M; tim la normale au maillage source M au point Xj; nM. la normale au maillage source M' au point Xj. 20. Procédé de codage d'un maillage source selon l'une quelconque des revendications 1 à 19, caractérisé en ce qu'il comprend une étape de limitation de la dégradation due à une transformation élémentaire, mettant en oeuvre une queue de priorité sur les transformations élémentaires. 2 1. Procédé de codage d'un maillage source selon la revendication 20, caractérisé en ce que ladite étape de limitation de la dégradation due à une transformation élémentaire, c'est-à-dire une fusion d'arête, définie par deux sommets, comprend les étapes de: - calcul d'un coût pour chaque transformation élémentaire possible; - réalisation de la transformation élémentaire de moindre coût; - recalcul des coûts des transformations élémentaires modifiées par la transformation élémentaire précédente; ajout des nouvelles transformations élémentaires créées et calcul des coûts correspondants. 22. Procédé de codage d'un maillage source selon la revendication 21, caractérisé en ce que le coût d'une transformation élémentaire (Ti) s'exprime par: C(T1i(XijXj)) = max d2 (VMF(X)) avec: Ti transformation fusionnant deux sommets Xi et Xj dudit maillage simplifié M'; xif le sommet dudit maillage simplifié M' résultant de ladite transformation; F(Xif) les faces dudit maillage simplifié M' avoisinant le sommet xjf après ladite transformation; VM ensemble des sommets dudit maillage source M appartenant aux faces ayant été intersectées lors du calcul de l'orientation des surfaces pendant ladite minimisation. 23. Application du procédé de codage d'un maillage source selon l'une quelconque des revendications 1 à 22 à au moins un des domaines appartenant au groupe comprenant: - la réalité virtuelle; - la simulation scientifique; - la modélisation.