private double GetHourAngleFromAngle(Angle raAxisAngle) { double hours = HourAngle.DegreesToHours(AstroConvert.Range360Degrees(360.0 - raAxisAngle.Value)); if (Hemisphere == HemisphereOption.Northern) { return(AstroConvert.RangeRA(hours + 6.0)); } else { return(AstroConvert.RangeRA((24.0 - hours) + 6.0)); } }
private Angle GetAngleFromHourAngle(double hourAngle) { double ha = 0.0; double degrees; if (Hemisphere == HemisphereOption.Northern) { ha = AstroConvert.RangeRA(hourAngle - 6.0); // Renormalise from a perpendicular position degrees = HourAngle.HoursToDegrees(ha); } else { System.Diagnostics.Debug.Assert(false, "GetAngleFromHours not tested for Southern Hemisphere"); ha = AstroConvert.RangeRA((24 - hourAngle) - 6.0); // Renormalise from a perpendicular position degrees = HourAngle.HoursToDegrees(ha); } return(AstroConvert.Range360Degrees(360.0 - degrees)); }
private Angle GetAngleFromDecDegrees(double angle, bool flipDEC) { double offset = -90.0; // This may vary in the future if zero degrees is no longer at 12-0-clock double result = 0.0; if (Hemisphere == HemisphereOption.Southern) { angle = 360.0 - angle; } if (angle > 180.0 && !flipDEC) { result = offset - angle; } else { result = angle + offset; } // This routine works clockwise so need to convert to Anti-clockwise result = AstroConvert.Range360Degrees(360 + result); return(result); }
private double GetDecDegreesFromAngle(Angle decAxisAngle) { double i = 0.0; if (decAxisAngle.Value >= 180) { i = decAxisAngle.Value - 270.0; } else { i = 90.0 - decAxisAngle.Value; } if (Hemisphere == HemisphereOption.Northern) { return(AstroConvert.Range360Degrees(i)); } else { return(AstroConvert.Range360Degrees(360.0 - i)); } }