Okay, I'm hooked again.
Trawling through old unfinished ideas.
I could look at this all day.
open window 640,512
ang=pi/180
l=3
sp=5
bursts=18
stars=8
dim l(stars),sp(stars),b(stars)
dim x(stars),y(stars),a(stars)
dim burst(stars),bursts(stars)
dim rr(stars),gg(stars),bb(stars)
for c=1 to stars
b(c)=c*4
x(c)=int(ran(51))*10
y(c)=int(ran(64))*10
rr(c)=ran(1000)+200
gg(c)=ran(1000)+200
bb(c)=ran(1000)+200
burst(c)=360/bursts
next c
repeat
setdrawbuf vm
vm=1-vm
setdispbuf vm
clear window
for c=1 to stars
b(c)=b(c)+1
setrgb 1,rr(c)/b(c),gg(c)/b(c),bb(c)/b(c)
for a=1 to bursts
for d=1 to 2.5 step.5
m=cos(burst(c)*ang*(a+d))*(b(c)*(l/d))+y(c)
n=sin(burst(c)*ang*(a+d))*(b(c)*(l/d))+x(c)
o=cos(burst(c)*ang*(a+d))*((b(c)*(l/d))+(sp/2))+y(c)
p=sin(burst(c)*ang*(a+d))*((b(c)*(l/d))+(sp/2))+x(c)
'line m,n to o,p
dot m,n
fill circle m,n,2
next d
next a
if b(c)*l>100 then
b(c)=1
x(c)=int(ran(51))*10
y(c)=int(ran(64))*10
rr(c)=ran(1000)+200
gg(c)=ran(1000)+200
bb(c)=ran(1000)+200
endif
next c
until (1=0)