Orbit { public double getMeanAngularMotion() { return MathUtils.TWO_PI / getPeriod(); } Orbit(Body body, double a, double e, double i, double lan, double aop); Body getBody(); double getSemiMajorAxis(); double getSMA(); double getEccentricity(); double getApoapsis(); double getPeriapsis(); double getInclination(); double getLongitudeOfAscendingNode(); double getLAN(); double getArgumentOfPeriapsis(); double getAOP(); double getPeriod(); double getMeanAngularMotion(); Orbit withApoapsis(double apo); Orbit withPeriapsis(double per); Orbit withSMA(double a); Orbit withEccentricity(double e); Orbit withInclination(double i); Orbit withLAN(double lan); Orbit withAOP(double aop); OrbitAtTime withTrueAnomaly(double ta);  }
@Test public void meanAngularMotion() { Body b = new Body("Earth", 398600441800000.0); double a = 6774500; double e = 0.0006531; double i = Math.toRadians(51.6443); double lan = Math.toRadians(117.8784); double aop = Math.toRadians(15.1371); Orbit o = new Orbit(b, a, e, i, lan, aop); TestUtils.assertRelativelyEquals(0.00113227786, o.getMeanAngularMotion(), 1e-6); }