void setup() { size(800,800); background(0); } float y, xc, yc, s, r, yl; float xs, ys; int strk; float seed; int opacity; void draw() { background(0); //BIG seed=.15; xc=80; yc=700; s=500; r=random(3.7, 3.9); quadratic(150); iterate(seed, 150); //LITTLE seed=random(.1,.9); xc=300; yc=500; s=100; r=random(3.1,11); quadratic(255); iterate(seed, 255); //LITTLE seed=random(.1,.9); xc=300; yc=500; s=100; r=random(3.1,4); //quadratic(255); iterate(seed, 255); //LITTLE seed=random(.1,.9); xc=100; yc=500; s=-50; r=random(2.5,4); quadratic(255); iterate(seed, 255); //LITTLE seed=random(.1,.9); xc=100; yc=500; s=100; r=random(2.5,4); quadratic(255); iterate(seed, 255); //LITTLE seed=random(.1,.9); xc=300; yc=500; s=-100; r=random(2.5,4); quadratic(255); iterate(seed, 255); //EYES xc=570; yc=220; s=50; r=random(2.5,4); //quadratic(); iterate(seed, 255); xc=500; iterate(1-seed, 255); delay(200); } void quadratic(int opacity) { stroke(255,0,0, opacity); strokeWeight(2); for (float x=0; x<1; x=x+.0005) { y=r*x*(1-x); point(x*s+xc, y*-1*s+yc); } line(xc,yc,xc+480, yc-480); } void iterate(float seed, int opacity) { stroke(100,100,100, opacity); strokeWeight(1); xs=seed; yl=0; for( int it=0; it<200; it=it+1) { ys=r*xs*(1-xs); strk=int(random(80,200)); stroke(strk,0,0, opacity); line(xs*s+xc, yl*-1*s+yc, xs*s+xc, ys*-1*s+yc); line(xs*s+xc, ys*-1*s+yc, ys*s+xc, ys*-1*s+yc); xs=ys; yl=ys; } }