protected static Vector2 GetForceInteraction(CelestialObject obj1, CelestialObject obj2) { var r = obj2.GetPosition() - obj1.GetPosition(); var m1 = (float)obj1.GetMass(); var m2 = (float)obj2.GetMass(); if (r.magnitude < 1) { r = r.normalized; } return(r.normalized * ((m1 * m2) / (float)Math.Pow(r.magnitude, 2))); }
public _celestialObject(CelestialObject planet, int id) { this.id = id; position = planet.GetPosition(); velocity = planet.velocity; staticBody = planet.staticBody; mass = planet.mass; RotationSim rot = planet.gameObject.GetComponent <RotationSim>(); if (rot != null) { rotation = rot.GetRotation(); } else { rotation = new float[] { 0f, 0f }; } name = planet.GetName(); textTranslation = planet.textTranslation; weightMultiplier = planet.weightMultiplier; }