I don't have the internet at home currently, so it's taken me awhile to get to posting this. This is sort of close, but if you can manage to make a spline curve smoothly around these points then I think you'd have a nice effect.
type _segPt
x as float
y as float
alpha as float
endtype
segments = 20
radius = 100
waveStrength# = 6
angleStep# = 360.0 / segments
dim points(segments) as _segPt
randomize timer()
for i = 1 to segments
points(i).alpha = rnd(360)
next i
sync on
`sync rate 60
repeat
cls
centerX = mousex()
centerY = mousey()
for i = 1 to segments
angle# = i*angleStep#
points(i).alpha = wrapvalue(points(i).alpha + 1)
alpha# = sin(points(i).alpha)*waveStrength#
sa# = sin(angle#)
ca# = cos(angle#)
x# = centerX + sa#*radius + sa#*alpha#
y# = centerY + ca#*radius + ca#*alpha#
points(i).x = x#
points(i).y = y#
if i > 1
j = i-1
else
j = segments
endif
x2# = points(j).x
y2# = points(j).y
line x#, y#, x2#, y2#
next i
set cursor 0,0
print screen fps()
sync
until spacekey()
end