FR2654530A1 - Procede et dispositif pour ameliorer la visualisation de mouvements a l'aide d'un curseur tridimensionnel sur l'ecran d'un systeme informatique interactif. - Google Patents
Procede et dispositif pour ameliorer la visualisation de mouvements a l'aide d'un curseur tridimensionnel sur l'ecran d'un systeme informatique interactif. Download PDFInfo
- Publication number
- FR2654530A1 FR2654530A1 FR9013988A FR9013988A FR2654530A1 FR 2654530 A1 FR2654530 A1 FR 2654530A1 FR 9013988 A FR9013988 A FR 9013988A FR 9013988 A FR9013988 A FR 9013988A FR 2654530 A1 FR2654530 A1 FR 2654530A1
- Authority
- FR
- France
- Prior art keywords
- shadow
- cursor
- vertices
- screen
- coordinated
- 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
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/08—Cursor circuits
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04812—Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/50—Lighting effects
- G06T15/60—Shadow generation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
Abstract
Un programme machine assure l'affichage d'une région d'ombre coordonnée en tant qu'élément de repérage à un curseur tridimensionnel. Un dispositif de commande sert à déplacer le curseur (2) suivant trois directions orthogonales (X, Y, Z) sur l'écran de visualisation (5), pendant qu'une région d'ombre (3) est visualisée sur un plan d'ombre (4) près du bord inférieur de l'écran. L'ombre (3) suit le mouvement du curseur (2). Le curseur tridimensionnel peut avoir des faces opaques ou translucides. La logique prévue pour le programme machine détermine quelles faces du curseur (2) projettent des ombres. La logique détecte également les situations où l'ombre n'est pas visible. L'invention est applicable en particulier à l'infographie interactive.
Description
Cette invention concerne les systèmes infor-
matiques possédant un curseur tridimensionnel affiché sur un visuel commandé par ordinateur Le domaine de l'invention est plus spécialement celui des systèmes informatiques interactifs possédant un curseur dépla-
çable sur un écran et capable de représenter des mouve-
ments suivant les trois directions dans l'espace.
Les visuels commandés par ordinateur sont utiles pour la représentation d'objets tridimensionnels 1 o ( 3 D) dans leurs relations spatiales suivant les trois directions Ceci est le cas surtout lorsque les objets
représentés sont déplaçables dans l'espace tridimension-
nel à l'aide d'un dispositif de commande de curseur.
Malheureusement, la modélisation d'un espace 3 D sur un
écran de visualisation (par exemple sur un écran catho-
dique d'ordinateur) est difficile puisque l'écran constitue seulement un plan bidimensionnel Dans l'art
antérieur, la limitation imposée par l'écran bidimen-
sionnel crée des images confuses lorsque l'utilisateur tente de déplacer un curseur dans l'espace Il n'est pas aisé de se rendre compte de la profondeur et de la hauteur des objets en l'absence d'un point de repère quelconque La relation d'un objet à un autre est également difficile à interpréter, surtout lorsque les objets sont déplacés dans l'espace Les techniques de modélisation tridimensionnelle de l'art antérieur n'utilisent pas la représentation d'ombres d'objets en combinaison avec un curseur possédant une région d'ombre coordonnée en tant que moyen pour aider l'utilisateur pour distinguer les mouvements et les positions des objets dans l'espace Ces problèmes ont jusqu'à présent constitué un obstacle à la prolifération de visuels
commandés par ordinateur en tant que moyen pour repré-
senter des espaces et la manipulation d'un curseur
suivant trois directions dans ces espaces.
La présente invention apporte un procédé et un dispositif pour faciliter le mouvement d'objets sur un écran de visualisation suivant les trois directions par
l'affichage d'une région d'ombre coordonnée à un cur-
seur La région d'ombre aide l'utilisateur pour qu'il se rende mieux compte des positions relatives et des mouvements d'objets dans l'espace La région d'ombre peut être considérée comme une surface représentant une "ombre tombante" puisque, dans le mode de réalisation préféré, cette région est représentée dans un plan
d'ombre situé en bas de l'écran de visualisation.
La présente invention apporte un système de
visualisation commandé par ordinateur, de type interac-
tif, comprenant un bus pour interconnecter les compo-
sants du système, à savoir un processeur, une mémoire à
accès sélectif, une mémoire morte, un support d'infor-
mation pour stocker des données, un visuel comportant un écran pour la visualisation de données, une unité d'entrée alphanumérique, un dispositif de commande de curseur pour positionner un curseur en mode interactif sur l'écran de visualisation, ainsi qu'un dispositif générateur de signaux Succinctement, l'invention procure un moyen et un procédé pour afficher une région d'ombre en combinaison avec un curseur tridimensionnel, région dans laquelle est représentée une ombre du
curseur dont la forme (et aussi la grandeur) et l'orien-
tation changent en fonction du mouvement tridimensionnel
du curseur.
Selon un mode de mise en oeuvre particulière-
ment avantageux de l'invention, un procédé pour com-
mander l'affichage d'une ombre coordonnée à un curseur dans un système de visualisation interactif, système qui est commandé par ordinateur et comprend un processeur,
un écran de visualisation de données connecté au proces-
seur et un dispositif de commande de curseur connecté au processeur pour le positionnement en mode interactif du curseur sur l'écran de visualisation, est caractérisé en ce qu'il comprend les étapes consistant à:
générer et afficher un curseur sur l'écran de visua-
lisation de données, la position du curseur étant fonction du mouvement suivant trois directions orthogonales du dispositif de commande de curseur, le curseur possédant au moins une arête; et à
générer et afficher une ombre sur l'écran de visua-
lisation de données, cette ombre étant coordonnée au curseur, l'ombre possédant une arête correspondant à une arête du curseur projetée sur un plan d'ombre
bidimensionnel suivant un vecteur lumière, la posi-
tion de l'ombre étant fonction du mouvement suivant les trois directions du dispositif de commande de
curseur.
Selon une autre caractéristique, le curseur possède une pluralité de sommets tridimensionnels coordonnés au curseur et l'étape de génération et d'affichage du curseur comprend: la préservation de données de curseur coordonnées au curseur, ces données comportant une position suivant
les trois directions pour chaque sommet de la plura-
lité de sommets tridimensionnels coordonnés au curseur; la transformation de la position suivant les trois
directions de la pluralité de sommets tridimension-
nels coordonnés au curseur en une nouvelle position basée sur le mouvement suivant les trois directions du dispositif de commande de curseur; et le traçage du curseur coordonné à la pluralité de sommets tridimensionnels sur l'écran de visualisation
de données.
Encore une autre caractéristique prévoit que
l'étape de génération et d'affichage de l'ombre com-
prend: la génération de sommets d'ombre par la transposition de la position suivant les trois directions de chaque sommet de la pluralité de sommets tridimensionnels
coordonnés au curseur sur un plan d'ombre bidimension-
nel, suivant le vecteur lumière, le plan d'ombre étant sensiblement perpendiculaire à l'axe vertical Y de l'espace tridimensionnel; et le traçage de l'ombre coordonnée aux sommets d'ombre
sur l'écran de visualisation de données.
Un mode de mise en oeuvre particulièrement avantageux prévoit que le système de visualisation
commandé par ordinateur comprend un support d'informa-
tion couplé au processeur et que le procédé comporte en outre une étape de préservation de données de curseur, 1-5 ou d'objet en général, qui comprend: le rappel, le traitement et le stockage de paramètres coordonnés à la pluralité de sommets tridimensionnels coordonnés au curseur, y compris la position et la configuration suivant les trois directions de ces sommets; le rappel, le traitement et le stockage de paramètres coordonnés aux faces associées à la pluralité de sommets tridimensionnels coordonnés au curseur; et le rappel, le traitement et le stockage de paramètres
coordonnés aux arêtes associées auxdites faces.
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 un curseur tridimension-
nel avec son ombre, tels qu'ils sont affichés sur un écran de visualisation après la mise en fonctionnement du système;
la figure 2 montre le curseur tridimension-
nel et son ombre avec indication de leurs sommets et des axes du système de coordonnées;
la figure 3 représente le curseur tridimen-
sionnel comme un objet en treillis, ainsi que son ombre; la figure 4 est une représentation de l'ombre dans le plan X-Z; la figure 5 est une représentation de l'ombre et du curseur dans le plan Y-Z;
les figures 6, 7, 8 et 9 sont des organi-
grammes d'un exemple du programme machine pour la mise en oeuvre du procédé selon l'invention;
la figure 10 montre schématiquement l'ar-
chitecture du système informatique; et la figure Il représente l'ombre et le curseur dans le plan Y-Z avec un décalage de la source lumineuse sous un angle par rapport à l'axe Y. La présente invention procure un dispositif et un procédé pour générer et afficher une région d'ombre coordonnée à un curseur tridimensionnel affiché sur un visuel La région d'ombre représente l'ombre du curseur 3 D et se déplace avec lui lorsque le curseur est déplacé
sur le visuel.
L'invention est mise en oeuvre de préférence
sur un système informatique "'Apple Macintosh -TM".
L'homme de métier comprendra cependant que l'on peut également utiliser d'autres systèmes Comme représenté sur la figure 10, un tel système comprend de manière générale un bus 100 pour la communication d'informations et auquel sont raccordés respectivement un processeur 101 pour traiter des informations, une mémoire à accès sélectif (RAM) 102 pour stocker des informations et des instructions pour le processeur 101, une mémoire morte (ROM) 103 pour stocker des informations statiques et des
instructions pour le processeur 101, un support d'in-
formation 104, constitué par exemple par un disque magnétique et une unité de disque, pour stocker des informations et des instructions, un visuel 105 pour présenter des informations à l'utilisateur du système informatique, une unité d'entrée alphanumérique 106 avec
des touches alphanumériques et de fonctions pour commu-
niquer des informations et des sélections de commande au processeur 101, un dispositif de commande de curseur 107 pour communiquer des informations et des sélections de commande au processeur 101, de même qu'un dispositif
générateur de signaux 108, servant également à communi-
quer des sélections de commande au processeur 101.
Le visuel peut être un afficheur à cristaux liquides, un tube cathodique ou tout autre dispositif de visualisation adéquat Ce visuel doit être capable d'afficher au moins des points et des vecteurs discrets visibles sur l'écran Des visuels plus sophistiqués peuvent présenter des régions de différentes couleurs ou nuances de gris sur l'écran. Le dispositif de commande de curseur 107 est un dispositif interactif à l'aide duquel l'utilisateur de l'ordinateur peut commander dynamiquement, par l'envoi de signaux adéquats, le mouvement suivant trois dimensions d'un objet visible sur un écran On connaît de nombreux dispositifs de commande pour un curseur tridimensionnel, notamment des dispositifs mécaniques à trois axes (par exemple sous la forme d'une boule roulante) et des systèmes tridimensionnels de détection et de positionnement à champ magnétique D'autres dispositifs de commande de curseur peuvent seulement produire des mouvements suivant deux directions Ces dispositf S de commande à deux directions, lorsqu'ils sont utilisés en combinaison avec un autre moyen de
commande capable d'envoyer des signaux adéquats, per-
mettent de fournir des signaux destinés à produire des mouvements suivant trois axes Cet autre moyen peut être constitué par le clavier alphanumérique 106 ou le dispositif générateur de signaux 108 par exemple Le clavier alphanumérique 106 pourrait d'ailleurs être utilisé lui-même pour produire des signaux de commande
de mouvements suivant trois axes Des touches particu-
lières pourraient être prévues sur le clavier pour émettre des signaux correspondant à des mouvements suivant chacun des trois axes orthogonaux d'un système de coordonnées Ces dispositifs de commande de curseur fournissent typiquement des données au processeur en
termes de mouvement de curseur suivant les trois direc-
tions X, Y et Z. Dans ce mode de mise en oeuvre préféré, les directions X, Y et Z sont définies comme suit: l'origine du système est l'angle inférieur gauche de l'écran de visualisation; X représente un axe orienté à angle droit à partir du côté gauche de l'écran vers le côté droit de celui-ci, parallèlement à la surface de l'écran; l'axe Y est orienté à angle droit depuis le bord inférieur de l'écran jusqu'au sommet de celuici, parallèlement à la surface de l'écran et perpendiculaire à l'axe X; l'axe Z est perpendiculaire à l'écran et s'étend depuis la surface de l'écran vers l'extérieur, directement vers l'observateur de l'écran, à angle droit par rapport aux axes X et Y.
Les particularités et les processus de forma-
tion de l'ombre du curseur tridimensionnel seront décrits ci-après dans le cadre d'un mode de mise en oeuvre préféré de l'invention Le fonctionnement général des dispositifs de commande de curseur ou des systèmes de visualisation sera décrit seulement dans la mesure nécessaire pour permettre une compréhension complète de la présente invention puisque ce fonctionnement est
connu à l'homme de métier.
L'ombre 3 du curseur 2 représenté sur l'écran 1 de la figure 1, est une image visualisée, coordonnée à un curseur tridimensionnel qui se déplace avec le
dispositif de commande de curseur 107 La forme bidimen-
sionnelle de l'ombre correspond à la forme tridimension-
nelle du curseur 2 Selon l'invention, le curseur 2 est représenté comme un objet tridimensionnel Un tel objet est un solide défini par des sommets occupant certaines positions dans un espace tridimensionnel et reliés entre eux par des arêtes droites Les arêtes délimitent des polygones définissant les faces du solide Pour chaque face polygonale, les arêtes qui la délimitent sont coplanaires; chaque face possède donc un vecteur normale à la face, qui est perpendiculaire à la face et à chacun des côtés ou arêtes qui la délimitent Chaque arête et chaque face peuvent avoir une couleur, une nuance de
gris ou une intensité de visualisation correspondante.
Chaque face peut être opaque ou translucide Ainsi que le montre la figure 2, un objet 2 délimité par des faces opaques, projette une ombre homogène 3 pour chacune des
faces opaques exposées à une source lumineuse 7 (repré-
sentée sur la figure 5) Un objet délimité par des faces translucides 32 projette une ombre 34 par ses arêtes seulement; ce type d'objet apparaît comme un solide en
treillis 32 tel que celui illustré sur la figure 3.
Le curseur-objet tridimensionnel peut être visualisé aussi comme un objet tridimensionnel 31 qui n'est pas un solide en ce sens qu'il ne possède pas de
faces ou une région interne Ce type d'objet est repré-
senté comme un groupe de vecteurs Exactement comme un objet sous forme d'un solide, un tel groupe de vecteurs se déplace en réaction au mouvement du dispositif de commande de curseur 107 Une croisée de fils 31, voir la figure 3, est un exemple d'un curseur-objet de type non-solide Un tel curseur-objet est montré ici comme un groupe tridimensionnel de points reliés entre eux par des vecteurs Il n'y a pas de polygones ou de faces correspondants Dans le cas d'une croisée de fils 31, l'objet peut être représenté par quatre points, deux pour chacun des vecteurs formant la croisée Si l'on désigne les points par des sommets et les vecteurs par des arêtes, un tel objet non-solide peut être visualisé d'une manière similaire à celle d'un objet sous forme d'un solide, sauf qu'il n'est pas nécessaire de traiter les faces Comme dans le cas de l'objet-solide, chaque arête (vecteur) peut avoir une couleur, nuance de gris ou intensité coordonnée Un objet non-solide projette
une ombre 33 par ses arêtes seulement.
Tout objet 3 D, dans le cadre de la présente invention, peut être représenté dans une structure de
données comme un ensemble de sommets, faces et arêtes.
La structure de données peut être stockée dans la
mémoire 102 de l'ordinateur, sur un support d'informa-
tion magnétique 104 ou dans un autre moyen adéquat de stockage de données Pour chacun des sommets de l'objet, la position du sommet suivant les axes X, Y et Z est conservée dans la structure de données Pour chacune des
faces de l'objet, les données préservées dans la struc-
ture de données d'objets comprennent, sans pour autant y être limitées, les informations suivantes: le nombre de
sommets de la face, le pointeur de chaque sommet coor-
donné, la couleur de la face, ainsi que la grandeur et la direction du vecteur normale à la face Pour chaque arête, les données conservées comprennent, sans pour autant y être limitées, les informations suivantes: le pointeur des sommets de début et de fin de 1 'arête, un pointeur des faces dont cette arête fait partie, ainsi que la couleur ou l'intensité de l'arête Pour un objet non-solide, on peut utiliser la même structure de données d'objets, sauf que l'objet a seulement des sommets et des arêtes, mais pas de faces Comme le curseur est un objet, des données d'objet relatives au curseur (données de curseur) sont également contenues
dans la structure de données d'objets.
Chaque objet et l'ombre de chaque objet sont présentés sur l'écran de visualisation 1 par rapport à une position de l'oeil 6 Cette position, voir les figures 4 et 5, est un point connu dans l'espace devant l'écran Il s'agit d'un point typique à partir duquel l'utilisateur observerait les images présentées Dans le mode de mise en oeuvre décrit ici, cette position est définie comme un point dans l'espace 3 D désigné par i(x, y, z), voir les figures 4 et 5 La position de l'oeil 6 n'est pas obligatoirement un point fixe On pourrait concevoir un mode de mise en oeuvre équivalent o cette position occuperait un autre point que celui illustré sur les figures 4 et 5 De plus, le mode de réalisation décrit ici est utilisable aussi pour des systèmes
utilisant une position variable de l'oeil.
Chaque image est présenté à l'utilisateur
comme une projection à partir d'un espace tridimension-
nel sur un plan d'écran bidimensionnel 5 Ce plan d'écran 5, formé typiquement par l'écran d'un visuel à tube cathodique, est perpendiculaire à l'axe Z, ainsi que le montrent les figures 4 et 5 La projection est utilisée pour déterminer le point dans le plan d'écran 5 o celui-ci est coupé par une ligne reliant chaque sommet de l'objet à la position de l'oeil 6 Par exemple, ainsi que le montre la figure 5, un point p se trouve à l'intersection d'une ligne Ai 51 avec le plan d'écran 5 La ligne Ah 53 relie le sommet d'objet A à l'origine (h) du système de coordonnées Le vecteur N 8 est le vecteur normale, perpendiculaire au plan d'écran La normale N est calculée en utilisant le produit cartésien de deux vecteurs unité distincts dans le plan
d'écran, selon une technique bien connue dans l'art.
L'emplacement du point d'intersection p du plan d'écran est déterminé d'abord par le calcul du produit scalaire du vecteur Ah 53 et du vecteur normale à l'écran N. Ensuite, le produit scalaire du vecteur Ai 51 et du vecteur normale à l'écran N est calculé Le produit scalaire pour Ah divisé par le produit scalaire pour Ai, est multiplié par les composantes X, Y du vecteur Ai et
ajouté aux composantes de coordonnées du sommet d'objet.
il Le résultat est le point p dans le plan d'écran 5 par lequel passe la ligne reliant le sommet d'objet à la position de l'oeil 6 La projection pour chaque sommet d'objet est calculée comme décrit à l'aide des formules suivantes pour le sommet de curseur A: p(x) = (produit scalaire (N, Ah) I produit scalaire (N, Ai)) * Ai(x) + A(x) p(y) = (produit scalaire (N, Ah) I produit scalaire (N, Ai)) * Ai(y) + A(y) p(z) = plan d'écran (z) La position de chacun des autres sommets d'objet, telle que projetée sur le plan d'écran 5, est
calculée de manière analogue et stockée dans la struc-
ture de données d'objets D'autres moyens existent pour projeter un sommet sur un plan Celui qui vient d'être décrit constitue seulement une méthode satisfaisante
utilisée pour le mode de mise en oeuvre décrit ici.
Le curseur 2 change de position et d'orienta-
tion sur l'écran de visualisation 1 en réaction au mouvement suivant les trois directions du dispositif de commande de curseur 107 Ce dispositif, connecté au processeur 101 via le bus 100, ainsi que le montre la figure 10, délivre des signaux au processeur 101 pour indiquer le mouvement du curseur 2 le long de chacun des trois axes X, Y et Z Ainsi qu'il a été mentionné précédemment, les signaux nécessaires pour produire le
mouvement dans l'espace du curseur 2 pourraient égale-
ment être produits et transmis selon d'autres méthodes.
Par exemple, un dispositif de commande de curseur suivant deux axes pourrait être utilisé en combinaison avec un autre moyen de transmission de signaux pour produire des signaux permettant des déplacements du curseur suivant trois axes De façon analogue, le clavier alphanumérique 106 pourrait être utilisé seul en
tant que dispositif de commande pour un curseur dépla-
çable suivant les trois directions dans l'espace La logique du processeur, décrite dans ce qui va suivre, applique le mouvement suivant trois axes aux sommets, faces et arêtes formant le curseur 2, calcule une nouvelle projection sur le plan d'écran 5 pour chaque sommet de curseur, génère l'ombre 3 associée au curseur 2 et calcule une nouvelle projection sur le plan d'écran pour chaque sommet d'ombre.
L'ombre 3 elle-même est une forme bidimension-
nelle qu i peut être présentée, soit comme un groupe de polygones (régions d'ombre), soit comme un groupe d'arêtes (arêtes d'ombre) La face opaque d'un objet projette un polygone d'ombre 3 Un objet 32 à faces translucides ou un objet non-solide 31 projette une ombre d'arêtes ( 33 et 34) L'ombre 3 est coordonnée au curseur-objet 2 en fonction des positions déterminées pour les sommets du curseur-objet tridimensionnel 2 et stockées dans la structure de données d'objets Les sommets du curseur 2 sont transposés au plan d'ombre bidimensionnel 4 pour former des sommets d'ombre Le plan d'ombre 4 tel que montré pour le mode de mise en oeuvre préféré, est perpendiculaire à l'axe Y et se
trouve près du bord inférieur de l'écran de visualisa-
tion 1, comme on peut le voir sur la figure 1 Le plan d'ombre 4 est conçu pour simuler une source lumineuse plane et infiniment grande, dont les rayons lumineux
sont parallélisés La source lumineuse est perpendicu-
laire à l'axe Y; ses rayons lumineux se propagent vers le bas parallèlement à l'axe Y Les sommets de l'ombre définissent la coordination entre la position de l'ombre 3 et la position du curseur 2 Le calcul des sommets de l'ombre, selon le mode de mise en oeuvre préféré, s'effectue selon les formules suivantes pour le sommet de curseur A: a(x) = A(x) a(y) = plan d'ombre (y) a(z) = A(z) Comme les sommets d'ombre (par exemple le
sommet a(x, y, z)) sont tirés des sommets du curseur-
objet (par exemple du sommet A(x, y, z)), ils se déplaceront conjointement avec le déplacement du curseur La position de chacun des sommets d'ombre est calculée et stockée dans la structure de données d'objets pendant le mouvement du curseur Pour des curseurs ou d'autres objets-solides, des pointeurs des
sommets d'ombre pour chaque face sont également con-
servés dans la structure de données d'objets.
Comme les objets, les ombres sont perçus par l'utilisateur comme une image projetée sur le plan
d'écran 5, ainsi que cela ressort des figures 4 et 5.
Les calculs nécessaires à cet effet sont identiques à ceux effectués pour la projection des sommets d'objet
(de curseur) sur le plan d'écran 5, décrite précédem-
ment La projection est utilisée dans ce cas aussi pour déterminer le point du plan d'écran 5 par lequel passe une ligne reliant chaque sommet d'ombre à la position de l'oeil 6 Par exemple, ainsi que le montre la figure 5, un point q est l'intersection avec le plan d'écran d'une
ligne reliant le sommet d'ombre a au point i correspon-
dant à la position de l'oeil Une ligne ah (invisible) relie le sommet d'ombre correspondant à l'origine (h) du système de coordonnées Comme déjà indiqué, le vecteur N 8 est un vecteur normale, perpendiculaire au plan d'écran 5 L'emplacement du point d'intersection q du plan d'écran est déterminé d'abord par le calcul du produit scalaire du vecteur ah et du vecteur normale à l'écran N Le produit scalaire du vecteur ai et du vecteur normale à l'écran N est calculé ensuite Le produit scalaire pour ah divisé par le produit scalaire pour ai, est multiplié par les composantes X, Y du vecteur ai et ajouté aux composantes de coordonnées du sommet d'ombre Le résultat est le point q dans le plan d'écran 5, o ce plan est coupé par la ligne reliant le
sommet d'ombre (a) à la position de l'oeil 6 La pro-
jection pour chaque sommet d'ombre est calculée comme décrit à l'aide des formules suivantes pour le sommet d'ombre (a): q(x) = (produit scalaire (N, ah) I produit scalaire (N, ai)> * ai(x) + a(x) q(y) = (produit scalaire (N, ah) I produit scalaire (N, ai)) * ai(y) + a(y) q(z) = plan d'écran (z) La position de chacun des autres sommets d'ombre, telle que projetée sur le plan d'écran 5, est calculée de façon semblable et stockée dans la structure
de données d'objets.
Le mouvement du curseur produira un mouvement correspondant des points de projection des sommets de
l'ombre sur le plan d'écran Pour des objets non-
solides, la génération de l'ombre est simplement une question de projection des sommets d'ombre sur le plan d'écran et de traçage de vecteurs entre ces points de
projection sur le plan d'écran.
Pour des objets-solides, notamment ceux ayant des faces opaques ou translucides, la génération d'une ombre n'est pas aussi simple En effet, les faces d'un solide ne projettent pas toutes une ombre et chaque arête de chaque face ne projette pas nécessairement une ombre distincte La présente invention apporte une logique de traitement pour déterminer quelles faces de l'objet-solide projettent des ombres et quelles faces ne font pas d'ombre Pour ces dernières faces, il n'est pas nécessaire de tracer l'image d'une ombre sur l'écran de visualisation, à la différence des faces projetant des ombres. Pour déterminer si une face fait une ombre ou non, on utilise le vecteur normale coordonné à chaque face On calcule le produit scalaire du vecteur normale à la face et d'un vecteur pointé directement vers la source lumineuse 7 Si le produit scalaire est positif, la face projettera une ombre Si le produit scalaire est nul, la face est parallèle à la source lumineuse 7, de sorte qu'il n'y a pas de projection d'ombre Si le produit scalaire est négatif, la face est cachée à la source lumineuse par une autre face (ceci est vrai seulement pour des solides fermés), si bien que, de
nouveau, il n'y a pas de projection d'ombre.
Le vecteur normale à la face est calculé à l'aide du produit cartésien de deux arêtes ou côtés de la face, comme dans l'exemple suivant pour la face CAD de la figure 5: vecteurs donnés: vl = vecteur (AC) et v 2 = vecteur (AD), de sorte que: vecteur normale pour la face CAD = produit cartésien (vl, v 2) Pour chaque face du solide, le vecteur normale est calculé et contrôlé à l'aide du produit scalaire, calculé à l'aide du vecteur lumière, ainsi qu'il a été décrit ci-dessus Si la face projette une ombre (parce que le produit scalaire est positif), l'image de l'ombre est tracée sur le plan d'image de la manière décrite ci-après. Comme les faces peuvent être opaques ou translucides, deux voies de traitement sont prévues pour optimiser le traçage des images d'ombres Pour des faces opaques du curseur 2, projetant de l'ombre, une région d'ombre opaque 3 sera produite Cette région d'ombre est affichée par suite du traçage d'un polygone opaque sur
le plan d'écran en utilisant les sommets d'ombre proje- tés coordonnés à cette face Les positions des sommets d'ombre projetés
avaient été calculées et stockées dans la structure de données d'objets de la manière décrite précédemment Ces sommets fournissent les angles de la région d'ombre dans le plan d'écran De nombreuses méthodes existent actuellement dans l'infographie pour
présenter des régions remplies sur un écran de visuali-
sation de cette manière.
Dans le cas des faces translucides 32 pro-
duisant une ombre, une région d'ombre translucide 34 est projetée Elle est dessinée sur l'écran de visualisation par le traçage des côtés de la face En utilisant les sommets d'ombre projetés coordonnés à la face, les côtés ou arêtes sont tracés sur le plan d'écran comme des vecteurs en utilisant les sommets d'ombre projetés en tant que points terminaux Comme chaque arête peut faire
partie de plus d'une face, le risque existe que cer-
taines arêtes soient tracées plusieurs fois Conformé-
ment à l'invention, cette possibilité est examinée et il est fait en sorte qu'une même arête ne puisse pas être tracée plus d'une fois Lors du traçage de chaque arête, un drapeau boléen (contenu dans la structure de données d'objets pour chaque arête) est mis à une valeur vraie, ce qui a pour effet d'inhiber le traçage consécutif de
la même arête.
Le curseur 2 selon la présente invention peut être activé à l'aide d'une touche de fonction ou d'un
générateur de signaux 108 coordonné au curseur tridi-
mensionnel L'ombre 3 est affichée automatiquement avec l'affichage du curseur 2 De nombreux autres moyens d'activation de fonction, tels que l'introduction d'un code ou d'une séquence de commandes spécial au moyen du clavier alphanumérique 106 ou une sélection d'icône, sont utilisables aussi Une icône est un petit symbole graphique présenté à l'utilisateur et identifiable comme exécutant une fonction quelconque lorsqu'elle est sélectée Le système selon l'invention peut être activé aussi à l'aide d'une interface de logiciel avec le logiciel du système d'exploitation de l'ordinateur ou d'un autre logiciel d'application En utilisant cette méthode, l'activation du curseur 3 D et de l'ombre coordonnée peut être indépendante d'une action directe
de l'utilisateur.
A l'activation, le curseur tridimensionnel 2
est présenté à l'utilisateur sur l'écran de visualisa-
tion 1 ainsi que le montre la figure 2 L'ombre 3 du curseur 2 est affichée en même temps sur le plan d'ombre 4 La forme et l'orientation de l'ombre 3 correspondent à la forme et l'orientation du curseur tridimensionnel 2, comme décrit précédemment Lorsque le dispositif de commande de curseur 107 est animé d'un mouvement, le curseur 2 et son ombre 3 se déplacent en conséquence Le curseur 2 est autorisé à se déplacer au-delà de la partie visible de l'écran 1 Si le curseur est au- dessus du bord supérieur de l'écran, il peut disparaître, mais son ombre 3 continue d'être affichée Si le curseur est caché derrière un autre objet visualisé sur l'écran 1, son ombre 3 peut rester visible Si le curseur 2 est descendu au-dessous du plan d'ombre 4, il peut continuer
à être affiché, mais son ombre ne l'est plus.
L'ombre 3 est affichée afin de faciliter le
mouvement du curseur 2 dans l'espace tridimensinnel.
L'utilisateur est mieux en mesure d'évaluer la hauteur
et la distance lorsque le curseur 2 est perçu en rela-
tion avec son ombre 3 Dans le mode de réalisation préféré, l'ombre 3 paraît tomber directement sous le curseur 2 (ce qui provient de ce que les coordonnées X et Z des sommets d'ombre sont dérivées directement des coordonnées X et Z des sommets du curseur) Dans des variantes de réalisation, les sommets d'ombre peuvent être définis indirectement à partir des sommets du curseur, de manière que l'ombre soit projetée sous un angle 111 (voir figure 11) à partir du curseur, au lieu d'être projetée directement sous lui L'obliquité peut être prévue par rapport à l'un des axes X et Y ou par rapport aux deux Par exemple, à supposer qu'une source lumineuse 7 comme celle représentée sur la figure 11 émet des rayons parallèles 110 (vecteurs lumière), un sommet de l'ombre peut être calculé en prolongeant l'un des rayons 110 venant de la source lumineuse au-delà du sommet correspondant du curseur, jusqu'à ce que le rayon coupe le plan d'ombre 4. La présente invention apporte également une logique à programme machine pour l'utilisation du curseur 3 D et de son ombre Cette logique, exécutée par le processeur 101, est décrite dans ce qui va suivre en référence aux figures 6 à 9 En plus des ressources d'ordinateur décrites précédemment, l'application de
l'invention demande la présence d'un système d'exploi-
tation et de fonctions de système permettant typiquement l'affichage de vecteurs sur le visuel 105 Des fonctions
système pour l'interfaçage avec le dispositif de com-
mande curseur 107 sont également souhaitables, mais non indispensables Ces ressources peuvent être constituées par des composants standards de traitement connus dans
le domaine informatique.
A la première mise sous tension des composants du système selon l'invention, la logique du système d'exploitation (résidant typiquement dans la mémoire morte 103 et exécutée par le processeur 101) prend en charge la gestion et initialise les autres composants du système, tels que la mémoire lecture/écriture 102, le
visuel 105 et le dispositif de commande de curseur 107.
A la fin de son cycle d'initialisation ou en réponse à une commande de l'utilisateur, le système d'exploitation peut déclencher le fonctionnement du curseur 3 D Si le déclenchement est produit par l'enfoncement d'une touche de fonction par l'utilisateur, la logique pour le programme du curseur 3 D commence l'exécution au moment
de l'actionnement de la touche de fonction appropriée.
Ainsi qu'il a déjà été mentionné, d'autres moyens pour
activer le curseur tridimensionnel existent également.
Une fois que la logique du programme curseur a été activée, le processus de traitement commence, comme représenté sur la figure 6, au pavé 601 désigné par
"démarrer curseur 3 D et système d'ombre" Pour commen-
cer, l'équipement du système de visualisation est intialisé, en 602 Les actions suivantes effectuées par la logique à programme, produisent l'affichage de tous les objets prédéfinis dans la structure de données d'objets Cette structure contient les données relatives à la définition (par les sommets, faces et arêtes) de tous les objets susceptibles d'être présentés à ce moment dans l'espace tridimensionnel L'un de ces objets
est le curseur.
La logique à programme commence une boucle au pavé 603 de la figure 6 Cette boucle initialise une mémoire de nouvelle image, actualise la position des objets dans la structure de données d'objets et affiche l'ombre pour chaque objet lorsque le dispositif de commande du curseur est animé d'un mouvement D'abord, 2 N la mémoire de nouvelle image est effacée en 603 Il s'agit d'une mémoire tampon temporaire o est construite la nouvelle image à présenter sur l'écran Chaque objet à afficher sur l'écran, est ajouté à la mémoire nouvelle image lorsque le traitement pour l'objet en question est
terminé Quand la nouvelle image est construite complè-
tement, le contenu de la mémoire de nouvelle image est reproduit dans la mémoire de l'écran de visualisation, de sorte que celui-ci montre la nouvelle image Après que la mémoire de nouvelle image est effacée en 603, le plan d'ombre 4, voir figure 2, est tracé dans la mémoire de nouvelle image, en 610 Ensuite, un pointeur est initialisé pour indiquer le sommet de la structure de données d'objets, en 611 Chaque objet est extrait de la structure de données d'objets, 604, jusqu'à ce qu'il n'y ait plus d'objets à traiter, 605 Lorsque tous les objets ont été ajoutés à la mémoire de nouvelle image
607, la gestion de l'exécution du programme est trans-
f érée à D sur la figure 6 En D, le contenu de la mémoire de nouvelle image est reproduit dans la mémoire de l'écran de visualisation, en 613 L'image dans la mémoire de l'écran de visualisation est présentée
ensuite sur l'écran 612, et la boucle pour la représen-
tation d'objets recommence au pavé 603 Lorsqu'un autre objet est trouvé dans la structure de données d'objets,
606, l'objet est extrait, 604, et la commande du proces-
seur est transférée à A sur la figure 7.
Au départ de A sur la figure 7, un drapeau boléen appelé "drapeau Montrer Ombre" est initialement mis sur faux, 719 Le drapeau Montrer Ombre indique si
l'ombre pour l'objet en cours doit être affichée ou non.
Ensuite, une nouvelle matrice de transformation est
générée en 701 La génération d'une matrice de trans-
formation est un processus bien connu dans l'art anté-
rieur La matrice définit ici le mouvement du dispositif de commande de curseur suivant chacun des trois axes X, Y et Z Ce mouvement est appliqué à chacun des sommets de la structure de données d'objets dans le bloc de traitement suivant 702 Lorsque la nouvelle position suivant les trois directions est calculée pour chaque sommet, la composante Y de la position est vérifiée avec la position Y du plan d'ombre Si un sommet quelconque de l'objet est situé au-dessus du plan d'ombre, 703, l'ombre pour l'objet est signalée pour être affichée du fait que le drapeau boléen Montrer Ombre est mis sur vrai, 704; dans le cas contraire, l'ombre ne sera pas affichée (le drapeau Montrer Ombre est laissé sur faux, 711) Pour chaque sommet, la position du sommet suivant les trois directions est transposée au plan d'ombre, 705, et projetée sur le plan d'écran pour l'affichage, 706 La transposition au plan d'ombre, 705, est réalisée par l'application de la valeur de position des sommets suivant la coordonnée Y au plan d'ombre, comme indiqué par les lignes en tireté Aa, Bb, Cd et Dd ( 35) sur la figure 5 Si nécessaire, un angle 111 est appliqué pour tenir compte d'une source lumineuse déportée, comme illustré sur la figure 11 La projection sur le plan d'écran, 706, est effectuée par le calcul de la position du point d'intersection dans le plan d'écran 5 avec un vecteur reliant le sommet d'objet à la position de l'oeil 6, comme décrit précédemment La projection de chaque sommet au plan d'écran est calculée à la fois pour l'objet lui-même (c'est-à-dire pour chaque sommet d'objet), 706, et pour l'ombre de l'objet (c'est-à- dire pour chaque sommet d'ombre), 707 Sur la figure 5, les points de projection sur l'écran des sommets du curseur sont désignés par m, n, o et p, tandis que les points de projection sur l'écran des sommets de l'ombre du curseur sont désignés par q, r, S et t Après la projection des sommets de l'objet et de l'ombre sur le plan d'écran, l'exécution du programme se reboucle pour le traitement du sommet d'objet suivant, jusqu'à ce que tous les
sommets de l'objet aient été traités, 708 Si la posi-
tion de l'oeil 6 se trouve sous le plan d'ombre, 709, le drapeau Montrer Ombre est mis sur faux, 717, puisque
l'ombre n'est pas visible à partir d'un point se trou-
vant sous le plan d'ombre Si la position de l'oeil est au-dessus du plan d'ombre, 717, le drapeau Montrer Ombre est laissé tel qu'il avait été mis Le traitement se poursuit en B sur la figure 8 pour les faces et les
arêtes de l'objet.
Les faces de chaque objet sont traitées de la manière montrée par la figure B S'il s'agit d'un objet non-solide, 805, il n'y a pas de faces, de sorte que le traitement passe à C sur la figure 9 S'agissant d'un solide, du fait que chaque face de l'objet ne projette pas nécessairement une ombre, la boucle de traitement de B à C est exécutée pour chacune des faces d'objet définies dans la structure de données d'objets Cette boucle est utilisée pour déterminer quelles faces sont visibles à partir de la position de l'oeil et quelles faces projettent des régions d'ombre sur le plan d'ombre Pour commencer, chaque face de l'objet en cours est extraite de la structure de données d'objets, 801. Ensuite, le vecteur normale est calculé pour la face, 802 Cela s'effectue à l'aide du produit cartésien de
deux des arêtes de la face, comme décrit précédemment.
Le produit cartésien donne un vecteur normale, perpen-
diculaire à la face Ce vecteur normale à la face est utilisé d'abord pour déterminer si la face est visible à partir de la position de l'oeil, 810 Ensuite, il est utilisé pour calculer le produit scalaire du vecteur normale à la face et du négatif du vecteur pointant directement dans le sens de l'éloignement de la position de l'oeil 6 Si ce produit est supérieur à zéro, 811, la face est visible Dans ce cas, la face est tracée dans la nouvelle image, 813 Si la face n'est pas visible,
812, elle n'est pas tracée dans la nouvelle image.
La face de l'ombre est traitée ensuite Si le drapeau Montrer Ombre est vrai, 815, le traitement pour la face d'ombre se poursuit en E sur la figure 8 Si le drapeau Montrer Ombre est faux, 816, la gestion de l'exécution passe au traitement pour la nouvelle face en B sur la figure B Pour le traitement d'ombre en E sur la figure 8, le vecteur normale à la face est utilisé pour calculer le produit scalaire, 803, du vecteur normale à la face et du négatif du vecteur pointant directement dans le sens de l'éloignement de la source lumineuse 110 Si ce produit est supérieur à zéro, 807, la face projette une ombre Dans ce cas, la région d'ombre pour cette face est tracée dans la nouvelle image à présenter, 804 Ce traçage s'effectue à l'aide des sommets d'ombre projetés sur l'écran pour cette face, lesquels ont été calculés plus tôt La couleur ou l'intensité de la région d'ombre est prédéfinie dans la 1 f structure de données d'objets Les régions d'ombre pour des faces à produits scalaires nuls ou négatifs, d'après les calculs effectués précédemment, 806, ne sont pas tracées Lorsque chacune des faces a été traitée, & 09, le traitement des arêtes commence en C sur la figure 9. Les arêtes de chaque objet demandent un
traitement séparé, ainsi que le montre la figure 9.
Comme décrit précédemment, il y a au moins deux types d'objets: des solides et des non-solides De plus, il y a au moins deux types d'objetssolides: ceux ayant des faces opaques et ceux ayant des faces translucides Pour
les objets-solides à faces opaques, il n'est pas néces-
saire de tracer les ombres des arêtes puisque ces ombres sont dessinées par les régions d'ombre colorées ou ombrées Dans ce cas, 906, l'exécution du programme
retourne à D sur la figure 6 Pour des objets non-
solides ou pour des objets-solides ayant des faces translucides, les ombres des arêtes doivent être tracées
sinon l'ombre de l'objet ne serait pas visible, 907.
Donc, une boucle est déclenchée pour chaque arête de l'objet définie dans la structure de données d'objets, 902, comme représenté sur la figure 9 A mesure que chaque arête est extraite de la structure de données d'objets, elle est tracée dans la nouvelle image à présenter, 912 Si le drapeau Montrer Ombre est à vrai, 909, l'ombre de l'arête est tracée également dans l'image à présenter, 904 Ce traçage s'effectue à l'aide
des sommets d'ombre projetés calculés précédemment.
Lorsque chaque arête a été traitée, 910, l'exécution du programme retourne à D sur la figure 6, o le cycle de
traitement d'objets recommence pour une nouvelle posi-
tion du curseur.
Bien que l'invention ait été décrite et représentée en référence à un mode de mise en oeuvre particulier, elle n'y est nullement limitée, bien entendu.
Claims (27)
1 Procédé pour commander l'affichage d'une ombre ( 3) coordonnée à un curseur ( 2) dans un système de visualisation interactif commandé par ordinateur et possédant un processeur ( 101), un écran de visualisation de données ( 105) connecté au processeur et un dispositif de commande de curseur ( 107) connecté au processeur pour le positionnement en mode interactif du curseur ( 2) sur l'écran de visualisation ( 105), caractérisé en ce qu'il comprend les étapes consistant à: générer et afficher un curseur ( 2) sur l'écran de visualisation de données ( 105), la position du curseur étant fonction du mouvement suivant trois directions orthogonales du dispositif de commande de curseur ( 107), le curseur possédant au moins une arête (AB); et à générer et afficher une ombre ( 3) sur l'écran de visualisation de données ( 105), cette ombre étant coordonnée au curseur ( 2), l'ombre possédant une arête (ab) correspondant à une arête (AB) du curseur projetée sur un plan d'ombre ( 4) bidimensionnel suivant un vecteur lumière (Y), la position de l'ombre ( 3) étant fonction du mouvement suivant les trois directions du dispositif de commande de curseur
( 107).
2 Procédé selon la revendication 1, dans lequel
le curseur possède une pluralité de sommets tridimension-
nels (A, B, C, D) coordonnés à ce curseur, et dans lequel l'étape consistant à générer et afficher le curseur ( 2) comprend: la préservation de données de curseur coordonnées au curseur ( 2), ces données comportant une position suivant les trois directions pour chaque sommet de la pluralité de sommets tridimensionnels coordonnés au curseur; la transformation de la position suivant les trois
directions de la pluralité de sommets tridimension-
nels coordonnés au curseur ( 2) en une nouvelle position basée sur le mouvement suivant les trois directions du dispositif de commande de curseur ( 107); et le traçage du curseur coordonné à la pluralité de sommets tridimensionnels sur l'écran de visualisation
de données ( 105).
3 Procédé selon la revendication 1, dans lequel
le curseur possède une pluralité de sommets tridimension-
nels (A, B, C, D), et dans lequel l'étape consistant à générer et afficher l'ombre ( 3) comprend: la génération de sommets d'ombre (a, b, c, d) par la transposition de la position suivant les trois directions de chaque sommet de la pluralité de sommets tridimensionnels (A, B, C, D) coordonnés au curseur ( 2) sur un plan d'ombre bidimensionnel ( 4), suivant le vecteur lumière, le plan d'ombre ( 4) étant sensiblement perpendiculaire à l'axe vertical (Y) de l'espace tridimensionnel; et le traçage de l'ombre ( 3) coordonnée aux sommets d'ombre (a, b, c, d) sur l'écran de visualisation de
données ( 105).
4 Procédé selon la revendication 2, dans lequel le système de visualisation commandé par ordinateur possède en outre un support d'information ( 104) connecté au processeur ( 101), le procédé comprenant en outre une étape de préservation de données de curseur, étape qui comprend: le rappel, le traitement et le stockage de paramètre coordonnés à la pluralité de sommets tridimensionnels (A, B, C, D) coordonnés au curseur ( 2), y compris la position et la configuration suivant les trois directions de ces sommets; le rappel, le traitement et le stockage de paramètres coordonnés aux faces associées à la pluralité de sommets tridimensionnels (A, B, C, D) coordonnés au curseur ( 2); et le rappel, le traitement et le stockage de paramètre
coordonnés aux arêtes associées auxdites faces.
Procédé selon la revendication 2, dans lequel la forme et l'orientation du curseur ( 2) sont fonction du mouvement suivant les trois directions du dispositif de commande de curseur ( 107), dans lequel la forme et l'orientation de l'ombre ( 3) sont fonction du mouvement suivant les trois directions du dispositif de commande de curseur ( 107) et dans lequel l'étape consistant à tracer le curseur comprend:
la projection de la pluralité de sommets tridimension-
nels (A, B, C, D) coordonnés au curseur ( 2) sur un plan d'écran bidimensionnel ( 5), ce plan d'écran étant sensiblement perpendiculaire au vecteur normale associé à l'écran de visualisation de données ( 105); le traçage sur l'écran des faces associées aux sommets de curseur projetés (m, n, o, p) sur l'écran de visualisation de données; et le traçage sur l'écran des arêtes associées à ces
sommets de curseur projetés sur l'écran de visualisa-
tion.
6 Procédé selon la revendication 5, dans lequel l'étape consistant à tracer les faces associées au
curseur ( 2) comprend le traçage sur l'écran de visuali-
sation de données ( 105) des faces opaques associées à la pluralité de sommets tridimensionnels (A, B, C, D)
coordonnés au curseur ( 2).
7 Procédé selon la revendication 5, dans lequel l'étape consistant à tracer les faces associées au curseur ( 2) comprend le traçage des arêtes associées à
ces faces sur l'écran de visualisation de données ( 105).
S Procédé selon la revendication 3, dans lequel l'étape consistant à tracer l'ombre ( 3) comprend: la projection des sommets d'ombre (a, b, c, d) sur un plan d'écran bidimensionnel ( 5), ce plan d'écran étant sensiblement perpendiculaire au vecteur normale associé à l'écran de visualisation de données ( 105); le calcul d'un vecteur normale pour chacune des faces associées au curseur ( 2); le traçage de régions d'ombre associées aux sommets
d'ombre projetés (q, r, s, t) sur l'écran de visua-
lisation de données ( 105) si aucune composante du vecteur normale pour chacune des faces associées au curseur ( 2) n'est parallèle au vecteur lumière et pointée vers le plan d'ombre ( 4); et le traçage sur l'écran des arêtes d'ombre associées
aux sommets d'ombre projetés (q, r, s, t).
9 Procédé selon la revendication 8, dans lequel
l'étape consistant à tracer les régions d'ombre asso-
ciées à l'ombre ( 3), comprend le traçage sur l'écran de régions d'ombre opaques associées aux sommets d'ombre projetés (q, r, s, t) sur l'écran de visualisation de
données ( 105).
Procédé selon la revendication 8, dans lequel
l'étape consistant à tracer les régions d'ombre asso-
ciées à l'ombre ( 3), comprend le traçage des arêtes d'ombre associées aux régions d'ombre sur l'écran de visualisation de données, de manière que chacune des arêtes d'ombre, dans la mesure o elle est tracée, soit
seulement tracée une fois.
11 Procédé selon la revendication 1, dans lequel l'ombre ( 3) n'est pas affichée si le curseur ( 2) est
déplacé sous le plan d'ombre ( 4).
12 Procédé selon la revendication 1, dans lequel l'ombre ( 3) continue à être affichée, même si le curseur
( 2) n'est pas visible sur l'écran de visualisation.
13 Système de visualisation interactif commandé par ordinateur, possédant un processeur ( 101), un écran
de visualisation de données ( 105) connecté au proces-
seur, ainsi qu'un dispositif de commande de curseur ( 107) connecté au processeur pour le positionnement en mode interactif d'un curseur possédant au moins une arête sur l'écran de visualisation, notamment pour la mise en oeuvre du procédé selon l'une quelconque des
revendications 1 à 12, caractérisé en ce qu'il comprend
en outre: un moyen pour générer et afficher le curseur ( 2) sur l'écran de visusalisation de données ( 105), la position du curseur étant fonction du mouvement suivant trois directions orthogonales du dispositif de commande de curseur ( 107), le moyen pour générer et afficher le curseur étant connecté au processeur ( 101); et un moyen pour générer et afficher une ombre ( 3) sur l'écran de visualisation de données ( 105), cette ombre étant associée au curseur ( 2) et possédant une arête (ab) correspondant à une arête (AB) du curseur et projetée sur un plan d'ombre bidimensionnel ( 4) suivant un vecteur lumière (Y), la position de l'ombre ( 3) étant fonction du mouvement suivant les trois directions du dispositif de commande de curseur ( 107), le moyen pour générer et afficher l'ombre
étant connecté au processeur ( 101).
14 Système selon la revendication 13, dans lequel
le curseur ( 2) possède une pluralité de sommets tridimen-
sionnels (A, B, C, D) et dans lequel le moyen pour générer et afficher le curseur comprend: un moyen pour la préservation de données de curseur coordonnées au curseur ( 2), ces données comportant une position suivant les trois directions pour chaque sommet de la pluralité de sommets tridimensionnels (A, B, C, D) coordonnés au curseur ( 2); un moyen pour transformer la position suivant les
trois directions de la pluralité de sommets tridimen-
sionnels coordonnés au curseur en une nouvelle position basée sur le mouvement suivant les trois directions du dispositif de commande de curseur ( 107); et un moyen pour tracer le curseur ( 2) coordonné à la pluralité de sommets tridimensionnels sur l'écran de
visualisation de données ( 105).
15 Système selon la revendication 13, dans lequel
le curseur ( 2) possède une pluralité de sommets tridimen-
sionnels (A, B, C, D) et dans lequel le moyen pour générer et afficher l'ombre ( 3) comprend: un moyen pour générer des sommets d'ombre (a, b, c, d) par la transposition d'une position suivant les trois directions pour chaque sommet d'une pluralité de sommets tridimensionnels (A, B, C, D) coordonnés au curseur ( 2) sur un plan d'ombre bidimensionnel ( 4) suivant le vecteur lumière, le plan d'ombre ( 4) étant sensiblement perpendiculaire à l'axe vertical (Y) de l'espace tridimensionnel; et un moyen pour afficher des régions d'ombre associées aux sommets d'ombre sur l'écran de visualisation de
données ( 105).
16 Système selon la revendication 14, comprenant en outre un support d'information ( 104) connecté au processeur ( 101), le moyen de préservation de données de curseur coordonnées au curseur ( 2) comprenant: un moyen de rappel, de traitement et de stockage de paramètres coordonnés à la pluralité de sommets tridimensionnels (A, B, C, D) coordonnés au curseur ( 2), y compris la position et la configuration suivant les trois directions de ces sommets; un moyen de rappel, de traitement et de stockage de paramètres coordonnés aux faces associées à la pluralité de sommets tridimensionnels (A, B, C, D) coordonnés au curseur ( 2); et un moyen de rappel, de traitement et de stockage de paramètres coordonnés aux arêtes associées auxdites faces. 17 Système selon la revendication 14, dans lequel le moyen pour tracer le curseur ( 2) comprend: un moyen pour la projection de la pluralité de sommets tridimensionnels (A, B, C, D) coordonnés au curseur ( 2) sur un plan d'écran bidimensionnel ( 5), ce plan d'écran étant sensiblement perpendiculaire au
vecteur normale (N) associé à l'écran de visualisa-
tion de données ( 105); un moyen pour le traçage sur l'écran des faces associées aux sommets du curseur projetés (m, n, o, p) sur l'écran de visualisation de données; et un moyen pour le traçage sur l'écran des arêtes associées à ces sommets de curseur projetés sur
l'écran de visualisation.
18 Système selon la revendication 17, dans lequel le moyen pour tracer les faces associées au curseur
comprend un moyen pour tracer sur l'écran de visualisa-
tion de données ( 105) les faces opaques associées à la pluralité de sommets tridimensionnels (A, B, C, D)
coordonnés au curseur ( 2).
19 Système selon la revendication 17, dans lequel le moyen pour tracer les faces associées au curseur ( 2) comprend un moyen pour tracer les arêtes associées auxdites faces sur l'écran de visualisation de données
( 105).
Système selon la revendication 15, dans lequel le moyen pour afficher les régions d'ombre comprend: un moyen de projection des sommets d'ombre (a, b, c, d) sur un plan d'écran bidimensionnel ( 5), ce plan d'écran étant sensiblement perpendiculaire au vecteur normale (N) associé à l'écran de visualisation de données ( 105); un moyen de calcul d'un vecteur normale pour chacune des faces associées au curseur ( 2); un moyen de traçage sur l'écran de régions d'ombre associées aux sommets d'ombre projetés (q, r, s, t) sur l'écran de visualisation de données ( 105) si aucune composante du vecteur normale pour chacune des faces associées au curseur ( 2) n'est parallèle au vecteur lumière et pointée vers le plan d'ombre ( 4); et un moyen de traçage sur l'écran des arêtes d'ombre
associées aux sommets d'ombre projetés (g, r, s, t).
21 Système selon la revendication 20, dans lequel le moyen pour tracer les régions d'ombre associées à l'ombre ( 3), comprend un moyen pour tracer sur l'écran les régions d'ombre opaques associées aux sommets
d'ombre projetés (q, r, s, t) sur l'écran de visualisa-
tion de données ( 105).
22 Système selon la revendication 20, dans lequel le moyen pour tracer les régions d'ombre associées à l'ombre ( 3) comprend un moyen pour tracer les arêtes d'ombre associées aux régions d'ombre sur l'écran de visualisation de données, de manière que chacune des arêtes d'ombre, dans la mesure o elle est tracée, soit
seulement tracée une fois.
23 Système selon la revendication 13, dans lequel l'ombre ( 3) n'est pas affichée si le curseur ( 2) est
déplacé sous le plan d'ombre ( 4).
24 Système selon la revendication 13, dans lequel l'ombre ( 3) continue à être affichée même si le curseur
( 2) n'est pas visible sur l'écran de visualisation.
Procédé pour commander l'affichage d'une ombre coordonnée à un objet dans un système de visualisation interactif commandé par ordinateur, comprenant un processeur ( 101) et un écran de visualisation de données ( 105) connecté à ce processeur, le système correspondant
notamment au système selon l'une quelconque des reven-
dications 13 à 24, caractérisé en ce qu'il comprend les étapes consistant à: générer et afficher un objet ( 2) sur l'écran de visualisation de données ( 105), l'objet possédant au moins une arête (AB); et à générer et afficher une ombre ( 3) sur l'écran de visualisation de données ( 105), cette ombre étant coordonnée à l'objet ( 2) et possédant une arête (ab)
correspondant à une arête (AB) de l'objet ( 2) proje-
tée sur un plan d'ombre bidimensionnel ( 4) suivant un
vecteur lumière (Y).
26 Procédé selon la revendication 25, dans lequel l'objet posède une pluralité de sommets tridimensionnels (A, B, C, D) coordonnés à l'objet, et dans lequel
l'étape consistant à générer et afficher l'objet com-
prend: la préservation de données d'objet associées à l'objet ( 2), ces données comportant une position suivant trois directions orthogonales pour chacun des sommets de la pluralité de sommets tridimensionnels coordonnés à l'objet; la transformation de la position suivant les trois
directions de la pluralité de sommets tridimension-
nels coordonnés à l'objet en une nouvelle position; et le traçage de l'objet coordonné à la pluralité de sommets tridimensionnels sur l'écran de visualisation
de données ( 105).
27 Procédé selon la revendication 25, dans lequel
l'objet ( 2) possède une pluralité de sommets tridimen-
sionnels (A, B, C, D), et dans lequel l'étape consistant à générer et afficher l'ombre ( 3) comprend: la génération des sommets d'ombre (a, b, c, d) par la transposition d'une position suivant les trois directions pour chaque sommet d'une pluralité de sommets tridimensionnels (A, B, C, D) coordonnés à l'objet ( 2 ?) sur un plan d'ombre bidimensionnel ( 4) suivant le vecteur lumière, le plan d'ombre ( 4) étant sensiblement perpendiculaire à l'axe vertical (Y) de l'espace tridimensionnel; et le traçage de l'ombre ( 3) coordonnée aux sommets d'ombre sur l'écran de visualisation de données
( 105).
1.o 28 Procédé selon la revendication 26, dans lequel le système de visualisation commandé par ordinateur possède en outre un support d'information ( 104) connecté au processeur ( 101), le procédé comprenant en outre une étape de préservation de données d'objet, laquelle comprend: le rappel, le traitement et le stockage de paramètres coordonnés à la pluralité de sommets tridimensionnels (A, B, C, D) coordonnés à l'objet ( 2), y compris la position et la configuration suivant les trois directions de ces sommets; le rappel, le traitement et le stockage de paramètres coordonnés aux faces associées à la pluralité de sommets tridimensionnels (A, B, C, D) coordonnés à l'objet ( 2); et le rappel, le traitement et le stockage de paramètres
coordonnés aux arêtes associées auxdites faces.
29 Procédé selon la revendication 26, dans lequel l'étape consistant à tracer l'objet comprend:
la projection de la pluralité de sommets tridimen-
sionnels (A, B, C, D) coordonnés à l'objet ( 2) sur un plan d'écran bidimensionnel ( 5), ce plan d'écran étant sensiblement perpendiculaire au vecteur normale (N) associé à l'écran de visualisation de données
( 105);
le traçage sur l'écran des faces associées aux sommets d'objet projetés (m, n, o, p) sur l'écran de visualisation de données; et le traçage des arêtes associées à ces sommets d'objet projetés sur l'écran de visualisation. Procédé selon la revendication 29, dans lequel l'étape consistant à tracer les faces associées à l'objet comprend le traçage des faces opaques associées à la pluralité de sommets tridimensionnels (A, B, C, D) coordonnés à l'objet ( 2) sur l'écran de visualisation de
données ( 105).
31 Procédé selon la revendication 29, dans lequel l'étape consistant à tracer les faces associées à l'objet ( 2) comprend le traçage des arêtes associées auxdites faces sur l'écran de visualisation de données
( 105).
32 Procédé selon la revendication 27, dans lequel l'étape consistant à tracer l'ombre comprend: la projection des sommets d'ombre (a, b, c, d) sur un plan d'écran bidimensionnel ( 5), ce plan d'écran étant sensiblement perpendiculaire au vecteur normale (N) associé à l'écran de visualisation de données
( 105);
le calcul d'un vecteur normale pour chacune des faces associées à l'objet ( 2); le traçage sur l'écran de régions d'ombre associées aux sommets d'ombre projetés (q, r, s, t) sur l'écran
de visualisation de données ( 105) si aucune compo-
sante du vecteur normale pour chacune des faces associées à l'objet ( 2) n'est parallèle au vecteur lumière et pointée vers le plan d'ombre ( 4); et le traçage sur l'écran des arêtes d'ombre associées
aux sommets d'ombre projetés (q, r, s, t).
33 Procédé selon la revendication 32, dans lequel
l'étape consistant à tracer les régions d'ombre asso-
ciées à l'ombre ( 3) comprend le traçage sur l'écran de Légions d'ombre opaques associées aux sommets d'ombre projetés (q, r, s, t) sur l'écran de visualisation de
données ( 105).
34 Procédé selon la revendication 32, dans lequel l'étape consistant à tracer les régions d'ombre asso- ciées à l'ombre ( 3) comprend le traçage des arêtes d'ombre associées aux régions d'ombre sur l'écran de visualisation de données, de manière que chacune des arêtes d'ombre, dans la mesure o elle est tracée, soit
seulement tracée une fois.
Procédé selon la revendication 25, dans lequel l'ombre ( 3) n'est pas affichée si l'objet ( 2) se déplace
au-dessous du plan d'ombre ( 4).
36 Procédé selon la revendication 25, dans lequel l'ombre ( 3) continue à être affichée même si l'objet ( 2)
n'est pas visible sur l'écran de visualisation.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US43555389A | 1989-11-13 | 1989-11-13 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| FR2654530A1 true FR2654530A1 (fr) | 1991-05-17 |
| FR2654530B1 FR2654530B1 (fr) | 1995-06-30 |
Family
ID=23728856
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR9013988A Expired - Fee Related FR2654530B1 (fr) | 1989-11-13 | 1990-11-12 | Procede et dispositif pour ameliorer la visualisation de mouvements a l'aide d'un curseur tridimensionnel sur l'ecran d'un systeme informatique interactif. |
Country Status (5)
| Country | Link |
|---|---|
| JP (1) | JPH03211686A (fr) |
| AU (1) | AU632628B2 (fr) |
| CA (1) | CA2028902A1 (fr) |
| FR (1) | FR2654530B1 (fr) |
| GB (1) | GB2238215B (fr) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2558984B2 (ja) * | 1991-03-12 | 1996-11-27 | 松下電器産業株式会社 | 3次元情報会話システム |
| JPH0816137A (ja) * | 1994-06-29 | 1996-01-19 | Nec Corp | 3次元座標入力装置及びカーソル表示制御方式 |
| SE519661C2 (sv) | 1996-02-23 | 2003-03-25 | Immersion Corp | Pekdon och förfarande för markering av grafiska detaljer på en display med sensorisk återkoppling vid påträffande av nämnda detalj |
| US6166718A (en) * | 1996-06-18 | 2000-12-26 | Konami Co., Ltd. | Video game system with vertical array of cursor images |
| WO2008038215A2 (fr) * | 2006-09-29 | 2008-04-03 | Koninklijke Philips Electronics N.V. | Pointeur de souris avec ombre connecté en trois dimensions |
| JP4612031B2 (ja) * | 2007-09-28 | 2011-01-12 | 株式会社コナミデジタルエンタテインメント | 画像生成装置、画像生成方法、ならびに、プログラム |
| US9324183B2 (en) | 2011-11-29 | 2016-04-26 | Apple Inc. | Dynamic graphical interface shadows |
| US9372593B2 (en) | 2011-11-29 | 2016-06-21 | Apple Inc. | Using a three-dimensional model to render a cursor |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2220826A (en) * | 1988-07-06 | 1990-01-17 | British Aerospace | A force/torque display for robotic arm |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4897806A (en) * | 1985-06-19 | 1990-01-30 | Pixar | Pseudo-random point sampling techniques in computer graphics |
| CA1317041C (fr) * | 1987-12-24 | 1993-04-27 | Ncr Corporation | Dispositif creant un curseur au moyen de bandes reliees aux lignes de balayage individuelles |
| GB2223384B (en) * | 1988-07-14 | 1992-05-06 | Daikin Ind Ltd | Method and apparatus for applying shadowing operation to figures to be drawn for displaying on crt-display |
| JPH0727581B2 (ja) * | 1988-09-09 | 1995-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 図形処理装置 |
| AU618133B2 (en) * | 1988-11-04 | 1991-12-12 | Wang Laboratories, Inc. | Computer input device using an orientation sensor |
| JPH03161792A (ja) * | 1989-11-20 | 1991-07-11 | Fanuc Ltd | 3次元カーソル及びそれを用いたオフラインプログラミング方式 |
-
1990
- 1990-10-15 AU AU64553/90A patent/AU632628B2/en not_active Ceased
- 1990-10-30 CA CA002028902A patent/CA2028902A1/fr not_active Abandoned
- 1990-11-02 GB GB9023830A patent/GB2238215B/en not_active Expired - Fee Related
- 1990-11-12 FR FR9013988A patent/FR2654530B1/fr not_active Expired - Fee Related
- 1990-11-13 JP JP2304237A patent/JPH03211686A/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2220826A (en) * | 1988-07-06 | 1990-01-17 | British Aerospace | A force/torque display for robotic arm |
Non-Patent Citations (3)
| Title |
|---|
| COMPUTER-AIDED DESIGN vol. 21, no. 8, Octobre 1989, LONDON, GB pages 497 - 504; G.G. ROY ET AL.: 'SR: A PC-based CAD system for shadow and reflection studies in the built environment ' * |
| IEEE, PROCEEDINGS OF WORKSHOP ON VISUAL LANGUAGES 27 Juin 1986, DALLAS, TEXAS, US pages 99 - 106; R.B. SMITH: 'The alternate Reality kit ' * |
| NAT. COMPUT. GRAPHICS ASSOC., NCGA '89 CONF. PROC. vol. 1, 1989, FAIRFAX, VA, US pages 361 - 367; A. KAUFMAN: 'A three-dimensional user interface ' * |
Also Published As
| Publication number | Publication date |
|---|---|
| AU632628B2 (en) | 1993-01-07 |
| CA2028902A1 (fr) | 1991-05-14 |
| GB2238215A (en) | 1991-05-22 |
| GB9023830D0 (en) | 1990-12-12 |
| AU6455390A (en) | 1991-05-16 |
| GB2238215B (en) | 1994-05-11 |
| JPH03211686A (ja) | 1991-09-17 |
| FR2654530B1 (fr) | 1995-06-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109313470B (zh) | 利用重新投影的锐利文本绘制 | |
| Gooch et al. | Interactive technical illustration | |
| US8589822B2 (en) | Controlling three-dimensional views of selected portions of content | |
| EP4462368A1 (fr) | Procédé d'optimisation de rendu, dispositif électronique et support de stockage lisible par ordinateur | |
| KR101919077B1 (ko) | 증강 현실 표시 방법 및 장치 | |
| US11854111B2 (en) | Systems and methods of providing enhanced product visualization on a graphical display | |
| KR20060105421A (ko) | 동적 윈도우 구조 | |
| Bartz et al. | The Role of Perception for Computer Graphics. | |
| EP3994552B1 (fr) | Animation de prévisualisation | |
| FR2654530A1 (fr) | Procede et dispositif pour ameliorer la visualisation de mouvements a l'aide d'un curseur tridimensionnel sur l'ecran d'un systeme informatique interactif. | |
| WO2024002130A1 (fr) | Procédé de rendu d'image et son dispositif associé | |
| Eisemann et al. | Stylized vector art from 3d models with region support | |
| EP1563463A2 (fr) | PROCEDE ET DISPOSITIF DE CONSTRUCTION ET DE VISUALISATION DE L'IMAGE D UN MODELE INFORMATIQUE | |
| JP2003168130A (ja) | リアルタイムで合成シーンのフォトリアルなレンダリングをプレビューするための方法 | |
| JPH06236440A (ja) | 画像処理方法 | |
| CN109669541A (zh) | 一种用于配置增强现实内容的方法与设备 | |
| Mora et al. | Visualization and computer graphics on isotropically emissive volumetric displays | |
| Chahdi et al. | Per-pixel displacement mapping using hybrid cone approach | |
| Bui et al. | Xroi-gs: Real-time xr interactive inspection of high-quality objects of interest in a 3d gaussian splats scene | |
| MXPA02002596A (es) | Aparato de procesamiento de imagenes, medio de registro, y programa. | |
| Corcoran et al. | Perceptual enhancement of two-level volume rendering | |
| US20250173949A1 (en) | Mapping visibility state to texture maps for accelerating light transport simulation | |
| US20260029980A1 (en) | Mixed-Reality Theme Park System and Method of Operating Thereof | |
| Buil et al. | Inspection of High-Quality Objects of Interest in a 3D Gaussian Splats Scene | |
| WO2025071914A1 (fr) | Affichage d'applications en 3d dans un environnement de réalité étendue |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ST | Notification of lapse |