Browse Source

update trajectory equation function inputs

main
cinnaboot 5 years ago
parent
commit
b9da499564
  1. 2
      src/main.cpp
  2. 4
      src/orbits.cpp
  3. 3
      src/orbits.h

2
src/main.cpp

@ -84,7 +84,7 @@ updateSatellitePosition(entity& satellite)
// TODO: decouple framerate from time_step
g_orbit.nu = getPropagatedTrueAnomaly(g_orbit, g_orbit.nu, g_time_step);
double r2 = getRadialPosition(g_orbit.ep, g_orbit.nu);
double r2 = getRadialDistance(g_orbit.ep.e, g_orbit.ep.p, g_orbit.nu);
glm::vec2 coords = polarToRect(g_orbit.nu, r2);
glm::vec3 v = g_orbit.pos = glm::vec3(coords, 0);
entSetWorldPosition(satellite, xform * glm::vec4(v.x, v.y, v.z, 1));

4
src/orbits.cpp

@ -185,9 +185,9 @@ getPropagatedTrueAnomaly(orbital_elements orbit,
}
double
getRadialPosition(ellipse_parameters ep, double true_anom)
getRadialDistance(double e, double p, double true_anom)
{
return ep.p / (1 + ep.e * cos(true_anom));
return p / (1 + e * cos(true_anom));
}
glm::vec2

3
src/orbits.h

@ -109,9 +109,8 @@ getPropagatedTrueAnomaly(orbital_elements orbit,
unsigned int time_step);
// NOTE: aka) the trajectory equation (eq. 2.45)
// NOTE: returns radial distance in kilometers
double
getRadialPosition(ellipse_parameters ep, double true_anom);
getRadialDistance(double e, double p, double true_anom);
glm::vec2
polarToRect(double true_anom, double r);

Loading…
Cancel
Save