float v = 1.001; void setup(){ colorMode(HSB, 360, 100,100); size (550,350); frameRate(12); smooth(); strokeCap(SQUARE); strokeJoin(ROUND); noCursor(); } void draw(){ background(360,0,100); v = v+.1; float x = random (100,width-100); float y = random (100,height-100); int q = int (map (noise(v+.01),0,1,100,width-100)); int z = int (map (noise(v+.02),0,1,100,width-100)); int a = int (map (noise(v-.01),0,1,-100,100)); int b = int (map (noise(v-.02),0,1,-100,100)); int c = int (map (noise(v-.015),0,1.0,-75,75)); int d = int (map (noise(v-.025),0,1.0,-75,75)); noStroke(); fill(1,20); ellipse(mouseX,mouseY, 20,20); noFill(); strokeWeight(4); stroke(1, 20); bezier(mouseX,mouseY,mouseX+a,mouseY+b,x,y,q+50,z+50); bezier(q+50,z+50,(2*(q+50))-x,(2*(z+50))-y,width-mouseX+c,height-mouseY+d,width-mouseX,height-mouseY); strokeWeight(5); stroke(101,100,100,30); bezier(mouseX,mouseY,mouseX+a,mouseY+b,x,y,q,z); bezier(q,z,(2*q)-x,(2*z)-y,width-mouseX+c,height-mouseY+d,width-mouseX,height-mouseY); strokeWeight(1); stroke(110,100,100,255); bezier(mouseX,mouseY,mouseX+a,mouseY+b,x,y,q,z); bezier(q,z,(2*q)-x,(2*z)-y,width-mouseX+c,height-mouseY+d,width-mouseX,height-mouseY); } void mousePressed(){ noLoop(); } void mouseReleased(){ loop(); }