FR2634922A1 - METHOD FOR ROTATING AROUND AN AXIS OF AN OBJECT DISPLAYED IN 3D REPRESENTATION USING A 2D INPUT CONTROLLER SUCH AS A MOUSE - Google Patents

METHOD FOR ROTATING AROUND AN AXIS OF AN OBJECT DISPLAYED IN 3D REPRESENTATION USING A 2D INPUT CONTROLLER SUCH AS A MOUSE Download PDF

Info

Publication number
FR2634922A1
FR2634922A1 FR8908836A FR8908836A FR2634922A1 FR 2634922 A1 FR2634922 A1 FR 2634922A1 FR 8908836 A FR8908836 A FR 8908836A FR 8908836 A FR8908836 A FR 8908836A FR 2634922 A1 FR2634922 A1 FR 2634922A1
Authority
FR
France
Prior art keywords
pointer
displayed
rotation
movement
control movement
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
FR8908836A
Other languages
French (fr)
Other versions
FR2634922B1 (en
Inventor
Michael Chen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Innovations Foundation of University of Toronto
Original Assignee
Innovations Foundation of University of Toronto
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 Innovations Foundation of University of Toronto filed Critical Innovations Foundation of University of Toronto
Publication of FR2634922A1 publication Critical patent/FR2634922A1/en
Application granted granted Critical
Publication of FR2634922B1 publication Critical patent/FR2634922B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour

Abstract

L'invention concerne un procédé pour faire tourner un objet affiché en représentation tridimensionnelle sur un système d'affichage vidéo contrôlé par ordinateur comprenant un ordinateur et un afficheur vidéo. Ce procédé comporte les étapes suivantes : - affichage d'un cercle de référence C sur l'afficheur vidéo, - utilisation d'un organe de contrôle de pointeur, par exemple une souris, pour positionner sélectivement un pointeur P, Q affiché sur l'afficheur vidéo, - indication à l'ordinateur qu'il doit activer un mode de mouvement de contrôle, le mouvement du pointeur affiché en mode de mouvement de contrôle permettant de faire tourner l'objet affiché autour d'un axe déterminé par la direction du mouvement de contrôle du pointeur et par la position du mouvement de contrôle du pointeur par rapport au cercle de référence, - en mode de mouvement de contrôle, déplacement du pointeur au moyen de l'organe de contrôle de pointeur, et - rotation de l'objet affiché en fonction du mouvement du pointeur en mode de mouvement de contrôle.A method for rotating an object displayed in three-dimensional representation on a computer-controlled video display system including a computer and a video display is disclosed. This method comprises the following steps: - display of a reference circle C on the video display, - use of a pointer control member, for example a mouse, to selectively position a pointer P, Q displayed on the video display, - indication to the computer that it must activate a control movement mode, the movement of the pointer displayed in control movement mode making it possible to rotate the displayed object around an axis determined by the direction of the control movement of the pointer and by the position of the control movement of the pointer relative to the reference circle, - in control movement mode, movement of the pointer by means of the pointer control member, and - rotation of the object displayed according to pointer movement in control movement mode.

Description

La présente invention concerne une technique d'émulation d'un contrôleurThe present invention relates to a technique of emulating a controller

3D (tridimensionnel) d'entrée d'ordinateur  3D (three-dimensional) computer input

par un contrôleur 2D (bidimensionnel) d'entrée d'ordinateur.  by a 2D (two-dimensional) computer input controller.

Les progrès de l'infographie ont multiplié les possibilités offertes à l'utilisateur. On peut maintenant afficher des objets en représentation tridimensionnelle, par  Advances in computer graphics have multiplied the possibilities offered to the user. We can now display objects in three-dimensional representation, by

exemple sous forme maillée, sous forme pleine et/ou ombrée.  example in mesh form, in full form and / or shaded.

Bien que l'on ait déjà utilisé un contrôleur d'entrée 3D à boule de commande pour manipuler directement des objets affichés en représentation tridimensionnelle, un tel  Although a 3D trackball input controller has already been used to directly manipulate objects displayed in three-dimensional representation, such

dispositif est complexe et coteux.device is complex and expensive.

On a élaboré diverses techniques utilisant des contrôleurs d'entrée 2D tels que des souris pour manipuler  Various techniques have been developed using 2D input controllers such as mice to manipulate

des objets affichés en représentation tridimensionnelle.  objects displayed in three-dimensional representation.

Dans une technique connue, on utilise des curseurs X, Y et Z affichés graphiquement et que l'utilisateur peut régler (par exemple, au moyen d'un contrôleur d'entrée tel qu'une souris) pour indiquer, séparément, l'ampleur de la rotation autour de chacun des axes. Généralement, on ne règle qu'un  In a known technique, graphically displayed X, Y, and Z cursors are used which the user can adjust (for example, by means of an input controller such as a mouse) to indicate, separately, the magnitude rotation around each of the axes. Generally, only one

seul curseur à la fois.only slider at a time.

Une autre technique connue implique la sélection par menu de l'axe autour duquel on souhaite effectuer la rotation. On déplace alors dans une direction un-contrôleur d'entrée tel  Another known technique involves the menu selection of the axis around which it is desired to perform the rotation. We then move in a direction an input controller such as

qu'une souris pour indiquer l'ampleur de la rotation.  than a mouse to indicate the extent of the rotation.

Une autre technique nécessite d'appuyer l'appui sur l'un de trois boutons d'une souris ou d'un clavier pour sélectionner l'axe de rotation, puis de déplacer la souris  Another technique requires pressing one of three mouse or keyboard buttons to select the axis of rotation, then move the mouse

dans une direction pour indiquer l'ampleur de la rotation.  in one direction to indicate the extent of the rotation.

Un point important qu'il y a lieu de considérer avec les techniques connues de manipulation d'objets affichés représentéS sous forme tridimensionnelle est l'absence de lien kinesthésique (association stimulus/réponse) entre le mouvement du contrôleur d'entrée et la direction de rotation de l'objet. En d'autres termes, le mouvement que l'on doit donner au contrôleur d'entrée ne procure pas la sensation  An important point to be considered with the known techniques of manipulating displayed objects represented in three-dimensional form is the absence of kinesthetic link (stimulus / response association) between the movement of the input controller and the direction of motion. rotation of the object. In other words, the movement that must be given to the input controller does not provide the sensation

effective d'une rotation de l'objet affiché. - -  effective of a rotation of the displayed object. - -

Un autre point important, dans les techniques utilisant des contrôleurs d'entrée 2D pour manipuler -des objets tridimensionnels, est l'absence 'de possibilité de faire varier de façon continue l'axe de rotation dans l'espace tridimensionnel. Par exemple, avec la technique des curseurs graphiques, pour une rotation donnée l'axe doit être nécessairement l'un des trois axes orthogonaux. Un autre point à considérer est, dans les techniques connues, l'impossibilité d'effectuer une rotation autour d'un axe  Another important point in the techniques using 2D input controllers for manipulating three-dimensional objects is the lack of the ability to continuously vary the axis of rotation in three-dimensional space. For example, with the graphical cursor technique, for a given rotation the axis must necessarily be one of the three orthogonal axes. Another point to consider is, in known techniques, the impossibility of rotating around an axis

quelconque présentant des composantes suivant X, Y et Z..  any having components along X, Y and Z ..

C'est pourquoi il serait intéressant de disposer d'une technique perfectionnée permettant, au moyen d'un contrôleur d'entrée 2D, de faire tourner des objets affichés en représe&ptzion tridimensionnelle tout en ayant une correspondance kinesthésique entre le mouvement du  For this reason, it would be interesting to have an advanced technique which allows, by means of a 2D input controller, to rotate objects displayed in three-dimensional representation while having a kinesthetic correspondence between the movement of the object.

contrôleur d'entrée et la rotation de l'objet affiché.  input controller and the rotation of the displayed object.

Il serait également avantageux de pouvoir disposer d'une technique perfectionnée permettant de faire tourner autour d'un axe quelconque des objets affichés -dans l'espace tridimensionnel. Ceci est rendu possible, selon l'invention, par un procédé permettant de faire tourner un objet affiché en représentation tridimensionnelle sur *un système afficheur contrôlé par ordinateur comprenant un ordinateur et un afficheur vidéo utilisant. un contrôleur d'entrée 2D pour positionner un indicateur de référence reconnu par L'ordinateur. Il est prévu un cercle de référence visible par l'utilisateur, et. l'ordinateur reçoit' un signal lui permettant d'activer un mode de mouvement de contrôle-o le mouvement de l'indicateur de référence correspond, dans ce mode, à la rotation de l'objet affiché par rapport à un axe quelconque qui est déterminé par la direction du mouvement de contrôle de l'indicateur de référence et l'emplacement du  It would also be advantageous to have an improved technique for rotating objects displayed in three-dimensional space around any axis. This is made possible according to the invention by a method for rotating an object displayed in three-dimensional representation on a computer-controlled display system comprising a computer and a video display using. a 2D input controller for positioning a reference indicator recognized by the computer. There is a reference circle visible to the user, and. the computer receives a signal enabling it to activate a control movement mode where the movement of the reference indicator corresponds, in this mode, to the rotation of the displayed object with respect to any axis which is determined by the management of the control movement of the reference indicator and the location of the

mouvement de contrôle par-rapport au cercle de référence.  control movement relative to the reference circle.

Plus précisément, selon un premier aspect de l'invention ce procédé comporte les étapes suivantes: établissement d'un cercle de référence-; utilisation d'un contrôleur d'entrée actionné par l'utilisateur 'pour. positionner sélectivement un indicateur de référence reconnu par l'ordinateur; indication à l'ordinateur qu'il doit activer  More precisely, according to a first aspect of the invention, this method comprises the following steps: establishment of a reference circle; use of a user-controlled input controller for. selectively position a reference indicator recognized by the computer; indication to the computer that it must activate

-./ 2634922- / 2634922

un mode de mouvement de contrôle, le mouvement de l'indicateur de référence en mode de mouvement de contrôle permettant de faire tourner l'objet affiché autour d'un axe déterminé par la direction du mouvement de contrôle de l'indicateur de référence et par la position du mouvement de contrôle de l'indicateur de référence par rapport au cercle de référence; en mode de mouvement de contrôle, déplacement de l'indicateur de référence au moyen du contrôleur d'entrée; et rotation de l'objet affiché en fonction du  a control movement mode, the movement of the reference indicator in control movement mode making it possible to rotate the displayed object around an axis determined by the direction of the control movement of the reference indicator and by the position of the control movement of the reference indicator relative to the reference circle; in control movement mode, moving the reference indicator by means of the input controller; and rotating the displayed object according to the

- mouvement défini en mode de mouvement de contrôle.  - defined motion in control movement mode.

Selon un second aspect de l'invention le procédé comporte les étapes suivantes: affichage d'un cercle de référence sur l'afficheur vidéo; utilisation d'un organe de contrôle de pointeur pour positionner sélectivement un pointeur affiché sur l'afficheur vidéo; indication à l'ordinateur qu'il doit activer un mode de mouvement de contrôle, le mouvement du pointeur affiché en mode de mouvement. de contrôle permettant de faire tourner l'objet affiché autour d'un axe déterminé par la direction du mouvement de contrôle du pointeur et par la position du mouvement de contrôle du pointeur par rapport au cercle de référence; en mode de mouvement de contrôle, déplacement du pointeur au moyen de l'organe de contrôle de pointeur; et rotation de l'objet affiché en fonction du mouvement du pointeur en mode de  According to a second aspect of the invention, the method comprises the following steps: displaying a reference circle on the video display; using a pointer controller to selectively position a pointer displayed on the video display; indication to the computer that it must activate a control movement mode, the movement of the pointer displayed in the movement mode. control device for rotating the displayed object about an axis determined by the direction of the pointer control movement and the position of the pointer control movement relative to the reference circle; in control movement mode, moving the pointer by means of the pointer control member; and rotating the displayed object according to the movement of the pointer in

mouvement de contrôle. -control movement. -

Les avantages et les caractéristiques de -l'invention apparaîtront aisément-à l'homme de l'art à la lecture de. la  The advantages and features of the invention will readily become apparent to those skilled in the art upon reading. the

description détaillée ci-dessous, faite en référence aux  detailed description below, made with reference to

dessins annexes.attached drawings.

La figure 1 est un schéma par blocs. d'un système informatique pouvant être utilisé 'pour mettre en oeuvre  Figure 1 is a block diagram. a computer system that can be used to implement

l'invention que l'on va décrire.the invention that will be described.

La figure 2 illustre un système de coordonnées relatif à l'objet affiché que l'on doit faire tourner conformément à l'invention. La figure 3 illustre de façon schématique le mouvement d'un pointeur affiché, que l'on utilise, selon l'invention,  Figure 2 illustrates a coordinate system relating to the displayed object to be rotated in accordance with the invention. FIG. 3 schematically illustrates the movement of a displayed pointer, which is used, according to the invention,

pour produire la rotation d'un objet affiché.  to produce the rotation of a displayed object.

Les figures 4 et 5 illustrent schématiquement des cas particuliers de mouvements du pointeur affiché qui permettent de faire tourner selon l'invention un objet affiché. La figure 6.illustre schématiquement un cas généralisé de mouvement du pointeur affiché pour faire tourner selon  FIGS. 4 and 5 schematically illustrate particular cases of movements of the displayed pointer which make it possible to rotate according to the invention a displayed object. Figure 6. Diagrammatically illustrates a generalized case of movement of the pointer displayed to rotate according to

l'invention un objet affiché.the invention a displayed object.

La figure 7 présente un organigramme des différentes étapes de l'invention qui permettent de faire tourner un  FIG. 7 presents a flowchart of the various steps of the invention which make it possible to turn a

objet affiché par le mouvement d'un pointeur affiché.  object displayed by the movement of a displayed pointer.

La figure 8 présente un organigramme détaillé de certaines fonctions permises par l'organigramme de la figure 7,  FIG. 8 presents a detailed flowchart of certain functions enabled by the flowchart of FIG. 7,

Dans la description détaillée qui va suivre et dans les  In the detailed description that follows and in the

diverses figures des dessins, les éléments identiques sont  various figures of the drawings, the identical elements are

identifiés par les mêmes références numériques.  identified by the same numerical references.

Définitions L'invention que l'on va décrire concerne, de façon générale, la manipulation d'un objet affiché par ordinateur représenté sous forme tridimensionnelle, et il peut être utile de présenter rapidement l'environnement informatique concerné. La figure 1 est un schéma par blocs généralisé d'un système informatique approprié 10 qui comporte un ensemble unité centrale de traitement et mémoire 11 comprenant, de façon générale, un microprocesseur, les circuits logiques associés et des circuits mémoire. Un clavier 13 délivre des signaux d'entrée à l'ensemble unité centrale de traitement et mémoire 11, de même qu'un contrôleur d'entrée 2D 15 qui peut être, par exemple, une souris, une boule de commande 2D, un manche à balai, un écran tactile, une tablette tactile ou un numériseur. Des lecteurs de disque 17, qui peuvent comprendre des lecteurs de disque fixe, sont utilisés pour le stockage de masse des programmes et des données. L'affichage en sortie est réalisé un afficheur vidéo 19. En référence à la figure 2, l'objet observé sur l'afficheur vidéo 19 peut être, par commodité, référencé par rapport à un système de coordonnées orthogonales ayant son origine au centre de rotation de l'objet. L'axe horizontal 0 est l'axe X, l'axe vertical est l'axe Y et l'axe Z est  Definitions The invention that will be described relates, in general, the manipulation of a computer-displayed object represented in three-dimensional form, and it may be useful to quickly present the computer environment concerned. Fig. 1 is a generalized block diagram of a suitable computer system 10 which includes a central processing unit and memory unit 11 including, in general, a microprocessor, the associated logic circuits and memory circuits. A keyboard 13 delivers input signals to the central processing unit and memory 11, as well as a 2D input controller 15 which can be, for example, a mouse, a 2D trackball, a joystick broom, touch screen, touch pad or digitizer. Disk drives 17, which may include fixed disk drives, are used for mass storage of programs and data. The output display is a video display 19. With reference to FIG. 2, the object observed on the video display 19 may, for convenience, be referenced with respect to a system of orthogonal coordinates having its origin in the center of rotation of the object. The horizontal axis 0 is the X axis, the vertical axis is the Y axis and the Z axis is

dirigé vers l'observateur.-directed to the observer.-

Pour la commodité des explications, la présentation qui va suivre sera faite dans le contexte d'un- contrôleur d'entrée 2D 15 qui est une souris, mais l'homme de l'art comprendra aisément que les techniques décrites peuvent être  For ease of explanation, the following presentation will be made in the context of a 2D input controller which is a mouse, but those skilled in the art will readily understand that the described techniques may be

mises en oeuvre avec d'autres contrôleurs d'entrée 2D. Un-  implemented with other 2D input controllers. A-

exemple de souris utilisée avec un système, afficheur contrôlé' par ordinateur est donné dans le US-A-4 464 652, dont on considèrera que les enseignements font.partie de la  An example of a mouse used with a computer-controlled display system is given in US-A-4,464,652, which will be considered as the teachings of the computer.

présente description.this description.

Une souris contrôle la position d'un pointeur de souris qui est affiché sur l'afficheur vidéo. Le pointeur est déplacé en déplaçant la souris sur une surface plane dans la  A mouse controls the position of a mouse pointer that is displayed on the video display. The pointer is moved by moving the mouse on a flat surface in the

direction suivant laqueile on souhaite déplacer le pointeur.  direction that you want to move the pointer.

Ainsi, le mouvement en deux directions de la souris sur la surface plane se-traduit sur l'afficheur vidéo par un mouvement homologue en deux directions du- pointeur de souris. Typiquement, une souris comporte un ou plusieurs. boutons de commande actionnés du bout des doigts. Bien que l'on puisse-utiliser les boutons de commande pour différentes fonctions, comme par exemple la sélection d'un article de menu sur lequel pointe le pointeur, l'invention décrite ici utilise avantageusement une souris à bouton unique pour  Thus, the movement in two directions of the mouse on the flat surface is reflected on the video display by a homologous movement in two directions of the mouse pointer. Typically, a mouse has one or more. control buttons operated with fingertips. Although one can use the control buttons for different functions, such as for example the selection of a menu item pointed to by the pointer, the invention described here advantageously uses a single button mouse to

tracer le mouvement du pointeur sur une trajectoire donnée.  trace the movement of the pointer on a given path.

Plus précisément, le pointeur se trouvant au point de départ  Specifically, the pointer at the starting point

voulu, on appuie sur le bouton de la souris pour signaler à -  wanted, press the mouse button to signal to -

l'ordinateur qu'il doit activer un mode de mouvement de contrôle, et on déplace la souris tout en maintenant le bouton appuyé. Après que le trajet voulu ait été tracé, on relâche le bouton de la souris. On dit quelquefois que l'on  the computer to activate a control movement mode, and move the mouse while keeping the button pressed. After the desired path has been drawn, release the mouse button. It is sometimes said that one

"fait glisser" le pointeur de la souris.  "drag" the mouse pointer.

La position du pointeur de souris est, typiquement, échantillonnée à une cadence prédéterminée, par exemple dix fois par seconde, chaque point échantillonné définissant le début ou la fin d'un segment de ligne. Le trajet tracé en faisant glisser le pointeur de la souris peut donc être considéré comme étant formé d'une série de courts segments de droite reliés entre eux, les extrémités des segments de droite étant définies par les positions échantillonnées du  The position of the mouse pointer is, typically, sampled at a predetermined rate, for example ten times per second, each sampled point defining the beginning or the end of a line segment. The path drawn by dragging the mouse pointer can therefore be considered to be formed of a series of short straight line segments connected to each other, the ends of the line segments being defined by the sampled positions of the line.

pointeur de la souris.pointer of the mouse.

On notera que l'on peut également utiliser une touche prédéterminée d'un clavier pour activer le glissement du  Note that one can also use a predetermined key of a keyboard to activate the sliding of the

pointeur de la souris.pointer of the mouse.

Description détailléedetailed description

Si l'on se réfère maintenant à la figure 3, un cercle de référence C sert de référence pour les entrées fournies par l'utilisateur au moyen du contrôleur d'entrée 2D 15. Dans le cas particulier d'une souris, le cercle de référence est affiché en un endroit commode de l'afficheur vidéo. Pour des contrôleurs d'entrée tels que les tablettes tactiles ou les numériseurs, o il y a correspondance entre la position physique d'un pointeur physique et la position de l'image affichée, le cercle de référence pourrait se trouver sur la  Referring now to FIG. 3, a reference circle C serves as a reference for the inputs provided by the user by means of the 2D input controller 15. In the particular case of a mouse, the circle of reference is displayed in a convenient location on the video display. For input controllers such as touch pads or scanners, where there is a match between the physical position of a physical pointer and the position of the displayed image, the reference circle could be on the

tablette d'entrée appropriée.appropriate entry shelf.

Dans l'exemple particulier de l'utilisation avec une souris, le cercle de référence peut entourer l'objet à faire tourner, ce qui produit l'impression que l'objet est solidaire d'une sphère transparente ou virtuelle que l'on  In the particular example of use with a mouse, the reference circle may surround the object to rotate, which produces the impression that the object is integral with a transparent or virtual sphere that is

ferait tourner par l'intermédiaire de commandes appropriées.  would rotate through appropriate commands.

Le centre O du cercle coïncide avec l'origine du système de  The center O of the circle coincides with the origin of the system of

coordonnées orthogonales de la figure 2 qui, comme on l'a-  orthogonal coordinates of Figure 2 which, as we have

expliqué plus haut, est également le centre de rotation.  explained above, is also the center of rotation.

On peut considérer que le cercle de référence C représente un hémisphère supérieur aplati d'un contrôleur d'entrée 3D à boule de commande, le terme "hémisphère supérieur" correspondant à la moitié supérieure de la boule de commande comme si elle était orientée sur une surface support. Bien entendu, le cercle de référence est une représentation vue de dessus en plan de l'hémisphère supérieur aplati de la boule de commande. Comme cela sera décrit plus en détail, l'action de déplacement du pointeur physique ou affiché, selon le cas, d'un contrôleur d'entrée 2D par rapport au cercle de référence est analogue à  The reference circle C can be considered to represent a flattened upper hemisphere of a control ball 3D input controller, the term "upper hemisphere" corresponding to the upper half of the control ball as if it were oriented on a support surface. Of course, the reference circle is a top plan view of the flattened upper hemisphere of the trackball. As will be described in more detail, the action of moving the physical pointer or displayed, as the case may be, of a 2D input controller with respect to the reference circle is analogous to

l'action de rotation d'une boule de commande 3D.  the rotating action of a 3D trackball.

Par exemple, on peut utiliser une souris pour déplacer un pointeur de souris soit à l'intérieur du cercle de référence soit à l'extérieur du cercle de référence. Si l'on fait glisser le pointeur de souris (c'est-àdire que l'on déplace la souris en appuyant sur son bouton) sur le cercle de référence C ou hors de celui-ci provoque une rotation par rapport à l'axe Z. Si l'on fait glisser le pointeur de souris à l'intérieur du cercle de référence, on obtient une rotation par rapport à des axes de rotation quelconques qui peuvent avoir des composantes selon X, Y et Z. Plus précisément, pour chaque segment de droite défini par les emplacements échantillonnés du pointeur de souris que l'on a fait glisser, on fait tourner l'objet affiché en question en fonction de la position, de la longueur et de la direction du segment de droite. L'un de ces segments de droite, défini par les échantillons de deux positions successives d'un pointeur de souris que l'on a fait glisser, est illustré schématiquement par un vecteur ' d'origine P et d'extrémité Q. Par la suite, les vecteurs allant respectivement du  For example, a mouse can be used to move a mouse pointer either inside the reference circle or outside the reference circle. Dragging the mouse pointer (that is, moving the mouse by pressing its button) on or off the reference circle C causes rotation relative to the axis Z. If the mouse pointer is dragged inside the reference circle, a rotation is obtained with respect to any axes of rotation which may have components according to X, Y and Z. More precisely, for each a line segment defined by the sampled locations of the mouse pointer that has been dragged, the object displayed is rotated according to the position, length, and direction of the line segment. One of these line segments, defined by the samples of two successive positions of a mouse pointer that has been dragged, is schematically illustrated by a vector of origin P and end Q. following, the vectors from

centre O aux points P et Q seront appelés vecteurs P et Q.-  center O at points P and Q will be called vectors P and Q.-

Pour pouvoir expliquer la manière dont on détermine l'axe  To explain how the axis is determined

de rotation défini par un vecteur arbitraire D, il peut être.  of rotation defined by an arbitrary vector D, it can be.

utile de commencer par expliquer le cas particulier illustré schématiquement figure 4, o le vecteur D- a son origine au centre 0 du cercle de référence et forme un angle -. avec l'axe X. L'axe de rotation, que l'on peut commodément représenter par le vecteur A, est calculé de la manière suivante: A(x,y,z) = [-sin T cos T 0] (Equation 1) On notera que l'axe de rotation obtenu à partir de  it is useful to begin by explaining the particular case illustrated schematically in FIG. 4, where the vector D- has its origin at the center 0 of the reference circle and forms an angle -. with the X axis. The axis of rotation, which can be conveniently represented by the vector A, is calculated in the following way: A (x, y, z) = [-sin T cos T 0] (Equation 1) Note that the axis of rotation obtained from

l'équation (1) est limité au plan XY.  Equation (1) is limited to the XY plane.

Si l'on prend maintenant le cas particulier illustré schématiquement sur la figure 5, o le vecteur D à son origine en un point de l'axe X qui est déplacée dans le sens positif par rapport à l'origine et forme un angle r par rapport à l'axe X. L'axe de rotation est obtenu à partir de l'équation (1), mais avec une rotation de X degrés-autour de l'axe Y: DP = f(x) = f( O) (Equation 2) OP étant la distance séparant le centre O du cercle de l'origine P du vecteur D, OR étant le rayon du cercle 11l et f(x) étant une fonction monotone croissante qui satisfait les conditions suivantes: f(x) = 0 if x = 0 (Equation 3) f(x) = 900 if x = 1 A titre d'exemple particulier, on peut avoir pour f(x): f(x) = 90*x (Equation 4) La fonction f(x) est une fonction d'interpolation qui permet que l'axe de rotation s'étende dans un plan quelconque qui coupe l'axe Y. Essentiellement, la fonction f(x) définit la manière dont on aplatirait l'hémisphère supérieur d'une boule de commande 3D pour obtenir le cercle - 35 de référence C en fonction de la position de l'axe de rotation. La fonction f(x) est analogue à une projection cartographique qu'un cartographe utiliserait pour présenter  If we now take the particular case illustrated schematically in Figure 5, where the vector D originates at a point on the axis X which is moved in the positive direction relative to the origin and forms an angle r by relative to the X axis. The axis of rotation is obtained from equation (1), but with a rotation of X degrees-around the Y axis: DP = f (x) = f (O) (Equation 2) OP being the distance separating the center O from the circle of the origin P of the vector D, OR being the radius of the circle 11l and f (x) being an increasing monotonic function satisfying the following conditions: f (x) = 0 if x = 0 (Equation 3) f (x) = 900 if x = 1 As a special example, we can have for f (x): f (x) = 90 * x (Equation 4) The function f (x) is an interpolation function that allows the axis of rotation to extend in any plane that intersects the Y axis. Essentially, the function f (x) defines the way in which the upper hemisphere would be flattened. a 3D trackball for obtain the reference circle C as a function of the position of the axis of rotation. The function f (x) is analogous to a map projection that a cartographer would use to present

des points de la terre sur une carte.  points of the earth on a map.

- 263492-Z- 263492-Z

Le vecteur A (qui représente l'axe de rotation) est déterminé de la manière suivante: cos w 0 -sin w X(x,y,z) = [-sin T cos T 0] * 0 1 0 sin w 0 cos w (Equation 5) Dans le cas général, illustré de façon schématique figure 6 o P est situé en un point quelconque en formant un angle e par rapport à l'axe X, le vecteur D forme un angle ('8+t) par rapport à l'axe X. Ceci revient, dans le cas général, à faire tourner de 8 degrés-autour de l'axe'Z le vecteur D du cas particulier représenté par l'équation (4). De la sorte, le vecteur A qui représente l'axe de rotation est obtenu en modifiant l'équation (4) pour y inclure là rotation de e degrés autour de l'axe Z: Cs m 0 -s in e(xyz) = [-sin t cos T] i 0 - _ _ sin w 0 cos X cos 8 sin 8 0 _ _ * sin 8 cos 0 o: O- O 1i -- (Equation 6) L'équation (6) correspond à l'équation.(5), modifiéé de telle sorte que l'axe de rotation puisse se trouver positionné de façon- quelconque dans l'espace tridimensionnel. On verra aisément que l'équation 6 se simplifie en donnant les équations 1 et 5 pour les cas particuliers discutés plus haut, en mettant à zéro les  The vector A (which represents the axis of rotation) is determined in the following way: cos w 0 -sin w X (x, y, z) = [-sin T cos T 0] * 0 1 0 sin w 0 cos w (Equation 5) In the general case, schematically illustrated in FIG. 6 where P is situated at any point at an angle e with respect to the axis X, the vector D forms an angle ('8 + t) by This is equivalent, in the general case, to rotating the vector D of the particular case represented by equation (4) by 8 degrees around the Z axis. In this way, the vector A which represents the axis of rotation is obtained by modifying equation (4) to include the rotation of e degrees around the Z axis: Cs m 0 -s in e (xyz) = [-sin t cos T] i 0 - _ _ sin w 0 cos X cos 8 sin 8 0 _ _ * sin 8 cos 0 o: O- O 1i - (Equation 6) Equation (6) corresponds to Equation (5), modified so that the axis of rotation can be positioned in any way in the three-dimensional space. It will be easy to see that equation 6 is simplified by giving equations 1 and 5 for the particular cases discussed above, by zeroing the

valeurs appropriées des angles X et 8.  appropriate values of angles X and 8.

-30 L'ampleur * de la rotation d'un vecteur D donné peut être - calculée d'après le module du-vecteur D. On pourrait par exemple calculer en multipliant le module du vecteur D par un facteur d'échelle approprié. Cependant, pour se conformer de façon plus précise à la rotation d'une boule- de commande 3D, l'ampleur de la rotation doit être proportionnée de manière que l'on ait les propriétés suivantes; (1) un balayage complet de la souris traversant le cercle et passant par le centre O produit- une  The magnitude * of the rotation of a given vector D can be calculated from the modulus of the vector D. For example, it would be possible to calculate by multiplying the modulus of the vector D by an appropriate scale factor. However, to conform more precisely to the rotation of a 3D control ball, the magnitude of the rotation must be proportioned so that the following properties are present; (1) a complete scan of the mouse passing through the circle and passing through the center O produces a

rotation de 180 .rotation of 180.

(2) un tour complet du bord du cercle (ou hors de celui-ci) produit une rotation de 360 autour de l'axe Z. Dans l'exemple o l'on a f(x) = 90*x, on a déterminé empiriquement que les propriétés rotationnelles précédentes peuvent être approximées de façon satisfaisante en calculant l'ampleur X de la rotation, exprimée en degrés, de la manière suivante: * IDI * [(( 1-2) X (1-IcosTi) OR l 90 (Equation 7) IDI étant la longueur du vecteur D et OR étant le rayon  (2) a complete revolution of the edge of the circle (or out of it) produces a rotation of 360 about the Z axis. In the example where af (x) = 90 * x, we determined empirically that the preceding rotational properties can be satisfactorily approximated by calculating the magnitude X of the rotation, expressed in degrees, as follows: * IDI * [((1-2) X (1-IcosTi) OR l 90 (Equation 7) IDI being the length of the vector D and OR being the radius

du cerçle de référence.of the reference circle.

On notera que, avec des fonctions d'interpolations f(x) différentes, la formule permettant de calculer l'ampleur de la rotation sera différente si 1lon veut obtenir les  It will be noted that, with different interpolation functions f (x), the formula for calculating the magnitude of the rotation will be different if it is to obtain the

propriétés rotationnelles (1) et (2) précitées.  rotational properties (1) and (2) above.

Pour chaque vecteur D défini par les échantillons de deux positions successives du pointeur de souris que l'on a fait glisser, on calcule conformément aux équations (6) et.(7) un axe de rotation et l'ampleur de la rotation. Les données représentant l'objet affiché sont traitées de manière-à restituer la rotation, et l'affichage de l'objet est mis à  For each vector D defined by the samples of two successive positions of the mouse pointer that has been dragged, calculates according to equations (6) and (7) an axis of rotation and the magnitude of the rotation. The data representing the displayed object is processed in a way-to render the rotation, and the display of the object is set to

jour pour montrer la rotation.day to show the rotation.

Si l'on se réfère maintenant à la figure 7, on y a présenté un organigramme généralisé permettant de mettre en oeuvre la technique bidimensionnelle précitée de manipulation d'objets affichés en représentation tridimensionnelle. Dans un bloc fonctionnel 110, on détermine l'emplacement du pointeurt de souris que l'on fait glisser. L'axe de rotation A et l'ampleur * de la rotation sont, respectivement, calculés d'après les équations (5) et  Referring now to Figure 7, there is shown a generalized flow chart for implementing the aforementioned two-dimensional technique of manipulating objects displayed in three-dimensional representation. In a function block 110, the location of the mouse pointer that is dragged is determined. The axis of rotation A and the magnitude * of the rotation are, respectively, calculated from equations (5) and

(6) dans un bloc fonctionnel 120.(6) in a functional block 120.

Les données représentant l'objet à faire tourner sont traitées dans un bloc fonctionnel 130 de manière à prendre en compte la rotation, et l'objet que l'on a fait tourner est alors affiché sur l'afficheur vidéo dans un bloc  The data representing the object to be rotated is processed in a function block 130 so as to take account of the rotation, and the object which has been rotated is then displayed on the video display in a block.

fonctionnel 140.functional 140.

Si l'on se réfère maintenant à la figure 8, on y a représenté un organigramme plus détaillé des- fonctions exécutées dans les blocs fonctionnels 1-10 et 120 de la figure 7. Dans un bloc de décision 211, on détermine si le bouton de-la souris.-est ou non enfoncé. Dans la négative, on répète la détermination dans le bloc de décision 211. Si le bouton de la souris est enfoncé, on détermine dans un bloc de décision 213 si le bouton de la souris vient juste d'être enfoncé (c'est-à-dire si, avant la dernière détermination qui vient d'être effectuée, le bouton de la souris n'était -pas enfoncé). Si le bouton de la souris.vient juste d'être enfoncé, on donne alors à P, dans un bloc fonctionnel 215, la- valeur actuelle de l'emplacement du pointeur de souris échantillonné. Le traitement retourne alors au bloc de  Referring now to FIG. 8, there is shown a more detailed flowchart of functions executed in function blocks 1-10 and 120 of FIG. 7. In a decision block 211, it is determined whether the button of the mouse.-is or not depressed. If not, the determination is repeated in decision block 211. If the mouse button is pressed, a decision block 213 is determined whether the mouse button has just been pressed (that is, ie, before the last determination just made, the mouse button was not pressed). If the mouse button has just been depressed, then P, in a function block 215, is given the current value of the location of the sampled mouse pointer. The process then returns to the block of

décision 211.decision 211.

Si l'on ne venait pas- juste d'appuyer sur le bouton de la souris (c'està-dire s'il était enfoncé au moins depuis le dernier échantillonnage effectué), on donne -alors à Q, dans un bloc fonctionnel 217, la valeur actuelle de la position échantillonnée du pointeur de souris. Le traitement continue par le calcul, dans un bloc fonctionnel 219, des angles t et 0. Un tel calcul est aisé à effectuer, en fonction des positions des points P et Q. Dans un bloc fonctionnel 221, -on calcule le vecteur en faisant la différence entre le  If one did not just press the mouse button (that is, it was pressed at least since the last sampling), then Q is given in a function block 217. , the current value of the sampled position of the mouse pointer. The processing continues by calculating, in a function block 219, angles t and 0. Such a calculation is easy to perform, as a function of the positions of the points P and Q. In a functional block 221, the vector is calculated by making the difference between the

-vecteur P et le vecteur ô.-vector P and the vector ô.

Dans un bloc fonctionnel 223, on initialise l'origine du vecteur D suivant en affectant à P la-valeur actuelle de Q. Enfin on calcule dans le bloc fonctionnel 225, d'après les* équations -(6) et (7), l'axe de rotation et l'ampleur de la rotation. Au moyen, de techniques connues, on utilise les informations relatives à l'axe de rotation et à l'ampleur de la rotation pour mettre à jour l'affichage de l'objet, de manière à restituer la rotation. Par exemple, de nombreux systèmes utilisent une matrice de transformation pour cartographier des données objets de façon à afficher les données. Dans ce cas, cette matrice pourrait être modifiée de façon appropriée pour restituer la rotation, et la matrice transformée serait alors appliquée aux données objets pour déterminer les données affichées qui présentent  In a functional block 223, the origin of the next vector D is initialized by assigning P the current value of Q. Lastly, in the function block 225, according to the equations (6) and (7), the axis of rotation and the magnitude of the rotation. By means of known techniques, the information relating to the axis of rotation and the magnitude of the rotation is used to update the display of the object, so as to restore the rotation. For example, many systems use a transformation matrix to map object data to display the data. In this case, this matrix could be appropriately modified to restore the rotation, and the transformed matrix would then be applied to the object data to determine the displayed data which presents

la rotation.the rotation.

Une version simplifiée utilisant le cercle de référence consisterait à transformer le mouvement du pointeur de souris à l'intérieur du cercle de référence en une rotation autour d'un axe situé strictement dans le plan XY, le calcul étant effectué d'après l'équation (1) ci-dessus. Le mouvement de la souris sur le cercle de référence ou hors de celui-ci produirait alors une rotation autour de l'axe Z. Bien que cette technique simplifiée ne permette une rotation continue qu'autour d'axes quelconques situés dans le- plan  A simplified version using the reference circle would be to transform the movement of the mouse pointer within the reference circle into a rotation about an axis strictly in the XY plane, the calculation being done according to the equation (1) above. The movement of the mouse on or off the reference circle would then produce a rotation around the Z axis. Although this simplified technique allows continuous rotation only around any axes located in the plane

XY, elle permet d'avoir des calculs plus simples.  XY, it allows for simpler calculations.

Comme on l'a dit plus haut, la présente invention peut être utilisée avec une très grande variété de contrôleurs d'entrée 2D. Pour ceux de ces contrôleurs d'entrée o l'emplacement physique d'un pointeur physique n'identifie pas une position sur l'image affichée (par exemple dans le cas des souris ou des boules de commande 2D), il est commode d'afficher sur l'afficheur vidéo le cercle de référence et un pointeur. Cependant, en ce qui concerne les contrôleurs d'entrée 2D dans lesquels l'emplacement physique d'un pointeur physique identifie un emplacement sur l'image affichée (par exemple dans le cas des numériseurs ou des tablettes tactiles)., on pourrait porter le cercle de référence sur le contrôleur d'entrée, et l'on n'utiliserait pas le pointeur affiché. Par exemple, on pourrait réaliser le marquage d'un cercle de référence sur une tablette de numérisation, et les positions des points échantillonnés définis par: le mouvement du curseur du numériseur définiraient les vecteurs D. De la même façon, pour une tablette tactile, on marquerait le cercle de référence sur la tablette et les points échantillonnés du mouvement résultant de la pression de contact du doigt de l'utilisateur ou d'un stylet définiraient les vecteurs D. Essentiellement, l'invention décrite transforme le mouvement bidimensionnel appliqué à un contrôleur d'entrée 2D en des variables tridimensionnelles variant de façon continue, par exemple les trois composantes orthogonales d'un axe de rotation quelconque dans l'espace tridimensionnel. La technique que l'on a décrit permet, au moyen d'un contrôleur d'entrée 2D, de manipuler de façon directe et continue un objet affiché - en représentation tridimensionnelle. Plus précisément, cette technique permet d'avoir une excellente correspondance entre le mouvement du contrôleur d'entrée et la rotation résultante de l'objet. On peut aisément remarquer cette propriété lorsque, par exemple, le cercle de référence est un cercle de référence - affiché qui entoure l'objet affiché que l'on veut faire tourner. On superpose à l'objet à faire tourner un pointeur affiché, et le glissement du pointeur donne l'impression que l'on saisit l'objet et que l'on le fait tourner. Les avantages de la technique de l'invention- peuvent être également appréciés en imaginant que le cercle de. référence représente une sphère virtuelle qui entoure l'objet-affiché, la rotation étant produite en faisant tourner la sphère par le mouvement d'un contrôleur d'entrée ou un mouvement appliqué à un contrôleur d'entrée. En termes simples, on visualise ce que l'on fait. La technique que l'on décrit ici est très efficace et peut être aisément mise en oeuvre avec les contrôl61eurs d'entrée 2D existants.- Dans de nombreux systèmes installés, la technique décrite peut être mise en  As mentioned above, the present invention can be used with a very wide variety of 2D input controllers. For those of these input controllers where the physical location of a physical pointer does not identify a position on the displayed image (for example in the case of mouse or 2D control balls), it is convenient to display on the video display the reference circle and a pointer. However, for 2D input controllers in which the physical location of a physical pointer identifies a location on the displayed image (for example in the case of scanners or touch pads). reference circle on the input controller, and you would not use the displayed pointer. For example, it would be possible to mark a reference circle on a scanning tablet, and the positions of the sampled points defined by: the movement of the digitizer slider would define the vectors D. Similarly, for a touch pad, the reference circle on the tablet would be marked and the sampled points of the movement resulting from the contact pressure of the user's finger or a stylet would define the vectors D. Essentially, the described invention transforms the two-dimensional motion applied to a 2D input controller in three-dimensional variables continuously varying, for example the three orthogonal components of any axis of rotation in the three-dimensional space. The technique that has been described makes it possible, by means of a 2D input controller, to directly and continuously manipulate a displayed object - in three-dimensional representation. More precisely, this technique makes it possible to have an excellent correspondence between the movement of the input controller and the resulting rotation of the object. This property can easily be seen when, for example, the reference circle is a displayed reference circle that surrounds the displayed object that one wants to rotate. The object to be rotated is superimposed on a displayed pointer, and the movement of the pointer gives the impression that the object is grasped and rotated. The advantages of the technique of the invention can also be appreciated by imagining that the circle of. reference represents a virtual sphere that surrounds the displayed object, the rotation being produced by rotating the sphere by the motion of an input controller or a motion applied to an input controller. In simple terms, we visualize what we do. The technique described here is very efficient and can be easily implemented with existing 2D input controllers. In many systems installed, the described technique can be implemented.

oeuvre par installation d'un logiciel approprié.  implemented by installing appropriate software.

Comme indiqué plus haut, la technique décrite émule un contrôleur d'entrée 3D à boule de commande par utilisation d'un contrôleur d'entrée 2D. Le cercle de référence représente une vue en plan de la partie supérieure exposée de la boule de commande 3D. Déplacer le pointeur à l'intérieur du cercle de référence équivaut à faire rouler la boule de commande, tandis que déplacer le pointeur autour du périmètre du cercle de référence équivaut à faire pivoter  As noted above, the described technique emulates a 3D trackball input controller by using a 2D input controller. The reference circle represents a plan view of the exposed upper part of the 3D trackball. Moving the pointer inside the reference circle is like rolling the trackball, while moving the pointer around the perimeter of the reference circle is like rotating

la boule-de commande.the ball-command.

ère l'émulation d'une boute de commande 3D, la %. 'que de l'invention procure un certain nombre d'a.ntages par rapport à la boule de commande 3D. Il est difficile de faire rouler et pivoter en même temps une boule de commande 3D car l'hémisphère supérieur de la boule de commande ne peut pas être complètement exposé du fait que osn a nécessairement besoin de placer un capteur de rotation à l'"équateur" de la boule de commande. En outre, les trois capteurs de rotation d'une boule de commande 3D o10 sont placés orthogonalement les uns par rapport aux autres et doivent permettre un certain glissement lorsque la rotation.je la boule de commande n'est pas parallèle à la direction de roulement d'un des capteurs donnés. La conséquence de ce glissement est une réduction éventuelle de la précision de mesure de la rotation. En out,t. système de mesure de la rotation d'une boule de commande 3D comporte des éléments importants qui sont mobiles et -doivent rester alignés avec précision, et qui peuvent ne pas être  the emulation of a 3D control bottle, the%. The invention provides a number of features with respect to the 3D trackball. It is difficult to roll and rotate at the same time a 3D trackball because the upper hemisphere of the trackball can not be fully exposed because osn necessarily needs to place a rotation sensor at the "equator "from the trackball. In addition, the three rotation sensors of a 3D o10 trackball are orthogonally positioned relative to each other and must allow some slippage when the rotation.I the trackball is not parallel to the rolling direction of one of the given sensors. The consequence of this sliding is a possible reduction in the accuracy of measuring the rotation. In out, t. 3D ball track rotation measurement system includes important elements that are movable and-must remain accurately aligned, and that may not be

suffisamment robustes dans des environnements hostiles.  Robust enough in hostile environments.

Avec la technique bidimensionnelle décrite, on représente totalement l'hémisphère supérieur d'une boule de commande 3D, et il est possible de simuler en même temps le roulement et le pivotement. En.outre., comme le couplage mécanique est limité à deux dimensions, on réduit les impr - --s dues au glissement. Enfin, la technique bidimensio:. ê:ut être mise en oeuvre avec un nombre réduit d'éléments mobiles, ce  With the two-dimensional technique described, we fully represent the upper hemisphere of a 3D control ball, and it is possible to simulate at the same time the rolling and pivoting. In addition, since the mechanical coupling is limited to two dimensions, the printing due to slippage is reduced. Finally, the bidimensio technique: It can be implemented with a small number of moving parts,

qui procure une fiabilité et une robustesse accrues.  which provides increased reliability and robustness.

Claims (11)

REVENDICATIONS 1. Un procédé pour faire tourner un obje. affiché en représentation tridimensionnelle sur un système d'affi-._Ze vidéo. contrôlé par ordinateur comprenant un ordi:x5eur (11-17) et un afficheur vidéo (19), caractérisé en-ce qu'il comporte les étapes suivantes: - établissement d'un cercle de référence (C), - utilisation d'un contrôleur d'entrée. (15) actionné par l'utilisateur pour- positionner sélectivement un indicateur  1. A process for rotating an object. displayed in three-dimensional representation on a video display system. computer-controlled instrument comprising a computer (11-17) and a video display (19), characterized in that it comprises the following steps: - establishment of a reference circle (C), - use of a input controller. (15) actuated by the user to selectively position an indicator de référence (P, Q) reconnu par l'ordinateur, -  reference (P, Q) recognized by the computer, - - indication à l'ordinateur qu'il doit activer un mode de mouvement de contrôle, le mouvement de l'indicateur de référence en mode de mouvement de contrôle permettant de faire tourner l'objet affiché autour d'un axe déterminé par la direction du mouvement de contrôle de l'indicateur de référence et par la position- du mouvement de contrôle de l'indicateur de référence par rapport au cercle de référence, - en mode de mouvement de contrôle, - déplacement de l'indicateur de référence au moyen du contrôleur d'entrée, e. - rotation de i'objet affiché en- fonction du mouvement  indication to the computer that it must activate a control movement mode, the movement of the reference indicator in control movement mode making it possible to rotate the displayed object around an axis determined by the direction of the control movement. control movement of the reference indicator and by the position of the control movement of the reference indicator with respect to the reference circle, - in the control movement mode, - displacement of the reference indicator by means of the input controller, e. rotation of the displayed object according to the motion défini en mode de mouvement de- contrôle.  defined in control movement mode. 2. Le procédé de la revendication 1, dans lequel un mouvement de l'indicateur de référence sur le cercle de référence ou hors de celui-ci produit une rotation autour  The method of claim 1, wherein a movement of the reference indicator on or off the reference circle causes a rotation around it d'un axe (Z) orienté vers l'observateur.  an axis (Z) oriented towards the observer. , 3. Le procédé- de la revendication 1, dans lequel un mouvement de contrôlée de l'indicateur dé référence à l'intérieur du cercle de référence produit une rotation  3. The method of claim 1, wherein a controlled movement of the reference indicator within the reference circle produces a rotation. autour d'un axe quelconque de l'espace tridimensionnel.  around any axis of the three-dimensional space. 4. Le procédé de la revendication 1, dans lequel l'étape d'indication àl'ordinateur qu'il doit activer le mode de mouvement de contrôle comporte uné étape d'actionnement d'un contacteur. 5. Le procédé de la revendication 1, dans lequel le  4. The method of claim 1, wherein the step of indicating to the computer that it must activate the control movement mode comprises a step of actuating a contactor. 5. The process of claim 1, wherein the cercle de référence est affiché sur l'afficheur vidéo.  reference circle is displayed on the video display. Le procédé de la revendication 1, dans lequel le  The process of claim 1, wherein the e de référence est sur le contrôleur d'entrée.  e reference is on the input controller. 7. Le procédé de la revendication 1, dans lequel  7. The process of claim 1, wherein l'indicateur de référence est affiché,sur l'afficheur vidéo.  the reference indicator is displayed on the video display. 8. Le procédé de la revendication 1, dans lequel  The process of claim 1, wherein l'indicateur de référence est sur le contrôleur d'entrée.  the reference indicator is on the input controller. 9. Un procédé pour faire tourner un objet affiché en représentation tridimensionnelle sur un système d'affichage vidéo contrôlé par ordinateur comprenant un ordinateur (11-17) et un afficheur vidéo (19), procédé caractérisé en ce qu'il comporte les étapes suivantes: - affichage d'un cercle de référence (C) sur l'afficheur vidéo, - utilisation d'un organe de contrôle de pc::.- r (15) pour positionner sélectivement un pointeur (E. affiché sur l'afficheur vidéo, - indication à l'ordinateur qu'il doit activer un mode de mouvement de contrôle, le mouvement du pointeur affiché en mode de mouvement de contrôle permettant de faire tourner l'objet affiché autour d'un axe déterminé par la direction du mouvement de contrôle du pointeur et par la position du mouvement de contrôle du pointeur par rapport au cercle de référence, - en mode de mouvement de contrôle, déplacement du pointeur au moyen de l'organe de contrôle de pointeur, et - rotation de l'objet affiché en fonction du mouvement du  9. A method for rotating an object displayed in three-dimensional representation on a computer-controlled video display system comprising a computer (11-17) and a video display (19), characterized in that it comprises the following steps : - display of a reference circle (C) on the video display, - use of a pc control unit :: .- r (15) to selectively position a pointer (E. displayed on the video display , indication to the computer that it must activate a control movement mode, the movement of the pointer displayed in control movement mode making it possible to rotate the displayed object around an axis determined by the direction of the movement of control of the pointer and by the position of the control movement of the pointer relative to the reference circle, - in control movement mode, movement of the pointer by means of the pointer control member, and - rotation of the displayed object according to the movement of pointeur en mode de mouvement de contrôle.  pointer in control movement mode. 10. Le procédé de la revendication 9, dans lequel le  The process of claim 9, wherein the cercle de référence entoure l'objet affiché a 4 zre tourner.  circle of reference surrounds the object displayed at 4 zre turn. 11. Le procédé de la revendication 9, danE -quel un mouvement du pointeur sur le cercle de référence _u hors de celui-ci produit une rotation autour d'un axe (z) orienté vers l'observateur. - 12. Le procédé. de la revendication 9, dans lequel un mouvement de contrôle du pointeur à l'intérieur du cercle de référence produit une rotation autour d'un axe quelconque de  11. The method of claim 9, wherein a movement of the pointer on the reference circle out of it produces a rotation about an axis (z) oriented toward the observer. - 12. The process. of claim 9, wherein a control movement of the pointer within the reference circle produces a rotation about any axis of l'espace tridimensionnel.the three-dimensional space. 13. Le procédé de la r:. :aion 9, dans lequel l'étape d'indication à l'ordina,_-- qu'il doit activer le mode de mouvement de contrôle comoirte une étape d'actionnement d'un  13. The process of r :. 9, in which the step of indicating to the computer that it must activate the control movement mode comprises a step of actuating a contacteur. -contactor. - 14. le procédé de -la revendication 13, dans lequel  14. The process of claim 13, wherein l'organe de contrôle de pointeur (15) est une souris.  the pointer control member (15) is a mouse. 15. Le procédé' de la revendication 14, dans lequel le  15. The method of claim 14, wherein the contacteur se trouve sur la souris.contactor is on the mouse. Z L. e procédé de la revendication 14, dans lequel la  The method of claim 14, wherein the ctris ne comporte qu'un seul bouton.  It contains only one button.
FR898908836A 1988-07-29 1989-06-30 METHOD FOR ROTATING AN OBJECT DISPLAYED IN A 3D REPRESENTATION AROUND ANOTHER AXIS USING A 2D INPUT CONTROLLER SUCH AS A MOUSE Expired - Fee Related FR2634922B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US22597088A 1988-07-29 1988-07-29

Publications (2)

Publication Number Publication Date
FR2634922A1 true FR2634922A1 (en) 1990-02-02
FR2634922B1 FR2634922B1 (en) 1993-03-05

Family

ID=22847021

Family Applications (1)

Application Number Title Priority Date Filing Date
FR898908836A Expired - Fee Related FR2634922B1 (en) 1988-07-29 1989-06-30 METHOD FOR ROTATING AN OBJECT DISPLAYED IN A 3D REPRESENTATION AROUND ANOTHER AXIS USING A 2D INPUT CONTROLLER SUCH AS A MOUSE

Country Status (5)

Country Link
JP (1) JPH0269798A (en)
CA (1) CA1320283C (en)
DE (1) DE3921300A1 (en)
FR (1) FR2634922B1 (en)
GB (1) GB2221369B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2658935A1 (en) * 1990-02-28 1991-08-30 Hitachi Ltd System and process for displaying images
EP0559374A1 (en) * 1992-03-04 1993-09-08 International Business Machines Corporation Graphic display method and apparatus for rotating an object in a three-dimensional space
WO1995011480A1 (en) * 1993-10-21 1995-04-27 Taligent, Inc. Object-oriented graphic manipulation system

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926186A (en) * 1992-09-10 1999-07-20 Fujitsu Limited Graphic editing apparatus and method
GB2303282B (en) * 1992-09-10 1997-04-16 Fujitsu Ltd Graphic editing apparatus
GB2321169B (en) * 1993-12-02 1998-08-26 Fujitsu Ltd Graphic editing apparatus and method
JP4100195B2 (en) 2003-02-26 2008-06-11 ソニー株式会社 Three-dimensional object display processing apparatus, display processing method, and computer program
US9454834B2 (en) 2008-09-26 2016-09-27 Nintendo Co., Ltd. Storage medium storing image processing program for implementing controlled image display according to input coordinate, and information processing device
JP5328277B2 (en) * 2008-09-26 2013-10-30 任天堂株式会社 Image processing program and image processing apparatus
JP6360509B2 (en) * 2016-02-25 2018-07-18 任天堂株式会社 Information processing program, information processing system, information processing method, and information processing apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE MONTECH '87 - COMPINT '87 9 Novembre 1987, TORONTO, CA pages 118 - 120; M. CHEN ET AL.: 'A technique for specifying rotations in three dimensions using a 2D input device' *
WORKSHOP ON INTERACTIVE 3D GRAPHICS 23 Octobre 1986, CHAPEL HILL, US pages 175 - 182; G .M. NIELSON ET AL.: 'Direct manipulation techniques for 3D objects using 2D locator devices' *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2658935A1 (en) * 1990-02-28 1991-08-30 Hitachi Ltd System and process for displaying images
US5303337A (en) * 1990-02-28 1994-04-12 Hitachi, Ltd. Method and device for determining a viewing perspective for image production
EP0559374A1 (en) * 1992-03-04 1993-09-08 International Business Machines Corporation Graphic display method and apparatus for rotating an object in a three-dimensional space
WO1995011480A1 (en) * 1993-10-21 1995-04-27 Taligent, Inc. Object-oriented graphic manipulation system

Also Published As

Publication number Publication date
GB2221369B (en) 1992-10-14
CA1320283C (en) 1993-07-13
JPH0269798A (en) 1990-03-08
GB8905267D0 (en) 1989-04-19
GB2221369A (en) 1990-01-31
DE3921300A1 (en) 1990-02-01
FR2634922B1 (en) 1993-03-05

Similar Documents

Publication Publication Date Title
US5019809A (en) Two-dimensional emulation of three-dimensional trackball
US20120068927A1 (en) Computer input device enabling three degrees of freedom and related input and feedback methods
CA2557063C (en) Controller involving manipulation of virtual objects on a multi-contact touch screen
CN104902078B (en) The control method and system and mobile terminal of screen rotation in mobile terminal
US20080117168A1 (en) Method and apparatus for controlling application using motion of image pickup unit
US20180046363A1 (en) Digital Content View Control
FR2971066A1 (en) THREE-DIMENSIONAL MAN-MACHINE INTERFACE.
FR2634922A1 (en) METHOD FOR ROTATING AROUND AN AXIS OF AN OBJECT DISPLAYED IN 3D REPRESENTATION USING A 2D INPUT CONTROLLER SUCH AS A MOUSE
WO1999014709A1 (en) Computer input peripheral, with automatic switching between three-dimensional and two-dimensional operating mode, and its interaction method with a display screen
FR2744815A1 (en) METHOD AND APPARATUS FOR PROVIDING A DYNAMICALLY ORIENTED COMPASS CURSOR ON COMPUTER DISPLAYS
EP1807752B1 (en) Stand-alone device, system and method for navigating in a space having at least three dimensions
US20230196673A1 (en) Method and system for providing automated 3d modeling for xr online platform
FR3077130A1 (en) Device and method for measuring length
EP0588686B1 (en) Method for multimode gesture dialog in a virtual environment
Belleman Interactive exploration in virtual environments
JPH04257014A (en) Input device
EP3008547B1 (en) Device to analyse the movement of a mobile element and corresponding method
Zhang et al. Manual Preliminary Coarse Alignment of 3D Point Clouds in Virtual Reality
FR2680899A1 (en) Device for controlling the motion of a mobile body in a field of motion
FR2733069A1 (en) Mouse style peripheral device for computer
CN116645495A (en) Virtual cosmetic method, device and system
FR3121251A3 (en) Computerized virtual reality navigation method and system and computer program
Tulbert 31.4: Low Cost, Display‐Based, Photonic Touch Interface with Advanced Functionality
Aoki et al. Non-tactile Thumb Tip Measurement System for Encouraging Rehabilitation After Surgery
FR2712103A1 (en) Orientable mobile instrument for electromagnetic digitizer system

Legal Events

Date Code Title Description
ST Notification of lapse