lamberthub.utils.angles
#
Utilities related to angles computations
Module Contents#
Functions#
|
Solves for the transfer angle being known the sense of rotation. |
|
Computes a unitary normal vector aligned with the specific angular momentum |
|
Computes the inclination of the orbit being known an initial and a final |
|
Retrieves eccentric anomaly from true one. |
|
Retrieves true anomaly from eccentric one. |
|
Retrieves parabolic anomaly from true one. |
|
Retrieves the true anomaly from parabolic one. |
|
Retrieves hyperbolic anomaly from true one. |
|
Retrieves hyperbolic anomaly from true one. |
- lamberthub.utils.angles.get_transfer_angle(r1, r2, prograde)#
Solves for the transfer angle being known the sense of rotation.
- Parameters:
r1 (np.array) – Initial position vector.
r2 (np.array) – Final position vector.
prograde (bool) – If True, it assumes prograde motion, otherwise assumes retrograde.
- Returns:
dtheta – Transfer angle in radians.
- Return type:
float
- lamberthub.utils.angles.get_orbit_normal_vector(r1, r2, prograde)#
Computes a unitary normal vector aligned with the specific angular momentum one of the orbit.
- Parameters:
r1 (np.array) – Initial position vector.
r2 (np.array) – Final position vector.
prograde (bool) – If True, it assumes prograde motion, otherwise assumes retrograde.
- Returns:
i_h – Unitary vector aligned with orbit specific angular momentum.
- Return type:
np.array
- lamberthub.utils.angles.get_orbit_inc_and_raan_from_position_vectors(r1, r2, prograde)#
Computes the inclination of the orbit being known an initial and a final position vectors together with the sense of motion.
- Parameters:
r1 (np.array) – Initial position vector.
r2 (np.array) – Final position vector.
prograde (bool) – If True, it assumes prograde motion, otherwise assumes retrograde.
- Returns:
inc (float) – Inclination of the orbit.
raan (float) – Right ascension of the ascending node.
- lamberthub.utils.angles.nu_to_E(nu, ecc)#
Retrieves eccentric anomaly from true one.
- Parameters:
nu (float) – True anomaly.
ecc (float) – Eccentricity of the orbit.
- Returns:
E – Eccentric anomaly.
- Return type:
float
- lamberthub.utils.angles.E_to_nu(E, ecc)#
Retrieves true anomaly from eccentric one.
- Parameters:
E (float) – Eccentric anomaly.
ecc (float) – Eccentricity of the orbit.
- Returns:
nu – True anomaly.
- Return type:
float
- lamberthub.utils.angles.nu_to_B(nu)#
Retrieves parabolic anomaly from true one.
- Parameters:
nu (float) – True anomaly
- Returns:
B – Parabolic anomaly
- Return type:
float
Notes
As explained in Vallado’s [1], \(B\) is used instead of \(P\) just to not confuse with the orbital parameter.
- lamberthub.utils.angles.B_to_nu(B)#
Retrieves the true anomaly from parabolic one.
- Parameters:
B (float) – Parabolic anomaly
- Returns:
nu – True anomaly
- Return type:
float
Notes
As explained in Vallado’s [1], \(B\) is used instead of \(P\) just to not confuse with the orbital parameter.
- lamberthub.utils.angles.nu_to_H(nu, ecc)#
Retrieves hyperbolic anomaly from true one.
- Parameters:
nu (float) – True anomaly
ecc (float) – Eccentricity of the orbit
- Returns:
H – Hyperbolic anomaly
- Return type:
float
- lamberthub.utils.angles.H_to_nu(H, ecc)#
Retrieves hyperbolic anomaly from true one.
- Parameters:
H (float) – Hyperbolic anomaly
ecc (float) – Eccentricity of the orbit
- Returns:
nu – True anomaly
- Return type:
float