Pulsating cosine functions.
Content
Image Gallery
Source Code
1 REM this poqram 6.4
2 REM BORDER 0: PAPER 0: INK 7: CLS : CLS
3 CLEAR 31999: LET s=32000: LET r=32050
4 RESTORE : FOR j=0 TO 11: READ a: POKE s+j,a: NEXT j
5 FOR j=0 TO 11: READ a: POKE r+j,a: NEXT j
6 DATA 17,232,128,33,0,64,1,0,27,237,176,201
7 DATA 17,0,64,33,232,128,1,0,27,237,176,201
8 LET p=0
9 GO TO 2000: REM TAKE OUT TO PLOT PICTURES FOR THE FIRST TIME
10 GO TO 35
12 REM SADDLECOS
15 REM by James N. Jones 2242 Locust Amarillo, Texas 79109
20 LET xe=-x*s1+y*c1: LET ye=-x*c1*c2-y*s1*c2+z*s2: LET ze=-x*s2*c1-y*s2*s1-z*c2+rho
30 LET sx=d*xe/ze+cx: LET sy=cy+d*ye/ze: RETURN
35 FOR k=10 TO 40
38 LET t=PI/4
40 LET rho=50: LET d=350: LET phi=PI/4: LET cx=127: LET cy=87: LET s1=SIN (t): LET s2=SIN (phi): LET c1=COS (t): LET c2=COS (phi)
50 DEF FN z(x)=COS (.1*(x*x+y*y))+(x*x-y*y)/(k)
52 REM LET size=8
55 REM DEF FN z(l)=4*SIN l
60 REM color
70 FOR x=10 TO -10 STEP -.05
75 REM FOR m=0 TO PI*2 STEP .05
76 REM LET x=size*COS (1*m): REM LET x=size*SIN l
77 REM LET z=size*1*COS (2*m)
78 REM LET y=size*1*SIN (3*m)
80 LET fl=0
90 FOR y=-10 TO 10
100 LET z=FN z(x): GO SUB 20
105 REM GO SUB 20
110 IF sx<0 OR sx>255 OR sy<0 OR sy>175 THEN LET fl=0: GO TO 140
120 IF fl=0 THEN LET l=1: PLOT sx,sy
123 REM PLOT 127,87: DRAW 127-sx,87-sy
125 REM LET sx1=sx: LET sy1=sy
130 REM DRAW (sx1-sx),(sy1-sy)
140 NEXT y: NEXT x
1000 LET p=p+1: REM INPUT "Stor as page no. (1-4) ";p
1010 LET p=INT p: REM IF p<1 OR p>4 THEN GO TO 1000
1020 LET a=p*7000+26000: LET a2=INT (a/256): LET a1=a-a2*256
1030 POKE 32001,a1: POKE 32002,a2
1040 LET n=USR s
1045 IF p=4 THEN GO TO 2000
1046 CLS
1050 NEXT k
2000 FOR q=-3 TO 4: REM INPUT "Recall page no. (1-4) ";p
2010 LET p=INT q: REM IF p<1 OR p>4 THEN GO TO 2050
2015 LET p=ABS p
2017 IF p=0 OR q=1 THEN GO TO 2050
2020 LET a=p*7000+26000: LET a2=INT (a/256): LET a1=a-a2*256
2030 POKE 32054,a1: POKE 32055,a2
2040 LET n=USR r
2045 PAUSE 1
2050 NEXT q: REM RETURN
2060 GO TO 2000
9000 SAVE "saddlecos1"CODE 32000,30000
9005 BEEP 1,22
9006 SAVE "saddlecos1" LINE 1
9010 BEEP 2,33
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.