<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.