Brevet FR2844900A1 — publié le 20040326

L'invention concerne un procédé de traitement d'une surface tridimensionnelle d'un objet virtuel à partir d'une interaction d'un élément mobile matériel avec ledit objet, ainsi qu'un programme d'ordinateur et un support de stockage de celui-ci pour la mise en oeuvre de ce procédé. On connaît de tels procédés mis en oeuvre à l'aide de moyens informatiques, par lesquels on peut peindre la surface tridimensionnelle d'un objet virtuel à partir d'une projection déterminée de cette surface tridimensionnelle sur un plan, par exemple par une projection plane sphérique ou cylindrique. On applique ensuite dans le plan de projection une texture, qui est 10 ensuite rétro-projetée sur la surface tridimensionnelle. Ce procédé connu présente de nombreux inconvénients. En effet, il n'est pas possible de traiter tous types de surface et par exemple pas les surfaces à surplomb ou plus généralement présentant des changements de convexité/convavité. Il s'ensuit des déformations ou même la 15 répétition de la texture sur l'objet virtuel, contrairement à l'effet recherché. L'invention vise à obtenir un procédé et un dispositif permettant d'améliorer le traitement de la surface tridimensionnelle de l'objet virtuel. A cet effet, un premier objet de l'invention est un procédé de traitement d'une surface tridimensionnelle d'un objet virtuel à partir d'une 20 interaction d'un élément mobile matériel avec ledit objet, dans lequel: on construit une modélisation par maillage tridimensionnel en facettes polygonales planes de la surface de l'objet virtuel, dans un repère tridimensionnel, dans lequel l'élément matériel est apte à être déplacé et est repéré par un point de traitement, - on associe, à chaque facette polygonale plane du maillage tridimensionnel, une zone distincte définie d'au moins une image de stockage, dont chaque pixel de zone à des coordonnées bidimensionnelles dans le plan de l'image de stockage et bijectives avec les coordonnées bidimensionnelles, prises dans le plan de la facette associée et rapportées aux sommets de la facette 30 associée, d'un point situé dans ladite facette associée du maillage tridimensionnel, - on mémorise l'association entre les sommets des facettes du maillage tridimensionnel et les zones de l'image de stockage, - on enregistre une information de traitement local à effectuer, - on déplace l'élément mobile et le maillage tridimensionnel l'un vers l'autre dans le repère tridimensionnel, - lorsque l'on détecte que le point de traitement est situé dans une facette du maillage dans le repère tridimensionnel, e on émet un signal perceptible par l'être humain, * on calcule des premières coordonnées bidimensionnelles prises dans le plan de la facetté détectée et rapportées à ses sommets, du point de traitement, * on effectue un traitement du pixel situé dans la zone associée 10 à la facette détectée et défini par les coordonnées bidimensionnelles dans le plan de l'image de stockage, bijectives avec les premières coordonnées bidimensionnelles, conformément à l'information de traitement local, * on mémorise dans ladite zone associée de l'image de 15 stockage le pixel traité, - on restitue une image de l'objet virtuel, construite à partir du maillage tridimensionnel et des pixels mémorisés dans les zones associées. Grâce à l'invention, l'utilisateur n'a plus besoin de connaître la correspondance entre le maillage tridimensionnel de l'objet virtuel et une image de 20 texture sur laquelle il travaille. L'invention permet ainsi d'accéder directement au point de la surface tridimensionnelle formée par le maillage tridimensionnel, que l'utilisateur a précisément choisi de traiter, grâce au captage de position de l'élément matériel sur cette surface. Les anamorphoses induites par les projections planes sphériques ou cylindriques sont supprimées, ce qui rend le traitement de 25 l'objet virtuel plus naturel et plus simple à effectuer. Suivant d'autres caractéristiques de l'invention - les coordonnées bidimensionnelles prises dans le plan de la facette et bijectives avec les coordonnées bidimensionnelles de pixel dans le plan de l'image de stockage sont barycentriques; - le signal perceptible par l'être humain comprend un retour d'efforts appliqué par un dispositif à retour d'efforts sur l'élément matériel; - le retour d'efforts est appliqué dans une direction normale à la facette détectée, ayant une composante en sens opposé à la projection sur ladite direction normale, du déplacement de l'élément mobile ayant permis de faire parvenir le point de traitement dans la facette détectée; - l'information de traitement comprend une information de couleur, et le traitement du pixel correspond au moins à sa coloration selon ladite couleur; - l'information de traitement comprend, en plus de l'information de couleur, une information de nombre de pixels traités autour du pixel correspondant au point de traitement; - l'information de nombre de pixels traités est enregistrée à l'aide du dispositif à retour d'efforts, en réponse à la force exercée par l'élément matériel 10 sur celui-ci; - l'information de traitement comprend en outre une information d'opacité de coloration; - l'information de traitement est enregistrée à l'aide d'une palette graphique pilotée en réponse au déplacement de l'élément matériel; - les facettes et les zones associées de l'image de stockage sont triangulaires à sommets associés; - les zones de stockage comprennent des zones de stockage, qui sont chacune comprises à l'intérieur d'un rectangle, associé selon les deux axes de coordonnées de pixels de l'image de stockage, à des coordonnées uniques; 20 - les zones de stockage comprennent des zones de stockage, qui sont comprises à l'intérieur d'un rectangle divisé par une diagonale en deux zones de stockage associées à des facettes adjacentes dans le maillage tridimensionnel - l'image de stockage comprend plusieurs régions de stockage pour 25 respectivement des zones de stockage associées à des facettes d'aire voisine dans chaque région de stockage. Un deuxième objet de l'invention est un programme d'ordinateur comprenant des moyens de code-programme pour mettre en oeuvre les étapes du procédé de traitement, lorsque ledit programme fonctionne sur un ordinateur. 30 Un deuxième objet de l'invention est un support capable d'être lu par un dispositif de lecture de moyens de code-programme qui s'y trouvent stockés et qui sont aptes à la mise en oeuvre des étapes du procédé de traitement, lorsque ledit programme fonctionne sur un ordinateur. L'invention sera mieux comprise à la lumière de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif en référence aux dessins annexés, sur lesquels: - la figure 1 est un exemple d'un objet virtuel à maillage tridimensionnel; - la figure 2 représente schématiquement une image de stockage utilisée selon l'invention; - la figure 3 représente schématiquement un dispositif matériel utilisé pour mettre en oeuvre le procédé de traitement selon l'invention. Le dispositif de traitement suivant l'invention est mis en oeuvre par 10 exemple à l'aide de moyens informatiques et comporte par exemple un ordinateur ou calculateur, tel qu'un ordinateur personnel 1 ainsi que représenté, muni d'un écran 2 de visualisation, d'une unité centrale 3 et d'un clavier 4. L'unité centrale 3 est reliée à un dispositif à retour d'efforts 5, formant un périphérique de l'ordinateur 1, situé à proximité de celui-ci. Un tel dispositif à retour d'efforts est connu par exemple par le document FR-A-2 816 722 décrivant un ensemble de commandes de deux éléments à retour d'efforts situés à distance l'un de l'autre, pouvant être un ensemble de jeux appelés "bras de fer" ou un système de télééchographie. Le dispositif 5 à retour d'efforts est d'un type similaire et comporte un élément matériel 6 préhensible, par exemple du 20 type poignée ou crayon ainsi que représenté. L'élément préhensible 6 est relié mécaniquement à un moyen 7 pour exercer une force sur l'élément 6. Ce moyen 7 d'exercice de force est par exemple un actionneur du genre vérin électrique, pouvant avoir la forme d'un bras polyarticulé selon quatre axes de rotation, de manière à ce que le point 8 de liaison entre l'élément matériel 6 et le moyen 7 25 d'exercice de force puisse être déplacé en trois dimensions dans l'espace réel, ainsi que représenté en traits fins pour différentes position successives du point 8 de liaison et de l'élément 6 à la figure 3, simulant le déplacement réel d'un pinceau. En outre, le dispositif 5 à retour d'efforts comporte un moyen pour capter la position du point 8 de liaison entre l'élément matériel 6 et le moyen 7 d'exercice 30 de force. La position captée est fournie à un modèle local, qui transmet en retour des données de force à exercer au moyen 7 sur l'élément 6. Suivant l'invention, on a construit un maillage tridimensionnel de la surface d'un objet virtuel. L'objet virtuel ainsi modélisé peut être quelconque en trois dimensions et peut comporter notamment des formes gauches ou en surplomb ou à changement de concavité. L'objet virtuel modélisé peut notamment ne pas être un objet synthétisé géométriquement mais représenter un objet réel à surface compliquée, tel qu'un visage par exemple. Le maillage tridimensionnel est composé de facettes F polygonales 5 planes reliées entre elles pour former une surface tridimensionnelle. Le repère tridimensionnel XYZ dans lequel se trouve le maillage en facettes est également celui dans lequel l'élément matériel 6 est déplacé par l'utilisateur. L'élément matériel 6 est repéré par un point T de traitement dans le repère tridimensionnel XYZ du maillage en facettes. Le maillage en facettes F et le point T de traitement sont 10 affichés sur l'écran 2 simultanément, le point T de traitement pouvant être matérialisé sur l'écran 2 par la pointe d'un triangle ou d'un cône ou autre. Le point T de traitement correspond par exemple à un point de l'élément matériel 6, par exemple au point 8 de liaison de l'élément matériel 6 avec le moyen 7 d'exercice de force. Les facettes polygonales du maillage tridimensionnel sont par exemple toutes triangulaires. Bien entendu, il pourrait être imaginé des facettes à plus de trois sommets, par exemple quadrangulaires. Le déplacement de l'élément mobile 6 provoque le déplacement du point T de traitement dans le repère tridimensionnel XYZ par rapport au maillage 20 tridimensionnel en facettes. Lorsque l'on déplace le point T de traitement vers le maillage tridimensionnel sur l'écran 2, on surveille si le point T de traitement se trouve dans l'une des facettes F planes du maillage tridimensionnel. Lorsque l'on détecte que le point T de traitement est situé dans une facette F du maillage tridimensionnel, par 25 exemple dans la facette Fl, un signal perceptible par l'utilisateur est émis. Ce signal peut être, dans l'exemple représenté aux figures, un retour d'efforts appliqué sur l'élément matériel 6 par le moyen 7. Ce retour d'efforts est par exemple normal à la facette F1 ainsi détectée, avec une composante de force dirigée en sens opposé au déplacement de l'élément 6 ayant permis d'arriver dans la facette FI. Toutefois, tout 30 autre dispositif pourra également être prévu tel qu'un retour sonore ou autre au lieu d'un retour d'efforts dans le dispositif 5, le moyen 7 étant simplement remplacé par un bras de support de l'élément 6. A la suite de la détection précitée, on calcule des coordonnées bidimensionnelles du point T de traitement dans la facette F1 détectée, alors appelé Tl, ces coordonnées bidimensionnelles étant prises dans le plan de cette facette Fl et étant par exemple barycentriques par rapport aux sommets de celle-ci, pour fournir trois poids a, f, y. Bien entendu, tout autre type de coordonnées pourrait être prévu. A chaque facette F du maillage tridimensionnel est associée une zone d'une image S de stockage, les zones étant distinctes d'une facette F à l'autre. L'association des facettes F aux zones Z est mémorisée dans l'ordinateur 1, sans que l'image S ait besoin d'être visualisée. Pour ce faire, l'ordre des sommets est par exemple mémorisé. Les zones Z associées aux facettes F dans l'image S de stockage sont polygonales avec le même nombre de sommets que leurs facettes associées, sans devoir toutefois avoir les mêmes angles que leurs facettes F associées. Il est ainsi par exemple associé aux facettes Fl, F2, F3, F4, F5 des zones ZI, Z2, Z3, Z4, Z5 comprises dans l'image S. Par exemple, les zones Z de 15 stockage sont chacune comprises à l'intérieur d'un rectangle à côtés parallèles aux deux axes de coordonnées de pixel de l'image de stockage. Par exemple, un seul rectangle est prévu pour chaque zone de stockage comme par exemple pour les zones Zl, Z2 et Z5, qui occupent par exemple un demi-rectangle le long d'une diagonale. Il peut également exister un, plusieurs ou tous les rectangles divisés 20 chacun par une diagonale en deux zones de stockage, qui sont associés à des facettes adjacentes, c'est-à-dire ayant un côté commun, dans le maillage tridimensionnel, ces rectangles étant parallèles aux deux axes de coordonnées de pixel de l'image S de stockage, ainsi que représenté pour les zones Z3 et Z4. Il peut également être prévu dans l'image S de stockage des zones 25 ayant toutes des côtés de même longueur, comme pour les deux premières rangées du haut et des zones Z' d'aire supérieure associées à d'autres facettes du maillage ayant une aire supérieure à celle associée aux zones des deux rangées supérieures, comme les zones Z'. Le cas échéant, plusieurs images S de stockage sont prévues pour 30 associer les facettes du maillage tridimensionnel à des zones Z. L'association entre facettes F et zones Z est bijective. Chaque pixel P d'une zone Z a des coordonnées bidimensionnelles dans le plan de l'image S de stockage, bijectives avec les coordonnées bidimensionnelles, prises dans le plan de la facette F associée, d'un point situé dans ladite facette du maillage tridimensionnel. Au point Tl de traitement détecté dans la facette FI du maillage tridimensionnel est associé le pixel PI dans la zone Zl de stockage associée de l'image S. Ainsi, dans l'exemple précédent des coordonnées barycentriques du 5 point T de traitement dans la facette détectée, on enregistre les poids a, f, y du point Tl de traitement situé dans la facette FI détectée et on enregistre une information de traitement local à effectuer sur le maillage tridimensionnel. On effectue ensuite un traitement du pixel Pl défini par les coordonnées bidimensionnelles dans le plan de l'image S de stockage, bijectives avec les 10 coordonnées bidimensionnelles calculées pour le point Tl de traitement dans le plan de la facette F1 détectée et ce, dans la zone ZI associée à la facette FI détectée. Ce traitement est effectué conformément à l'information de traitement local enregistrée. On conserve ainsi un homéomorphisme local chaque facette et sa zone associée. On mémorise ensuite dans la zone Zl associée de l'image S de stockage le pixel traité Pi. Ensuite, on construit une image du maillage tridimensionnel et des pixels mémorisés dans les zones Z associées, qui est restituée sur l'écran 2, à l'aide par exemple d'une carte graphique appropriée de l'ordinateur 1. Ainsi, par exemple le tracé d'un trait sur trois facettes F6, F7, F8 positionnées les unes à la suite des autres, ainsi que représenté à la figure 1, est stocké dans l'image S de stockage dans trois zones Z6, Z7, Z8 différentes non contiguÙs, sans que le trait P6, P7, P8 ainsi tracé et mémorisé sur les pixels correspondant à ces trois zones ait à être continu, bien qu'il le soit dans le maillage 25 tridimensionnel. Les pixels traités dans les différentes zones Z de l'image S de stockage sont reportés sur les facettes F du maillage tridimensionnel par la bijection réciproque des coordonnées de chacun des pixels des zones Z avec des points localisés dans la facette associée du maillage. Ainsi, l'utilisateur n'est plus obligé de traiter le maillage tridimensionnel 30 directement à partir de l'image S, ce qui est très difficile et donne un mauvais rendu, sujet à des déformations et des discontinuités, dans le maillage tridimensionnel. Les traitement effectués sont par exemple l'application locale d'une couleur, éventuellement avec une épaisseur touchant un certain nombre de pixels autour d'un pixel de centre associé dans la zone Z au point T de traitement. Un traitement d'opacité et de coloration peut également être effectué. L'information concernant ce traitement est par exemple enregistrée à l'aide d'une palette graphique affichée sur l'écran 2 et pilotée en réponse au déplacement de l'élément matériel 6. En outre, l'information de nombre de pixels traitée autour d'un pixel de 5 centre associé au point T de traitement peut être enregistrée à l'aide du dispositif 5 à retour d'efforts, en réponse à la mesure de la force exercée par l'élément matériel 6 sur le point 8 de liaison. Bien entendu, le traitement effectué pourrait également être un traitement de luminosité et d'ombre ou tout autre traitement d'aspect. L'invention permet ainsi d'appliquer directement de la peinture à un objet 10 virtuel avec le même geste artistique que si l'utilisateur peignait une toile réelle bidimensionnelle. Le dispositif à retour d'efforts permet en outre à l'utilisateur d'appréhender la forme tridimensionnelle de l'objet virtuel, par l'intermédiaire du maillage. Le cas échéant, pour accéder à des facettes du maillage qui ne sont pas dans le plan de l'écran 2 et qui sont par exemple sur les côtés de l'objet virtuel ou à 15 l'arrière de celui-ci, il peut être prévu de faire se déplacer ce maillage à l'écran, par exemple de le faire tourner sur lui- même par toute commande appropriée de l'ordinateur ou du dispositif à retour d'efforts. REVENDICATIONS 1. Procédé de traitement d'une surface tridimensionnelle d'un objet virtuel à partir d'une interaction d'un élément mobile matériel (6) avec ledit objet, dans lequel: - on construit une modélisation par maillage tridimensionnel en facettes (F) polygonales planes de la surface de l'objet virtuel, dans un repère tridimensionnel, dans lequel l'élément matériel (6) est apte à être déplacé et est repéré par un point (T) de traitement, - on associe, à chaque facette (F) polygonale plane du maillage 10 tridimensionnel, une zone distincte (Z) définie d'au moins une image (S) de stockage, dont chaque pixel (P) de zone à des coordonnées bidimensionnelles dans le plan de l'image (S) de stockage et bijectives avec les coordonnées bidimensionnelles, prises dans le plan de la facette (F) associée et rapportées aux sommets de la facette associée (F), d'un point situé dans ladite facette (F) 15 associée du maillage tridimensionnel, - on mémorise l'association entre les sommets des facettes (F) du maillage tridimensionnel et les zones (Z) de l'image (S) de stockage, - on enregistre une information de traitement local à effectuer, - on déplace l'élément mobile (6) et le maillage tridimensionnel l'un 20 vers l'autre dans le repère tridimensionnel, lorsque l'on détecte que le point (T) de traitement est situé dans une facette (Fl) du maillage dans le repère tridimensionnel, * on émet un signal perceptible par l'être humain, * on calcule des premières coordonnées bidimensionnelles 25 prises dans le plan de la facette (Fl) détectée et rapportées à ses sommets, du point (T) de traitement, * on effectue un traitement du pixel (PI) situé dans la zone (Zl) associée à la facette (FI) détectée et défini par les coordonnées bidimensionnelles dans le plan de l'image (S) de 30 stockage, bijectives avec les premières coordonnées bidimensionnelles, conformément à l'information de traitement local, on mémorise dans ladite zone (Zl) associée de l'image (S) de stockage le pixel (PI) traité, - on restitue une image de l'objet virtuel, construite à partir du maillage tridimensionnel et des pixels (P) mémorisés dans les zones (Z) associées. 2. Procédé de traitement suivant la revendication 1, caractérisé en ce 5 que les coordonnées bidimensionnelles prises dans le plan de la facette (F) et bijectives avec les coordonnées bidimensionnelles de pixel dans le plan de l'image (S) de stockage sont barycentriques. 3. Procédé de traitement suivant l'une quelconque des revendications précédentes, caractérisé en ce que le signal perceptible par l'être humain 10 comprend un retour d'efforts appliqué par un dispositif (5) à retour d'efforts sur l'élément matériel (6). 4. Procédé de traitement suivant la revendication 3, caractérisé en ce que le retour d'efforts est appliqué dans une direction normale à la facette détectée (FI), ayant une composante en sens opposé à la projection sur ladite 15 direction normale, du déplacement de l'élément mobile (6) ayant permis de faire parvenir le point (T) de traitement dans la facette détectée (Fl). 5. Procédé de traitement suivant l'une quelconque des revendications précédentes, caractérisé en ce que l'information de traitement comprend une information de couleur, et le traitement du pixel (P) correspond au moins à sa 20 coloration selon ladite couleur. 6. Procédé de traitement suivant la revendication 5, caractérisé en ce que l'information de traitement comprend, en plus de l'information de couleur, une information de nombre de pixels traités autour du pixel (P) correspondant au point (T) de traitement. 7. Procédé de traitement suivant la revendication 6 et la revendication 3 ou 4, caractérisé en ce que l'information de nombre de pixels traités est enregistrée à l'aide du dispositif à retour d'efforts (5), en réponse à la force exercée par l'élément matériel (6) sur celui-ci. 8. Procédé de traitement suivant l'une quelconque des revendications 30 5 à 7, caractérisé en ce que l'information de traitement comprend en outre une information d'opacité de coloration. 9. Procédé de traitement suivant l'une quelconque des revendications précédentes, caractérisé en ce que l'information de traitement est enregistrée à l'aide d'une palette graphique pilotée en réponse au déplacement de l'élément matériel (6). 10. Procédé de traitement suivant l'une quelconque des revendications précédentes, caractérisé en ce que les facettes (F) et les zones (Z) associées de l'image (S) de stockage sont triangulaires à sommets associés. 11. Procédé de traitement suivant l'une quelconque des revendications précédentes, caractérisé en ce que les zones (Z) de stockage comprennent des zones (Z) de stockage, qui sont chacune comprises à l'intérieur d'un rectangle, associé selon les deux axes de coordonnées de pixels de l'image 10 (S) de stockage, à des coordonnées uniques. 12. Procédé de traitement suivant l'une quelconque des revendications précédentes, caractérisé en ce que les zones (Z) de stockage comprennent des zones (Z) de stockage, qui sont comprises à l'intérieur d'un rectangle divisé par une diagonale en deux zones (Z3, Z4) de stockage 15 associées à des facettes (F3, F4) adjacentes dans le maillage tridimensionnel. 13. Procédé de traitement suivant l'une quelconque des revendications précédentes, caractérisé en ce que l'image (S) de stockage comprend plusieurs régions de stockage pour respectivement des zones (Z') de stockage associées à des facettes d'aire voisine dans chaque région de 20 stockage. 14. Programme d'ordinateur comprenant des moyens de codeprogramme pour mettre en oeuvre les étapes du procédé de traitement selon l'une quelconque des revendications précédentes, lorsque ledit programme fonctionne sur un ordinateur. 15. Support capable d'être lu par un dispositif de lecture de moyens de code-programme qui s'y trouvent stockés et qui sont aptes à la mise en oeuvre des étapes du procédé de traitement selon l'une quelconque des revendications 1 à 13, lorsque ledit programme fonctionne sur un ordinateur.