public void PrecessEquatorialTest(double alpha, double delta, double jd0, double jd, double expectedX, double expectedY) { AAS2DCoordinate precessed = AASPrecession.PrecessEquatorial(alpha, delta, jd0, jd); Assert.Equal(expectedX, precessed.X); Assert.Equal(expectedY, precessed.Y); }
public void PrecessEclipticTest(double lambda, double beta, double jd0, double jd, double expectedX, double expectedY) { AAS2DCoordinate coordinates = AASPrecession.PrecessEcliptic(lambda, beta, jd0, jd); Assert.Equal(expectedX, coordinates.X); Assert.Equal(expectedY, coordinates.Y); }
public void AdjustPositionUsingUniformProperMotionTest(double t, double alpha, double delta, double PMAlpha, double PMDelta, double expectedX, double expectedY) { AAS2DCoordinate pa = AASPrecession.AdjustPositionUsingUniformProperMotion(t, alpha, delta, PMAlpha, PMDelta); Assert.Equal(expectedX, pa.X); Assert.Equal(expectedY, pa.Y); }
public void AdjustPositionUsingMotionInSpaceTest(double r, double deltaR, double t, double alpha, double delta, double pmAlpha, double pmDelta, double expectedX, double expectedY) { var pa = AASPrecession.AdjustPositionUsingMotionInSpace(r, deltaR, t, alpha, delta, pmAlpha, pmDelta); Assert.Equal(expectedX, pa.X); Assert.Equal(expectedY, pa.Y); }
public void EquatorialPmToEclipticTest() { AAS2DCoordinate pm = AASPrecession.EquatorialPMToEcliptic(0, 0, 0, 1, 1, 23); Assert.Equal(1.3112359819417141, pm.X); Assert.Equal(0.52977372496316666, pm.Y); }
/// <summary> /// /// </summary> /// <param name="ra">RA in hours</param> /// <param name="dec">declination in degrees</param> /// <param name="epoch">epoch in years AD</param> /// <returns>constellation abbreviation (3 letters), or '' on error</returns> public static Constellation GetConstellation(double ra, double dec, int epoch) { AASDate j1875 = new AASDate(1875, 1, 1, 12, 0, 0, true); AASDate jEpoch = new AASDate(epoch, 1, 1, 12, 0, 0, true); var coordinates = AASPrecession.PrecessEquatorial(ra, dec, jEpoch.Julian, j1875.Julian); ra = coordinates.X; dec = coordinates.Y; var foundConstellationBoundary = Constellations.Boundaries.FirstOrDefault(boundary => !(dec < boundary.LowerDeclination || ra < boundary.LowerRightAscension || ra >= boundary.UpperRightAscension)); if (foundConstellationBoundary != null) { return(Constellations.ConstellationsData.Single(c => c.Abbreviation == foundConstellationBoundary.ConstellationAbbreviation)); } throw new NotFoundException($"Constellation not found for coordinates RA : {ra}, Dec : {dec}"); }