' This program exported from BASIC Anywhere Machine (Version [5.2.3].[2023.12.16.16.28]) on 2024.02.06 at 03:33 (Coordinated Universal Time)
' BASIC Anywhere Machine program by CharlieJV 
' mod of program by "JamesD" (original commented further below)
' found at https://atariage.com/forums/topic/218503-graphics-8-fedora-hat/?do=findComment&comment=3392254

SCREEN _NEWIMAGE(320,200,17)
DIM RR(320)
step_value = - 1
Another_DrawCycle:
  FOR I = 0 TO 320 : RR(I) = 193 : NEXT I
  XP = 144 : XR = 4.71238905 : XF = XR / XP
  color1 = INT( RND * 64 ) + 1 : color2 = INT( RND * 64 ) + 1
  FOR ZI = 64 TO -64 STEP step_value
    ZT=ZI*2.25:ZS=ZT*ZT
    XL=INT(SQR(20736-ZS)+0.5)
    ZX=ZI+160:ZY=90+ZI
    FOR XI= 0 TO XL
      XT=SQR(XI*XI+ZS)*XF
      YY=(SIN(XT)+SIN(XT*3)*0.4)*56
      X1=INT(XI+ZX):Y1=INT(ZY-YY)
      IF RR(X1)>Y1 THEN RR(X1)=Y1 : PSET(X1,Y1), color1
      X1=ZX-XI
      IF RR(X1)>Y1 THEN RR(X1)=Y1 : PSET(X1,Y1), color2
    NEXT XI 
    SLEEP 0.025
  NEXT ZI
  SLEEP 0.5
  if step_value = -1 then step_value = -1.5 else step_value = -1
GOTO Another_DrawCycle


' 🟠🟠🟠 ORIGINAL CODE
' 100 DIM RR(320)
' 110 GR 4 : COLOR 3,0,0 
' 120 FOR I=0 TO 320:RR(I)=193:NEXT I
' 130 XP=144:XR=4.71238905:XF=XR/XP
' 140 FOR ZI=64 TO -64 STEP -1
' 150 ZT=ZI*2.25:ZS=ZT*ZT
' 160 XL=INT(SQR(20736-ZS)+0.5)
' 170 ZX=ZI+160:ZY=90+ZI
' 180 FOR XI=0 TO XL
' 190 XT=SQR(XI*XI+ZS)*XF
' 200 YY=(SIN(XT)+SIN(XT*3)*0.4)*56
' 210 X1=int(XI+ZX):Y1=int(ZY-YY)
' 220 IF RR(X1)>Y1 THEN RR(X1)=Y1:SET(X1,Y1)
' 230 X1=ZX-XI
' 240 IF RR(X1)>Y1 THEN RR(X1)=Y1:SET(X1,Y1)
' 250 NEXT XI:NEXT ZI
' 260 GOTO 260