Astrophyzix Orbital Refinement & Tracking System
Real-time 3D N-body orbital refinement and tracking of any asteroid, comet, dwarf planet, or minor planet in the JPL Small-Body Database. Heliocentric ecliptic J2000 frame, Kepler propagation, depth-sorted rendering. Drag the canvas to rotate, scroll or pinch to zoom, search by name, SPK-ID number, or provisional designation number. Press 'refine' to enable N-Body for live orbital refinement. See 'Guide' tab for full details.
- Asteroid names ::
Apophis,Bennu,Ceres,Vesta,Eros,Ryugu,Itokawa,Pallas - Asteroid numbers ::
99942,101955,1,433,134340 - Provisional designations ::
2024 YR4,2004 MN4,2025 FA22 - Comets ::
1P/Halley,2P/Encke,67P/Churyumov-Gerasimenko,C/2014 UN271 - Interstellar objects ::
1I/Oumuamua,2I/Borisov,3I/ATLAS - Dwarf planets and centaurs ::
Pluto,Eris,Sedna,Chariklo
- Drag on the canvas (mouse or single-finger touch) :: rotate the 3D view. Horizontal drag spins around the ecliptic pole. Vertical drag tilts.
- Scroll wheel or pinch two fingers :: zoom in and out. Range is roughly 20x in and 20x out.
- PAUSE / PLAY :: freeze or resume time-evolution. Frozen view still rotates and zooms.
- RESET :: snap back to the auto-fit zoom and default tilt for the loaded object.
- ZOOM +/- :: discrete zoom steps for finger-friendly mobile use.
- TOP :: snap to plan view (looking straight down on the ecliptic plane).
- TILT :: snap to a 3D oblique view that exposes orbital inclination.
- REFINE :: run N-body precision integration in a background worker. Replaces the Keplerian ellipse with the integrated trajectory (Sun + 8 planets + 1PN GR + Sun J2). Result is cached in IndexedDB; subsequent loads of the same object are instant. See the Data tab for the force budget and provenance manifest.
- Speed selector :: time acceleration. 1x is real time (slow). 100x is roughly 100 simulation seconds per real second; useful for watching short-period orbits play out.
- "Multiple matches" :: the JPL API returned several candidates. The status line lists up to four matching designations; try one of them exactly.
- "Could not reach JPL API" :: all three CORS proxies failed. Usually a transient connection issue. Wait a minute and retry.
- "Incomplete orbital elements" :: the object exists but lacks a fitted orbit (rare; usually very new discoveries). Try a different designation.
- Orbit looks like a thin line :: high inclination viewed edge-on. Drag the canvas vertically to tilt and reveal the orbit shape.
- Orbit doesn't fit on screen :: long-period comets or TNOs can have orbits up to 100+ AU. Use ZOOM- or REST. The viewer auto-fits on load but you can override.
- Force model :: Sun two-body + 8 planet perturbations (direct + indirect) + 1PN general relativity from the Sun (Einstein-Infeld-Hoffmann) + Sun J2 oblateness.
- GM constants :: JPL DE441 values in AU^3/day^2 for Sun and all 8 planets. Earth-Moon barycentre combined GM (Moon not split).
- Planet ephemeris :: Keplerian propagation from J2000 mean elements. Accuracy ~0.001 AU over decades, well below visualisation tolerance.
- Integrator :: adaptive Dormand-Prince 5(4) embedded RK with PI step controller. Tolerance 1e-10, step bounds [1e-4, 5] days. Float64Array state vectors.
- Initial conditions :: converted from JPL SBDB osculating elements at the JPL epoch via standard Kepler-to-state transformation in the heliocentric ecliptic J2000 frame.
- Threading :: integration runs in a Web Worker (inline Blob URL) so the canvas render loop is never blocked.
- Caching :: results stored in IndexedDB keyed by SPK-ID + epoch + force-model hash. Re-loading a previously refined object rehydrates the trajectory instantly.
- Integration span :: 1.5 orbital periods (capped at 30 years) forward from the JPL epoch. ~250 trajectory samples emitted.
- Provenance :: full manifest in the Data tab after refinement, including force-budget per perturber so you can see which bodies dominate the dynamics.
- Limitations :: Yarkovsky drag and solar radiation pressure not yet wired (the SBDB A2 / A/M values are parsed but unused in v1). Moon not split from EMB. For Apophis-grade precision tracking with those non-grav terms, see APO-01.
- Initial conditions :: orbital elements pulled live from the JPL Small-Body Database via the
sbdb.apiendpoint withfull-prec=1. - Propagation :: Keplerian (two-body) propagation in the heliocentric ecliptic J2000 frame. Newton-Raphson Kepler solver (60 iterations, 1e-12 tolerance).
- Planet positions :: J2000 mean elements for Mercury, Venus, Earth, Mars, Jupiter advanced by their mean motion (no full N-body in this viewer).
- Rendering :: orbit ellipses sampled in 120 points, projected through rotZ then rotX, depth-sorted back-to-front for correct occlusion.
- Network :: three-tier CORS proxy fallback (corsproxy.io, allorigins.win, thingproxy) with a direct attempt first.
- For higher-accuracy N-body propagation of named PHAs, see the APO-01 Apophis Tracker which uses adaptive Dormand-Prince 5(4) with 26 bodies, GR, and Yarkovsky drag.