This repository was archived by the owner on Dec 24, 2023. It is now read-only.
This repository was archived by the owner on Dec 24, 2023. It is now read-only.
Beta angle computation #7
Open
Description
The beta angle is a very commonly used measurement of illumination for power and thermal analysis.
Requires
- A position of an object and its associated frame
- The position of the sun (or the other object that is being used as a reference light source)
Reference
- Wikipedia: https://en.wikipedia.org/wiki/Beta_angle
- GMAT source code: https://github.com/ChristopherRabotin/GMAT/blob/c864b9e15cf349365233569d53192be3648f9a69/src/gmatutil/util/CalculationUtilities.cpp#L209
Proposed signatures
In the algorithms module
/// This can only fail if one of the vectors has zero norm
pub fn beta_angle(normal_vec: Vector3, ref_vec: Vector3) -> Result<f64, AniseError>
In an Anise context
impl Anise {
/// Example:
/// let beta_angle = anise_context.beta_angle(&my_spacecraft_traj, my_epoch).unwrap();
pub fn beta_angle(&self, obj: &Anise.Ephemeris, at: Anise.Epoch) -> Result<f64, AniseError> {}
/// Use this when the reference object is not the Sun
pub fn beta_angle_generic(&self, obj: &Anise.Ephemeris, at: Anise.Epoch, ref_traj: &Anise.Ephemeris) -> Result<f64, AniseError> {}
}