squiggle[] s = new squiggle[20]; float[] sx = new float[20]; float[] sy = new float[20]; void setup(){ size(1200,600); smooth(); for(int i = 0; i < s.length; i++){ s[i] = new squiggle(); s[i].x = random(width); s[i].y = random(height); s[i].rad = random(0,2*PI); } background(255); } void draw(){ //background(255); stroke(0,20); for(int i = 0; i < s.length; i++){ sx[i] = s[i].x; sy[i] = s[i].y; } float max_x = max(sx); float max_y = max(sy); float min_x = min(sx); float min_y = min(sy); for(int i = 0; i < s.length; i++){ s[i].forward(1); line(map(s[i].x, min_x, max_x, 0,width), map(s[i].y, min_y, max_y, 0,height),cos(s[i].rad) * 1 + s[i].x, sin(s[i].rad) * 1 + s[i].y); s[i].rad += random(-.25,.25); //ellipse(s[i].x,s[i].y, 5,5); } if(mousePressed) { for(int i = 0; i < s.length; i++){ background(255); s[i].x = width/2; s[i].y = height/2; s[i].rad = random(0,2*PI); } } } class squiggle{ float rad; float x,y; void forward(float l){ //line(x,y,cos(rad) * l + x, sin(rad) * l + y); x = cos(rad) * l + x; y = sin(rad) * l + y; } }