*** empty log message ***
[h316.git] / programs / plotter / src / sinus.f
index 85b742d5ad61a945d26af6d275bdcc8b17cd7836..e6bf809688232b2e77b4f598431fe73cd6b8b623 100644 (file)
@@ -5,10 +5,55 @@ C
 C
 C
  1000 CALL PL$RST
+C
+      CALL GITTER
+C
+      CALL PL$MV(0,0)
+      CALL DOWN
+      DO 3000 X=0,600
+         XR=X
+         PHI=(3.141/180.0)*XR
+         Y=SIN(PHI)*90.0
+         CALL DODOT(X,Y)
+ 3000 CONTINUE
+      CALL UP
+C
+      CALL PL$MV(0,0)
+      DO 4001 X=0,600
+         XR=X
+         PHI=(3.141/180.0)*XR
+         Y=COS(PHI)*55.0+SIN(PHI*12.0)*40.0
+         CALL DODOT(X,Y)
+ 4001 CONTINUE
+      CALL UP
+C     
+C
+      CALL PL$MV(0,0)
+      CALL REBOOT
+      END
+C
+C
+C     
+      SUBROUTINE DODOT(X,Y)
+      INTEGER X,Y
+         IF (Y.LE.100) GO TO 444
+         CALL UP
+         GO TO 3001
+ 444     IF (Y.GE.-100) GO TO 555
+         CALL UP
+         GO TO 3001
+ 555     CALL PL$MV(X,Y)
+         CALL DOWN
+ 3001    RETURN
+         END
+C
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+C
+      SUBROUTINE GITTER
+      INTEGER X,Y
       DO 2000 X=0,600,50
          CALL LINE(X,-100,X,100)
  2000 CONTINUE
-      
  1500 DO 1600 Y=0,200,50
          CALL LINE(0,Y-100,600,Y-100)
  1600 CONTINUE
@@ -23,23 +68,9 @@ C
       CALL LINE (-1,-100,-1,100)
       CALL LINE (1,-100,1,100)
 C
-      CALL PL$MV(0,0)
-      CALL PL$PD
-      DO 3000 X=0,600
-         TMP=X
-         PHI=(3.141/180.0)*TMP
-         Y=SIN(PHI)*90.0
-         CALL PL$MV(X,Y)
- 3000 CONTINUE
-      CALL PL$PU
-C     
-C
-C
-      CALL PL$MV(0,0)
-      CALL REBOOT
+      RETURN
       END
 C
-C
 C     
       SUBROUTINE LINE(X1,Y1,X2,Y2)
       INTEGER X1,Y1,X2,Y2
@@ -51,6 +82,23 @@ C
       END
 CCCCCCCCCC
 C
+      SUBROUTINE DOWN
+      INTEGER PEN,PENX
+      COMMON /PENSTA/PEN,PENX
+      IF (PEN.EQ.0) CALL PL$PD
+      PEN=1
+      PENX=PENX+1
+      RETURN
+      END
+C     
+      SUBROUTINE UP
+      INTEGER PEN,PENX
+      COMMON /PENSTA/PEN,PENX
+      IF (PEN.EQ.1) CALL PL$PU
+      PEN=0
+      PENX=PENX+1
+      RETURN
+      END
 CCCCCCCCCC
 $0