BE1004117A5 - Procede et dispositif de memorisation et d'animation de donnees. - Google Patents

Procede et dispositif de memorisation et d'animation de donnees. Download PDF

Info

Publication number
BE1004117A5
BE1004117A5 BE9000441A BE9000441A BE1004117A5 BE 1004117 A5 BE1004117 A5 BE 1004117A5 BE 9000441 A BE9000441 A BE 9000441A BE 9000441 A BE9000441 A BE 9000441A BE 1004117 A5 BE1004117 A5 BE 1004117A5
Authority
BE
Belgium
Prior art keywords
coordinates
generator
curve
curves
views
Prior art date
Application number
BE9000441A
Other languages
English (en)
Inventor
Philippe Coenen
Original Assignee
Neurones
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Neurones filed Critical Neurones
Priority to BE9000441A priority Critical patent/BE1004117A5/fr
Priority to EP91200916A priority patent/EP0453044A1/fr
Priority to JP3228213A priority patent/JPH05135153A/ja
Application granted granted Critical
Publication of BE1004117A5 publication Critical patent/BE1004117A5/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

La présente invention se rapporte à un procédé de mémorisation de données, en particulier de données relatives à un dessin animé, d'un objet dont on trace les contours d'une première , deuxième vues dont on mémorise un identificateur identifiant lesdites vues, où on identifie lesdites vues à l'aide de courbes d'identification reprenant lesdits contours et où on subdivise lesdites courbes d'identification en section de courbe dont on stocke les coordonnées tridimentionnelles des extrémités en tant qu'identificateur. Les données stockées sont alors manipulées à des fins d'animation. L'invention s'applique également à un dispositif de mise en oeuvre du procédé.

Description


   <Desc/Clms Page number 1> 
 



   "Procédé et dispositif de mémorisation et d'animation de données"
La présente invention concerne un procédé de mémorisation de données, en particulier de données relatives à un dessin animé, d'au moins un objet dont on trace au moins le contour d'une première et d'une deuxième vue différente de la première et où on mémorise un jeu d'identificateurs identifiant l'objet. 



   Un tel procédé est connu du document SERBI de J. F. Rotge paru dans"Mécanique Matériaux   Electricité"n  403   de janvier-février 1984, p. 21-25. La saisie de deux vues d'un même objet permet de restituer les coordonnées du volume dans l'espace. 



   Les données mémorisées permettent alors, lors de l'animation de l'objet, de représenter celui-ci tout en ayant un volume. Pour obtenir une séquence d'images en vue de créer, par exemple un mouvement d'objet, en particulier un dessin animé ou une séquence d'un film, il faut au préalable modéliser l'objet que l'on désire soumettre au mouvement. 



   Un problème de la méthode connue est qu'elle ne présente pas de solution adéquate pour un stockage efficace permettant de limiter la capacité de la mémoire dans laquelle sera stocké le jeu d'identificateurs. De plus, le type de stockage impose l'utilisation de puissants ordinateurs capables de traiter une telle quantité de données. Ce type d'ordinateurs, bien que très utile dans le domaine de la CAO-FAO, n'est pas approprié dans le domaine des dessins animés. 



   L'invention a pour but de réaliser un procédé de mémorisation permettant un stockage de données plus sélectif et donc d'utiliser moins de capacité de mémoire, ce qui, à son tour, devrait permettre d'utiliser des ordinateurs moins puissants, plus appropriés au domaine du dessin animé. 



   A cette fin, un procédé suivant l'invention est caracté- 

 <Desc/Clms Page number 2> 

 risé en ce que :   - on   identifie lesdites vues à l'aide de courbes d'identification reprenant au moins lesdits contours ;   - on   divise lesdites courbes d'identification en sections de courbes pour diviser la surface dudit objet en surfaces partielles délimitées chacune par au moins trois sections de courbes d'identification   ;     - on   détermine pour chaque section de courbe les coordonnées des extrémités de cette section dans la première et la deuxième vue et on y assigne un même code ;

     - on   détermine les coordonnées tridimensionnelles des extrémités de chaque section de courbe sur base des coordonnées des extrémités dans la première et la deuxième vues auxquelles un même code a été attribué ;   - on   forme les éléments dudit jeu d'identificateurs en prenant par élément à former chaque fois ledit code et les coordonnées tridimensionnelles auxquelles il est attribué. En choississant soigneusement les coordonnées tridimensionnelles des extrémités de chaque section, on parvient à sensiblement réduire la quantité de données à stocker tout en ne perdant pas d'informations essentielles quant à la géométrie de l'objet à mémoriser. En effet, la division en sections de courbes permet de repérer les points essentiels pour déterminer la géométrie de l'objet.

   En introduisant dans les éléments du jeu d'identificateurs les coordonnées tridimensionnelles des extrémités des sections de courbes, on y introduit par conséquent des éléments essentiels de la géométrie de l'objet. En déterminant des sections de courbes, le concepteur peut déterminer lui-même le nombre de points à stocker en fonction du degré de complexité de l'objet. De plus, l'utilisation du code permet de retrouver facilement le lien qui unit les différents éléments du jeu d'identificateurs et donc, lors de la lecture des données mémorisées, d'avoir facilement accès aux différentes éléments ayant un même code. L'utilisation du code permet également, grâce au lien qu'il représente entre les coordonnées, d'engendrer des fonctions à partir de ces éléments ayant un code commun. 



   Une première forme de réalisation préférentielle d'un procédé de mémorisation suivant l'invention est caractérisé en 

 <Desc/Clms Page number 3> 

 ce que lesdites première et deuxièmes vues sont obtenues par projection des courbes d'identification sur un premier, respectivement un deuxième plan de coordonnées contenant chacun un ensemble différent de deux axes sécants de l'espace tridimensionnel. Ceci facilite la formation des deux vues et simplifie la détermination des coordonnées tridimensionnelles. 



   De préférence, on détermine lesdites coordonnées tridimensionnelles en éliminant une des coordonnées communes à la première et à la deuxième vues parmi les coordonnées dans la première et la deuxième vues auxquelles un même code a été attribué. 



   Une simplification du procédé a ainsi été obtenue. 



   Une deuxième forme de réalisation préférentielle d'un procédé de mémorisation suivant l'invention est caractérisé en ce qu'on subdivise chaque section de courbe en segments dont on détermine les coordonnées tridimensionnelles des extrémités qui sont alors reprises dans ledit élément comprenant le code de la section de courbe subdivisée. La division en segments des sections de courbes permet un stockage plus systématique. 



   Suivant une autre forme de réalisation de l'invention, on subdivise les courbes d'identification de la première et deuxième vues en un nombre égal de segments. Ceci simplifie le stockage. 



   Les données mémorisées suivant le procédé de l'invention se prêtent très bien à être utilisées dans un procédé d'animation qui est caractérisé en ce qu'au moins une surface partielle dudit objet est générée par interpolation linéaire entre les coordonnées desdites extrémités. 



   Une première forme préférée d'un procédé d'animation suivant l'invention est caractérisé en ce qu'on transpose les coordonnées des extrémités des sections délimitant ladite surface partielle dans un espace topologique, et qu'on effectue ensuite dans l'espace topologique un maillage de ladite surface partielle avec formation de polygones présentant au moins trois sommets, chaque extrémité de segment faisant partie d'au moins une ligne dudit maillage et qu'on détermine ensuite les coordonnées des noeuds de maillage, celles-ci étant ensuite retransposées par transposition inverse dans l'espace tridimensionnel. 

 <Desc/Clms Page number 4> 

 



  En opérant dans un espace topologique, on normalise chaque surface partielle que l'on ramène à un polygone plan. Les coordonnées des noeuds de maillage peuvent ainsi facilement être déterminés. 



   Une deuxième forme préférée d'un procédé d'animation suivant l'invention est caractérisé en ce qu'on forme des polygones comprenant quatre sommets et qu'on sélectionne pour chaque dite surface partielle parmi les quatre sections de courbe adjointes délimitant celle-ci, une première, respectivement une deuxième génératrice et une première, respectivement une deuxième directrice mutuellement opposées deux par deux, on effectue le maillage en reliant chaque dite extrémité située sur la première génératrice, respectivement première directrice à au moins une dite extrémité située sur la deuxième génératrice, respectivement deuxième directrice, la génération desdites surfaces partielles étant obtenue en laissant se transformer la première génératrice en la deuxième génératrice pas-à-pas, avec application, pendant cette transformation,

   d'interpolation linéaire à chaque pas, entre la première génératrice dans sa position initiale et la position actuelle de ladite première génératrice. Ceci revient à balayer chacune des surfaces partielles, une par une, par une section de courbe adjointe à cette surface partielle, notamment la première génératrice. Le concepteur peut même régler le pas d'interpolation et donc le degré de finesse de maillage suivant les nécessités imposées notamment par le degré de complexité de la surface de l'objet. 



   Avantageusement, lors-du maillage, on adopte un critère d'optimisation de maillage consistant à détecter, au sein d'un polygone, un changement prédéterminé de planéité à la surface de l'objet. Le nombre de polygones et donc de lignes de maillage, peut ainsi être réduit en réunissant les polygones dont la planéité respective subit un changement inférieur à une valeur choisie. 



   Suivant une troisième forme de réalisation préférée de l'invention, on détermine les valeurs dudit paramètre de surface de   l'objet,   à un sommet de polygone situé à l'intérieur de ladite surface partielle, par interpolation linéaire des valeurs du paramètre de surface de l'objet aux sections de courbes adjacentes entourant ledit sommet. Ainsi, l'état de chaque point situé à la surface de l'objet peut être 

 <Desc/Clms Page number 5> 

 déterminé en fonction de la valeur dudit paramètre à chacune des sections de courbe entourant ledit point. 



   Avantageusement, on stocke des fonctions d'animation, ce qui permet la création d'un dessin animé. 



   L'invention se rapporte également à un dispositif pour la mise en oeuvre du procédé. 



   D'autres détails et avantages de l'invention ressortiront de la description plus détaillée donnée ci-après à titre d'exemple de quelques formes de réalisation du procédé et du dispositif suivant l'invention, qui sont illustrées par des dessins annexés. Les chiffres de références se rapportent aux dessins. 



   La figure 1 représente un schéma-bloc du dispositif suivant l'invention. 



   La figure 2 représente un schéma-bloc du procédé suivant l'invention. 



   La figure 3, respectivement 4, représente une première, respectivement une deuxième vue d'un objet. 

 <Desc/Clms Page number 6> 

 



   La figure 5 représente l'objet identifié par ses courbes d'identification respectives, suivant l'invention. 



   La figure 6 représente l'objet de la figure 5 après maillage. 



   La figure 7 représente une surface d'objet divisée en surfaces partielles suivant l'invention. 



   La figure 8 représente une surface partielle de la surface suivant la figure 7 avec division des sections de courbes en segments suivant l'invention. 



   La figure 9 représente la surface partielle de la figure 8 transposée dans l'espace topologique. 



   La figure 10 représente un maillage suivant l'invention de la surface partielle suivant la figure 9. 



   La figure Il représente la surface partielle suivant la figure 10 retransposée dans l'espace tridimensionnel. 



   La figure 12 illustre l'adjonction suivant l'invention de génératrices, respectivement directrices à une surface partielle avec attribution de référentiels locaux. 



   La figure 13 illustre la formation d'une génératrice intermédiaire. 



   Sur les différentes figures, les mêmes chiffres de référence se rapportent à des éléments identiques ou analogues. 



   La figure 1 illustre un dispositif de traitement de données suivant l'invention. Le dispositif comprend un bus de communication 100 agencé pour transporter des informations (données, adresses et instructions) auquel est reliée une unité de traitement de données 101, par exemple un microprocesseur. Une première (ROM) 102 et une deuxième mémoire (RAM) 103 sont également reliées au bus 100. La première mémoire sert par exemple au stockage d'instructions alors que la deuxième sert au stockage de données. Une interface d'entrée et de sortie 104 est également reliée au bus 100. 



  Cette interface organise le trafic de données et d'instructions entre le bus et une mémoire externe 106, par exemple un lecteur de disque souple, relié par une ligne 105 à ladite interface. La ligne 105 est également reliée à une unité d'affichage 107, un clavier 108 et une tablette d'entrée 109 pourvue d'une souris 110. 



   En matière de dessins animés on peut bien souvent 

 <Desc/Clms Page number 7> 

 se contenter d'objets relativement simples présentant des contours dont le degré de précision requis est relativement faible. Ceci constitue la pierre angulaire pour les phases préparatoires du procédé suivant l'invention. 



   On distingue, dans la création de dessins animés par ordinateur, principalement deux étapes. Une première consiste à mémoriser des données qui identifient le ou les objets 1 qui seront utilisés dans le dessin animé alors qu'une deuxième étape consiste à animer les objets mémorisés. La façon dont sera mémorisé l'objet aura nécessairement des conséquences pour l'étape d'animation. 



   La première étape comporte principalement une phase de préparation manuelle (H). La deuxième étape comporte principalement une phase de modélisation   (3),   une phase d'animation en temps réel (K), une phase dite de génération complète de l'objet (L) et le cas échéant une phase d'affichage et d'enregistrement (M) comme indiqué sur la figure 2. 



   Durant la première étape, le concepteur réalise une première et une deuxième vue différentes l'une de l'autre de l'objet, de préférence orthogonales l'une par rapport à l'autre, par exemple de face et de profil, comme montré sur les figures 3 et 4. Durant cette première phase de la première étape, le concepteur trace par exemple à la main, les traits principaux de l'objet, dont chaque fois le contour 8, qui ensemble portent de préférence toute l'information artistique et géométrique déterminant l'objet. Lesdits traits principaux forment ainsi des courbes d'identification de l'objet. 



  Lesdites vues sont obtenues par projection desdites courbes d'identification sur des plans différents, le cas échéant mutuellement perpendiculaires, par exemple les plans de coordonnées XY et XZ dans le référentiel orthogonal XYZ. 



   Dans la deuxième phase de la première étape, chacune desdites vues est mémorisée. Pour cela, le concepteur subdivise, chaque courbe d'identification en sections de courbe 2, qui de préférence sont elles-mêmes ensuite divisées en segments de courbe 3. 



  Ensuite, il détermine les coordonnées des extrémités de chaque segment par exemple en posant le dessin sur la tablette 109 et en utilisant 

 <Desc/Clms Page number 8> 

 la souris 110 et leur attribue un code. Ces coordonnées ainsi que le code sont alors stockés dans une mémoire, par exemple sur un floppy-disc. 



   Cela est illustré sur la figure 7 où la surface représentée est mémorisée en stockant par section de courbe 2, et notamment en stockant chaque fois les   extrémités AA   et BB, CC, DDK2, EE, et F31 de celles-ci. On donne alors au microprocesseur 101 l'instruction de générer les trois surfaces partielles 6 ainsi créées et séparées l'une de l'autre par les sections de courbe respectives BB-F31, F31-DDK2 et F31-EE. 



   Pour déterminer les sections de courbe 2 et les segments de courbe 3, une marge de liberté relativement large est laissée au concepteur. Pour déterminer les sections, le concepteur va choisir les lignes porteuses d'informations, c'est-à-dire qu'il va paramétriser des courbes en segments sensiblement linéaires et stocker alors les coordonnées des extrémités de ces segments. A cette fin, il passe avec la souris le long de la courbe à paramétriser et reprend chaque fois les coordonnées d'un point où il s'arrête pour modifier une direction d'un parcours sensiblement linéaire. Pour former une section de courbe il va par exemple se baser sur une courbe qui forme un ensemble, par exemple la courbe d'un bras où d'une jambe, qu'il va ensuite subdiviser en segments 3. Les segments sont formés aussi bien pour les courbes de la première que de la deuxième vue. 



   Pour déterminer les coordonnées tridimensionnelles, on prend chaque fois les coordonnées obtenues par projection de la courbe dans lesdits plans différents. Ainsi le microprocesseur reçoit les coordonnées x et y, respectivement x et z, pour la projection dans le plan xy, respectivement xz. Le microprocesseur va alors éliminer une des valeurs x à condition que chaque projection ait été divisée en un même nombre de segments, et stocker les valeurs x, y et z, afin de stocker une valeur tridimensionnelle. Au cas où les deux projections ne sont pas divisées en un même nombre de segments, on combine les deux projections et, le cas échéant, on détermine par extrapolation linéaire les coordonnées manquantes. Ceci permet au concepteur de ne pas devoir se soucier du nombre exact de segments. 

 <Desc/Clms Page number 9> 

 



   Le procédé de division en sections et ensuite en segments est répété pour l'ensemble des courbes d'identification de l'objet à mémoriser. On assigne également aux points d'extrémités un code, par exemple une ou plusieurs lettres et/ou chiffres et, le cas échéant, un paramètre de surface de l'objet, à l'ensemble des courbes identifiant au moins une partie de l'objet. Ce paramètre de surface consiste par exemple en la couleur à adjoindre à la section de courbe ou au degré d'inégalité de l'objet le long de ladite courbe (aspect   "Break"ou"Smooth").   



   Après la phase de mémorisation l'objet peut être affiché en temps réel, sous la forme stockée par exemple dans la mémoire RAM 103, à ce stade du procédé, c'est-à-dire sous la forme de squelette comportant pour seules lignes lesdites courbes d'identification comme illustré sur la figure 5. Cet affichage interactif permet au concepteur d'adapter, de modifier ou de corriger son squelette au fur et à mesure. Dans cette forme, l'objet est sauvegardé par exemple sous forme d'un fichier pouvant servir à animer l'objet. 



  A ce stade, l'objet est encore rudimentaire, mais suffisamment réaliste pour être animé. 



   Après le stockage des données, par exemple sur un floppy disc, celles-ci peuvent être utilisées à des fins d'animation. 



  Pour cela, l'objet stocké sous une forme rudimentaire comme illustré sur la figure 5 sera transformé en un objet plus complexe, comme illustré sur la figure 6. 



   Il faut maintenant d'abord déterminer le nombre de points utiles à calculer et leur disposition relative dans la surface partielle à générer afin de limiter les calculs. Pour cela, le concepteur va sélectionner des points sur la surface partielle là où l'information apportée entraîne un changement quantitatif sensible au niveau de la nature de la surface comme par exemple concernant la planéité. 



  La figure 8 illustre une surface partielle 6 avec ses quatre sommets A, B, C, D des quatre sections de courbe délimitant la surface partielle 6, c'est-à-dire à chaque sommet A, B, C, D, de celle-ci et à chaque extrémité 4 des segments 3, on dispose d'informations sur la nature de l'objet comme la géométrie. De plus ces différents points sont 

 <Desc/Clms Page number 10> 

 stockés dans la mémoire et donc disponibles. Pour compléter chacune des surfaces partielles, c'est-à-dire pour obtenir des informations à des points situés à l'intérieur desdites surfaces partielles, on utilisera lesdits points donnés, entre les sommets A et D : AD1, AD2, AD3, AD4 ; entre les sommets A et B :   AB1,   AB2 ; entre les sommets B et C :   BC1,   BC2, BC3 ; entre les sommets C et D : CD1. 



  Le concepteur choisit par exemple B-A et C-D comme première, respectivement deuxième, génératrice et B-C et A-D comme première, respectivement deuxième directrice. 



   Ensuite, on repère lesdits points sur les sections de courbe et on stocke leur position en % de la longueur de la section de courbe correspondante. Ainsi, par exemple, on a pour AB2, en prenant B comme origine, 30 %. On répète cette opération pour chaque extrémité de segment pour chaque section de courbe de la surface partielle. 



   Ensuite, on ramène les positions de tous ces points dans un espace normalisé, appelé topologique, à deux dimensions u, v où la longueur de chacune des sections de courbe adjointes 2 est ramenée à l'unité. Chaque variable normalisée u, v varie de 0 à l'origine choisie, ici B, à l'unité, à l'extrémité opposée des sections de courbe. On obtient ainsi un carré représenté sur la figure 9 avec pour sommets A, B, C, D, notamment les mêmes que les sommets de la surface partielle 6 représentée sur la figure 8. Les points d'extrémité de segments situés entre les sommets conservent dans l'espace normalisé le long de chacune des sections de courbe sur lesquelles ils sont respectivement situés (fig. 9), les mêmes positions respectives que dans l'espace tridimensionnel suivant la figure 8. 



   On sélectionne, comme points situés à l'intérieur d'un polygone normalisé, dans le présent exemple formé d'un quadrilatère, des noeuds de maillage. Ces noeuds de maillage sont obtenus en reliant différents points d'extrémité disposés sur des sections de courbe mutuellement adjacentes. De préférence on relie chaque fois les points d'extrémité situés sur la première génératrice Gl, respectivement première directrice Dl, à au moins un point d'extrémité situé sur la deuxième génératice G2, respectivement deuxième directrice 

 <Desc/Clms Page number 11> 

 D2. Les points d'intersection entre les différentes lignes de maillage ainsi obtenues forment alors les noeuds de maillage 5 comme visible sur la figure 10.

   La retransposition de ce quadrilatère de maillage à partir de l'espace normalisé vers l'espace tridimensionnel d'origine fournit la surface partielle de l'objet tridimensionnel d'origine avec des points supplémentaires situés à l'intérieur des sections de courbe delimitant cette surface partielle. Ces points supplémentaires 5 correspondent aux noeuds de maillage calculés dans l'espace normalisé. 



  On obtient ainsi une surface partielle 6 affinée permettant une meilleure approximation de l'objet tridimensionnel désiré. De préférence, on choisit un maillage consistant en lignes de maillage se coupant aux noeuds de maillage le plus perpendiculairement possible, par exemple sous un angle compris entre 70 et 90  dans l'espace normalisé. 



  Le calcul de la position des noeuds de maillage dans l'espace réel à trois dimensions sera décrit ci-dessous. Après avoir calculé ces points 5 dans l'espace tridimensionnel on reliera ceux-ci avec la même topologie c'est-à-dire la même disposition, que dans l'espace normalisé. 



  (cfr. fig. 10 et 11). L'opération de maillage est réalisée par exemple à l'aide de la tablette d'entrée ou à l'aide d'un logiciel stocké en mémoire. 



   La surface partielle est de préférence formée dans l'espace normalisé par un quadrilatère ABCD tel que représenté sur la fig. 9. Le cas du triangle peut être facilement ramené à celui du quadrilatère en considérant deux des sommets AB comme coïncidents et la section de courbe correspondante comme réduite à un seul point. 



   Dans le cas du triangle, on choisit comme section de courbe réduite à un point la deuxième génératrice ou respectivement deuxième directrice. 



   Le balayage de la surface partielle est effectué en faisant passer la première génératrice depuis sa position initiale G, jusqu'à la deuxième génératrice G2 en passant par des stades intermédiaires chaque fois par un pas d'interpolation. Le passage d'un stade à un autre se fait toujours en faisant coincider chacune des extrémités opposées de la première génératrice en progression avec les directrices opposées correspondantes. La première génératrice 

 <Desc/Clms Page number 12> 

 en progression est donc soumise à une déformation en se détendant ou en se contractant suivant que les première, deuxième directrices divergent ou respectivement convergent l'une par rapport à l'autre dans le sens de progression de la première génératrice.

   La déformation de la première génératrice concerne également le fait que les points à déterminer à chaque pas lors du trajet sont des points de la surface de l'objet. A cette fin, la forme de la première génératrice est obtenue par interpolation, de préférence linéaire, entre les formes de la première génératrice dans sa position initiale   G.   et de la deuxième génératrice G2. A chaque stade du trajet de la première génératrice le long des directrices adjacentes celle-ci doit subir un changement d'échelle proportionnel à l'écartement entre la première et deuxième directrices prenant en compte l'extension ou respectivement la contraction de celle-ci à chaque stade dû à l'écartement, à ce stade, entre les première et deuxième directrices.

   La mise à l'échelle s'effectue en faisant évoluer les trois coordonnées de la génératrice de manière identique. 



  Il est également possible d'effectuer la mise à l'échelle en refaisant suivre les variations d'écart entre les première et deuxième directrices qu'à la seule dimension suivant la direction principale de la génératrice correspondant à la direction dudit écartement entre les première et deuxième directrices. Dans ce cas les autres coordonnées se dilatent linéairement entre les valeurs de la première et deuxième génératrice. 



   Aux première, deuxième génératrices, on fait correspondre un plan moyen et un référentiel local à trois dimensions qui a son origine sur la première directrice comme visible sur la figure
12. La première génératrice est ensuite modifiée dans ce référentiel local pour passer progressivement à la forme de la deuxième génératrice. 



  Cette progression de la première génératrice le long des directrices se fait linéairement, en ce sens qu'on progresse d'un pourcentage égal de sa longueur le long de chaque directrice et en pratiquant de préférence l'interpolation linéaire. A chaque changement d'orientation de l'une des directrices, on calcule les coordonnées d'un référentiel local directrice correspondant X YD ZD. On détermine également l'angle que fait le référentiel local directrice avec chaque référentiel local génératrice correspondant respectivement aux première, deuxième 

 <Desc/Clms Page number 13> 

 
 EMI13.1 
 génératrice, respectivement X Y. Z. et X-Y,, Z. Lorsque le référentiel local génératrice est connu en un point des directrices, il suffit d'y apposer les coordonnées locales de la génératrice locale interpolée pour obtenir une série de points de la surface. 



   Ci-après, un exemple d'une méthode de calcul de points situés à l'intérieur des sections de courbe d'une surface partielle 
 EMI13.2 
 est décrite. On détermine d'abord un référentiel local XG, YG, ZGl' i jri \-ji respectivement X Y,-..-Z-pour la première, respectivement la deuxième-, énératrice G G deuxième génératrice G. G.-. Un référentiel est formé par un trièdre d'axes orthogonaux définis par une origine, que le concepteur choisit et trois directions mutuellement perpendiculaires. Ensuite, on détermine les coordonnées de tous les points désirés de la première, respectivement deuxième génératrice dans leur référentiel local respectif. Par ailleurs, on assume que lesdits deux référentiels locaux se superposent et que les génératrices respectives y ont un point commun.

   La situation respective des deux dits référentiels locaux pour G 1 et G2 dans l'espace tridimensionnel est rendue sur la figure 12. Pour la génératrice   G.,   les trois axes du référentiel local ont pour origine le point A. On adjoint à la droite AB, dans le sens de A vers B, la direction de l'axe   X..   Ensuite, l'axe   Y gui   est déterminé par la bissectrice entre les projections du premier et du dernier vecteur tangent A, respectivement B, de la génératrice   G.   sur ce plan. L'axe ZGI est perpendiculaire au plan formé par les deux axes   XG 1 et Y G 1"   Et la direction de celui-ci est donnée par le fait qu'on assume qu'il s'agit d'un référentiel dextrogyre comme il ressort de la figure 12. 



  Le plan de référence de la génératrice G 1 est le plan XY, appelé le premier plan bissecteur. 



   Concernant la génératrice Gales trois axes du référentiel local correspondant ont pour origine le point C. La droite CD donne la direction de l'axe X de ce référentiel dont le sens est indiqué par le vecteur CD. Les axes Y et Z de ce référentiel sont situés dans le plan perpendiculaire à l'axe X, l'axe Z étant lui-même perpendiculaire à l'axe Y dans ce plan. L'axe Y est déterminé par la valeur d'un paramètre variant entre 0 et 1. Lorsque ce paramètre est égal à l'unité, l'axe Y est déterminé par la bissectrice 

 <Desc/Clms Page number 14> 

 entre les projections du premier et du dernier vecteur tangent en C, respectivement D, de la génératrice G2 sur ce plan.

   Au cas où le paramètre égal 0, l'axe Y G2 est parallèle à l'axe   Y G 1.   Au cas ou la valeur du paramètre est comprise entre 0 et 1, il faut appliquer à Y un angle de rotation dont la valeur est donnée en multipliant 
 EMI14.1 
 la valeur dudit paramètre avec la valeur de l'angle entre l'axe Y ,   ji et l'axe   Y.   Le plan de référence de la génératrice G2 est le plan   XY .-, également   appelé le dernier plan bissecteur. Le passage de la génératrice Gl depuis son stade initial à la position finale déterminée par la position de la génératrice G2 donne les positions intermédiaires de la génératrice. Il faut à cette fin déterminer des plans de référence intermédiaires, des référentiels et des génératrices.

   A titre d'exemple, pour calculer le point avec pour coordonnées normalisées respectivement égales à u = 0,3, v = 0,7, il faut déterminer la génératrice intermédiaire à 30 % en prenant pour point de départ une base définie par le segment droit DA tel qu'illustré sur la figure 13. Ensuite, sur cette génératrice intermédiaire    Go 3   il faut se situer à un point situé à une distance s'élevant à 70 % du parcours compris entre les première et respecti- 
 EMI14.2 
 vement deuxième directrices DI, D2 à partir de la première directrice.

   De manière générale, les génératrices intermédiaires situées à une distance de x% à partir de la base BI sont déterminées à partir des génératrices d'extrémité Gl et G2 respectivement à raison de x% et   l-x%,   le tout étant à l'échelle de la première génératrice   Gl   et notamment la même échelle suivant les trois axes X, Y, Z. La géométrie réelle de la génératrice intermédiaire à créer est déterminée en calculant les positions de points comme indiqué ci-dessus.

   La mise à l'échelle du tout est effectuée en multipliant toutes les coordonnées X, Y, Z de tous les points de la génératrice obtenue par un facteur d'échelle déterminé par le rapport de longueur entre la base de la génératrice ainsi calculée et de la distance réelle entre les directrices   Dl   et D2 à l'endroit actuel de la génératrice intermédiaire calculée. Cela permet de respecter l'écartement entre les deux directrices Dl, D2 à hauteur de la génératrice intermédiaire, laquelle, tout au long de son parcours, doit conserver ses extrémités opposées sur les directrices   Dl   et D2 respectives. 

 <Desc/Clms Page number 15> 

 



   Ensuite, la génératrice intermédiaire est orientée. 



  A cette fin, on définit d'abord le référentiel local directrice   XD,     yod   et ZD. L'axe XD est orienté du point H au point G en reliant ces deux points, lesdits points étant respectivement situés sur la première et la deuxième directrice   Dl   et D2. On assigne à l'axe ZD la moyenne des vecteurs tangents aux première, deuxième directrices Dl, D2 respectivement aux points H et G. Enfin, l'axe Y D est perpendiculaire aux axes   Xo   et ZD en assumant que le trièdre est dextrogyre. 



   Ceci établit le sens de l'axe Y D. Au cas où un référentiel local directrice doit être déterminé aux extrémités de la directrice, on ne dispose que d'une demi courbe pour déterminer où est le vecteur de tangence. On prolonge alors la demi courbe par une courbure constante et on calcule ensuite la tangente. De cette manière, les référentiels locaux directrices s'orientent de façon continue entre deux surfaces partielles adjacentes. Afin de disposer les génératrices intermédiaires, on détermine d'abord l'angle compris entre le référentiel local directrice comme trouvé ci-dessus, et le référentiel de ladite génératrice intermédiaire. Ces deux référentiels ont un axe commun, notamment X, et il suffit alors de connaître l'angle de rotation entre   l'axe XG   de la génératrice intermédiaire et l'axe Y D.

   Cet angle est connu pour les deux génératrices d'extrémité G G'G, comme indiqué ci-dessus. 



   Ensuite, on y appliquera l'interpolation linéaire pour en déduire les positions des référentiels des génératrices intermédiaires. On assume 
 EMI15.1 
 ici que l'interpolation d'un angle se fait au plus court lorsqu'on se situe sur le cercle de 0 à 360 . En répétant le processus décrit ci-dessus pour différentes génératrices intermédiaires entre les génératrices d'extrémité GI et G2, et ce chaque fois pour autant de points situés sur les génératrices intermédiaires respectives que le concepteur désire, celui-ci obtient la génération de la surface partielle correspondante et, en répétant cela pour chacune des surfaces partielles de l'objet tridimensionnel, il peut générer ainsi l'objet tridimensionnel tout entier. Il peut ensuite visualiser l'objet tridimensionnel sur l'unité d'affichage 107.

   De plus, en soumettant les différentes courbes d'identification à des fonctions d'animation, on obtient un mouvement désiré de l'objet. 

 <Desc/Clms Page number 16> 

 



   Le calcul peut être effectué surface par surface, le résultat chaque fois enregistré sur un support d'enregistrement, tel un floppy disc, ce qui permet ainsi de récupérer la mémoire 103 avant de passer à la surface suivante. A la fin de tout le processus, l'objet tridimensionnel créé est visible sur l'unité d'affichage 107 et celui-ci est, en outre, mémorisé sur, par exemple, un floppy disc permettant de l'utiliser tel quel pour un logiciel d'animation et d'affichage. 



   Pour les sections de courbes et leurs segments, il est possible d'effectuer des interpolations par des courbes dites de Bézier, se caractérisant par leur caractère non linéaire. Cela permet le cas échéant, d'obtenir une plus grande précision dans les dessins obtenus quant à l'objet tridimensionnel et à l'animation de celui-ci.

Claims (21)

  1. REVENDICATIONS 1. Procédé de mémorisation de données, en particulier de données relatives à un dessin animé, d'au moins un objet dont on trace au moins le contour d'une première et d'une deuxième vue différent de la première et où on mémorise un jeu d'identificateurs identifiant l'objet, caractérisé en ce qu' : - on identifie lesdites vues à l'aide de courbes d'identification reprenant au moins lesdits contours ; - on divise lesdites courbes d'identification en sections de courbes pour diviser la surface dudit objet en surfaces partielles délimitées chacune par au moins trois sections de courbes d'identification ; - on détermine pour chaque section de courbe les coordonnées des extrémités de cette section dans la première et la deuxième vue et on y attribue un même code ;
    - on détermine les coordonnées tridimensionnelles des extrémités de chaque section de courbe sur base des coordonnées des extrémités dans la première et la deuxième vues auxquelles un même code a été attribué ; - on forme les éléments dudit jeu d'identificateurs en prenant par élément à former chaque fois ledit code et les coordonnées tridimensionnelles auxquelles il est attribué.
  2. 2. Procédé suivant la revendication 1, caractérisé en ce que lesdites première et deuxième vues sont obtenues par projection des courbes d'identification sur un premier, respectivement un deuxième plan de coordonnées contenant chacun un ensemble différent de deux axes sécants de l'espace tridimensionnel
  3. 3. Procédé suivant la revendication 1 ou 2, caractérisé en ce qu'on détermine lesdites coordonnées tridimensionnelles en éliminant une des coordonnées communes à la première et à la deuxième vues parmi les coordonnées dans la première et la deuxième vues auxquelles un même code a été attribué.
  4. 4. Procédé suivant l'une des revendications I à 3, caractérisé en ce qu'on subdivise chaque section de courbe en segments dont on détermine les coordonnées tridimensionnelles des extrémités qui <Desc/Clms Page number 18> sont alors reprises dans ledit élément comprenant le code de la section de courbe subdivisée.
  5. 5. Procédé suivant la revendication 4, caractérisé en ce qu'on subdivise chaque section de courbe en segments linéaires.
  6. 6. Procédé suivant l'une des revendications 4 ou 5, caractérisé en ce qu'on subdivise les courbes d'identification de la première et deuxième vues en un nombre égal de segments.
  7. 7. Procédé suivant l'une des revendications 1 à 6, caractérisé en ce qu'on adjoint à chaque section de courbe au moins un paramètre de surface de l'objet et que l'on stocke ledit paramètre.
  8. 8. Procédé suivant la revendication 7, caractérisé en ce qu'on choisit comme paramètre de surface de l'objet la couleur à adjoindre audit segment de section de courbes.
  9. 9. Procédé suivant la revendication 7, caractérisé en ce qu'on choisit comme paramètre de surface de l'objet un mot codé indiquant le degré d'inégalité de l'objet le long de ladite courbe.
  10. 10. Procédé d'animation des données mémorisées suivant le procédé de l'une quelconque des revendications 1 à 9, caractérisé en ce qu'au moins une surface partielle dudit objet est générée par interpolation linéaire entre les coordonnées desdites extrémités.
  11. 11. Procédé suivant la revendication 10, appliquée à des données mémorisées suivant le procédé de la revendication 4, caractérisé en ce qu'on transpose les coordonnées des extrémités des sections délimitant ladite surface partielle-dans un espace topologique, et qu'on effectue ensuite dans l'espace topologique un maillage de ladite surface partielle avec formation de polygones présentant au moins trois sommets chaque extrémité de segments faisant partie d'au moins une ligne dudit maillage et qu'on détermine ensuite les coordonnées des noeuds de maillage celles-ci étant ensuite retransposées par transposition inverse dans l'espace tridimensionnel.
  12. 12. Procédé suivant la revendication 11, caractérisé en ce qu'on forme des polygones comprenant quatre sommets et qu'on sélectionne pour chaque surface partielle parmi les quatre sections de courbes adjointes délimitant celle-ci, une première, respectivement une <Desc/Clms Page number 19> deuxième génératrice et une première, respectivement une deuxième directrice mutuellement opposées deux par deux, on effectue le maillage en reliant chaque dite extrémité située sur la première génératrice, respectivement première directrice à au moins une dite extrémité située sur la deuxième génératrice, respectivement deuxième directrice, la génération desdites surfaces partielles étant obtenue par transformation pas-à-pas de la première génératrice en la deuxième génératrice, avec application, pendant cette transformation,
    d'interpolation linéaire à chaque pas, entre la première génératrice dans sa position initiale et la position actuelle de ladite première génératrice.
  13. 13. Procédé suivant la revendication 11 ou 12, caractérisé en ce qu'on forme lesdites lignes de maillage de façon à ce qu'elles se coupent, dans l'espace topologique, auxdits noeuds de maillage, sous des angles compris entre 70 et 90 .
  14. 14. Procédé suivant l'une des revendications 10 à 13, caractérisé en ce que, lors du maillage, on adopte un critère d'optimisation de maillage consistant à détecter, au sein d'un polygone un changement prédéterminé de planéité à la surface de l'objet.
  15. 15. Procédé suivant l'une des revendications 10 à 14, caractérisé en ce qu'on détermine les valeurs dudit paramètre de surface de l'objet, à un sommet de polygone situé à l'intérieur de ladite surface partielle, par interpolation linéaire des valeurs du paramètre de surface de l'objet aux sections de courbes adjacentes entourant ledit sommet. EMI19.1
  16. 16. Procédé suivant l'une des revendications 10 à 15, caractérisé en ce que des fonctions d'animation sont stockées.
  17. 17. Procédé suivant la revendication 16, caractérisé en ce qu'on soumet la courbe d'identification à une dite fonction d'animation.
  18. 18. Dispositif de mémorisation de données, en particulier de données relatives à un dessin animé, lesdites données étant relatives à au moins un contour d'une première vue d'un objet et d'une deuxième vue différente de la première, le dispositif comprenant un générateur de jeu d'identificateurs identifiant l'objet et une mémoire agencée pour stocker ledit jeu d'identificateurs, caractérisé en ce que <Desc/Clms Page number 20> ledit générateur comporte : - des premiers moyens pour prélever à partir d'une section de courbe faisant partie d'une courbe d'identification reprenant au moins lesdits contours des coordonnées des extrémités de cette section dans la première et la deuxième vues et pour y attribuer un même code ;
    - des deuxièmes moyens pour déterminer des coordonnées tridimensionnelles des extrémités de chaque section sur base des coordonnées des extrémités dans la première et la deuxième vues auxquelles un même code a été attribué, les deuxièmes moyens étant reliés aux premiers moyens ; - des troisièmes moyens pour former les éléments dudit jeu d'identificateurs, reliés auxdits deuxièmes moyens, lesdits éléments comprennent chaque fois ledit code et les coordonnées tridimensionnelles auxquelles l'index est attribué, lesdits troisièmes moyens ayant une sortie reliée à une entrée de la mémoire.
  19. 19. Dispositif d'animation de données comprenant un dispositif de mémorisation suivant la revendication 18, caractérisé en ce qu'il comprend des moyens d'interpolation linéaire.
  20. 20. Dispositif suivant la revendication 19, caractérisé en ce qu'il comprend des moyens de transposition agencés pour transposer dans un espace topologique les coordonnées des sommets d'une surface partielle.
  21. 21. Support d'enregistrement des données à utiliser dans le dispositif suivant l'une des revendications 18 à 20, caractérisé en ce qu'il est formé par un disque souple.
BE9000441A 1990-04-20 1990-04-20 Procede et dispositif de memorisation et d'animation de donnees. BE1004117A5 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
BE9000441A BE1004117A5 (fr) 1990-04-20 1990-04-20 Procede et dispositif de memorisation et d'animation de donnees.
EP91200916A EP0453044A1 (fr) 1990-04-20 1991-04-17 Procédé et dispositif de mémorisation et d'animation de données
JP3228213A JPH05135153A (ja) 1990-04-20 1991-04-19 アニメーシヨンのデータを記憶する方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
BE9000441A BE1004117A5 (fr) 1990-04-20 1990-04-20 Procede et dispositif de memorisation et d'animation de donnees.

Publications (1)

Publication Number Publication Date
BE1004117A5 true BE1004117A5 (fr) 1992-09-29

Family

ID=3884771

Family Applications (1)

Application Number Title Priority Date Filing Date
BE9000441A BE1004117A5 (fr) 1990-04-20 1990-04-20 Procede et dispositif de memorisation et d'animation de donnees.

Country Status (3)

Country Link
EP (1) EP0453044A1 (fr)
JP (1) JPH05135153A (fr)
BE (1) BE1004117A5 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992009965A1 (fr) * 1990-11-30 1992-06-11 Cambridge Animation Systems Limited Animation
JPH06507743A (ja) * 1991-05-21 1994-09-01 ケンブリッジ アニメーション システムズ リミテッド 画像合成及び処理

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2629233A1 (fr) * 1988-03-25 1989-09-29 Kreon Ingenierie Marketing Procede de reconstitution des coordonnees spatiales de chacun des points d'un ensemble de points echantillonnant une surface tridimensionnelle, et procede de realisation d'une image tridimensionnelle de cette surface a partir desdites coordonnees

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2629233A1 (fr) * 1988-03-25 1989-09-29 Kreon Ingenierie Marketing Procede de reconstitution des coordonnees spatiales de chacun des points d'un ensemble de points echantillonnant une surface tridimensionnelle, et procede de realisation d'une image tridimensionnelle de cette surface a partir desdites coordonnees

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MECANIQUE METERIAUX ELECTRICITE, no. 403, janvier-février 1984, pages 21-25, Paris, FR; J.-F. ROTGE: "S.E.R.B.I." *
PROCEEDINGS OF THE 1987 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION, Raleigh, North Carolina, 31 mars - 3 avril 1987, pages 1737-1740, IEEE, New York, US; H. AILISTO et al.: "Ferguson patch based method for representation of 3-D scenes" *
S.M.P.T.E. JOURNAL, vol. 90, no. 12, décembre 1981, pages 1184-1189, Scarsdale, New York, US; R. STOCK: "Introduction to digital computer graphics for video" *

Also Published As

Publication number Publication date
JPH05135153A (ja) 1993-06-01
EP0453044A1 (fr) 1991-10-23

Similar Documents

Publication Publication Date Title
Aliaga et al. Style grammars for interactive visualization of architecture
US5194971A (en) Computer aided holography and holographic computer graphics
US6417850B1 (en) Depth painting for 3-D rendering applications
Yemez et al. 3D reconstruction of real objects with high resolution shape and texture
EP0395482A1 (fr) Procédé pour réaliser des déssins à l&#39;aide d&#39;un ordinateur
FR2646726A1 (fr) Appareil de conception et de fabrication assistees par ordinateur
CN113379646B (zh) 一种利用生成对抗网络进行稠密点云补全的算法
US20120280991A1 (en) Employing mesh files to animate transitions in client applications
EP1292921A1 (fr) Raffinement d&#39;un maillage triangulaire en trois dimensions
FR2907246A1 (fr) Procede et dispositifs de projection de motifs bidimensionels sur des surfaces complexes d&#39;objets tridimensionnels
FR2781908A1 (fr) Procede de codage d&#39;un maillage a nombre reduit de facettes, procede de reconstruction et applications correspondants
FR2881261A1 (fr) Procede et dispositif de selection du niveau de detail par calcul de visibilite pour des scenes 3d multi-niveaux de details
Dong et al. Fast shadow casting algorithm in analytical polygon-based computer-generated holography
BE1004117A5 (fr) Procede et dispositif de memorisation et d&#39;animation de donnees.
Jiang et al. Stroke‐Based Drawing and Inbetweening with Boundary Strokes
US11605200B2 (en) System for optimizing a 3D mesh
JP4456070B2 (ja) 光反射強度計算回路
FR2588399A1 (fr) Procede et systeme de conversion de motifs delimites
FR2903518A1 (fr) Procede de traitement d&#39;une image numerique vectorielle, programme d&#39;ordinateur associe, procede de communication entre un serveur et un terminal de donnees d&#39;image ainsi traitee, terminal associe
FR2864878A1 (fr) Procede et systeme de determination du deplacement d&#39;un pixel, et support d&#39;enregistrement pour la mise en oeuvre du procede
Teixeira et al. AI-Powered 360 Panoramas: Unveiling Challenges for Realistic XR Prototyping
Phothong et al. Generation and quality improvement of 3D models from silhouettes of 2D images
Abi-Ezzi The graphical processing of B-splines in a highly dynamic environment
Mijakovska et al. Triangulation Method in Process of 3D Modelling from Video
CH712678A2 (fr) Procédé d&#39;affichage de données cartographiques.

Legal Events

Date Code Title Description
RE Patent lapsed

Owner name: NEURONES

Effective date: 19930430