mirror of
https://github.com/opus-tango/GravityDev3.git
synced 2026-03-20 03:55:24 +00:00
Initial commit
This commit is contained in:
59
xPlanet.pde
Normal file
59
xPlanet.pde
Normal file
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
|
||||
Planet class
|
||||
|
||||
*/
|
||||
|
||||
class Planet {
|
||||
Vector pos;
|
||||
Vector vel;
|
||||
Vector ren = new Vector(0,0);
|
||||
float mass;
|
||||
color col = 100;
|
||||
float dia;
|
||||
String name;
|
||||
|
||||
Planet(float x, float y, float mass){
|
||||
pos = new Vector(x,y);
|
||||
vel = new Vector(0,0);
|
||||
this.mass = mass;
|
||||
this.dia = constrain( sqrt(mass) * 5 ,1,100);
|
||||
}
|
||||
|
||||
/* SETTERS */
|
||||
void setPos(Vector _pos) {this.pos = _pos;}
|
||||
void setPos(float x, float y) {this.pos = new Vector(x,y);}
|
||||
|
||||
void setVel(Vector _vel) {this.pos = _vel;}
|
||||
void setVel(float x, float y) {this.vel = new Vector(x,y);}
|
||||
|
||||
void setname(String _name){this.name = _name;}
|
||||
|
||||
/* FUNCTIONS */
|
||||
void gravity(Planet p){
|
||||
float xDist = (p.pos.x - this.pos.x);
|
||||
float yDist = (p.pos.y - this.pos.y);
|
||||
float magsq = sq(xDist) + sq(yDist);
|
||||
|
||||
float pMass = (this.mass * p.mass);
|
||||
|
||||
float xGrav = xDist * g * (pMass/magsq);
|
||||
float yGrav = yDist * g * (pMass/magsq);
|
||||
|
||||
this.vel.add(xGrav/this.mass,yGrav/this.mass);
|
||||
}
|
||||
void updatePos(){
|
||||
this.pos.add(this.vel);
|
||||
}
|
||||
void display(){
|
||||
fill(this.col);
|
||||
ren.set(pos.x - offset.x,pos.y - offset.y);
|
||||
circle(ren.x,ren.y,dia);
|
||||
if(flags.nameTags){
|
||||
fill(0);
|
||||
textAlign(CENTER,BOTTOM);
|
||||
textSize(20 * 1/scaleMul);
|
||||
text(name,ren.x,ren.y - dia/2);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user