*** empty log message ***
[h316.git] / programs / plotter / src / sinus.f
CommitLineData
fcb7b340 1C ACH JA, DAS AUCH
2C
3C
4 INTEGER X,Y
5C
6C
7 1000 CALL PL$RST
34bd95b6 8C
9 CALL GITTER
10C
11 CALL PL$MV(0,0)
12 CALL DOWN
13 DO 3000 X=0,600
14 XR=X
15 PHI=(3.141/180.0)*XR
16 Y=SIN(PHI)*90.0
17 CALL DODOT(X,Y)
18 3000 CONTINUE
19 CALL UP
20C
21 CALL PL$MV(0,0)
22 DO 4001 X=0,600
23 XR=X
24 PHI=(3.141/180.0)*XR
25 Y=COS(PHI)*55.0+SIN(PHI*12.0)*40.0
26 CALL DODOT(X,Y)
27 4001 CONTINUE
28 CALL UP
29C
30C
31 CALL PL$MV(0,0)
32 CALL REBOOT
33 END
34C
35C
36C
37 SUBROUTINE DODOT(X,Y)
38 INTEGER X,Y
39 IF (Y.LE.100) GO TO 444
40 CALL UP
41 GO TO 3001
42 444 IF (Y.GE.-100) GO TO 555
43 CALL UP
44 GO TO 3001
45 555 CALL PL$MV(X,Y)
46 CALL DOWN
47 3001 RETURN
48 END
49C
50CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
51C
52 SUBROUTINE GITTER
53 INTEGER X,Y
fcb7b340 54 DO 2000 X=0,600,50
55 CALL LINE(X,-100,X,100)
56 2000 CONTINUE
fcb7b340 57 1500 DO 1600 Y=0,200,50
58 CALL LINE(0,Y-100,600,Y-100)
59 1600 CONTINUE
9f6e6dbc 60 1300 DO 1400 Y=0,150,50
61 DO 222 X=0,580,20
62 CALL LINE(X,Y-75,X+10,Y-75)
63 222 CONTINUE
64 1400 CONTINUE
65C
fcb7b340 66 CALL LINE (0,1,600,1)
67 CALL LINE (0,-1,600,-1)
9f6e6dbc 68 CALL LINE (-1,-100,-1,100)
69 CALL LINE (1,-100,1,100)
fcb7b340 70C
34bd95b6 71 RETURN
fcb7b340 72 END
73C
fcb7b340 74C
75 SUBROUTINE LINE(X1,Y1,X2,Y2)
76 INTEGER X1,Y1,X2,Y2
77 CALL PL$MV(X1,Y1)
78 CALL PL$PD
79 CALL PL$MV(X2,Y2)
80 CALL PL$PU
81 RETURN
82 END
9f6e6dbc 83CCCCCCCCCC
84C
34bd95b6 85 SUBROUTINE DOWN
86 INTEGER PEN,PENX
87 COMMON /PENSTA/PEN,PENX
88 IF (PEN.EQ.0) CALL PL$PD
89 PEN=1
90 PENX=PENX+1
91 RETURN
92 END
93C
94 SUBROUTINE UP
95 INTEGER PEN,PENX
96 COMMON /PENSTA/PEN,PENX
97 IF (PEN.EQ.1) CALL PL$PU
98 PEN=0
99 PENX=PENX+1
100 RETURN
101 END
9f6e6dbc 102CCCCCCCCCC
fcb7b340 103$0
104
105