(In progress)
So, how do you handle a “live” spacecraft or other object in real time? That’s what this tutorial is about.
Kepler Orbits
For Kepler orbits, there’s conics and oscelt.
conics
Determine the state (position, velocity) of an orbiting body
from a set of elliptic, hyperbolic, or parabolic orbital
elements.
oscelt Determine the set of osculating conic orbital elements that corresponds to the state (position, velocity) of a body at some epoch.
Telemetry
For Telemetry, there’s TLE and sgp4 orbit propagation.
getelm Parse the “lines” of a two-line element set, returning the elements in units suitable for use in SPICE software.
evsgp4
Evaluate NORAD two-line element data for earth orbiting
spacecraft. This evaluator uses algorithms as described
in Vallado 2006.
Under Unreal Engine Physics
In addition, see: https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/spkcpo_c.html https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/spkcvo_c.html https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/spkcpt_c.html https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/spkcvt_c.html
The “Constant Position” and “Constant Velocity” observer/target actions are important for things that may not be covered in SPK kernels
Examples: spaceship moving in real-time in unreal engine via UE physics your home etc
This sample downloads live data from a satellite catalog (“SatCat”) and displays up to date relative positions and orbits. It also allows the user to add velocity (prograde/retrograde/normal/anti-normal/radial/anti-radial) to see the effect on the object’s orbit.
Data downloads from Celestrak (works in both C++ and Blueprints).