/** * Metaballs * by Xavier Gouchet (2008) **/ // Canvas Size int width = 320; int height = 240; //Time float time = 0.0; //Metaballs int mbcount; Metaball[] mbs; // Misc float pi = 3.14159265; float d2r = (2*pi)/360.0; boolean debug = false; boolean sav = false; // setup void setup(){ // Basic Settings size(width,height); frameRate(30); background(0); // Init metaballs array // randomSeed(7); mbcount = round(random(3,8)); mbs = new Metaball[mbcount]; for (int i=0; i0.5){ stroke (0.5*r,0.5*g,0.5*b); //point(i,j); }else{ if (inf>0.4){ float val = 1.5 * (1 - (20 * abs(inf-0.45))); stroke(val * r,val * g,val * b); point(i,j); } } } } // Debug display if (debug){ for (int m=0; m