FR 3090943 A1 20200626 FR 1873481 A 20181220 Description Titre de l'invention : Procédé de modification de la forme d'un objet virtuel tridimensionnel représenté dans un espace immersif et système immersif mettant en oeuvre ledit procédé Domaine technique de l'invention 100011 Le domaine technique concerne la modélisation géométrique et la réalité virtuelle en général, et concerne plus particulièrement un procédé de modification de la forme d'un objet virtuel tridimensionnel (3D), représenté dans un espace immersif, l'objet virtuel étant représentatif, notamment, d'un véhicule ou une partie de véhicule. La présente invention concerne également un système immersif mettant en oeuvre ledit procédé. Etat de la technique [0002] Par système immersif, on entend un ensemble de moyens permettant de définir un espace (ou environnement) 3D virtuel dans lequel une ou plusieurs personnes sont immergées et confrontées à un objet virtuel, pouvant être à taille réelle, et avec lequel elles peuvent interagir. Un tel système comporte un poste de commande et ses périphériques. Le poste de commande comporte typiquement au moins un calculateur avec un clavier et un écran de contrôle, couplés à une ou plusieurs bases de données. Un tel système comporte également un système de suivi de position (« tracking » en terminologie anglo-saxonne), permettant d'obtenir les données de position de l'utilisateur, de ses mouvements, et de tout périphérique immersif qu'il utilise. Un système immersif peut notamment servir à la mise en oeuvre d'un certain nombre de logiciels applicatifs (applications) dédiés à la modélisation d'objets 3D. Des exemples de systèmes immersifs sont les suivants : casques de réalité virtuelle, CAVE, acronyme anglo-saxon pour « Cave Automatic Virtual Environment » (cf. CSDKH92). Un tel système immersif peut être utilisé dans le cas d'une revue de projet véhicule. [0003] La création d'un nouveau véhicule répond à un processus itératif. [0004] Ce processus débute par la représentation graphique de la forme extérieure et in- térieure du nouveau véhicule qui permet ensuite de créer une maquette numérique 3D (ou modèle 3D) à l'aide de logiciels de modélisation, permettant la manipulation d'outils mathématiques (courbes et surfaces paramétriques représentant le modèle, ou maillages polygonaux). Cette maquette sera étudiée lors de revues de projet. Le processus se poursuit par des modifications successives du modèle jusqu'à arriver au modèle final. [0005] Lors des revues de projet, des retours sont donnés par différents acteurs, notamment par des décideurs non experts en modélisation (par exemple un designer automobile non expert en modélisation). Ces retours sont exprimés à travers un vocabulaire 2 spécifique au métier du style et pour chaque marque de véhicule. Pour améliorer la communication, et donc diminuer le nombre d'itérations autour d'un véhicule, il est utile de visualiser ces intentions de modifications. Or, actuellement, il n'est pas possible de modifier la forme d'un modèle de véhicule directement en immcrsif et à volonté sans être spécialisé dans le maniement des outils de modélisation géométrique. On connait des exemples de fonctionnalités de modifications autour d'une maquette numérique, en non-immersif. Par exemple dans ICEM Surf (logiciel de modélisation de Dassault Systèmes), la fonction « Global Modelling » (désignation anglo-saxonne) permet de modifier rapidement une forme. Le concepteur de la maquette numérique sélectionne plusieurs parties élémentaires de la surface se présentant sous la forme de surfaces paramétriques (que l'on désignera sous le nom de « carreaux), autour desquels le logiciel crée un polyèdre de commande. En modifiant ce polyèdre de commande, il peut modifier l'ensemble de sa sélection. [0006] En immersif, il est connu du document EP3144901A1, un système de gestion des dé- placements d'un objet dans une scène par un utilisateur qui est représenté par son avatar dans la scène 3D. L'utilisateur peut ainsi se voir déplacer certains objets dans la scène, objets qui sont prédéfinis pour être déplaçables. Si l'objet n'a pas été défini comme déplaçable, alors l'utilisateur peut changer certaines dimensions de l'objet. Ce système n'est pas adapté à la déformation de n'importe quelle partie de la surface d'un objet virtuel. [0007] On connait également du document EP2690570A1, un système immersif dans lequel un utilisateur peut interagir avec plusieurs objets virtuels présent dans l'espace 3D en associant à ces objets différents outils, simulant ainsi des interventions sur tel ou tel objet. Ce document porte sur la mise à disposition d'une « boîte à outils » (stocking zone) pour l'utilisateur mais ne décrit pas une méthode de modification de la forme des objets manipulés. [0008] En non-immersif, l'utilisation de fonctions présentes dans des logiciels de modé- lisation nécessite de maîtriser les outils des logiciels en question. Le décideur demande à un expert de réaliser pour lui les modifications. Même avec l'aide d'un expert, la modification des carreaux pose plusieurs problèmes pour une revue de projet. Tout d'abord, une modification individuelle de plusieurs carreaux requiert trop de temps pour être possible en cours de revue de projet. Des fonctionnalités existent pour modifier simultanément plusieurs carreaux, mais passent par la construction d'une structure auxiliaire à déformer. Il peut être long (par rapport au temps d'une revue de projet) de construire une structure adaptée à la déformation voulue. Par ailleurs, une fois la structure construite, la modification de la surface est alors indirecte (on ne manipule pas directement la surface mais cette structure auxiliaire), ce qui n'est pas très intuitif. Enfin, les carreaux de la surface étant indépendants les uns des autres, des 3 trous peuvent apparaître à partir d'une certaine amplitude de déformation. La surface perd sa continuité à la jonction de ses différents carreaux constitutifs. Présentation de l'invention [0009] Un but de la présente invention est de répondre aux besoins d'un designer au- tomobile centré sur l'exploration (le formes, sans avoir besoin de connaissances techniques poussées sur les outils actuels de modélisation géométrique. [0010] On tend vers ce but grâce à un procédé de modification, par un utilisateur présent dans un espace immersif, de la forme d'un objet virtuel tridimensionnel représenté lui aussi dans l'espace immersif, selon un maillage initial d'éléments de 'bulle triangulaire, composés de sommets définis par leur position, maillage doté d'une topologie déterminée, ledit procédé comportant les étapes suivantes : [0011] - l'utilisateur sélectionne une première zone de l'objet, constituée par un premier ensemble H de sommets de triangles, [0012] - l'utilisateur sélectionne une deuxième zone de l'objet, différente de la première, constituée par un deuxième ensemble F de sommets de triangles, qui est figé, [0013] - l'utilisateur définit une nouvelle position pour la première zone H, ce qui définit une direction de déplacement d, [0014] - à extraire, à partir des première et deuxième zones H et F, une zone d'intérêt, maillage S, représentant au moins une partie du maillage de l'objet initial, [0015] - à copier cette zone d'intérêt et à l'étirer dans la direction de déformation, créant un deuxième maillage Sstreched, [0016] - à calculer les poids à partir du maillage Sszreched avec a et p les angles de part et d'autre de l'arête reliant les sommets v; et vk du maillage S streacd , 100171 - à calculer la déformation du maillage S en utilisant les positions du maillage S et les poids calculés sur le maillage Ssnhed, et 100181 - à mettre à jour le maillage initial en prenant en compte ladite déformation. 100191 Un autre objet de la présente invention concerne un système immersif mettant en oeuvre le procédé tel que décrit ci-dessus, comportant des moyens de génération d'un espace immersif dans lequel l'objet virtuel est représenté, un poste de commande et au moins un périphérique d'interaction avec l'objet virtuel couplé au poste de commande permettant à l'utilisateur muni dudit périphérique d'interagir avec l'objet virtuel dans l'espace immersif. 100201 Selon une caractéristique, le système comprend au moins un calculateur et des moyens de stockage dans lesquels sont stockés au moins un programme pour l'exécution d'étapes selon le procédé de détermination mis en oeuvre par le système. 100211 L'invention a pour autre objet, un programme d'ordinateur comprenant des ins- tructions pour l'exécution des étapes du procédé tel que décrit ci-dessus. [0022] Elle a encore pour autre objet, un support utilisable dans un ordinateur et sur lequel est enregistré un programme tel que décrit ci-dessus. [0023] La présente invention permet de modifier de manière intuitive un modèle 3D repré- sentatif notamment d'un véhicule automobile, en immersif, en temps réel ou interactif, et à taille réelle (échelle 1:1). Un designer automobile peut alors définir, en immersif, deux parties de surfaces, l'une deformable et l'autre figée, et cela sans connaissance préalable de la représentation sous-jacente du modèle. Une zone de déformation sera ensuite extraite à partir de ces zones. Il suffit ensuite à l'utilisateur de définir de nouvelles positions pour les éléments de la zone définie comme mobile. L'algorithme en déduit un vecteur de déplacement. L'algorithme calcule ensuite la déformation de la région définie comme deformable. Ce calcul fait intervenir des poids, qui auront été préalablement calculés sur une copie modifiée de la zone soumise à la déformation. [0024] D'autres avantages et caractéristiques pourront ressortir plus clairement de la des- cription qui va suivre. Brève description des figures [0025] L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif et faite en se référant aux dessins dans lesquels : [0026] [fig.1] représente les principales étapes du procédé selon l'invention ; [0027] [fig.2] représente les étapes de définition de la zone de déformation du procédé selon l' invention ; [0028] [fig.3] représente les étapes d'introduction de l'anisotropie, préalablement à la déformation ; [0029] [fig.4] représente un schéma de l'étirement d'un maillage pour le calcul des poids. Description détaillée de l'invention 100301 Dans une première étape 1 (Fig. I), le procédé selon l'invention consiste au préalable, à convertir la maquette numérique, dans le cas où cette maquette représente la surface du modèle de manière paramétrique, sous forme de carreaux indépendants les uns des autres, en un maillage (maillage initial) constitué de triangles élémentaires doté d'une topologie déterminée. Dans cette nouvelle représentation, chaque sommet d'un triangle est lié aux sommets des triangles adjacents. Grâce à ces liaisons, on peut déformer le maillage sans que cela ne crée de trou dans la surface. [0031] Dans unc deuxième étape 2, l'utilisateur va définir en immersif une zone S soumise à la déformation. Dans une troisième étape 3, un vecteur de déplacement est défini, suite à une interaction immersive de l'utilisateur, pour effectuer la déformation. Dans une quatrième étape 4, un algorithme calcule la déformation de S. Dans une cinquième étape 5, le maillage initial est mis à jour pour correspondre à la nouvelle forme de S. [0032] La zone de déformation est définie selon les étapes de la figure 2. L'utilisateur définit une première zone : un ensemble H de sommets à déplacer (« handles » en terminologie anglo-saxonne) et une deuxième zone : un ensemble F de sommets figés. Il définit ces zones H et F en interagissant directement avec la surface dans l'espace immersif (par exemple, en attribuant une couleur particulière aux sommets, selon qu'ils appartiennent à H ou F). L'utilisateur peut utiliser un périphérique immersif couplé au poste de commande du système immersif, périphérique qu'il peut porter sur lui (dans ses mains, sur ses doigts, ...). Le but étant ici que l'interaction soit la plus intuitive pour un concepteur graphique, ce périphérique lui permet de sélectionner d'abord l'ensemble H qu'il souhaite déplacer, puis l'ensemble F qu'il souhaite garder figé. Cette métaphore d'interaction est appelée dans la littérature anglo-saxonne « handle mctaphor ». A partir de ces ensembles H et F, le procédé selon l'invention extrait une zone d'intérêt S, constituée d'au moins une partie du maillage initial de l'objet virtuel. Cc maillage S, comporte n sommets, notés vi avec G (1, nj,définis par leur position pi exprimée dans un repère monde (X,Y,Z). [0033] S peut être défini, par exemple, en prenant tous les sommets se trouvant dans une sphère de rayon r (par exemple un pourcentage de la dimension maximale du maillage initial) et de centre c (par exemple le barycentre des sommets de H). [0034] Si ce maillage S définit une surface ouverte, les sommets des bords peuvent par exemple être ajoutés à l'ensemble F, afin de garantir une continuité avec le modèle initial suite à la déformation. 100351 C'est ce maillage S qui sera soumis à déformation. 100361 L'utilisateur définit de nouvelles positions pour les sommets de la première zone H, dont on déduit une direction (ou vecteur) de déplacement d. Par exemple, l'utilisateur peut définir à l'aide du périphérique immersif une rotation de la zone H. On peut alors définir le vecteur de déplacement d comme une combinaison des déplacements de chaque sommet de H. 100371 Pour effectuer la déformation, le procédé s'inspire de l'algorithme de Sorkine et Alexa (cLSA07) et de son amélioration par Chao et al. (cf. CPSS10). Le coeur des méthodes citées ci-dessus est une minimisation d'énergie, formulée de la manière suivante : [Math .1] 6 k. [0038] Avec : S' le maillage S après déformation pi, pk les positions des sommets \Ti, vk dans S, pour L. p'i, p'k les positions des sommets v'i, v'k dans S', pour ityk e pi; E(vi) l'ensemble des arêtes formées par vi et les sommets voisins. E(v;) comporte donc les arêtes formant des « rayons » (« spokes » en terminologie anglo-saxonne) partant de v; mais aussi les arêtes entourant formant des « jantes » (« rims » en terminologie anglo-saxonne) R; les rotations entre les cellules initiales et après déformation, une cellule étant constituée d'un sommet vi et de ses voisins wik les poids correspondant à l'arête reliant le sommet j au sommet k. Ces poids sont calculés sur le maillage Sstmched introduit ci-après. 100391 Selon les approches de (cf. SA07) et (cf. CPSS10), les R; et les %mi, correspondent dans le cas d'une déformation modélisée par éléments finis, aux rotations finies et aux différents coefficients des matrices raideurs des éléments du maillage pourvus de fonctions de forme linéaires pour un objet (surface) dont les caractéristiques matériaux sont ramenés à des valeurs unité. L'algorithme mis en place dans le procédé exploite la minimisation de l'énergie de déformation citée ci-dessus mais se distingue par les poids wik qui sont utilisés pour calculer la déformation. En effet, les méthodes précédemment citées génèrent des déformations isotropes : le comportement de la déformation est le même selon toutes les directions autour d'un sommet quelconque. Ce qui a pour effet que le maillage se déforme comme une membrane souple soumise à des grands déplacements et, en particulier, des rotations finies. Or, si ces méthodes sont bien adaptées pour des déformations organiques (personnages, etc.), elles ne donnent pas de résultats satisfaisants s'agissant de modifications locales de forme d'une silhouette de véhicule automobile. [0040] L'algorithme développé dans le procédé selon l'invention introduit de l'anisotropie dans la déformation (Fig.3). Le procédé s'inspire de la méthode de Botsch et Kohhelt (cf. BK04), qui introduisent l'anisotropie en utilisant une paramétrisation bidimensionnelle du maillage. Le procédé selon l'invention propose, à la place, d'introduire l'anisotropie grâce au vecteur de déplacement d et en utilisant directement le maillage S tridimensionnel. Par rapport à (cf. BK04), cela présente les avantages suivants : pas de paramétrisation nécessaire du maillage S, ce qui garantit l'existence 7 d'une solution dans tous les cas, donc assure la robustesse de l'algorithme proposé. Pour une forme complexe (tel un modèle automobile), la paramétrisation peut être complexe à réaliser et poser des problèmes de robustesse de l'algorithme ; on devient indépendant de la forme des contours de la paramétrisation pour introduire l'anisotropie ; en utilisant directement le modèle tridimensionnel, il est plus simple de savoir dans quelle direction étirer pour changer la raideur des arêtes. En particulier, cela permet de générer des directions d'anisotropie répondant aux besoins des designers, selon leur méthode de travail (préserver la forme de certaines courbes appartenant à la surface). [0041] Pour introduire l'anisotropie, (Fig.3) on copie tout d'abord le maillage S dans un espace de calcul intermédiaire, différent de l'espace immersif. Cet espace intermédiaire est invisible pour l'utilisateur. On étire ensuite cette copie dans le sens du vecteur de déplacement d pour donner un nouveau maillage Sst,',,ed . On calcule les poids wik sur ce maillage La déformation est ensuite calculée en utilisant les positions du maillage S et les poids calculés sur le maillage S','1,', [0042] Afin d'effectuer l'étirement du maillage, l'algorithme peut par exemple : placer la copie du maillage S au centre du repère monde ; calculer la rotation qui permettrait d'aligner le vecteur de déplacement d avec un axe du repère monde (par exemple l'axe X) ; appliquer cette rotation à la copie du maillage S ; appliquer une transformation de mise à l'échelle de cette copie selon l'axe choisi (par exemple selon X), avec un coefficient de mise à l'échelle positif (par exemple 100). Cette mise à l'échelle a pour effet d'étirer la copie du maillage S dans la direction de déformation : on obtient alors S'',,,'1. Ceci a pour effet d'affecter une direction d'anisotropie locale à chaque sommet en lien avec les besoins des designers. [0043] La figure 4 illustre l'effet de l'étirement du maillage. Les poids sont exprimés de la manière suivante : [Math.2] 1 f3). = (coia [0044] avec a et r3 les angles de part et d'autre de l'arête reliant les sommets vi et vk. En étirant le maillage, on modifie ces angles. [0045] Ceci a pour conséquence une modification de la matrice raideur de chaque élément. Autrement dit, on peut alors voir les poids comme une raideur affectée à chaque arête. 8 Cela permet l'introduction d'un comportement anisotropique selon la direction globale (vecteur de déplacement d) précédemment définie. [0046] Cette méthode produit toujours une solution et celle-ci est unique. Le processus est donc robuste. [0047] De plus, l'anisotropie définie à partir de d rend l'approche indépendante du maillage. C'est-à-dire que la disposition et le nombre de triangles autour d'un sommet n'influence pas l'anisotropie ainsi créée. [0048] Cette modification de la valeur des poids fait que, globalement, le maillage sc rigidifie dans les plans perpendiculaires au vecteur de déplacement. Cette rigidité fait que le caractère de la forme initiale est mieux conservé. Grâce à ces nouveaux poids, la déformation obtenue est améliorée par rapport aux solutions de l'état de l'art et permet son application pour de la modification de la forme d'un véhicule automobile. L'anisotropie ainsi définie à partir du vecteur de déplacement d permet de réduire le nombre de paramètres fournis par l'utilisateur, en adéquation avec les besoins d'interaction d'une revue de projet. ANNEXE Références bibliographiques [0049] (CSDKH92) Carolina Cruz-Neira, Daniel J. Sandin, Thomas A. DeFanti, Robert V. Kenyon, and John C. Hart. 1992. The CAVE: audio visual cxperiencc automatie virtual cnvironment. Commun. ACM 35, 6 (Julie 1992), 64-72. DOI=http://dx.doi.org/10.1145/129888.129892. [0050] (SA07) O. Sorkine, M. Alexa, As-rigid-as-possiblc surface modeling, in:Proceedings of the Fifth Eurographics Symposium on Geomctry Processing, SGP '07, Eurographics Association, Aire-la-Ville, Switzerland, Switzerland, 2007, pp. 109-116. [0051] (CPSSIO) I. Chao, U. Pinkall, P. Sanan, P. Schrôdcr, A simple geomctric model for clastic deformations, ACM Trans. Graph. 29 (4) (2010) 38:1-38:6. doi:10.1145/1778765.1778775. [0052] (BK04) M. Botsch, L. Kobbelt, An intuitive framework for real-time freeform modeling, ACM Trans. Graph. 23 (3) (2004) 630-634. 370 doi:10.1145/1015706.1015772. 9 [Revendication 1] [Revendication 2] [Revendication 3]