View Source SpaceDust.Bodies.Sun (Space Dust v0.3.0)
Solar body parameters and position calculations.
Provides functions to compute the Sun's position in various coordinate frames, including ECI (Earth-Centered Inertial) and heliocentric coordinates.
The algorithms are based on low-precision solar coordinates from the Astronomical Almanac (approximate accuracy ~0.01 degrees).
Summary
Functions
Calculate the Sun's apparent right ascension and declination.
Astronomical Unit in meters
Calculate the Sun's unit vector from Earth in ECI frame.
Calculate the distance from Earth to the Sun in meters.
Calculate the Sun's position in the Earth-Centered Inertial (ECI) frame.
Calculate the Sun's position in ECI frame using a UTC struct.
Sun's gravitational parameter in m^3/s^2
Solar radius in meters
Functions
@spec apparent_position(DateTime.t()) :: {float(), float()}
Calculate the Sun's apparent right ascension and declination.
Parameters
epochUtc- DateTime in UTC
Returns
{right_ascension, declination}- tuple of angles in radians
Astronomical Unit in meters
@spec direction(DateTime.t()) :: SpaceDust.Math.Vector.vector()
Calculate the Sun's unit vector from Earth in ECI frame.
Parameters
epochUtc- DateTime in UTC
Returns
%Vector3D{}- Unit vector pointing from Earth to Sun
@spec distance(DateTime.t()) :: float()
Calculate the distance from Earth to the Sun in meters.
Parameters
epochUtc- DateTime in UTC
Returns
- Distance in meters
@spec eci_position(DateTime.t()) :: SpaceDust.Math.Vector.vector()
Calculate the Sun's position in the Earth-Centered Inertial (ECI) frame.
Uses the low-precision solar coordinates from the Astronomical Almanac. Position is returned in meters.
Parameters
epochUtc- DateTime in UTC
Returns
%Vector3D{}- Sun position in ECI frame (meters)
Example
iex> SpaceDust.Bodies.Sun.eci_position(~U[2024-01-01 12:00:00Z])
@spec eci_position_utc(SpaceDust.Time.UTC.t()) :: SpaceDust.Math.Vector.vector()
Calculate the Sun's position in ECI frame using a UTC struct.
Parameters
utc-%SpaceDust.Time.UTC{}struct
Returns
%Vector3D{}- Sun position in ECI frame (meters)
Sun's gravitational parameter in m^3/s^2
Solar radius in meters