int biggestBlob() { Blob b; int bigdex = 0; float s=0, biggestS=0; for (int i=0; ibiggestS) { biggestS = s; bigdex = i; } } return bigdex; } // way too much stuff happens here. ...whatever void drawOneAtOrigin(int which) { if(weSmooth) smooth(); else noSmooth(); pushMatrix(); noFill(); Blob b = bd.getBlob(which); EdgeVertex eA,eB; if (b!=null) { translate((0.5-(b.w)/2)*width, (0.5-(b.h)/2)*height); strokeWeight(1); stroke(255,0,0); rect(0,0, b.w*width, b.h*height); //synth.lpf.frequency.set(b.w*2000); synth.adjustFilter(b.w); synth.adjustFrequency(b.h); // draw the blob strokeWeight(2); int edgeCount = b.getEdgeNb(); int per = edgeCount / (NUM_HARMONICS); //println("per "+per); int partial=1; double[] harmonics = new double[NUM_HARMONICS+1]; for(int i=1; i1) { if(m % per == 0) { //println(m); stroke(0,0,255); line(b.w/2*width, b.h/2*height, (eA.x-b.xMin)*width, (eA.y-b.yMin)*height); r = constrain(dist(b.w/2*width, b.h/2*height, (eA.x-b.xMin)*width, (eA.y-b.yMin)*height)/(width/2),0,1); if(partial