Suiv.: Création d'une image 3D
Sup.: Création d'une image 2D
Préc.: Notions de masques et de
Index
Table des matières
Les objets décrits à l'aide des sous-programmes suivants ne seront affectés que par la définition de MASQU2 et de FENTR2. La position courante en 2D est indépendante de celle en 3D.
Comme on l'a vu dans la présentation, les objets sont décrits dans un système de coordonnées propre à l'utilisateur (on sait maintenant qu'il s'agit uniquement de choisir le bon MASQUE).
Les coordonnées sont exprimées en nombres réels simple précision, l'origine étant située en (0., 0.). Elles sont repérées par rapport à un système d'axes orthonormés directs.
Les sous-programmes permettant de spécifier le type des tracés sont décrits dans le chapitre graphisme.
Les subroutines suivantes forment le catalogues des objets 2D:
SUBROUTINE MOV2TO(X, Y) REAL X, Y
Déplace le curseur au point de coordonnées (X, Y).
SUBROUTINE MOV2OF(U, V) REAL U, V
Déplace le curseur d'un vecteur (U, V).
SUBROUTINE LIN2TO(X, Y) REAL X, Y
Crée un segment à partir de la position courante du curseur jusqu'au point de coordonnées (X, Y). Ce dernier point devient la position courante du curseur.
SUBROUTINE LIN2OF(U, V) REAL U, V
Crée un segment défini par le vecteur (U, V) à partir de la position courante du curseur. L'extremité du segment devient alors la position courante du curseur.
SUBROUTINE CURVE2(TX, TY, NB) REAL TX(NB), TY(NB) INTEGER NB
Trace la ligne brisée dont les coordonnées des NB sommets successifs sont stockées dans les tableaux TX, TY. A la fin du tracé, la position courante du curseur est (TX(NB), TY(NB)).
SUBROUTINE CIRCL2(XC, YC, R, NBA) REAL XC, YC, R INTEGER NBA
Trace le polygone régulier de NBA arêtes qui approche le cercle de centre (XC, YC) et de rayon R. A la fin du tracé, la position courante du curseur est (XC+R, YC).
SUBROUTINE CRCLC2(XCENTR, YCENTR, X, Y, NBSEGM) INTEGER NBSEGM REAL XCENTR, YCENTR, X, Y
Trace la ligne de NBSEGM cotés approchant le cercle de centre (XCENTR, YCENTR) et passant par (X, Y).
SUBROUTINE ARC2(ANGLE, CENTRE, POINT, NBA) REAL ANGLE, CENTRE(2), POINT(2) INTEGER NBA
Trace la polyligne formée de NBA arêtes qui approche l'arc de cercle de centre (CENTRE(1), CENTRE(2)), d'origine le point (POINT(1), POINT(2)) et faisant un angle ANGLE radians compté positivement dans le sens trigonométrique. A la fin du tracé la position courante du curseur est le dernier point tracé.
SUBROUTINE RECTA2(P1, P2) REAL P1(2), P2(2)
Trace le rectangle de cotés parallèles aux axes de diagonale:
(P1(1), P1(2)) -- (P2(1), P2(2))
A la fin du tracé, la position courante du curseur est le point (P1(1), P1(2)).
SUBROUTINE DRECT2(X,Y,DX,DY) REAL X,Y,DX,DY
Trace un rectangle dont les 4 sommets sont (X, Y), (X+DX, Y), (X, Y+DY) et (X+DX, Y+DY) (coordonnées utilisateur).
SUBROUTINE POLY2(X, Y, NB) REAL X(NB), Y(NB) INTEGER NB
Trace un polygone de NB sommets dont les coordonnées sont données dans les tableaux X et Y. A la fin du tracé la position courante du curseur est le point (X(1), Y(1)).
Remplissage des surfaces
SUBROUTINE POLY2F(X, Y, NB, CFAC, CCONT, IFLAG) INTEGER NB, CFAC, CCONT, IFLAG REAL X(NB), Y(NB)
X(1:NB), Y(1:NB) : Coordonnées des sommets du polygone
NB : Nombre de sommets du polygone (NB < 50)
CFAC : Numéro de la couleur de la facette
CCONT : Numéro de la couleur du contour
IFLAG : Option de tracé, avec:
Si la facette est convexe, le clipping associé au masque courant sera correct. Si la facette est non convexe et si la partie non convexe est coupée par le masque courant, il y aura un léger défaut à cet endroit (une ligne rejoignant les deux bouts). Les sous-programmes permettant de spécifier des couleurs sont détaillés dans le chapitre graphisme.
Textes
Le sous-programme décrit ci-dessous produit des textes formés de caractères 'HARDWARE'. Il existe un autre sous-programme permettant d'avoir des caractères 'SOFTWARE' qui sera décrit dans la partie 3D.
SUBROUTINE TXT2D(STRING, NB, X, Y) CHARACTER*(*) STRING INTEGER NB REAL X, Y
Trace à partir de la position (X, Y) le texte de NB caractères contenu dans la chaîne de caractères STRING. La position courante du curseur devient le point (X, Y).
Les sous-programmes permettant de spécifier la taille, le sens, ..., du tracé du texte sont détaillés dans le chapitre graphisme.