squiggle[] s = new squiggle[100]; void setup(){ size(800,600); smooth(); for(int i = 0; i < s.length; i++){ s[i] = new squiggle(); } fill(0,20); stroke(255,70); } void draw(){ //background(0); translate(mouseX,mouseY); for(int i = 0; i < s.length; i++){ s[i].draw(); } } class squiggle{ float rad; float x,y; float rand_turn; boolean turn = false; float speed; squiggle(){ x = 0; y = 0; rad = random(0,2*PI); speed = random(.2,3); } void draw(){ line(x,y,cos(rad) * speed + x, sin(rad) * speed + y); ellipse(x,y,rad,rad); x = cos(rad) * speed + x; y = sin(rad) * speed + y; if(sqrt(sq(x - (0)) + sq(y - (0))) < 100){ rad += random(-.25,.25); turn = false; } else { if(turn == false){ rand_turn = random(.1,.3); turn = true; } rad += rand_turn; } } }