Suiv.: Bibliographie
Sup.: 9 Exemples
Préc.: Création de quelques figures géométriques
Index
Table des matières
PROGRAM IMAG3D C --- TRACE DE FIGURES REAL PI PARAMETER (PI=3.14152) INTEGER ITERM,PAROUT(10), PARIN(10) CHARACTER*80 STRING REAL PAS1,PAS2,R1,R2,A,B,ALPHA,X,Y,Z,XMIN,XMAX,YMIN,YMAX REAL PX,XX,YY,TAILLE,PY1,PY2,PY3,O 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) 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 = YMAX - 4.*TAILLE PY3 = YMIN + 2.*TAILLE C --- ENTREE DU PAS PAS1=0.1 PAS2=0.1 2 CONTINUE CALL CLEAN C --- COULEUR COURANTE = BLANC CALL SETCOL(1., 1., 1.) CALL GETNUM('PAS DE ROTATION EN FRACTION DE PI/2 : ', + PX, PY1, PAS1, IBID, BID, 1, 1, 0, 0, 0., 2.) CALL GETNUM('PAS D''ENROULEMENT EN FRACTION DE PI/2: ', + PX, PY2, PAS2, IBID, BID, 1, 1, 0, 0, 0., 2.) C --- DEFINITION DE LA PERSPECTIVE ALPHA = PI/10. CALL PRSPCT (ALPHA , ALPHA) C --- DEBUT DE L'IMAGE CALL PUSH C --- POSITIONNER L'OBSERVATEUR CALL NRMLST(400., 400., 300., 0., 0., 0., 3) C --- FIN DES TRANSFORMATIONS A APPLIQUER A L'OBSERVATEUR C --- DEBUT DE LA SEQUENCE DE DESCRIPTION DE L'OBJET CALL PREPAR C --- INITIALISER LA POSITION DU CURSEUR CALL MOV3TO(125., 0., 0.) C --- DESSIN DE L'OBJET R1 = 100. R2 = 25. A = 0. DO 1 B = 0. , 8.*PI , PAS1*2.*PI/200. A = MOD (A + PAS2*2.*PI , 2*PI) X = (R1 + R2*COS(A)) * COS(B) Y = (R1 + R2*COS(A)) * SIN(B) Z = R2 * SIN(A) CALL LIN3TO(X, Y, Z) 1 CONTINUE CALL LIMITS(0) C --- FIN DU DESSIN CALL PULL CALL FENTR2(XMIN, XMAX, YMIN, YMAX) CALL MASQU2(XMIN, XMAX, YMIN, YMAX) CALL SETCOL(1., 1., 1.) XX = PX YY = PY3 CALL GETEXT('> CONTINUER (O/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