|
|
|
|
@ -62,10 +62,11 @@ struct system_2body
|
|
|
|
|
ellipse_3d e3d; |
|
|
|
|
orbital_elements elements; |
|
|
|
|
|
|
|
|
|
double epsilon; // NOTE: (ε) specific orbital energy, MJ/kg
|
|
|
|
|
double h; // NOTE: angular momentum
|
|
|
|
|
double r_apoapsis; // NOTE: apoapse distance from body center
|
|
|
|
|
double r_periapsis; // NOTE: periapsis distance from body center
|
|
|
|
|
double epsilon; // NOTE: (ε) specific orbital energy, MJ/kg
|
|
|
|
|
double h; // NOTE: angular momentum
|
|
|
|
|
double r_apoapsis; // NOTE: apoapse distance from body center
|
|
|
|
|
double r_periapsis; // NOTE: periapsis distance from body center
|
|
|
|
|
double orbital_period; // NOTE: in seconds
|
|
|
|
|
|
|
|
|
|
double time_step; |
|
|
|
|
}; |
|
|
|
|
@ -106,6 +107,9 @@ orbitGetVelocity(double epsilon, double mu, double r);
|
|
|
|
|
double |
|
|
|
|
orbitGetFlightPathAngle(double e, double true_anom); |
|
|
|
|
|
|
|
|
|
double |
|
|
|
|
orbitGetPeriod(double a, double mu); |
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
orbitUpdate(orbital_elements& o, double a, double e); |
|
|
|
|
|
|
|
|
|
|