Advertisement
Guest User

Untitled

a guest
Apr 30th, 2017
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. package forces;
  2.  
  3. import models.Particle;
  4.  
  5. import java.util.ArrayList;
  6. import java.util.List;
  7.  
  8. /**
  9. * Created by sebastian on 4/23/17.
  10. */
  11. public class GravityForce implements Force {
  12.  
  13. private final double G = 6.693E-11; // (m^3) / (Kg * s^2)
  14. private Particle particle;
  15. public List<Particle> otherParticles;
  16.  
  17. public GravityForce(Particle particle, Particle ... otherParticles) {
  18. this.particle = particle;
  19. this.otherParticles = new ArrayList<>();
  20. for (Particle p : otherParticles) {
  21. this.otherParticles.add(p);
  22. }
  23. }
  24.  
  25. double getForce(Particle p, Particle other) {
  26. return G * p.mass * other.mass / Math.pow(Particle.getDistance(p, other), 2);
  27. }
  28.  
  29. public double getXForce() {
  30.  
  31. double ret = 0;
  32. for (Particle particle : otherParticles) {
  33. ret -= getForce(this.particle, particle) * (this.particle.x - particle.x) / Particle.getDistance(this.particle, particle);
  34. }
  35. return ret;
  36. }
  37.  
  38. public double getYForce() {
  39. double ret = 0;
  40. for (Particle particle : otherParticles) {
  41. ret -= getForce(this.particle, particle) * (this.particle.y - particle.y) / Particle.getDistance(this.particle, particle);
  42. }
  43. return ret;
  44. }
  45.  
  46. public Particle getParticle() {
  47. return this.particle;
  48. }
  49.  
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement