Voyager-1 Trajectory Reconstruction Using an N-Body Physics Engine
msvtrove
A high-precision simulation that computes Voyager’s trajectory using orbital physics and compares it directly with NASA’s historical ephemeris.
What it does
What It Does.. The application displays NASA’s reference trajectory in gold and a live physics-computed trajectory in cyan. It uses N-body gravity, Runge-Kutta integration, J2 planetary oblateness corrections, moon perturbations, Catmull-Rom ephemeris interpolation, and adaptive physics sub-steps.
What I Figured Out... I found that point-mass gravity alone could not reproduce Voyager’s historical trajectory accurately. Jupiter and Saturn are oblate rather than perfectly spherical, so their J2 gravitational perturbations become important during close flybys. The Galilean moons also introduce smaller perturbations that should not be ignored. Discrete ephemeris samples caused discontinuities, which I addressed using Catmull-Rom cubic-spline interpolation. Adaptive time-stepping improved stability during planetary encounters, while moving the complete physics engine from Python loops into compiled Taichi kernels enabled smooth real-time execution other wise python loops were making the simulation to stutter at flyby points.