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); }
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); }
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); }
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); }
public double GetPositiveDifferenceInRaHours(SkyPosition skyPosition) { return(DegreeUtils.GetPositiveDifferenceInRaHours(m_raHours, skyPosition.m_raHours)); }
public double DistanceInDegrees(SkyPosition skyPosition) { double distance = Distance(Ra, Dec, skyPosition.Ra, skyPosition.Dec); return(distance * DegreeUtils.RToD); }
public SkyPosition(SkyPosition otherSkyPosition) { m_raHours = otherSkyPosition.m_raHours; m_decDeg = otherSkyPosition.m_decDeg; }
public PositionExtrapolator(SkyPosition initialPosition) { m_initialPosition = initialPosition; m_cosDec = Math.Cos(initialPosition.Dec); }
public PositionAngle(SkyPosition position, TrackingSpeed trackingSpeed) { _Initialize(position, trackingSpeed); _ComputePositionAngle(); }
public PositionAngle(SkyPosition position1, SkyPosition position2) { _Initialize(position1, position2); _ComputePositionAngle(); }