1 ' 3D LOOPS
2 ' JD Crabtree
3 ' Amstrad Action    Feb87
10 MODE 2:INK 0,0:BORDER 0:INK 1,26
20 DEG:FOR r=0 TO 2
30 FOR num=8 TO 40 STEP 8:GOSUB 200
40 IF r=0 THEN nam$="Rotating"
50 IF r=1 THEN nam$="Spinning"
60 IF r=2 THEN nam$="Weaving"
70 PRINT nam$;":":PRINT:PRINT num
80 IF r=2 THEN x=213 ELSE x=320
90 ORIGIN x,200
100 FOR rot=fst TO ac STEP ang
110 FOR s=fst TO ac STEP ang
120 IF r=0 THEN sm=rot+s ELSE sm=rot-s
130 DRAWR stp*SIN(sm),stp*COS(rot+s)
140 NEXT s,rot
150 FOR del=0 TO 1500:NEXT del:CLS
160 NEXT num,r
170 CLS:PRINT"Press Any Key To Repeat."
180 WHILE INKEY$="":WEND:RUN
190 ' ** factor formulae **
200 ang=360/num
210 IF r=0 OR r=2 THEN fst=0
220 IF r=2 THEN ac=360 ELSE ac=360-ang
230 IF r=1 THEN fst=ang/2:ac=ac+ang/2
240 stp=ang*1.7:RETURN