110 REMark EPIcycle_bas by S.Poole. v24jun92, v27mar03. 120 REMark EXEC under SMSQ/E or Lrun under QDOS. 130 REMark Include the next Line for TURBO: 140 REMark IMPLICIT% ps,_1,tw 150 REMark Hit ESCape to Quit.... 160 : 170 DIM q$(1): q$='£': ps=300: _1=-1: o=0: wn=1 180 tw=2: fr=4: sx=6: nn=9: xt=16: p=2*PI: st=20 190 h=30: _h=-h: r1=RAD(1): r3=RAD(3): r6=RAD(6) 200 : 210 OPEN#1,con_128: WINDOW 512,256,0,0 220 SCALE 180,-130,-90: PAPER 0: INK 7 230 : 240 REPeat main 250 : 260 FOR t=wn TO sx 270 u=t: v=u*tw: CLS 280 : 290 FOR s=u 300 i=r3: s4=ssx 310 IF s4: i=r6 320 IF s6: i=r1 330 q=p/s: q2=q/tw: q4=q/fr: ik=tw: ik=0 340 : 350 FOR c=q2,q4,i 360 INK ik: pc=p+c 370 : 380 FOR r=_h TO h STEP st 390 : 400 FOR j=_1,wn 410 rj=r*j: e=rj+h 420 : 430 FOR f=o TO pc STEP c 440 d=f*j: g=f*s+d 450 cd=COS(d): cg=COS(g) 460 sd=SIN(d): sg=SIN(g) 470 ec=e*cd : rc=r*cg 480 x=ec+rc: es=e*sd: rs=r*sg 490 y=es+rs: so=f 500 IF so: LINE m,n TO x,y 510 m=x: n=y: q$=INKEY$(#1,0) 520 so=27=CODE(q$) 530 IF so: EXIT main 540 END FOR f 550 END FOR j 560 END FOR r: ik=ik+tw: INK ik 570 END FOR c 580 END FOR s: q$=INKEY$(#1,ps) 590 END FOR t 600 END REPeat main: STOP 610 ::