コード例 #1
0
        private Vector GetHVC(AxisPosition axes)
        {
            Vector hvc = new Vector(0.0, 0.0, 0.0);

            hvc[0] = Math.Cos(axes.DecAxis.Radians) * Math.Cos(axes.RAAxis.Radians);
            hvc[1] = Math.Cos(axes.DecAxis.Radians) * Math.Sin(axes.RAAxis.Radians);
            hvc[2] = Math.Sin(axes.DecAxis.Radians);
            return(hvc);
        }
コード例 #2
0
        public EquatorialCoordinate GetEquatorialCoords(AxisPosition axes, double localSiderealTime)
        {
            Vector EVC       = new Vector(0.0, 0.0, 0.0);
            Vector HVC       = GetHVC(axes);
            double deltaTime = AstroConvert.HrsToRad((localSiderealTime - _timeZero));

            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    EVC[i] += _iT[i, j] * HVC[j];
                }
            }
            return(new EquatorialCoordinate(Math.Atan2(EVC[1], EVC[0]) + (_k * deltaTime), Math.Asin(EVC[2])));
        }
コード例 #3
0
 public bool Equals(AxisPosition obj, double toleranceRadians)
 {
     return((Math.Abs(obj.RAAxis.Radians - this.RAAxis.Radians) < toleranceRadians) &&
            (Math.Abs(obj.DecAxis.Radians - this.DecAxis.Radians) < toleranceRadians));
 }