예제 #1
0
        public AxisPosition GetAxisPosition(EquatorialCoordinate eq, double targetSiderealTime)
        {
            Vector EVC = GetEVC(eq, targetSiderealTime);
            Vector HVC = new Vector(0.0, 0.0, 0.0);

            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    HVC[i] += _T[i, j] * EVC[j];
                }
            }

            return(new AxisPosition(AstroConvert.Range2Pi(Math.Atan2(HVC[1], HVC[0])), AstroConvert.Range2Pi(Math.Asin(HVC[2]))));
        }
예제 #2
0
 public void TestRange2Pi(double value, double expected)
 {
     Assert.AreEqual(expected, AstroConvert.Range2Pi(value), 0.00001);
 }
예제 #3
0
 public DoublePair Range2Pi()
 {
     return(new DoublePair(AstroConvert.Range2Pi(this.RA), AstroConvert.Range2Pi(this.Dec)));
 }