Skip to content
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
Open
@ChristopherRabotin

Description

@ChristopherRabotin

The beta angle is a very commonly used measurement of illumination for power and thermal analysis.

Requires

  1. A position of an object and its associated frame
  2. The position of the sun (or the other object that is being used as a reference light source)

Reference

  1. Wikipedia: https://en.wikipedia.org/wiki/Beta_angle
  2. 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> {}
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    proposedA proposed functionalitysupported-functionsRelated to the functions provided by ANISE

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions