/* bubbleBubble Due bolle si scontrano e si intersecano September 2007 Processing v.0124 */ //parametrizzare i raggi delle bolle x decidere a che distanza devono unirsi int numCircle =9; Circle[] circles = new Circle[numCircle]; void setup() { size(800, 600); frameRate(30); //Creazione delle bolle //Le bolle andrebbero create in modo tale da non essere sovrapposte //Il movimento dovrebbe essere verso il centro dello schermo //Due bolle circles[0] = new Circle(100, 100,20, 0.25,0, 0); circles[1] = new Circle(200, 100,5, -0.25, 0, 1); //x y r dx dy id circles[2] = new Circle(100, 200,40, 0.25, 0, 2); circles[3] = new Circle(200, 200,40, -0.25, 0, 3); circles[4] = new Circle(100, 300,20, 0.01, 0, 4); circles[5] = new Circle(150, 350,20, -0.25, -0.25, 5); circles[6] = new Circle(180, 150,10, -0.25, -0.25, 6); circles[7] = new Circle(100, 500,30, 0.25, 0, 7); circles[8] = new Circle(200, 500,25, -0.25, 0, 8); /*circles[0] = new Circle(100, 100,20, 0.01,0, 0); circles[1] = new Circle(200, 200,20, -0.25, -0.25, 1); */ /*for(int i=0; i 0) { if(x > width+r) { x = -r; } } else { if(x < -r) { x = width+r; } } if(ysp > 0) { if(y > height+r) { y = -r; } } else { if(y < -r) { y = height+r; } } } } void intersect( Circle cA, Circle cB ) { float dx = cA.x - cB.x; float dy = cA.y - cB.y; float d2 = dx*dx + dy*dy; float d = sqrt( d2 ); if ( d>cA.r+cB.r || d