'lorenz equations (butterfly effect)
open window 640,512

dim xa(2)
dim ya(2)
dim za(2)

xa(0)=3.051522
xa(1)=3.051522
ya(0)=1.592542
ya(1)=1.582542
za(0)=15.62388
za(1)=15.62388

setrgb 0,0,0,0
clear window

c1=0.292893
dt=0.02
a=5
b=15
c=1

repeat
 for i=0 to 1
  x=xa(i)
  y=ya(i)
  z=za(i)
  x1=x-a*x*dt+a*y*dt
  y1=y+b*x*dt-y*dt-z*x*dt
  z1=z-c*z*dt+x*y*dt
  x=x1
  y=y1
  z=z1
  xd=y-x*c1
  yd=z+x*c1

  if (i=1) then
   draw(xd,yd,128)
  else
   draw(xd,yd,255)
  fi

  xa(i)=x
  ya(i)=y
  za(i)=z
 next i
until (0=1)

'draws a shiny ball
sub draw(xd,yd,cl)
 local i1,j1,c,c1,c2,d1,d2,i,k

 c1=19.3
 c2=320.0
 d1=11.0
 d2=392.0
 k=7

 i1=c1*xd+c2
 j1=-d1*yd+d2

 for i=127 to 255 step 16
  c=0.09*(7-k)
  setrgb 1,cl,i,i
  fill circle i1+c,j1+c,k
  k=k-1
 next i
end sub
