pub fn izzo(
input: LambertInput,
kind: TransferKind,
) -> Result<LambertSolution, LambertError>
Expand description
Solve the Lambert boundary problem using Izzo’s method.
This is an implementation of D. Izzo’s method for solving Lambert’s problem, as described in “Revisiting Lambert’s problem”. The code was adapted from the Python version available in jorgepiloto’s lamberthub, which is released under the GPL v3 license, compatible with Nyx’s AGPL v3 license.
Given the initial and final radii, a time of flight, and a gravitational parameters, it returns the needed initial and final velocities.
§Arguments
r_init
- The initial radius vector.r_final
- The final radius vector.tof_s
- The time of flight in seconds.mu_km3_s2
- The gravitational parameter in km^3/s^2.kind
- The kind of transfer (auto, short way, long way, or number of revolutions).
§Returns
Result<LambertSolution, NyxError>
- The solution to the Lambert problem or an error if the problem could not be solved.