INTEGER X,Y
C
C
- 1000 CALL PL$RST
+C
+ 1000 CALL PL$INI
+ CALL PL$SCL(2.54)
+C
+ CALL GITTER
+ CALL PL$PU
+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)
+C CALL REBOOT
+ CALL PL$MV (0,-250)
+ PAUSE 7
+ GO TO 1000
+ 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,STAK(400)
+ CALL S$INIT(STAK,400)
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
CALL LINE (0,-1,600,-1)
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
+ CALL PL$MV(0,110)
+ CALL PL$TXT(STAK,37HSinus-Demo, 08.11.2008, Ph. Hachtmann,37)
C
- CALL PL$MV(0,0)
- CALL REBOOT
+ RETURN
END
C
+C
+C SUBROUTINE LINE(X1,Y1,X2,Y2)
+C CALL PL$MV(X1,Y1)
+C CALL PL$PD
+C CALL PL$MV(X2,Y2)
+C CALL PL$PU
+C RETURN
+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 LINE(X1,Y1,X2,Y2)
- INTEGER X1,Y1,X2,Y2
- CALL PL$MV(X1,Y1)
- CALL PL$PD
- CALL PL$MV(X2,Y2)
- CALL PL$PU
+ SUBROUTINE UP
+ INTEGER PEN,PENX
+ COMMON /PENSTA/PEN,PENX
+ IF (PEN.EQ.1) CALL PL$PU
+ PEN=0
+ PENX=PENX+1
RETURN
END
CCCCCCCCCC
-C
-CCCCCCCCCC
$0