// Circle Crawlers // joel gillman January, 2008 // Minneapolis, Minnesota // lab.joelgillman.com // Processing 0135 int numCrawlers = 2000; int numAnomalys = 200; Crawler[] bugs; Anomaly[] flys; boolean drawLines = true; int mode = 1; float friction = 0.9; void setup() { size(470,470); background(0); frameRate(30); smooth(); noStroke(); bugs = new Crawler[numCrawlers]; flys = new Anomaly[numAnomalys]; for (int i=0; i maxDist) { vx = vy = ax = ay = 0; xpos = width/2; ypos = height/2; } break; } } } class Anomaly extends Bug { float sizer; Anomaly (float ixp, float iyp, float isize) { xpos = ixp; ypos = iyp; sizer = isize; maxDist = map(sizer,5,20,150,50); noStroke(); fill(255,map(sizer,5,20,100,50)); //fill(180); ellipse(xpos,ypos,sizer,sizer); } void display() { noStroke(); fill(255,map(sizer,5,20,100,20)); //fill(180); ellipse(xpos,ypos,sizer,sizer); } } class Crawler extends Bug { Crawler (float ixp, float iyp) { xpos = ixp; ypos = iyp; stroke(255); point(xpos,ypos); } void display() { stroke(255); point(xpos,ypos); } }