Exemplo n.º 1
0
 private void _Initialize(SkyPosition position1, SkyPosition position2)
 {
     m_position1    = position1;
     deltaRaArcSec  = DegreeUtils.GetDifferenceInRaHours(position2.RaHours, position1.RaHours) * 15 * 3600;
     deltaDecArcSec = (position2.DecDeg - position1.DecDeg) * 3600;
     cosDec2        = Math.Cos(position2.Dec);
 }
Exemplo n.º 2
0
        private SkyPosition _GetPreciseTargetPosition()
        {
            SkyPosition targetPoint      = new SkyPosition(m_initialPosition);
            double      sinDec           = Math.Sin(m_initialPosition.Dec);
            double      distanceInRad    = m_distanceInDegrees * DegreeUtils.DToR;
            double      sinDistance      = Math.Sin(distanceInRad);
            double      cosDistance      = Math.Cos(distanceInRad);
            double      sinDistanceCosPa = sinDistance * m_positionAngle.CosPa;

            double x = m_cosDec * cosDistance - sinDec * sinDistanceCosPa;
            double y = sinDistance * m_positionAngle.SinPa;
            double z = sinDec * cosDistance + m_cosDec * sinDistanceCosPa;

            if (x != 0 || y != 0)
            {
                targetPoint.Ra += Math.Atan2(y, x);
            }
            if (Math.Abs(z) < 0.7)
            {
                targetPoint.Dec = Math.Asin(z);
            }
            else
            {
                targetPoint.Dec = Math.Acos(Math.Sqrt(x * x + y * y));
                if (z < 0)
                {
                    targetPoint.Dec = -targetPoint.Dec;
                }
            }
            targetPoint.CorrectCoordinates();
            return(targetPoint);
        }
Exemplo n.º 3
0
 private void _Initialize(SkyPosition position, TrackingSpeed trackingSpeed)
 {
     // 1 second sample tracking
     m_position1    = position;
     deltaRaArcSec  = trackingSpeed.RaArcsecPerSec;
     deltaDecArcSec = trackingSpeed.DecArcsecPerSec;
     cosDec2        = Math.Cos(position.Dec);
 }
Exemplo n.º 4
0
        private SkyPosition _GetSimpleTargetPosition()
        {
            SkyPosition targetPoint = new SkyPosition(m_initialPosition);

            targetPoint.RaDeg  += m_distanceInDegrees * m_positionAngle.SinPa / m_cosDec;
            targetPoint.DecDeg += m_distanceInDegrees * m_positionAngle.CosPa;
            targetPoint.CorrectCoordinates();
            return(targetPoint);
        }
Exemplo n.º 5
0
 public double GetPositiveDifferenceInRaHours(SkyPosition skyPosition)
 {
     return(DegreeUtils.GetPositiveDifferenceInRaHours(m_raHours, skyPosition.m_raHours));
 }
Exemplo n.º 6
0
        public double DistanceInDegrees(SkyPosition skyPosition)
        {
            double distance = Distance(Ra, Dec, skyPosition.Ra, skyPosition.Dec);

            return(distance * DegreeUtils.RToD);
        }
Exemplo n.º 7
0
 public SkyPosition(SkyPosition otherSkyPosition)
 {
     m_raHours = otherSkyPosition.m_raHours;
     m_decDeg  = otherSkyPosition.m_decDeg;
 }
Exemplo n.º 8
0
 public PositionExtrapolator(SkyPosition initialPosition)
 {
     m_initialPosition = initialPosition;
     m_cosDec          = Math.Cos(initialPosition.Dec);
 }
Exemplo n.º 9
0
 public PositionAngle(SkyPosition position, TrackingSpeed trackingSpeed)
 {
     _Initialize(position, trackingSpeed);
     _ComputePositionAngle();
 }
Exemplo n.º 10
0
 public PositionAngle(SkyPosition position1, SkyPosition position2)
 {
     _Initialize(position1, position2);
     _ComputePositionAngle();
 }