You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
586 B
21 lines
586 B
#ifndef ORBITAL_MECHANICS_H |
|
#define ORBITAL_MECHANICS_H |
|
|
|
#include "physics.h" |
|
|
|
struct OrbitalElements { |
|
union { |
|
double semi_major_axis; // for elliptical (e<1) and hyperbolic (e>1) |
|
double semi_latus_rectum; // for parabolic (e≈1) |
|
}; |
|
double eccentricity; |
|
double true_anomaly; |
|
double inclination; |
|
double longitude_of_ascending_node; |
|
double argument_of_periapsis; |
|
}; |
|
|
|
void orbital_elements_to_cartesian(OrbitalElements elements, double parent_mass, |
|
Vec3* out_position, Vec3* out_velocity); |
|
|
|
#endif
|
|
|