Brevet FR2656717A1 — publié le 19910705

La présente invention concerne de manière générale les images ou objets graphiques susceptibles d'être, déplacés sur un écran d'ordinateur et plus particulièrement un procédé pour changer l'orientation d'un objet graphique en réponse à des changements de position par suite de mouvements de translation de cet objet graphique sur l'écran de l'ordinateur. De nombreuses applications de logiciels d'ordinateur permettent à un utilisateur de créer une image ou objet graphique sur l'écran d'un ordinateur et de manipuler la position de cette image sur l'écran. Lorsqu'une image est créée, l'orientation initiale de cette image sur l'écran reste typiquement fixe, malgré des changements de position de l'image Bien que quelques applications de logiciels permettent à un utilisateur de tourner l'image autour d'un point fixe choisi, l'utilisateur ne peut pas changer la position et changer en même temps l'orientation de cette image sur l'écran La faculté de commander à la fois la position et l'orientation d'une image ou objet graphique sur l'écran serait une caractéristique désirable dans un certain nombre d'applications de logiciels spéciaux et standards Par exemple, il serait avantageux en beaucoup d'applications de pouvoir commander à la fois l'orien- tation d'un curseur sur un écran d'ordinateur et sa position. Un curseur est un marqueur visuel affiché sur l'écran d'un terminal d'ordinateur pour indiquer la position de travail de l'utilisateur sur l'écran De nombreux ordinateurs ou programmes de logiciel sont conçus pour être utilisés avec un dispositif de commande de curseur interactive, tel qu'une souris, une manette ou une boule roulante, de sorte que la position du curseur peut être commandée facilement sans qu'il soit nécessaire d'entrer des ordres par un clavier Le type de marqueur visuel utilisé pour l'image du curseur varie suivant le but du curseur ou suivant le programme de logiciel particulier pour lequel il a été prévu Une image d'un curseur bidimensionnel typique est celle d'une flèche, avec une pointe et une queue, et une image d'un curseur tridimensionnel typique est celle d'une pyramide polygonale Généralement, la position de travail effective ne correspond pas à tout le curseur, mais plutôt à un seul point de travail prédéterminé dans l'image du curseur, tel que le point extrême de la flèche ou de la pyramide. Un curseur bidimensionnel se déplace sur le plan représentant la face de l'écran d'ordinateur en réponse à des signaux de translation reçus d'une com- mande Comme il serait inutilement difficile de com- mander individuellement les coordonnées de position de chaque point du curseur par des ordres émanant du dispositif de commande du curseur, ce dispositif com- mande seulement la position sur l'écran d'un seul point de travail associé au curseur Un ou plusieurs pro- grammes de logiciel coopèrent typiquement pour commander la position sur l'écran des pixels restants de l'image du curseur en coordination avec les changements de position de ce point de travail Un curseur tridimen- sionnel fonctionne de la même manière qu'un curseur bidimensionnel, sauf qu'il paraît en outre capable de se mouvoir suivant une troisième dimension en réponse à des valeurs d'entrée suivant la coordonnée Z Comme décrit précédemment, bien qu'un curseur puisse être capable de se mouvoir suivant deux ou trois dimensions, l'orienta- tion du curseur reste fixe parce que les programmes de logiciel qui changent la position de l'image en coordi- nation avec le point de travail, ne sont pas conçus pour changer en plus l'orientation de cette image La figure 1 des dessins annexés montre un curseur pendant qu'il est déplacé en translation selon des techniques de manipulation d'un curseur à orientation fixe. L'utilisation d'un curseur à orientation fixe a plusieurs inconvénients: ( 1) le curseur ne se meut pas de façon naturelle lorsqu'il est déplacé en translation sur l'écran; ( 2) de petits mouvements de curseur (de l'amplitude d'un pixel par exemple) peuvent être diffi- ciles à détecter par l'utilisateur; ( 3) le curseur risque de cacher la zone d'écran qui constitue la zone d'intérêt pour l'utilisateur pendant certaines opéra- tions; et ( 4) le curseur risque de disparaître prati- quement de la vue lorsqu'il est amené à une position près du bord de l'écran Ce dernier inconvénient se manifeste au cas o le point de travail est positionné dans les limites de l'étendue visible de l'écran, mais l'image du curseur se trouve, par suite de son orienta- tion, en dehors de ces limites. Un mode de réalisation préféré de l'invention est un procédé pour changer l'orientation d'un objet graphique en réponse à des changements de la position variable de cet objet sur le visuel d'un ordinateur La position de l'objet graphique sur le visuel est déter- minée par la position d'un point pilote ayant une position fixe par rapport à l'objet et une position variable par rapport au visuel Le point pilote change de position en réponse à des signaux de translation reçus d'un dispositif de commande interactive, et l'ordinateur assure la visualisation de l'objet à chaque position du point pilote Un changement de l'orientation de l'objet à visualiser à la nouvelle position du point pilote, est déterminé par l'établissement d'un point suiveur ayant une position fixe par rapport à l'objet et une position variable par rapport au visuel, et par l'asservissement de la position variable du point suiveur de manière qu'elle suive le trajet de mouvement du point pilote On obtient que le trajet du point pilote est suivi par le point suiveur en déterminant la direction et la grandeur de changement d'un vecteur sr'étendant entre le point pilote et le point suiveur et en changeant ensuite la position variable du point suiveur pour normaliser la grandeur du vecteur dans cette direction de changement. Selon un mode de mise en oeuvre de l'inven- tion, un procédé pour changer l'orientation d'un objet graphique ayant une position variable sur un visuel d'un ordinateur, l'objet graphique comportant un point pilote ayant une position fixe par rapport à l'objet graphique et une position variable par rapport au visuel, le point pilote changeant sa position variable en réponse à des signaux d'une commande, est caractérisé en ce que l'ordinateur est agencé pour afficher l'objet graphique sur le visuel sous une orientation spécifique en réponse à des changements de la position variable du point pilote, le procédé comprenant les étapes consistant à: sélectionner un point suiveur ayant une position fixe par rapport à l'objet graphique et une position variable par rapport au visuel; traîner le point suiveur derrière le point pilote en réponse à des changements de la position variable du point pilote; et afficher l'objet graphique sur le visuel avec une nouvelle orientation qui correspond aux positions variables du point pilote et du point suiveur. L'étape de traînage du point suiveur peut comporter l'étape consistant à changer la position variable du point suiveur en réponse à des changements de la position variable du point pilote, de manière que la position variable du point suiveur suive un trajet à orientation variable derrière le mouvement du point pilote L'étape de changement peut elle- même comporter la détermination de la direction et de la grandeur de changement de la position variable du point pilote et le déplacement de la position variable du point suiveur pour qu'elle corresponde à la direction et à la grandeur de changement de la position variable du point pilote. L'étape de détermination de la direction et de la grandeur de changement de la position du point pilote peut comporter la mesure de la direction et de la grandeur normalisée d'un premier vecteur entre une première position variable du point pilote et une première position variable du point suiveur, ainsi que la mesure de la direction et de la grandeur d'un nouveau D O vecteur entre une nouvelle position variable du point pilote et la première position variable du point sui- veur. Le déplacement de la position variable du point suiveur peut consister à changer la grandeur du nouveau vecteur, pour qu'elle corresponde à la grandeur normalisée du premier vecteur, en changeant la position variable du point suiveur à une nouvelle position variable dans la direction du nouveau vecteur. Selon un autre mode de mise en oeuvre, l'in- vention apporte un procédé pour conférer un mouvement de rotation en supplément à un mouvement de translation d'un objet graphique visualisé sur un écran d'ordina- teur, l'objet graphique ayant une position variable sur l'écran et comportant un point pilote ayant des coor- données de position fixes par rapport à l'objet gra- phique et des coordonnées de position variables par rapport à l'écran d'ordinateur, les coordonnées de position variables du point pilote par rapport à l'écran étant susceptibles de changer en coordination avec la position de l'objet graphique sur l'écran et en réponse à des signaux provenant d'une commande, caractérisé en ce qu'il comprend les étapes consistant à: a) déterminer les coordonnées d'une position initiale du point pilote et les coordonnées d'une position d'un point suiveur, le point suiveur étant situé à une distance prédéterminée du point pilote et ayant des coordonnées de position variables par rapport à l'écran; b) afficher l'objet graphique sur l'écran à une position initiale et avec une orientation initiale correspondant aux coordonnées des positions initiales du point pilote et du point suiveur; c) calculer des coordonnées de nouvelles positions pour le point pilote et pour le point suiveur au moins en réponse aux signaux de la commande; d) déterminer une nouvelle position sur l'écran pour l'objet graphique en réponse à au moins chaque change- ment dans les coordonnées de position du point pilote; e) déterminer une nouvelle orientation sur l'écran pour l'objet graphique en réponse à au moins un change- ment dans la relation angulaire entre les coordonnées des positions initiales du point pilote et du point suiveur et les coordonnées des nouvelles positions pour ce point pilote et ce point suiveur; et à f) afficher l'objet graphique sur l'écran à la nouvelle position et avec, soit la nouvelle orientation, soit l'orientation initiale telle que déterminée dans l'étape (e), de telle sorte que des signaux de transla- tion de la commande produisent un mouvement de rotation dans l'apparence de l'objet graphique. D'autres caractéristiques et avantages de l'invention ressortiront plus clairement de la descrip- tion qui va suivre d'exemples de réalisation non limi- tatifs, ainsi que des dessins annexés, sur lesquels: la figure 1 montre schématiquement l'orien- tation fixe d'un curseur à commande interactive pendant le déplacement selon un procédé de manipulation de curseur de l'art antérieur; la figure 2 montre les différentes positions et orientations du curseur selon la figure 1 lorsqu'il est manipulé conformément au mode de mise en oeuvre préféré de l'invention; les figures 3 a et 3 b montrent deux images de curseur et des vecteurs d'alignement correspondants selon le mode de mise en oeuvre préféré de l'invention; la figure 4 représente schématiquement le changement de position d'une image de curseur bidimen- sionnel et le changement correspondant de l'orientation de cette image selon le mode de mise en oeuvre préféré de l'invention; la figure 5 est un schéma-bloc de la sé- quence d'étapes utilisée selon l'invention pour déter- miner l'orientation de l'image de curseur en réponse au mouvement de translation montré par la figure 4; la figure 6 est une représentation schéma- tique de différentes orientations de curseur pouvant être stockées en mémoire et utilisées selon l'invention; la figure 7 montre schématiquement une image de curseur tridimensionnel et un changement de l'orien- tation de cette image conformément à un mode de mise en oeuvre préféré de l'invention; et la figure 8 montre schématiquement la relation angulaire entre les vecteurs visibles sur la figure 7. La figure 1 montre de quelle manière se présente une image de curseur 10 pendant le déplacement entre différentes positions sur un écran d'ordinateur en utilisant des procédés de l'art antérieur pour commander l'aspect du curseur Pendant que l'image 10 est déplacée sur le visuel de sa position de départ 12 à sa position terminale 14, son orientation par rapport au visuel reste fixe A titre de comparaison, la figure 2 montre comment la même image de curseur 10 apparaîtrait pendant le déplacement par la même série de positions en uti- lisant le procédé selon le mode de mise en oeuvre préféré de l'invention En appliquant le procédé selon l'invention à l'image de curseur 10, cette image change non seulement de position pendant son mouvement depuis la position de départ 12 à la position terminale 14, elle change aussi son orientation par rapport à l'écran et ce d'une manière qui reproduit un mouvement physique naturel. La façon dont l'image de curseur 10 change d'orientation, du moins pour ce qui concerne les images de curseur représentées sur la figure 2, peut être comparée au mouvement d'une planche traînée sur le sol en étant attachée par l'une de ses extrémités Ce concept est illustré par les images de curseur montrées par la figure 2, selon laquelle la position du point de travail 16 de l'image de curseur 10 passe par les différentes positions représentées sur l'écran en traînant la queue 18 de l'image de curseur 10 derrière elle Cette technique de manipulation de la position et de l'orientation de l'image du curseur est considérée reproduire un mouvement physique naturel parce que le mouvement de cette image prend modèle sur celui d'une planche traînée. Bien que l'invention soit décrite ici dans son application avantageuse à la commande d'une image de curseur en combinaison avec un dispositif de commande interactive, le procédé selon l'invention n'est pas limité à une telle application Pratiquement n'importe quelle image susceptible d'être créée sur un écran commandé par ordinateur, y compris une image tridimen- sionnelle, peut être manipulée selon l'invention. Cependant, pour illustrer l'invention, la plus grande partie de la présente description porte sur la commande d'une image de curseur, telle que l'image 10. Des images de curseur peuvent être créées sous de nombreuses apparences r notamment celles montrées par les figures 3 a et 3 b A des fins de description de l'invention, le terme image de curseur s'applique à toute l'image du curseur, quelle soit visible ou non sur l'écran, tandis que le terme image visuelle s'applique seulement à l'image ou la partie d'image qui est géné- ralement visible sur l'écran pour un utilisateur Les images de curseur peuvent être affichées aussi bien sur des visuels vectoriels que sur des visuels à points La D méthode de visualisation des images de curseur sur les différents types d'écrans varie légèrement, d'une manière bien connue dans ce domaine. Les images de curseur du type à points sont généralement constituées d'un champ de masque et d'un champ de données Ce dernier contient l'image visuelle qui sera affichée sur l'écran, tandis que le champ de masque contient la silhouette de lt image du curseur. Ainsi que le montrent les figures 3 a et 3 b, les images de curseur 10 apparaissent sur l'écran en des carrés mesurant 16 x 16 pixels L'aspect de chaque pixel dans chacun des petits carrés est déterminé par les bits correspondants dans le champ de données et le champ de masque. La position de l'image d'un curseur 10 est déterminée généralement par la position d'un seul point (à ne pas confondre avec un bit) associé à cette image et connu sous le nom de point de travail ou point pilote P du curseur Les coordonnées de la position d'un point pilote P par rapport à l'image de curseur 10 sont généralement prédéterminées par l'application du logi- ciel générant l'image de curseur en question Il n'est pas nécessaire que le point pilote P se trouve à l'in- térieur de l'image de curseur 10, mais il est typique- ment situé dans la zone délimitée par le champ de masque 22 puisque le positionnement du point pilote à un endroit en dehors du champ de masque risque de produire un effet visuel indésirable Par exemple, pour ce qui concerne l'image illustrée sur la figure 3 a, si le point pilote P est placé quelque part à l'intérieur du champ de données 24, sa position permettra généralement le contrôle visuel direct des changements d'orientation de l'objet en réponse à ses mouvements de translation Par contre, si le point pilote P est placé quelque part en dehors-du champ de données 24, il ne sera plus associé directement à une partie visuelle de l'image du curseur, ce qui rend le curseur moins utile en tant qu'outil de repérage, qui est son emploi dans de nombreuses appli- cations de logiciels. L'invention comprend l'utilisation et la translation d'images de curseur créées de la manière qui vient d'être décrite (avec un champ de masque, un champ d'image et un point de travail ou point pilote), mais il comprend en plus le changement adéquat de l'orientation de cette image de curseur, en coordination avec des changements de la position de cette image sur l'écran. Le contrôle de l'orientation de l'image de curseur est obtenu par l'établissement d'un second point lié à l'image du curseur, appelé point suiveur Q Le point pilote P et le point suiveur Q ont tous deux des coor- données de position fixes par rapport à l'image du curseur, telles que ( 1, 1) et ( 8, 15) respectivement pour ce qui concerne la figure 3 a, et des coordonnées de position variables par rapport à l'écran Par consé- quent, le point pilote et le point suiveur conservent les mêmes positions relatives par rapport à l'image de curseur 10 lorsque la position de cette image sur l'écran change En ce qui concerne le point pilote, chaque fois que le dispositif de commande interactive est déplacé d'une quantité suffisante (ou en réponse à une commande d'un type quelconque), un sousprogramme détaillé est déclenché pour changer la position du point pilote sur l'écran, de manière qu'il soit aligné sur le nouveau positionnement du dispositif de commande Par contre, le point suiveur Q réagit au mouvement du point pilote P, au lieu d'être commandé directement par des signaux provenant du dispositif de commande interactive. Dans le cadre de l'invention, le meilleur choix de la position du point suiveur Q est celui procurant le mouvement le plus naturel possible de l'image visuelle fournie par le champ de données 24. Donc, si nécessaire, le point suiveur Q peut être choisi en dehors du champ de données 24 ou même en dehors du champ de masque 22 si l'on obtient ainsi un meilleur effet visuel Dans le cas de la figure 3 a par exemple, le point suiveur choisi est un point, à ne pas confondre avec un bit, situé près de la queue de la flèche parce que le positionnement du point pilote et du point suiveur aux endroits indiqués procure un effet visuel désiré Dans l'image de curseur 10 de la figure 3 b, correspondant à une main indicatrice ce qui est un autre type communément utilisé d'image de curseur - représentée par un champ de masque 28 et un champ de données 30, les coordonnées de position fixes du point pilote P ( 16, 9) sont choisies pour que ce point se trouve près du bout du doigt figuré par le champ de données 30, tandis que les coordonnées de position fixes du point suiveur Q ( 12, 2) ont été choisies pour que ce point se trouve près du poignet plus ou moins détaché de la main Les positions de ces deux points par rapport à l'image de la main indicatrice ont été choisies pour obtenir le mouvement le plus naturel possible de l'image de curseur 10 lorsqu'elle est déplacée sur l'écran en réponse à des changements de la position du point pilote P. Bien qu'il soit concevable de contrôler l'orientation de l'image de curseur en recalculant à chaque fois les coordonnées de position de la totalité ou d'un certain nombre de points dans l'image du curseur et en calculant ensuite le degré de déplacement angu- laire par rapport au système de coordonnées de l'écran pour chaque mouvement de translation du point pilote, le mode de mise en oeuvre préféré de l'invention prévoit que l'image est en fait réduite à un seul vecteur, se laissant commander plus aisément Les coordonnées de position du point pilote P et du point suiveur Q sont fixes par rapport à l'image du curseur et définissent donc le vecteur 32, de grandeur fixe, visible aussi bien sur la figure 3 a que sur la figure 3 b Lorsque le point pilote P de l'image de curseur est déplacé par une commande à une nouvelle position sur l'écran, le vecteur 32 se déplace également En asservissant l'orientation de ce vecteur à mesure que celui-ci est déplacé d'une position à la suivante sur l'écran, il devient possible de changer l'orientation de l'image du curseur de la façon nécessaire pour créer l'effet visuel souhaité d'un curseur "traînant". On décrira maintenant, en référence aux figures 4 et 5, le procédé pour produire un changement adéquat dans l'orientation d'un objet graphique en réponse à des changements de position de cet objet La figure 4 montre schématiquement un changement de posi- tion de l'image de curseur 10 et le changement corres- pondant de l'orientation de cette image, déterminé con- formément à l'invention La figure 5 montre la séquence d'opérations utilisée pour déterminer l'orientation de l'image du curseur en réaction à son mouvement de translation tel qu'il est illustré sur la figure 4 Sur cette dernière, la position ancienne de l'image de curseur 10 est représentée par la zone encerclée par la ligne 36 et la nouvelle position de l'image de curseur est représentée par la zone encerclée par la ligne 38 Il faut se rappeler ici que la véritable position sur l'écran de l'image du curseur, du moins en ce qui concerne le point de travail de l'image 10, est celle du point pilote P ou P', et non pas l'image de curseur 10 elle-même Pour cette raison, les positions des images de curseur 10 sont représentées sur la figure 4 comme des zones circulaires afin de souligner le fait que la partie formant la queue 18 de l'image de curseur 10 peut être placée sur n'importe quel point du cercle 36 ou 38, sans que cela effecte la position en translation du point pilote P. Lorsque le point pilote P est déplacé de la zone de l'ancienne position 36 à la zone de la nouvelle position 38, les valeurs de coordonnées correspondant à l'orientation du vecteur Q->P à l'ancienne position 36 sont stockées dans la mémoire du système informatique qui commande le visuel-terminal Les valeurs ainsi stockées, sont utilisées ensuite en combinaison avec les valeurs de coordonnées correspondant à la position du nouveau point pilote P' pour calculer les valeurs de coordonnées pour la nouvelle orientation du vecteur Q' P' Succinctement, la position et l'orientation du vecteur Q'->P' est calculée par ( 1 > la détermination du changement de direction et de grandeur d'un vecteur réorienté V, s'étendant depuis la position du point suiveur Q à la position du nouveau point pilote P', et ( 2 > la normalisation de la grandeur de ce vecteur réorienté V, avec sa nouvelle orientation, à la grandeur du vecteur ancien Q->P La normalisation du vecteur réorienté V crée le vecteur normalisé QI P', autour duquel peut être affichée l'image de curseur 10, indi- quant la nouvelle position et la nouvelle orientation du curseur Ce processus de changement de l'orientation de l'image du curseur est appele "traînage du curseur" parce que les images visuelles produites en tant que résultat de ce processus, sont similaires à celles d'une planche traînée sur le sol, comme décrit précédemment. Le processus de réorientation de l'image de curseur 10 sera ci-après expliqué également en référence à la séquence d'opérations illustrée sur la figure 5. Comme représenté, ce processus est déclenché à inter- valles réguliers dans le temps, ce qui est indiqué par le pavé 50 "COMMENCER CHAQUE INTERVALLE t", bien que le processus puisse être déclenché aussi chaque fois que la commande (non représentée et constituée par une souris ou un programme machine par exemple) produit un change- ment des coordonnées de position du point pilote La première étape après le départ de ce processus, consiste à mesurer la grandeur du vecteur réorienté V, entre le point suiveur Q et le nouveau point pilote P' Le pavé 54 définit donc le vecteur réorienté V comme étant égal à la grandeur du vecteur Q->P'. Après que le vecteur V a été défini, la grandeur du vecteur réorienté V est contrôlée, pavé 56, pour déterminer si cette grandeur dépasse zéro Le pavé 56 représente une étape nécessaire, dans le cadre du mode de mise en oeuvre illustré sur la figure 5, parce que le processus de normalisation du vecteur réorienté V implique la division par la grandeur de V, ce qui produirait une erreur du système, avec de nombreux ordinateurs, si V était égal à zéro Comme la grandeur du vecteur V serait seulement égale à zéro dans le cas o le point pilote Pl est déplacé exactement à la position du point suiveur Q, aucun changement d'orien- tation du vecteur Q'->P' ne serait alors nécessaire et sa nouvelle position serait déterminée en rendant Q' égale à Q, comme indiqué dans le pavé 58. Si V est supérieur à zéro, le processus se poursuit par le pavé 60 au lieu du pavé 58, de sorte que le vecteur réorienté V peut être normalisé à sa nouvelle position et avec sa nouvelle orientation Dans l'étape correspondant au pavé 60, le vecteur réorienté est normalisé, à sa nouvelle orientation, par l'application de l'équation Q'->P' = (Q->P')/V et, dans l'étape correspondant au pavé 62, la nouvelle position de Q' est déterminée par application de l'équa- tion Q' = P' (Q->Pl) Après que les nouvelles positions pour le point suiveur QI ont été déterminées, l'image de curseur 10 est affichée de nouveau sur l'écran de manière qu'elle corresponde à la position et l'orientation du vecteur Q' P', comme indiqué dans le pavé 64 Après que le curseur a été retracé à sa nouvelle position et sous sa nouvelle orientation, les valeurs de coordonnées pour le nouveau point pilote P' et le nouveau point suiveur Q' deviennent celles de l'ancien point pilote P et de l'ancien point suiveur Q pour l'intervalle suivant du processus, comme indiqué dans le pavé 66 Une fois que les positions anciennes du point pilote et du point suiveur ont été établies, le processus de réorientation est terminé, comme le montre le pavé 68. Bien qu'il soit possible de calculer les valeurs de coordonnées du nouveau point suiveur Q' en temps réel pendant chaque intervalle comprenant un changement des coordonnées de position du point pilote, il est beaucoup plus facile d'effectuer ces calculs d'avance et de les stocker dans des tables à consulter. Il serait également bien plus facile d'introduire aussi, dans de telles tables, les données nécessaires pour créer une image de curseur sous ses différentes ori tations Dans cet esprit, la figure 6 montre une image de curseur sous un certain nombre d'orientations diffé- rentes, pouvant être utilisées pour créer l'image visuelle d'un curseur à queue de flèche traînée selon la présente invention Donc, au lieu d'effectuer les calculs nécessaires pour normaliser le vecteur réorienté pendant chaque intervalle du processus, une table est consultée pour déterminer un vecteur normalisé pour chacun des différents vecteurs non normalisés possibles. Une autre table contient une liste des différentes orientations du curseur pour pouvoir reproduire de façon adéquate le mouvement désiré du curseur pour le type particulier d'image visuelle concerné Par exemple, la figure 6 montre seulement des images de curseur orientées à 0, 6, 11, 17, 22,5, 26, 34, 39 et 45 degrés parce qu'il s'est avéré que ces orientations conviennent le mieux pour présenter les différentes images successives de la flèche Il est à noter aussi qu'il n'est pas nécessaire de créer une table à consulter comportant les données pour les différentes orientations de l'image du curseur dans chaque octant du système de référence de l'écran Il suffit en effet d'un jeu d'orientations pour l'image du curseur dans un octant parce que les orientations dans les autres octants sont calculables par la reprise des données de cet octant pour représenter les images dans les différents autres octants du système de coordonnées. Il est à noter qu'une personne ayant une expérience ordinaire dans ce domaine devrait facilement comprendre quel type de calculs est nécessaire pour réorienter le vecteur, normaliser le vecteur réorienté (avec ou sans tables), ainsi que déterminer et afficher l'image de curseur réorientée (avec ou sans tables), et que ces calculs ne demandent pas à être expliqués intégralement pour que l'invention soit décrite de façon adéquate Il est à noter aussi que, bien que l'invention soit utile pour contrôler le pas et le lacet d'une image de curseur tridimensionnel, sous la forme d'une pyramide polygonale par exemple, cette technique crée seulement l'apparence d'un mouvement de roulement conféré à un objet tridimensionnel Pour contrôler le roulement d'un objet tridimensionnel en vue de la réorientation con- formément à l'invention, il faut mettre en oeuvre une technique semblable à celle décrite ci-après en réf é- rence aux figures 7 et 8. La figure 7 représente un objet tridimension- nel 80 (montré à des fins d'illustration par une coupe dans le plan défini par les points P, Q et P') à une première position désignée par la position du point pilote P et une première orientation désignée par l'orientation d'un vecteur alésage (Q->P), ainsi qu'à une seconde position désignée par la position d'un 1 Q nouveau point pilote P' et sous une nouvelle orientation désignée par l'orientation d'un nouveau vecteur alésage (Q'->P') Une fois que les nouvelles positions et orientations de l'objet 80 pour un mouvement particulier ont été déterminées (sans qu'elles soient visualisées sur l'écran), en conformité avec la méthode décrite précédemment, un vecteur arête (P-3 F) 82 est établi dans le plan (P, Q, P') et perpendiculaire à la direction du vecteur alésage (Q->P) Un nouveau vecteur arête (P'->F') 84, contenu dans le plan (P, Q, P') et perpen- diculaire au nouveau vecteur alésage (Q' P'l, est également établi La position et l'orientation de ces vecteurs arêtes 82 et 84, par rapport à l'objet tridi- mensionnel animé d'un mouvement de roulement, sont retransformées ensuite par leur transposition à l'ori- gine du système de coordonnées de l'écran, afin de déterminer l'angle 0 (Fig 8) sur lequel l'objet doit être tourné pour reproduire le déplacement angulaire entre l'ancien vecteur arête 82 et le nouveau vecteur arête 84. La figure 8 montre les vecteurs transformés 82 et 84 par rapport à l'origine du système de coordonnées de l'écran et l'objet 80 (représenté ici dans sa forme tridimensionnelle) L'ancien vecteur arête 82 et le nouveau vecteur arête 84 sont tous deux orientés de manière qu'ils partent de l'axe X et s'étendent dans un plan perpendiculaire à cet axe La rotation du nouveau vecteur 84 pour le faire correspondre à l'ancien vecteur 82, fixe l'angle 0 et permet de déterminer la vue de l'objet graphique 80 créant avec le plus de vraisem- blance l'effet visuel désiré. Bien que l'invention ait été décrite en référence aux figures 1-8 en mettant l'accent sur la manipulation d'une image de curseur, il va de soi que les dessins annexés ont seulement un but illustratif et ne doivent pas être considérés comme des limitations de l'invention L'homme de l'art pourra apporter de nom- breuses modifications au procédé et à la succession d'opérations du procédé de l'invention, sans pour autant sortir de son cadre. REVENDICATIONS 1 Procédé pour changer l'orientation d'un objet graphique ayant une position variable sur un visuel d'un ordinateur, l'objet graphique comportant un point pilote ayant une position fixe par rapport à l'objet graphique et une position variable par rapport au visuel, le point pilote changeant sa position variable en réponse à des signaux d'une commande, caractérisé en ce que l'ordina- teur est agencé pour afficher l'objet graphique ( 10) sur le visuel sous une orientation spécifique en réponse à des changements de la position variable du point pilote (P), le procédé comprenant les étapes consistant à: sélectionner un point suiveur (Q ayant une position fixe par rapport à l'objet graphique ( 10) et une posi- tion variable par rapport au visuel; traîner le point suiveur (Q) derrière le point pilote (P) en réponse à des changements de la position variable du point pilote; et à afficher l'objet graphique ( 10) sur le visuel avec une nouvelle orientation qui correspond aux positions variables du point pilote (P) et du point suiveur (Q). 2 Procédé pour changer l'orientation d'un objet graphique selon la revendication 1, dans lequel l'étape de traînage du point suiveur (Q) comprend l'étape consistant à changer la position variable du point suiveur en réponse à des changements de la position variable du point pilote (P), de manière que la position variable du point suiveur suive un trajet à orientation variable derrière le mouvement du point pilote. 3 Procédé pour changer l'orientation d'un objet graphique selon la revendication 2, dans lequel l'étape de changement comprend les étapes consistant à: déterminer la direction et la grandeur de changement de la position variable du point pilote (P); et à déplacer la position variable du point suiveur pour qu'elle corresponde à la direction et à la grandeur de changement de la position variable du point pilote. 4 Procédé pour changer l'orientation d'un objet graphique selon la revendication 3, dans lequel l'étape de détermination de la direction et de la grandeur de changement de position du point pilote comprend les étapes consistant à: mesurer la direction et la grandeur normalisée d'un premier vecteur (P-3 Ql entre une première position variable (P) du point pilote et une première position variable (Q) du point suiveur; et à mesurer la direction et la grandeur d'un nouveau vecteur (V) entre une nouvelle position variable (P') du point pilote et la première position variable (Q) du point suiveur. Procédé pour changer l'orientation d'un objet graphique selon la revendication 4, dans lequel l'étape de déplacement de la position variable du point suiveur comporte l'étape consistant à changer la grandeur du nouveau vecteur (V), pour qu'elle corresponde à la grandeur normalisée du premier vecteur (P->Q), en changeant la position variable du point suiveur à une nouvelle position variable (Q') dans la direction du nouveau vecteur (y). 6 Procédé pour changer l'orientation d'un objet graphique selon la revendication 1, dans lequel l'objet graphique ( 10) est une image bidimensionnelle. 7 Procédé pour changer l'orientation d'un objet graphique selon la revendication 6, dans lequel l'image bidimensionnelle est une image de curseur comprenant un champ de données ( 24) et un champ de masque ( 22), la position fixe du point pilote (PJ se trouvant à l'inté- rieur du champ de données et près d'un point de travail visuel de l'image de curseur, la position fixe du point suiveur (Q) étant choisie en dehors du champ de masque ( 22). 8 Procédé pour changer l'orientation d'un objet graphique tridimensionnel ayant une position variable sur un visuel d'ordinateur correspondant à un système de coordonnées tridimensionnel, l'objet graphique compor- tant un point pilote (P> ayant une position fixe par rapport à l'objet graphique et une position variable par rapport au visuel, le point pilote changeant sa position variable en réponse à des signaux d'une commande, caractérisé en ce que l'ordinateur est agencé pour afficher l'objet graphique ( 10) sur le visuel sous une orientation spécifique en réponse à des changements de la position variable du point pilote (P), le procédé comprenant les étapes consistant à: sélectionner un point suiveur (Q) ayant une position fixe par rapport à l'objet graphique ( 10) et une posi- tion variable par rapport au visuel; traîner le point suiveur (Q) derrière le point pilote (P) en réponse à des changements de la position variable du point pilote; et à afficher l'objet graphique ( 10) sur le visuel avec une nouvelle orientation qui correspond aux positions variables du point pilote (P) et du point suiveur (Q). 9 Procédé pour changer l'orientation d'un objet graphique selon la revendication 8, dans lequel l'étape de traînage du point suiveur (Q) comprend l'étape consistant à changer la position variable du point suiveur en réponse à des changements de la position variable du point pilote (P), de manière que la position variable du point suiveur suive un trajet à lacet et pas variables derrière le mouvement du point pilote. Procédé pour changer l'orientation d'un objet graphique selon la revendication 9, dans lequel l'étape de changement comprend les étapes consistant à: déterminer la direction et la grandeur de changement de la position variable du point pilote (P); et à déplacer la position variable du point suiveur pour qu'elle corresponde à la direction et à la grandeur de changement de la position variable du point pilote. 11 Procédé pour changer l'orientation d'un objet graphique selon la revendication 10, dans lequel l'étape de détermination de la direction et de la grandeur de changement de la position du point pilote comprend les étapes consistant à: mesurer la direction et la grandeur normalisée d'un premier vecteur (P>Q) entre une première position variable (P) du point pilote et une première position variable (Q) du point suiveur; et à mesurer la direction et la grandeur d'un nouveau vecteur (V) entre une nouvelle position variable (P') du point pilote et la première position variable (Q) du point suiveur. 12 Procédé pour changer l'orientation d'un objet graphique selon la revendication 11, dans lequel l'étape de déplacement de la position variable du point suiveur comporte l'étape consistant à changer la grandeur du nouveau vecteur (V}, pour qu'elle corresponde à la grandeur normalisée du premier vecteur (P-3 Q), en changeant la position variable du point suiveur à une nouvelle position variable (Q') dans la direction du nouveau vecteur (Y). 13 Procédé pour changer l'orientation d'un objet graphique selon la revendication 12, dans lequel l'étape d'affichage de l'objet graphique comporte les opérations consistant à: établir un premier vecteur arête ( 82 > dans un plan perpendiculaire à la direction du premier vecteur (Q >P); établir un nouveau vecteur arête ( 84) dans un nouveau plan (P, Q, P') perpendiculaire à la direction du nouveau vecteur (Q' P'); transformer le premier vecteur arête ( 82) et le nouveau vecteur arête ( 84) en les transposant à l'ori- gine du système de coordonnées tridimensionnel, avec un plan de base perpendiculaire à ce système du visuel; et à afficher l'objet graphique sur le visuel sous une nouvelle orientation qui correspond aux positions variables du point pilote (P) et du point suiveur (Q), tout en conférant à l'image de l'objet graphique un mouvement de roulement dans lequel la direction du nouveau vecteur arête ( 84) est alignée avec la direction du premier vecteur arête ( 82). 14 Procédé pour conférer un mouvement de rotation en supplément à un mouvement de translation d'un objet graphique visualisé sur un écran d'ordinateur, l'objet graphique ayant une position variable sur l'écran et comportant un point pilote ayant des coordonnées de position fixes par rapport à l'objet graphique et des coordonnées de position variables par rapport à l'écran d'ordinateur, les coordonnées de position variables du point pilote par rapport à l'écran étant susceptibles de changer en coordination avec la position de l'objet graphique sur l'écran et en réponse à des signaux provenant d'une commande, caractérisé en ce qu'il comprend les étapes consistant à: a) déterminer les coordonnées d'une position initiale du point pilote (P) et les coordonnées d'une position d'un point suiveur (Q), le point suiveur étant situé à une distance prédéterminée du point pilote et ayant des coordonnées de position variables par rapport à l'écran; b) afficher l'objet graphique ( 10) sur l'écran à une position initiale et avec une orientation initiale correspondant aux coordonnées des positions initiales du point pilote (P) et du point suiveur (Q); c) -calculer des coordonnées de nouvelles positions pour le point pilote (P) et pour le point suiveur (Q) au moins en réponse aux signaux de la commande; d) déterminer une nouvelle position sur l'écran pour l'objet graphique ( 10) en réponse à au moins chaque changement dans les coordonnées de position du point pilote (P); e) déterminer une nouvelle orientation sur l'écran pour l'objet graphique ( 10) en réponse à au moins un changement dans la relation angulaire entre les coor- données des positions initiales du point pilote (P) et du point suiveur (Q) et les coordonnées des nouvelles positions pour ce point pilote et ce point suiveur; et à f) afficher l'objet graphique ( 10) sur l'écran à la nouvelle position et avec, soit la nouvelle orientation, soit l'orientation initiale telle que déterminée dans l'étape (e), de telle sorte que des signaux de trans- lation de la commande produisent un mouvement de rota- tion dans l'apparence de l'objet graphique ( 10). Procédé pour produire un mouvement de rotation en supplément au mouvement de translation d'un objet graphique selon la revendication 14, dans lequel l'étape de calcul des coordonnées des nouvelles positions com- porte les étapes consistant à: calculer des coordonnées d'une nouvelle position (P') pour le point pilote en réponse aux signaux de la commande; déterminer la direction et la grandeur du changement entre les coordonnées de la nouvelle position (P') pour le point pilote et les coordonnées de la position initiale (P) de ce point pilote; et à calculer des coordonnées d'une nouvelle position (Q') pour le point suiveur qui correspondent à la direction et la grandeur du changement entre les coordonnées de la nouvelle position (P'l du point pilote et les coordonnées de la position initiale (P) de ce point pilote; 16 Procédé pour conférer un mouvement de rotation en supplément à un mouvement de translation d'un objet graphique selon la revendication 15, dans lequel l'étape de détermination de la direction et de la grandeur du changement comporte les étapes consistant à: mesurer la direction et la grandeur normalisée d'un premier vecteur (P->Q> entre la position initiale du point pilote (Pl et la position initiale du point suiveur (Q); et à mesurer la direction et la grandeur d'un nouveau vecteur (V) entre la nouvelle position (P') du point pilote et la position initiale (Q) du point suiveur. 17 Procédé pour conférer un mouvement de rotation en supplément à un mouvement de translation d'un objet graphique selon la revendication 16, dans lequel l'étape de calcul d'une nouvelle position pour le point suiveur comporte l'étape consistant à déterminer la nouvelle position (Q) pour le point suiveur en changeant la grandeur du nouveau vecteur (Vi de manière qu'elle corresponde à la grandeur normalisée du premier vecteur (P->Q). 18 Procédé pour conférer une rotation à un objet graphique affiché sur un écran d'ordinateur, l'objet graphique ayant une position variable sur l'écran et comportant un point pilote ayant une position fixe par rapport à l'objet graphique et une position variable par rapport à l'écran d'ordinateur, le point pilote étant susceptible de changer sa position variable en coordi- nation avec la position sur l'écran de l'objet graphique en réponse à des signaux d'une commande, caractérisé en ce qu'il comprend les étapes consistant à: a) déterminer une position initiale pour le point pilote (P) et une position initiale pour un point suiveur (Q), ce point suiveur étant situé à une distance prédéterminée du point pilote et ayant une position fixe par rapport à l'objet graphique ( 10) et une position variable par rapport à l'écran; b) afficher l'objet graphique ( 10 > sur l'écran à une position initiale et avec une orientation initiale, correspondant aux positions initiales du point pilote (P) et du point suiveur (Q); c) calculer une nouvelle position (P') pour le point pilote et une nouvelle position (Q') pour le point suiveur, au moins en réponse aux signaux de la commande; d) déterminer une nouvelle position sur l'écran pour l'objet graphique ( 10) en réponse à au moins chaque changement de position du point pilote; e> déterminer une nouvelle orientation sur l'écran pour l'objet graphique en réponse à au moins un change- ment dans la relation angulaire entre les positions initiales (P, Q) du point pilote et du point suiveur et les nouvelles positions (P', Q') du point pilote et du point suiveur; et à f) afficher l'objet graphique ( 10) sur l'écran à la nouvelle position et avec, soit la nouvelle orientation, soit l'orientation initiale, telle que déterminée dans l'étape (e>, de manière que des signaux de translation de la commande provoquent un mouvement de rotation dans l'apparence de l'objet graphique ( 10). 19 Procédé pour conférer une orientation à un objet graphique affiché sur un écran d'ordinateur selon la revendication 18, dans lequel l'étape de calcul des nouvelles positions comporte les étapes consistant à: calculer une nouvelle position (P') pour le point pilote en résponse aux signaux de la commande; déterminer la direction et la grandeur du changement entre la nouvelle position (P') et la position initiale (P) du point pilote; et à calculer une nouvelle position (Q') pour le point suiveur qui corresponde à la direction et à la grandeur du changement entre la position initiale et la nouvelle position du point pilote. Procédé pour orienter un objet graphique affiché sur un écran d'ordinateur selon la revendication 19, dans lequel l'étape de détermination de la direction et de la grandeur du changement comporte les étapes consistant à: mesurer la direction et la grandeur normalisée d'un premier vecteur (P->Q) entre la position initiale du point pilote (P) et la position initiale du point suiveur (Q); et à mesurer la direction et la grandeur d'un nouveau vecteur (V) entre la nouvelle position (P') du point pilote et la position initiale du point suiveur 21 Procédé pour orienter un objet graphique affiché sur un écran d'ordinateur selon la revendication , dans lequel l'étape de calcul d'une nouvelle posi- tion pour le point suiveur comporte l'étape consistant à déterminer cette nouvelle position (Q') pour le point suiveur en changeant la grandeur du nouveau vecteur (V) de manière à le faire correspondre à la grandeur norma- lisée du premier vecteur (P->Q). 22 Procédé pour orienter un objet graphique affiché sur un écran d'ordinateur selon la revendication 18, dans lequel l'objet graphique ( 10) est l'image d'un curseur.