xxxxxxxxxx
var np = 300;
var startcol;
function setup()
{
createCanvas(1000,1000);
background(0);
blendMode(ADD);
noFill();
noiseSeed(random(100));
startcol = random(255);
}
function draw()
{
beginShape();
for (var i=0; i<np; i++) {
var angle = map(i, 0, np, 0, TWO_PI);
var cx = frameCount * 2 - 200;
var cy = height / 2 + 50 * sin(frameCount / 50);
var xx = 100 * cos(angle);
var yy = 100 * sin(angle);
var v = createVector(xx, yy);
xx = (xx + cx) / 150;
yy = (yy + cy) / 150;
v.mult(1 + 1.5 * noise(xx,yy));
vertex(cx+v.x, cy+v.y);
if(i == 0) {
sx = cx + v.x;
sy = cy + v.y;
}
}
colorMode(HSB);
var hue = cx / 10 - startcol;
if (hue < 0) hue += 255;
stroke(hue,100,100);
strokeWeight(0.2);
vertex(sx, sy);
endShape();
}