#define MAXX 100 #define MAXY 100 #define KMOLLA 0.1 #define DT .02 #define G 5 #include #include using namespace std; class Palla{ public: Palla(float x, float y, float m); void setVel(float vx, float vy); void evolvi(Palla altraPalla); float x(){ return xPos; } float y(){ return yPos; } float vx(){ return velX; } float vy(){ return velY; } private: float dist(Palla); float cosX(Palla); float cosY(Palla); float xPos, yPos, massa; float velX, velY; }; Palla::Palla(float x, float y, float m){ xPos = x; yPos = y; massa = m; velX=0; velY=0; } float Palla::dist(Palla p){ return (sqrt( (xPos-p.x())*(xPos-p.x())+ (xPos-p.y())*(xPos-p.y()))); } float Palla::cosX(Palla p){ return (xPos-p.x())/dist(p); } float Palla::cosY(Palla p){ return (yPos-p.y())/dist(p); } void Palla::evolvi(Palla p){ float d = dist(p); float ax = -(d-5)/massa*KMOLLA*cosX(p); float ay = -(d-5)/massa*KMOLLA*cosY(p)-G; cout <<" ACCEL "<= MAXX) { xPos=MAXX; velX= -velX; } if (yPos <= 0) { yPos=0; velY= -velY; } if (yPos >= MAXY) { yPos=MAXY; velY= -velY; } } int main(){ Palla palla1 (10,10,2); Palla palla2 (20,5,9); while(1){ palla1.evolvi(palla2); palla2.evolvi(palla1); cout <<" PALLA 1 "<