nutationCorrection function

({double dAlpha, double dDelta}) nutationCorrection(
  1. double ra,
  2. double dec,
  3. double jd
)

Returns nutation corrections for equatorial coordinates.

ra, dec in radians, jd is Julian day. Returns corrections (dAlpha, dDelta) in radians. Invalid for objects very near the celestial poles.

Implementation

({double dAlpha, double dDelta}) nutationCorrection(
    double ra, double dec, double jd) {
  final eps = nut.meanObliquity(jd);
  final sEps = math.sin(eps);
  final cEps = math.cos(eps);
  final n = nut.nutation(jd);
  final sAlpha = math.sin(ra);
  final cAlpha = math.cos(ra);
  final tDelta = math.tan(dec);
  return (
    dAlpha: (cEps + sEps * sAlpha * tDelta) * n.dPsi - cAlpha * tDelta * n.dEps,
    dDelta: sEps * cAlpha * n.dPsi + sAlpha * n.dEps,
  );
}