# Création de quelques figures géométriques 2D

Le sous-programme suivant utilise uniquement les instructions graphiques 2D.

```       PROGRAM IMAG2D
C  --- TRACE DE FIGURES
REAL PI
PARAMETER (PI=3.14152)
INTEGER ITERM,PAROUT(10), PARIN(10)
CHARACTER*80 STRING
REAL PAS,R1,R2,A,B,ALPHA,X,Y,Z,XMIN,XMAX,YMIN,YMAX
REAL CX,CY,PX,XX,YY,DIMFEN,CX1,CX2,TAILLE,PY1,PY2,O,R,CY1,CY2
LOGICAL BID
INTEGER IBID,NBCIN
CHARACTER*1 REP
C  --- DEFINITION INTERACTIVE DU TERMINAL
ITERM = 0
CALL DEFDEV(ITERM, PAROUT, PARIN,STRING)
C  --- DIMENSIONS DE L'ECRAN
CALL SZSCRN(XMIN, XMAX, YMIN, YMAX)
C  --- CALCUL D'UNE FENETRE CARRE POUR LE DESSIN
DIMFEN = MIN(XMAX-XMIN, YMAX-YMIN) / 2.
CX = (XMIN + XMAX) / 2.
CY = (YMIN + YMAX) / 2.
CX1 = CX - DIMFEN
CX2 = CX + DIMFEN
CY1 = CY - DIMFEN
CY2 = CY + DIMFEN
CALL FENTR2(XMIN, XMAX, YMIN, YMAX)
CALL MASQU2(XMIN, XMAX, YMIN, YMAX)
C  --- TAILLE DES TEXTES
TAILLE = MIN((YMAX-YMIN)/10. , 0.5)
CALL DRW3TX(TAILLE, 0., O)
C  --- POSITION DES TEXTES
PX = XMIN + (XMAX-XMIN) / 20.
PY1 = YMAX - 2.*TAILLE
PY2 = YMIN + 2.*TAILLE
C  --- ENTREE DU PAS
PAS=0.5
2   CONTINUE
CALL CLEAN
C  --- COULEUR COURANTE = BLANC
CALL SETCOL(1., 1., 1.)
CALL GETNUM('DONNEZ LE PAS DU LA SPIRALE ENTRE 0. ET 1. : ',
+ PX, PY1, PAS, IBID, BID, 1, 1, 0, 0, 0.001, 1.)
C  --- MASQUE DEPENDANT DU TRACE
CALL FENTR2(CX1, CX2, CY1, CY2)
CALL MASQU2(-100., 100., -100., 100.)
C  --- POSITION INITIALE DU CURSEUR
CALL MOV2TO(0., 0.)
C  --- DESSIN DE L'OBJET
R = 0.
DO 1 A = 0. , 8.*PI ,2.*PI/200
R = R + PAS/10.
X = R * COS(A)
Y = R * SIN(A)
CALL LIN2TO(X, Y)
1  CONTINUE
C  --- FIN DU DESSIN
CALL FENTR2(XMIN, XMAX, YMIN, YMAX)
CALL MASQU2(XMIN, XMAX, YMIN, YMAX)
CALL SETCOL(1., 1., 1.)
XX = PX
YY = PY2
CALL GETEXT('> CONTINUER (Y/N) ? ', XX, YY, 1, REP, NBCIN)
IF (REP.EQ.'O'.OR.REP.EQ.'Y') THEN
C         --- ON CONTINUE
GOTO 2
ELSE
C         --- ON NE CONTINUE PAS
CALL ENDDEV(ITERM)
ENDIF
END
```

Suiv.: Création de quelques figures géométriques Sup.: 9 Exemples Préc.: 9 Exemples Index Table des matières