|
|
|
@ -68,9 +68,9 @@ orbitInit(double a, double e, double iota, double ohm, double omega, double nu) |
|
|
|
glm::dvec3 |
|
|
|
glm::dvec3 |
|
|
|
orbitGetEccentricityVector(glm::dvec3 r, glm::dvec3 v, double mu) |
|
|
|
orbitGetEccentricityVector(glm::dvec3 r, glm::dvec3 v, double mu) |
|
|
|
{ |
|
|
|
{ |
|
|
|
double v_mag = glm::dot(v, v); |
|
|
|
double v_mag = orbitGetVectorMagnitude(v); |
|
|
|
double r_mag = glm::dot(r, r); |
|
|
|
double r_mag = orbitGetVectorMagnitude(r); |
|
|
|
return 1 / mu * ((v_mag - mu / r_mag) * r - (glm::dot(r, v) * v)); |
|
|
|
return 1 / mu * ((pow(v_mag, 2) - mu / r_mag) * r - (glm::dot(r, v) * v)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
glm::dvec3 |
|
|
|
glm::dvec3 |
|
|
|
@ -102,6 +102,13 @@ orbitGetXForm(OrbitalElements elements) |
|
|
|
return M; |
|
|
|
return M; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
double |
|
|
|
|
|
|
|
orbitGetVectorMagnitude(glm::dvec3 v) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
return(sqrt(pow(v.x, 2) + pow(v.y, 2) + pow(v.z, 2))); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// NOTE: propagate anomaly functions:
|
|
|
|
// NOTE: propagate anomaly functions:
|
|
|
|
//
|
|
|
|
//
|
|
|
|
|