PROCEDE DE CONSTRUCTION D'UNE FORME BIDIMENSTONNELLE A PARTIR D'UNE FORME TRIDIMENSIONNELLE
La présente invention se rapporte au domaine du dépliage de formes 3D (tridimensionnelles).
La présente invention concerne plus particulièrement un procédé robuste de construction d'une forme bidimensionnelle à partir d'une forme 3D en utilisant le dépliage de forme basé sur les angles.
L'art antérieur connaît déjà, par le brevet américain US 6 064 394 (Autodesk), un procédé, un dispositif et un article de conception de textures quadrillant les surfaces d'un objet dans un système graphique 3D, de telle sorte que la taille de la texture soit préservée et que la texture s'enroule autour des surfaces incurvées. Un ou plusieurs triangles sont choisis dans un maillage arbitraire de triangles. Un plan normal et une origine du plan normal sont déterminés pour chacun des triangles choisis. La surface du triangle choisi est calquée avec la texture en utilisant le plan normal et l'origine. Cette solution propose une technique itérative de dépliage considérant les triangles du maillage les uns après les autres. Il en résulte une certaine instabilité numérique dans la résolution de maillages complexes.
L'art antérieur connaît également, par le brevet américain US 6 271 856 (Venkat Krishnamurthy) , un procédé de création d'une paramétrisation d'une surface d'entrée dans un système informatique graphique 3D. Le procédé comprend une étape de spécification d'une pluralité de courbes frontière sur la surface de sorte à définir un ensemble de pièces de la surface. Les courbes frontières
sont typiquement déterminées en utilisant une procédure de création de courbes interactive avec l'utilisateur, mais peuvent aussi être déterminées de façon automatique. Le procédé génère alors automatiquement une paramétrisation de l'ensemble de pièces de telle sorte qu'une fonction discrète d'énergie d'ordre supérieur définie sur la surface soit minimisée sous les contraintes que les iso-courbes de la paramétrisation soient attirées pour suivre les courbes. Le procédé est utile pour la conversion de maillages polygonaux irréguliers denses en modèles de surface qui conviennent à la modification ou l'animation interactives.
L'art antérieur connaît également, par la demande de brevet américain US 2003 / 206 165 (Hugues Hoppes et al.), un procédé et un système d'optimisation de l'étirement géométrique d'un schéma de paramétrisation. Etant donné un maillage arbitraire, le système et le procédé construisent un maillage progressif (PM) de sorte que tous les maillages dans la séquence PM partagent une paramétrisation de texture commune.
On connaît également, par la publication « parameterization of faceted surfaces for meshing using angle-based flattening » (Alla Sheffer et al. — Université de l'Illinois), un procédé de dépliage d'une forme 3D en une forme 2D, quelque peu similaire au brevet US 6 064 394, et se basant sur les angles des triangles du maillage. Cette technique permet, à partir d'une représentation facétisée en triangles d'une forme 3D, de reconstruire la représentation bidimensionnelle de la forme. Cette solution réalise une itération de la résolution des coordonnées des angles des triangles, les uns après les autres entraînant de la sorte la propagation des erreurs et approximations. En effet, les itérations réalisent des opérations de divisions de nombre. Les résultats sont mal supportés
(c'est-à-dire arrondis) puisque les registres contenant les variables des systèmes informatiques sont limités. Cette limitation est d'autant plus vraie que les résolutions de dépliage sont effectuées par des systèmes informatiques utilisant des approximations (par exemple, nombres flottants). Ainsi pour des formes 3D très complexes (par exemple, un volant de voiture mappé avec un maillage de plus de 10000 triangles), les résultats obtenus sont très médiocres.
L'architecture des processeurs actuels met en œuvre des registres de taille limitée. Cette limitation résulte des contraintes physiques sur la réalisation de circuit, et pour pallier ces contraintes techniques, les systèmes informatiques utilisent des approximations de valeur par des flottants. Les procédés de l'art antérieur accumulent ces approximations provoquant des erreurs, voire des aberrations sur les résultats obtenus. La figure 4 (c) illustre l'aberration du résultat obtenu par dépliage itératif du dromadaire (a).
Pour répondre à ces approximations en raison des contraintes physiques, l'invention permet de supprimer les aberrations résultantes lors de dépliage de formes tridimensionnelles.
Le problème résolu par la présente invention est de diminuer grandement les aberrations obtenues dans les traitements graphiques et de calcul dont les registres présentent des capacités limitées, tout en conservant les systèmes informatiques actuels qui sont bon marchés.
La présente invention entend remédier aux inconvénients de l'art antérieur en proposant un procédé de construction d'une forme bidimensionnelle à partir d'une
forme 3D réalisant une reconstruction numérique globale de la forme.
Le procédé selon la présente invention répond particulièrement bien aux attentes de l'industrie pour laquelle la conception assistée par ordinateur tient une place prépondérante. En effet, les revêtements de nombreux objets 3D sont réalisés à partir de tissus plans, par exemple recouvrir de cuir un volant de voiture. Le procédé selon la présente invention permet d'appréhender sereinement les objets les plus complexes.
A cet effet, l'invention concerne dans son acception la plus générale un procédé de construction d'une représentation bidimensionnelle à partir d'une forme tridimensionnelle comprenant :
• Une première étape de représentation numérique facétisée de ladite forme tridimensionnelle ;
• Une étape de détermination des valeurs des angles aux sommets de chaque facette dans le plan bidimensionnel associé à ladite représentation ;
• Une étape de reconstruction numérique des coordonnées des sommets de la représentation bidimensionnelle mettant en œuvre des moyens techniques de calcul numérique comprenant au moins une mémoire de type RAM ainsi qu'un processeur ;
caractérisé en ce que ladite étape de reconstruction numérique est globale et donne les valeurs de toutes les coordonnées de façon simultanée.
De préférence, ladite étape de reconstruction numérique comprend une première sous-étape de mise en équation permettant de relier lesdits angles auxdites coordonnées desdits sommets, au moyen d'une équation (E)
unique dont les variables comprennent au moins les coordonnées 2D des sommets et les angles.
Avantageusement, ladite étape de reconstruction numérique comprend, en outre, une sous-étape de résolution de ladite équation (E).
Dans un mode de réalisation, ladite équation (E) est une équation algébrique matricielle.
De préférence, ladite équation (E) est une équation linéaire.
Avantageusement, ladite étape de reconstruction numérique comprend, en outre et précédent ladite sous-étape de résolution, une étape d'ajout d'au moins une contrainte portant sur lesdites coordonnées d'au moins un sommet.
Selon un mode de mise en œuvre, ladite au moins une contrainte consiste à définir les coordonnées d'au moins un sommet.
Selon une variante, ladite au moins une contrainte consiste à définir l'alignement d'au moins trois sommets.
Avantageusement, ladite reconstruction numérique est stable du fait qu'une éventuelle erreur numérique ne se propage pas au cours de la reconstruction.
La présente invention se rapporte également à un système de construction d'une représentation bidimensionnelle à partir d'une forme tridimensionnelle comprenant au moins un processeur, une mémoire de type RAM pour la mise en œuvre du procédé.
On comprendra mieux l'invention à l'aide de la description, faite ci-après à titre purement explicatif, d'un mode de réalisation de l'invention, en référence aux figures annexées :
- la figure 1 est un ordinogramme illustrant un mode de réalisation de l'invention ;
- la figure 2 représente le système selon l'invention ; - la figure 3 illustre la paramétrisation des triangles dans l'espace bidimensionnel,
- la figure 4 représente le dépliage d'un objet (a) selon une méthode itérative (c — art antérieur) et selon la présente invention (b).
La présente invention met en œuvre un procédé de construction d'une représentation bidimensionnelle à partir d'une forme tridimensionnelle en procédant à une résolution globale des systèmes d'équations de telle sorte que les erreurs induites par les systèmes de calcul ne se propagent pas d'une résolution à une autre mais soient réparties dans l'ensemble des résultats. L'invention s'inspire de la méthode ABF décrite précédemment, méthode se limitant, pour des applications industrielles, à la résolution de maillages comprenant au plus quelques milliers de triangles.
L'intérêt du procédé de la présente invention est de réaliser un dépliage de formes 3D complexes dans un temps réduit afin que le procédé puisse être appliqué à l'industrie.
L'industrie est très friande de dépliage de formes 3D en formes bidimensionnelles pour diverses raisons : la facilité d'opérer des calculs mathématiques
dans un espace 2D plutôt que dans un espace tridimensionnel, l'habillage d'objets, ...
L'invention fournit une solution au placage de textures. Déplier des objets 3D permet de facilement les « habiller avec des images » . La représentation construite par l' invention est particulièrement bien exploitable par les cartes graphiques actuelles (technique du placage de textures, ou « texture mapping » ) . Cette représentation permet également de dessiner sur des objets 3D et est directement exploitable par les logiciels de dessin 3D, 3D Paint Systems (nom commercial) par exemple. La présente invention répond particulièrement bien à la problématique de l'habillage de formes complexes (volant de voiture, sièges, ...) par des tissus ou cuirs dont la découpe peut être faite en utilisant les patrons bidimensionnels générés automatiquement par l'invention.
Le procédé selon l'invention peut également être utilisé pour simplifier de grands maillages tout en préservant leur apparence visuelle. Les détails géométriques sont alors stockés sous forme d'images, dans l'espace 2D déplié. L'objet est reconstitué en temps réel par la carte graphique (technique du placage des vecteurs normaux, ou « normal mapping »). Afficher un objet sous cette forme (objet simplifié + détails stockés dans une image) est beaucoup plus efficace que d'afficher l'objet original (les cartes graphiques manipulent des images plus facilement que des gros maillages).
De même, l'invention s'applique à la conversion de surfaces triangulées en surfaces Splines/NURBS. Le dépliage construit par le procédé de la présente invention peut également être utilisé pour convertir une surface
triangulée en une surface polynomiale ou en une surface NURBS.
La construction d'une carte 2D d'un objet 3D en utilisant l'invention peut être aussi utilisée dans des applications industrielles de type « contrôle de qualité de surface ») .
Enfin, l'invention facilite certains types de calculs en construisant une carte 2D d'une surface 3D.
L'invention est utile, dans ce cas, pour faciliter certains types de calculs sur les surfaces. On peut citer par exemple les simulations de transferts énergétiques entre surfaces, et en particulier les simulations réalistes d'éclairage, ou encore les simulations d'écoulement des fluides.
Illustré par la figure 1, le système (10) mettant en œuvre la présente invention comprend un processeur (11), une mémoire vive (12), un système de visualisation (13), des moyens d'acquisition de données
(14), une mémoire de stockage (15).
Dans la version la plus simple, le système (10) nécessite la présence uniquement d'un processeur (11) et d'une mémoire vive (12).
Le système (10) correspond tout à fait aux modèles de systèmes informatiques disponibles dans le commerce et bon marchés. Le processeur (11) est de type courant, certains tests de la présente invention ont donné des résultats concluant avec un processeur de fréquence d'horloge de 2 GHz. Le processeur (11) réalise toutes les tâches élémentaires du système.
La mémoire vive (12) permet le stockage temporaire des données de fonctionnement ou de calcul du système. Elle met en œuvre des registres dont la taille est limitée. Ainsi les variables utilisées par les programmes informatiques peuvent être arrondies pour être stockées dans ces registres. Par exemple, un nombre décimal peut être stocké par un flottant de taille 4 octets, ou un double-flottant (appelé double dans le langage de la programmation informatique) de taille 8 octets. De préférence, la mémoire vive est de type RAM (Random Access Memory) . Cette mémoire héberge la partie exécutée de tout logiciel informatique réalisant la présente invention.
Des moyens d'acquisition (14) peuvent équiper le système pour permettre l'acquisition de données utiles à la présente invention. Ces moyens d'acquisition (14) peuvent concerner des lasers qui calculent les coordonnées
3D d'une forme tridimensionnelle à analyser, ou encore simplement un clavier et une souris pour interagir dans la présente invention (données initiales, choix de valeur seuil dans les diverses étapes de calcul).
Des équipements de visualisation (13) (écran, imprimantes) et de stockage (15) (disque dur, mémoire USB, CD-ROM, DVD, ...) permettent la visualisation et la sauvegarde de données acquises et calculées par la présente invention.
Le système d'exploitation permettant le fonctionnement de l'ensemble peut être un des dérivés
Windows (nom commercial), Linux, Unix, ... Il oriente les différentes instructions entre les parties logicielles et les ressources physiques du système.
Le cœur logiciel de la présente invention est chargée dans la mémoire vive, reçoit les données initiales (représentation tridimensionnelle ou coordonnées des points du maillage 3D), exécutent les opérations élémentaires du programme logiciel pour en déduire les résultats de l'invention : la représentation bidimensionnelle.
Le procédé selon l'invention est avantageusement implémenté sous forme logicielle, le cadre de l'invention ne se limitant pas à cette unique implémentation.
Le procédé selon la présente invention est décrit de façon logique en référence à la figure 2. L'invention s'applique à un objet 3D ou à une représentation tridimensionnelle d'un objet réel ou virtuel (200) conçue par exemple par un système informatique (CAO — conception assistée par ordinateur). Ces données numériques peuvent être obtenues par les moyens d'acquisitions évoqués précédemment dans le cas d'un objet 3D réel.
A partir de ces données, le bloc 210 permet d'établir un maillage 3D de l'objet à analyser.
Ce maillage peut être directement obtenu lors de la conception assistée par ordinateur d'un objet virtuel.
Diverses techniques de maillage (représentation numérique facétisée) 3D sont actuellement disponibles, notamment sous forme logicielle. Par exemple, la bibliothèque de fonctions C++ « 3DReshaper Library » (nom commercial) ou le logiciel AZICUB (nom commercial) permettent d'accomplir cette opération.
L'implémentation d'un maillage triangulaire simplifie les opérations de calcul en comparaison des maillages polygonaux de plus de 3 cotés. L'invention s'applique également aux maillages comprenant des polygones. Dans ce cas, on triangule les polygones, en construisant les équations en considérant uniquement des triplets. Dans la suite des explications, nous nous limiterons au maillage triangulaire.
La représentation de la forme tridimensionnelle par un maillage 3D lors de cette étape fournit un ensemble de connexions entre points ou un ensemble de triplets de sommets. Aucune coordonnée du maillage n'est connue à ce stade.
Le bloc 220 constitue une étape de détermination des angles aux sommets des triangles dans l'espace bidimensionnel de dépliage. Cette étape est déjà décrite dans la méthode ABF (Alla Sheffer) mais toute autre méthode reste dans le cadre de l'invention.
Alors que les techniques connues de dépliage résident dans l'établissement d'un système d'équations dont la résolution est réalisée de façon itérative, la présente invention propose l'établissement d'un système matriciel global à résoudre (230). Ce système permet de relier de façon globale les coordonnées (u,v) des sommets des triangles de la représentation bidimensionnelle aux angles (X1 des sommets des triangles dans le plan, angles déterminés précédemment.
Nous proposons ici une mode de réalisation de l'établissement du système matriciel répondant particulièrement aux spécificités des logiciels et aux possibilités de calcul des systèmes informatiques. Il est
entendu que l'homme du métier serait à même de réaliser un autre algorithme permettant l'obtention d'une solution similaire.
En référence à la figure 3, nous adoptons la notation suivante dans le plan bidimensionnel : U1 est un nombre complexe représentant les sommets du triangle (U1 + Lv1), Ct1 l'angle associé à U1 dans le triangle.
Dans un triangle t, on a la relation suivante :
et pour l'ensemble T des triangles du maillage :
Z
fc est un nombre complexe.
Cette équation peut être mise sous la forme de minimisation de la norme quadratique pour l'ensemble des triangles, soit :
minimiser C(U)
|(
z' "
1Wj
~ z* Uk + U
1
avec U
n-1 = 0 et U
n = 1, et U=[U
1, ..., U
n]
τ
Un-1 = 0 et Un = 1 sont semblables aux conditions de départ, à savoir que l'on définit un point de départ, et la distance entre les deux points permet de déterminer l'échelle de la représentation graphique 2D.
Certaines contraintes peuvent également être ajoutées au système : des contraintes liées à la réalisation matérielle de la forme dépliée par exemple.
En appliquant les propriétés des fonctions quadratiques puis des matrices Hermitienne :
C(U)=U*M*MU avec pour tout triangle (j,k,l) mij =Z* -1
mt =0, autrement
En composant U=[Uf, Up]τ, Uf=[Ulf D».2] et Up=[0,1], on peut écrire C comme suit :
Alors pour x=([ulf ..., un_2]τ, [V1, ..., vn_2]τ),
où X
1 et X
2 sont respectivement la partie réelle et la partie imaginaire de X.
Ce système matriciel permet à partir des angles complexes Z* connues de déterminer l'ensemble des coordonnées (U^v1) des sommets dans le plan bidimensionnel.
Le bloc 240 représente la résolution du système matriciel obtenu lors de l'étape précédente. Cette résolution fournit de façon globale et simultanée l'ensemble des coordonnées (u,v) des sommets des triangles dans la représentation bidimensionnelle de l'objet (250). On entend par global le fait qu'aucune coordonnée n'est déterminée avant que l'ensemble des données résultats soit
obtenu. On entend par simultané le fait que la résolution d'un système matriciel fournit un vecteur résultat contenant l'ensemble des coordonnées (u,v), en opposition à l'art antérieur (méthode itérative) qui fournit les coordonnées d'un point en utilisant les résultats obtenus lors des itérations précédentes de calcul des autres points. Le terme « simultané » doit donc être considéré au sens du calcul (obtention lors de la même étape de toutes les coordonnées résultat) et non au sens des instructions de machines (restitution par le système informatique).
Illustré par la figure 4, le dépliage d'un objet (a), ici un dromadaire, fournit, selon la présente invention, une forme bidimensionnelle (b) reproduisant de façon réaliste l'objet initial. Le dépliage (c) a été obtenu par une méthode itérative dont le résultat délivre des aberrations suite à la propagation des erreurs au cours des étapes itératives. La différence entre ces deux méthodes est d'autant plus visible que l'objet initial est complexe, ici un dromadaire dont le maillage possède plusieurs milliers de triangles.
La présente invention permet d'obtenir des dépliages réalistes dans des temps relativement courts (de l'ordre d'une à deux minutes pour un maillage d'une dizaine de milliers de triangles).
Selon un mode de réalisation préféré de l'invention, la résolution du système matriciel (240) permet l'incorporation de contraintes (260) sur le dépliage. On peut mentionner, de façon non exhaustive, des contraintes liées à la position de points de dépliage, des contraintes liées à la géométrie de l'objet (conserver l'alignement de points lors du dépliage d'une pièce
mécanique dotées de bords rectilignes) et/ou des contraintes liées à un ou des axes de symétrie des objets.
Ces contraintes sont absorbées dans la résolution du système matriciel, l'invention minimisant la déformation de l'objet.
L'invention est décrite dans ce qui précède à titre d'exemple. Il est entendu que l'homme du métier est à même de réaliser différentes variantes de l'invention sans pour autant sortir du cadre du brevet.