Beispiel #1
0
        public void CalculateTest(double JD, AASEllipticalObject ellipticalObject, bool bHighPrecision, AASEllipticalPlanetaryDetails expectedEllipticalPlanetaryDetails)
        {
            AASEllipticalPlanetaryDetails details = AASElliptical.Calculate(JD, ellipticalObject, bHighPrecision);

            Assert.Equal(expectedEllipticalPlanetaryDetails.ApparentGeocentricLongitude, details.ApparentGeocentricLongitude);
            Assert.Equal(expectedEllipticalPlanetaryDetails.ApparentGeocentricLatitude, details.ApparentGeocentricLatitude);
            Assert.Equal(expectedEllipticalPlanetaryDetails.ApparentGeocentricDistance, details.ApparentGeocentricDistance);
            Assert.Equal(expectedEllipticalPlanetaryDetails.ApparentLightTime, details.ApparentLightTime);
            Assert.Equal(expectedEllipticalPlanetaryDetails.ApparentGeocentricRA, details.ApparentGeocentricRA);
            Assert.Equal(expectedEllipticalPlanetaryDetails.ApparentGeocentricDeclination, details.ApparentGeocentricDeclination);
        }
Beispiel #2
0
    protected void CorrectForLightTavelTime()
    {
        //
        double tau = AASElliptical.DistanceToLightTime(vectorToEarth.Length());

        jde = jd - tau;

        eclipticLongitudeCorrected = GetEclipticLongitude(jde);
        eclipticLatitudeCorrected  = GetEclipticLatitude(jde);
        distanceToSun = GetRadiusVector(jde);


        vectorToEarthCorrected = VectorToEarth(eclipticLongitudeCorrected,
                                               eclipticLatitudeCorrected, distanceToSun, eclipticLongitudeEarth, eclipticLatitudeEarth, AASEarth.RadiusVector(jd));
        double tauCorrected = AASElliptical.DistanceToLightTime(vectorToEarthCorrected.Length());

        jdeCorrected = jd - tauCorrected;
        eclipticLongitudeCorrected = GetEclipticLongitude(jdeCorrected);
        eclipticLatitudeCorrected  = GetEclipticLatitude(jdeCorrected);
        distanceToSun = GetRadiusVector(jdeCorrected);
    }
Beispiel #3
0
        public void CalculateWithObjectElementsTest(double JD, bool bHighPrecision, AASEllipticalObjectElements elements, AASEllipticalObjectDetails expectedEllipticalObjectDetails)
        {
            AASEllipticalObjectDetails details = AASElliptical.Calculate(JD, ref elements, bHighPrecision);

            Assert.Equal(expectedEllipticalObjectDetails.HeliocentricRectangularEquatorial.X, details.HeliocentricRectangularEquatorial.X);
            Assert.Equal(expectedEllipticalObjectDetails.HeliocentricRectangularEquatorial.Y, details.HeliocentricRectangularEquatorial.Y);
            Assert.Equal(expectedEllipticalObjectDetails.HeliocentricRectangularEquatorial.Z, details.HeliocentricRectangularEquatorial.Z);
            Assert.Equal(expectedEllipticalObjectDetails.HeliocentricRectangularEcliptical.X, details.HeliocentricRectangularEcliptical.X);
            Assert.Equal(expectedEllipticalObjectDetails.HeliocentricRectangularEcliptical.Y, details.HeliocentricRectangularEcliptical.Y);
            Assert.Equal(expectedEllipticalObjectDetails.HeliocentricRectangularEcliptical.Z, details.HeliocentricRectangularEcliptical.Z);
            Assert.Equal(expectedEllipticalObjectDetails.HeliocentricEclipticLongitude, details.HeliocentricEclipticLongitude);
            Assert.Equal(expectedEllipticalObjectDetails.HeliocentricEclipticLatitude, details.HeliocentricEclipticLatitude);
            Assert.Equal(expectedEllipticalObjectDetails.TrueGeocentricRA, details.TrueGeocentricRA);
            Assert.Equal(expectedEllipticalObjectDetails.TrueGeocentricDeclination, details.TrueGeocentricDeclination);
            Assert.Equal(expectedEllipticalObjectDetails.TrueGeocentricDistance, details.TrueGeocentricDistance);
            Assert.Equal(expectedEllipticalObjectDetails.TrueGeocentricLightTime, details.TrueGeocentricLightTime);
            Assert.Equal(expectedEllipticalObjectDetails.AstrometricGeocentricRA, details.AstrometricGeocentricRA);
            Assert.Equal(expectedEllipticalObjectDetails.AstrometricGeocentricDeclination, details.AstrometricGeocentricDeclination);
            Assert.Equal(expectedEllipticalObjectDetails.AstrometricGeocentricDistance, details.AstrometricGeocentricDistance);
            Assert.Equal(expectedEllipticalObjectDetails.AstrometricGeocentricLightTime, details.AstrometricGeocentricLightTime);
            Assert.Equal(expectedEllipticalObjectDetails.Elongation, details.Elongation);
            Assert.Equal(expectedEllipticalObjectDetails.PhaseAngle, details.PhaseAngle);
        }
Beispiel #4
0
        public void VelocityAtAphelionTest(double r, double a, double expectedVelocityAtAphelion)
        {
            double velocity = AASElliptical.VelocityAtAphelion(r, a);

            Assert.Equal(expectedVelocityAtAphelion, velocity);
        }
Beispiel #5
0
        public void InstantaneousVelocityTest(double r, double a, double expectedInstantaneousVelocity)
        {
            double velocity = AASElliptical.InstantaneousVelocity(r, a);

            Assert.Equal(expectedInstantaneousVelocity, velocity);
        }
Beispiel #6
0
        public void LengthOfEllipseTest(double e, double a, double expectedLengthOfEllipse)
        {
            double length = AASElliptical.LengthOfEllipse(e, a);

            Assert.Equal(expectedLengthOfEllipse, length);
        }
Beispiel #7
0
        public void MinorPlanetMagnitudeTest(double H, double delta, double G, double r, double PhaseAngle, double expectedMagnitude)
        {
            double magnitude = AASElliptical.MinorPlanetMagnitude(H, delta, G, r, PhaseAngle);

            Assert.Equal(expectedMagnitude, magnitude);
        }
Beispiel #8
0
        public void CometMagnitudeTest(double g, double delta, double k, double r, double expectedMagnitude)
        {
            double magnitude = AASElliptical.CometMagnitude(g, delta, k, r);

            Assert.Equal(expectedMagnitude, magnitude);
        }
Beispiel #9
0
        public void SemiMajorAxisFromPerihelionDistanceTest(double q, double e, double expectedSemiMajorAxis)
        {
            double semiMajorAxis = AASElliptical.SemiMajorAxisFromPerihelionDistance(q, e);

            Assert.Equal(expectedSemiMajorAxis, semiMajorAxis);
        }
Beispiel #10
0
 public AASEllipticalPlanetaryDetails GetPlanetaryDetails(double jd)
 {
     return(AASElliptical.Calculate(jd, GetEllipticalObject()));
 }