CelestialCalendar 1.0.0 · unreleased development @ 67a7c4c79a4a4a6aa7e703c9e6f0039ae34bee82
Loading...
Searching...
No Matches
astro::earth::precession Namespace Reference

Classes

struct  EquatorialAngles
 The equatorial precession angles of Meeus (21.2): ζ (zeta), z, θ (theta), in degrees. More...
struct  EclipticAngles
 The ecliptic precession quantities of Meeus (21.5): η (eta), Π (Pi), p, in degrees. More...

Functions

auto equatorial_angles (const double jde_from, const double jde_to) -> EquatorialAngles
 Compute the equatorial precession angles ζ, z, θ between two epochs.
auto equatorial (const toolbox::AngleDeg &α0, const toolbox::AngleDeg &δ0, const double jde_from, const double jde_to) -> astro::coords::EquatorialCoord
 Apply equatorial precession, carrying (α₀, δ₀) from one epoch to another.
auto ecliptic_angles (const double jde_from, const double jde_to) -> EclipticAngles
 Compute the ecliptic precession quantities η, Π, p between two epochs.
auto ecliptic (const toolbox::AngleDeg &λ0, const toolbox::AngleDeg &β0, const double jde_from, const double jde_to) -> astro::coords::EclipticCoord
 Apply ecliptic precession, carrying (λ₀, β₀) from one epoch to another.

Function Documentation

◆ ecliptic()

auto astro::earth::precession::ecliptic ( const toolbox::AngleDeg & λ0,
const toolbox::AngleDeg & β0,
const double jde_from,
const double jde_to )->astro::coords::EclipticCoord
inlinenodiscard

Apply ecliptic precession, carrying (λ₀, β₀) from one epoch to another.

Parameters
λ0Ecliptic longitude at the initial epoch.
β0Ecliptic latitude at the initial epoch.
jde_fromThe Julian ephemeris day of the initial epoch.
jde_toThe Julian ephemeris day of the final epoch.
Returns
The precessed coordinates (λ, β); λ is normalized to [0°, 360°), β lies in [-90°, 90°].
Note
This is precession only — proper motion, nutation, and aberration are not applied.
sin β = C (Meeus 21.7); C is clamped to [-1, 1] for the same pole-roundoff reason as δ in equatorial() above.
See also
Jean Meeus, "Astronomical Algorithms", Second Edition, Chapter 21, Formula (21.7).

◆ ecliptic_angles()

auto astro::earth::precession::ecliptic_angles ( const double jde_from,
const double jde_to )->EclipticAngles
inlinenodiscard

Compute the ecliptic precession quantities η, Π, p between two epochs.

Parameters
jde_fromThe Julian ephemeris day of the initial epoch (pass J2000 for catalogue-to-date).
jde_toThe Julian ephemeris day of the final epoch.
Returns
{η, Π, p} in degrees; Π carries the constant 174.876384°, p's linear term is the ~50.29"/year general precession in longitude. @see Jean Meeus, "Astronomical Algorithms", Second Edition, Chapter 21, Formula (21.5).

◆ equatorial()

auto astro::earth::precession::equatorial ( const toolbox::AngleDeg & α0,
const toolbox::AngleDeg & δ0,
const double jde_from,
const double jde_to )->astro::coords::EquatorialCoord
inlinenodiscard

Apply equatorial precession, carrying (α₀, δ₀) from one epoch to another.

Parameters
α0Right ascension at the initial epoch.
δ0Declination at the initial epoch.
jde_fromThe Julian ephemeris day of the initial epoch.
jde_toThe Julian ephemeris day of the final epoch.
Returns
The precessed coordinates (α, δ); α is normalized to [0°, 360°), δ lies in [-90°, 90°].
Note
This is precession only — proper motion, nutation, and aberration are not applied.
sin δ = C (Meeus 21.4); C is clamped to [-1, 1] against the roundoff that, when the precessed position falls near the pole, pushes it just past ±1 and would make asin return NaN.
See also
Jean Meeus, "Astronomical Algorithms", Second Edition, Chapter 21, Formula (21.4).

◆ equatorial_angles()

auto astro::earth::precession::equatorial_angles ( const double jde_from,
const double jde_to )->EquatorialAngles
inlinenodiscard

Compute the equatorial precession angles ζ, z, θ between two epochs.

Parameters
jde_fromThe Julian ephemeris day of the initial epoch (pass J2000 for catalogue-to-date).
jde_toThe Julian ephemeris day of the final epoch.
Returns
{ζ, z, θ} in degrees; ζ and z nearly coincide for a small Δt, θ is the tilting angle.
See also
Jean Meeus, "Astronomical Algorithms", Second Edition, Chapter 21, Formula (21.2).
ERFA v2.0.1 prec76.c.