★ APPLICATIONS ★ CREATION GRAPHIQUE ★ VISION (CPC REVUE) ★ |
Vision (CPC Revue) | Applications Creation Graphique |
L'utilisation de l'ordinateur s'est rapidement démocratisée et s'est mise à la portée de la famille. Un type d'application, particulièrement attrayante, concerne la création et la visualisation d'images, de sorte que les logiciels d'applications graphiques auront dans l'avenir une position de plus en plus privilégiée.
Parmi les techniques informatiques de pointe, la C.F.A.O. (Conception-Fabrication Assistée par Ordinateur) utilise l'image comme principal support de communication entre l'homme et la machine. C'est dans cette optiqjje que nous avons développé notre logiciel "VISION" qui constitue une initiation aux principales techniques graphiques utilisées en C.A.O. Il permet, en particulier :
DESCRIPTION THEORIQUE L'objet que l'on veut représenter est en général tridimensionnel, alors que l'écran de l'ordinateur, qui constitue le support de l'image est, lui, bidimensionnel. L'outil mathématique principal sera donc celui qui permet le passage de l'espace 3D à l'espace 2D. Il s'agira d'une projection géométrique plane. REPERES DE DESCRIPTION L'objet est décrit en utilisant un repère cartésien OXYZ (figure 1) et les points caractéristiques de cet objet seront repérés à partir des coordonnées X, Y, Z de ces points. L'œil de l'observateur, lui, est défini dans un repère sphérique (R.0,^) et l'utilisateur pourra modifier à convenance la position de cet œil (figure 2). Le type de projection géométrique adopté sera :
La différence entre ces deux types de projection pourra être observée aisément à l'aide des exemples proposés. PROJECTION GEOMETRIQUE Le principe de la projection géométrique est rappelé brièvement dans ce chapitre (figure 3).
On peut relier par des formules simples les coordonnées écran (XE,YE) aux coordonnées (X0,Y0>Z0) d'un point de l'objet dans le repère de l'observateur. D'autre part, on passe du repère objet (OXYZ) au repère observateur (O'X0 Y0Z0) Par des transformations simples (translations, rotations...) de sorte qu'un point P de l'objet de coordonnées X,Y,Z se transforme dans le repère observateur en utilisant les relations suivantes : [2] X0 = -X sin θ + Y cos θ CENTRAGE INITIAL La position initiale de l'œil est fixée automatiquement de telle sorte que R = D » zO maxi. Dans ces conditions, l'image initiale est obtenue en utilisant une projection parallèle : XE ≈ X0 et YE = Y0 Le centrage de l'image sur l'écran est alors calculé en utilisant la notion de [3] "fenêtres" d'ont les limites sont W1, W2, W3, W4 en coordonnées utilisateur et la notion de "Viewport" en coordonnées écran dont les limites sont V1, V2, V3, V4. Les formules de passage de (XE,YE) vers les coordonnées réelles sur écran (XEC,YEC) sont d'après [4], MAINTIEN DU CENTRAGE Lorsque l'on modifie la distance de l'œil (R), la position de l'écran (D) ou lorsque l'on effectue un "zoom", il est nécessaire d'effectuer un recentrage de la nouvelle image sur le moniteur (figure 4). Ceci est effectué simplement en appliquant les formules (3) dans lesquelles on aura préalablement modifié la valeur des coefficients bg et bg par : [4] b*8 = kb8 + XC0-kXc1 où k : proportion entre la dimension de la nouvelle image et de l'ancienne. XC0,YC0 : coordonnées moniteur du centre de l'image à obtenir. XC1, YC1 : coordonnées moniteur du centre de la partie que l'on déplace.
Le détail de ces opérations sera abordé au chapitre "utilisation". TRAITEMENT DES FACES CACHEES Les algorithmes permettant l'élimination des faces cachées sont en général complexes et demandent une puissance de calcul importante. La majorité d'entre eux seront donc inadaptables sur un CPC 464 ou tout autre ordinateur du type "familial". Parmi les méthodes les plus simples, on peut citer celle qui consiste à tester la visibilité des faces d'un objet à partir de l'orientation des normales. Cette méthode nécessite cependant, de la part de l'utilisateur, une description rigoureuse des facettes en respectant, en particulier, un sens de parcours. De plus, elle ne s'applique qu'à des objets convexes. Pour éviter ces inconvénients, on a préféré utiliser l'algorithme du "peintre". Cette méthode s'avère être très efficace, moyennant quelques précautions. Elle consiste à peindre les facettes de l'objet dans l'ordre d'éloignement de l'œil. Il faut, toutefois, que les facettes ne soient pas trop grandes et disposer par ailleurs d'une fonction permettant le remplissage couleur de surface ("fill area"). Cette fonction, absente sur le CPC 464, a été créée en utilisant les extensions BASIC proposées par Rémy Valentin dans la revue CPC (réf. 1 ). Le principe de la méthode choisie est alors (figure 5) :
DESCRIPTION INFORMATIQUE Les règles d'implantation mémoire de cette partie sont les suivantes : PROFA (100) : Profondeur des facettes. ORD% (100) : Ordre de classement des facettes. Les limites actuelles sont donc fixées à 100 nœuds et 100 facettes. De plus, une facette comporte au maximum 4 nœuds. UTILISATION La représentation ou modélisation des objets a été faite en utilisant la notion de "facettes". Il s'agit donc d'un modèle de type surface plus riche que la classique représentation "Fil de Fer". Il permet, entre autre, la description d'objets aux formes complexes. Un exemple complet est présenté en annexe, où l'on montre comment modéliser simplement un avion. DESCRIPTION DES OBJETS L'utilisateur a le choix entre plusieurs possibilités : Définir son propre objet sous forme de facettes dont il précise les nœuds sommets et leurs coordonnées dans l'espace. Ainsi, il devra donner dans l'ordre :
Utiliser les objets contenus dans la bibliothèque d'objets disponibles. C'est la solution conseillée pour commencer. Le contenu de cette librairie a été décrit au paragraphe : bibliothèque d'objets. Compléter la bibliothèque d'objets en y déposant ses propres entités. La procédure détaillée a fait l'objet d'une description dans le paragraphe : Extension de la bibliothèque d'objets. On s'y reportera. UTILISATION DES FONCTIONS L'objet étant maintenant défini, l'utilisateur a le choix entre quatre fonctions :
Du point de vue pratique, la fonction sélectionnée sera toujours rappelée dans le coin supérieur gauche du moniteur. De même, en bas de l'écran, une fenêtre indiquera les paramètres en cours dans cette fonction.
L'objet étant positionné dans l'espace X,Y,Z, l'utilisateur a la possibilité de changer la position de l'œil et donc, d'avoir de l'objet une vision sous un angle différent. Il pourra : — modifier l'angle de colatitude PHI (figure 7) à l'aide des touches du curseur :
— modifier l'angle de longitude TETA (figure 7) à l'aide des touches du curseur :
Ceci nous permet de faire tourner l'objet dans tous les sens et d'observer immédiatement le résultat sur le moniteur. - L'utilisateur peut également modifier la distance entre l'œil et l'objet, ce qui permet de contrôler la grandeur de ce dernier. Touche " A" : l'œil avance vers l'objet Lorsque l'image apparaît sur le moniteur, le programme revient automatiquement sur la fonction utilisée. La touche "RETURN" permet de remonter à la sélection d'une autre fonction.
L'objet étant positionné dans l'espace X,Y,Z, l'utilisateur a la possibilité de changer la position de l'écran sur lequel il projette l'objet. Cela constitue, par exemple, un second moyen de contrôler la grandeur de l'objet. Pour cela, l'utilisateur disposera de :
Il est essentiel de bien comprendre la différence entre une modification de la distance œil-objet et la modification de la distance œil-écran. On laisse le soin à l'utilisateur de tirer une règle simple sur les variations de ces deux paramètres en proposant d'utiliser pour cela l'objet n° 2 de la bibliothèque (cube ouvert).
L'objet étant visualisé sur le moniteur, l'utilisateur a la possibilité de définir de manière interactive une fenêtre précisant la zone devant être agrandie. Ceci se fait par l'acquisition de deux points à l'aide du Joystick, matérialisant la diagonale de la fenêtre. Attention, le point représentant la position courante du curseur est rouge et de petite taille. Il part toujours du centre de l'écran. Lorsque l'on a sélectionné le 1er point, le curseur se dédouble. A la sélection du 2eme point, le cadre rectangulaire rouge indique la zone des traits du dessin sans pour autant les effacer. Nous vous proposons, à titre d'entraînement, d'essayer le zoom sur l'axe du moulin (objet n° 4 dans la bibliothèque) ou sur la carlingue de l'avion (objet n° 3). On peut, bien entendu, enchaîner plusieurs zooms les uns derrière les autres. L'utilisation de la touche "RETURN" donne le choix de revenir ou non à l'image initiale.
Là, l'utilisateur n'a rien à faire si ce n'est REGARDER et APPRECIER. CONCLUSION "VISION" présente, à nos yeux, un caractère pédagogique certain. C'est, en effet, une initialisation aux techniques C.A.O. et les principales fonctions graphiques sont présentes. Ainsi, les "faces cachées", dont beaucoup parlent et que peu montrent, existent dans "VISION". Si le sujet n'est pas très original, il a au moins le mérite d'être d'actualité. La façon dont les techniques graphiques courantes ont été introduites nous semblent intéressantes. Le résultat en est que, même avec une machine aux caractéristiques techniques modestes, on obtient des performances très satisfaisantes (zoom, faces cachées...). "VISION" est un logiciel destiné à évoluer :
En conclusion, "VISION" constitue un module de base dans la conception de pièces. Il reste un logiciel ouvert à l'utilisateur où chacun peut laisser libre court à son imagination. REFERENCES
CPC n°20
|