Advertisement
calcpage

LACS09_BodyG.java

Jun 21st, 2012
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 0.74 KB | None | 0 0
  1. //BodyG.java    MrG 2012.0621 (work in progress)
  2. public class BodyG
  3. {
  4.     private Vector r;
  5.     private Vector v;
  6.     private double m;
  7.  
  8.     public BodyG(Vector r, Vector v, double m)
  9.     {
  10.         this.r=r;
  11.         this.v=v;
  12.         this.m=m;
  13.     }
  14.  
  15.     public void draw()
  16.     {
  17.         StdDraw.point(r.getX(),r.getY());
  18.     }
  19.  
  20.     public void move(Vector force, double time)
  21.     {
  22.         Vector a = force.dilate(1.0/m);
  23.         v = v.sum(a.dilate(time));
  24.         r = r.sum(v.dilate(time));
  25.     }
  26.  
  27.     public Vector getR()
  28.     {
  29.         return r;
  30.     }
  31.  
  32.     public Vector pullFrom(BodyG other)
  33.     {
  34.         double G = 6.67e-11; //meter^3*kilogram^(-1)*sec^(-2)
  35.         Vector deltaR = other.getR().diff(this.r);
  36.         double d = deltaR.abs();
  37.         double f = G*this.m*other.m/d/d;
  38.         return deltaR.dilate(1.0/deltaR.abs()).dilate(f);
  39.     }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement