public KeplerianCalculationModel(KeplerianDateModel model)
        {
            MeanAnomaly      = model.Values.GetMeanAnomaly360();
            EccentricAnomaly = new DegreeModel(KeplerianHelper.GetEccentricAnomaly(model.Values.Eccentricity, MeanAnomaly));
            TrueAnomaly      = new DegreeModel(KeplerianHelper.GetEccentricAnomaly2(model.Values.Eccentricity, MeanAnomaly));

            TrueAnomaly = EccentricAnomaly;

            AverageCentricDistance = KeplerianHelper.GetAverageCentricDistance(model.Values.SemiMajorAxis.Degrees, model.Values.Eccentricity);
            CentricDistance        = KeplerianHelper.GetCentricDistance(AverageCentricDistance, model.Values.Eccentricity, TrueAnomaly);
            Location = KeplerianHelper.GetLocation(CentricDistance, model.Values.AscendingNodeLongitude, model.Values.GetArgumentOfPerihelion(), TrueAnomaly, model.Values.Inclination);
        }
        public void KeplerianHelperTEst()
        {
            var centricDistance        = 5.40406;
            var ascendingNodeLongitude = new DegreeModel(100.464);
            var perihelionOmega        = new DegreeModel(273.867);
            var trueAnomaly            = new DegreeModel(144.637);
            var inclination            = new DegreeModel(1.303);

            var location = KeplerianHelper.GetLocation(centricDistance, ascendingNodeLongitude, perihelionOmega, trueAnomaly, inclination);

            var x = location.X;
            var y = location.Y;
            var z = location.Z;

            Assert.True(x.EqualsWithinTolerance(-5.04289, 4));
            Assert.True(y.EqualsWithinTolerance(1.93965, 4));
            Assert.True(z.EqualsWithinTolerance(0.10478, 4));
        }