equatorialOfDate function
Apparent geocentric right ascension and declination of body target
(NAIF code) on the true equator and equinox of date at jdTT.
Implementation
EquatorialPosition equatorialOfDate(
Ephemeris ephemeris,
int target,
double jdTT,
) {
final (:direction, :distance) = geocentricDirection(ephemeris, target, jdTT);
final t = centuriesSinceJ2000(jdTT);
final equator = gcrsToEclipticOfDate(
direction,
t,
nutationInLongitude: nutation(t).longitude,
).rotateX(-trueObliquity(t));
final ra = math.atan2(equator.y, equator.x) / _radian;
return EquatorialPosition(
ra < 0 ? ra + 360 : ra,
math.asin(equator.z.clamp(-1.0, 1.0)) / _radian,
distance,
);
}