Skip to content

IauRotationModel

Defined in: rotation.rs:39

pub struct IauRotationModel {
pub alpha0: f64,
pub alpha1: f64,
pub delta0: f64,
pub delta1: f64,
pub w0: f64,
pub wd: f64,
}

IAU rotation model parameters for a celestial body.

The north pole direction (right ascension α, declination δ) and prime meridian angle W are given as linear functions of time:

α = α₀ + α₁ T [degrees] δ = δ₀ + δ₁ T [degrees] W = W₀ + W_d d [degrees]

where T = Julian centuries since J2000, d = Julian days since J2000.

alpha0: f64

Right ascension of north pole at J2000 [deg]


alpha1: f64

Rate of right ascension per Julian century [deg/century]


delta0: f64

Declination of north pole at J2000 [deg]


delta1: f64

Rate of declination per Julian century [deg/century]


w0: f64

Prime meridian angle at J2000 [deg]


wd: f64

Prime meridian rate [deg/day]


fn orientation(&self, epoch: &[Epoch<Tdb>](../epoch/)) -> UnitQuaternion<f64>

Compute the body-fixed → ECI (J2000) unit quaternion at the given epoch.

The returned quaternion transforms vectors from the body-fixed frame (Z = north pole, X = prime meridian) to the ECI/ICRF frame.

Takes &Epoch<Tdb> — IAU WGCCRE 2009 (Archinal et al. 2011) defines the independent variable as “interval in Julian days from J2000 in TDB”.


fn prime_meridian_angle(&self, epoch: &[Epoch<Tdb>](../epoch/)) -> f64

Compute the prime meridian angle W at the given epoch [radians].


fn pole_direction(&self, epoch: &[Epoch<Tdb>](../epoch/)) -> Vector3<f64>

Compute the north pole direction in ECI at the given epoch.