frames#

namespace saltro
namespace math

Functions

double gmst_rad(double jcentury)#

Compute Greenwich Mean Sidereal Time (GMST) angle in radians.

Computes the Earth’s rotation angle about the inertial \(z\) axis using the Julian centuries \(T\) since J2000:

\[ \theta_{\mathrm{GMST}} = \theta_{\mathrm{GMST}}(T) \]

This angle is used to transform vectors between Earth-centered inertial (ECI) and Earth-centered Earth-fixed (ECEF) reference frames.

Parameters:

jcentury – Julian centuries since J2000.

Returns:

GMST angle in radians.

Eigen::Matrix3d eci_to_ecef_dcm(double jcentury)#

Direction cosine matrix from ECI to ECEF frame.

Computes the rotation matrix that transforms a vector from the Earth-centered inertial (ECI) frame to the Earth-centered Earth-fixed (ECEF) frame using the Greenwich Mean Sidereal Time angle:

\[\begin{split} \\mathbf{C}_{\text{ECI}\rightarrow\text{ECEF}} = \\mathbf{R}_z\!\bigl(-\theta_{\mathrm{GMST}}\bigr) \end{split}\]

Parameters:

jcentury – Julian centuries since J2000.

Returns:

Direction cosine matrix from ECI to ECEF.

Eigen::Matrix3d ecef_to_eci_dcm(double jcentury)#

Direction cosine matrix from ECEF to ECI frame.

Computes the rotation matrix that transforms a vector from the Earth-centered Earth-fixed (ECEF) frame to the Earth-centered inertial (ECI) frame:

\[\begin{split} \\mathbf{C}_{\text{ECEF}\rightarrow\text{ECI}} = \\mathbf{R}_z\!\bigl(+\theta_{\mathrm{GMST}}\bigr) \end{split}\]

Parameters:

jcentury – Julian centuries since J2000.

Returns:

Direction cosine matrix from ECEF to ECI.