How the orbit diagram works

The diagram opens on the catalogued objects recovered as pure linkages, 69,648 of them. The menu switches to the planted near-Earth orbits. A recovered one is the fit to its own detections. One the search missed is the orbit that was planted, which is why those points have no residual. It is not a plot of where anything was seen. It is a plot of the orbits, which is why you can run the clock forwards and backwards through it.

How it was built

The search takes difference-image detections, groups them into tracklets within a night, and links tracklets across nights into candidate objects without knowing anything about what it is looking for. Each surviving linkage is then fitted, which yields a position and a velocity in space at one instant. That state vector is the raw product; everything on the diagram is derived from it.

Turning a state vector into a drawable orbit takes one change of variables and one correction. The change of variables converts position and velocity into the six classical elements — semi-major axis, eccentricity, inclination, longitude of ascending node, argument of perihelion, mean anomaly. The correction is that the fitting reports each object at whatever instant its own arc was centered on, so the mean anomalies all refer to different moments and cannot be drawn together. Each one is advanced to a single shared epoch, MJD 60871.5, near the middle of the DP2 window. As a check, the elements are converted back into state vectors and compared with the originals; they agree to roughly one part in 1,000,000,000,000,000.

The six elements, plus the fit's astrometric residual, the length of the observed arc and the number of nights, travel to the browser as nine 32-bit floats per object — about 9.7 megabytes for the whole catalog. The positions are not precomputed. Kepler's equation is solved for every object on every frame in a vertex shader running on your own graphics hardware, which is what makes the epoch slider free. The server does no computation at all: it hands over four static files and is then out of the loop, and moving the slider sends nothing back to it.

The planets are not from the catalog. They come from the standard low-precision element set with per-century rates, which is ample over a few years and keeps them out of the data payload.

If your machine struggles

Because the drawing happens on your hardware rather than ours, what the page costs depends entirely on what you are viewing it with. The expensive part is not the orbital mechanics — it is the sheer number of overlapping, translucent points that have to be blended, which scales with the number of pixels on your screen rather than with the number of asteroids.

The page measures its own frame rate and steps down if it cannot keep up, giving away resolution first, then edge smoothing, and finally drawing only a fraction of the population. If it reaches that last stage it says so under the counts, because otherwise the picture would quietly understate how crowded the belt is. It never steps back up: a steady lower setting is easier to look at than a higher one that stutters. You can pin a setting yourself by adding ?q=0 through ?q=4 to the address, 0 being the best-looking and 4 the cheapest.

If your browser cannot open a 3D graphics context at all, the page says so rather than leaving you with a loading message that never finishes. Nothing on this page needs one.

Controls

ControlWhat it does
DragTurn the whole system. The camera orbits the Sun.
Shift‑drag, or right‑dragSlide the view sideways without turning it.
ScrollZoom in and out.
Click a pointDraw that object's full orbit in white and open its details.
Epoch slider, ▶Move every object along its own orbit, two years either side of the DP2 window. Nothing is interpolated; each position is solved from the orbit at the chosen instant.
Color byRecolor the points by inclination, eccentricity or the astrometric residual of the fit.
Highlight a groupGold the members of a named dynamical group and light its span on the histogram.
Drag the histogramGold an arbitrary slice of semi-major axis. Double‑click the histogram to clear.
show suspect fitsInclude the orbits whose astrometric residual is worse than the quality cut. They are hidden by default.
Point sizeThe belt is dense enough that the default is a compromise. Larger points find faint objects; smaller ones show structure.

Reading the histogram

The histogram along the bottom is the distribution of semi-major axis, the size of each orbit. The dashed lines mark mean-motion resonances with Jupiter: places where an asteroid's orbital period is a simple fraction of Jupiter's, so that the same configuration repeats and Jupiter's pull accumulates instead of averaging away.

Most of those resonances clear a gap, and those are the Kirkwood gaps. One does the opposite. The 3:2 at 3.97 AU holds a population rather than scattering it, and it shows up as the sharp spike at the right-hand end — the Hildas. Nothing in the search knows about any of this; the structure is recovered from blind linking.

The gaps exist in semi-major axis and nowhere else. An asteroid's actual distance from the Sun swings between a(1−e) and a(1+e) every revolution, and for a typical belt object that swing is several times wider than a gap, so each one spends part of every orbit inside the gap it does not belong to. The table below measures the density on each resonance against the density immediately either side of it, the same way in both coordinates. Below 1 means cleared, above 1 means concentrated:

ResonanceAURelative density in semi‑major axisRelative density in actual distance
4:12.0650.88×1.02×
3:12.5020.56×0.99×
5:22.8250.77×1.02×
7:32.9580.84×1.00×
2:13.2790.73×1.00×
3:23.9721.74×1.00×

The 3:2 is the odd one out in the first column, at five times the surrounding density rather than a fraction of it: the Hildas again. Everything else is a gap, the deepest being the 4:1 and the 2:1.

The right-hand column is the reason the Kirkwood gaps have never been seen the way the Cassini Division has. They are a hole in the distribution of orbital periods, not a hole in space. Diagrams that appear to show them as physical rings have quietly replaced each object's real position with its semi-major axis first.

The asteroid groups

The group buttons highlight conventional dynamical families, defined as boxes in semi-major axis, eccentricity, inclination and perihelion distance. Counts are the well-fitted orbits in this catalog only, not the known population.

GroupDefinitionHere What it is
Hungariaa 1.78–2.0 AU, e < 0.18, i 16–34°5691.78-2.00 AU, high inclination, interior to the belt
Phocaeaa 2.25–2.5 AU, e > 0.1, i 18–32°159inner belt, high inclination
inner belta 2.06–2.5 AU21,376inside the 3:1
middle belta 2.5–2.82 AU23,925between the 3:1 and the 5:2
outer belta 2.82–3.28 AU21,182between the 5:2 and the 2:1
Alindaa 2.45–2.56 AU, e > 0.417in the 3:1 gap on eccentric, Earth-approaching orbits
Griquaa 3.15–3.35 AU, e > 0.3574in the 2:1 gap on eccentric orbits
Cybelea 3.27–3.7 AU, e < 0.3609beyond the 2:1
Hildaa 3.7–4.2 AU, e < 0.3369the 3:2 resonance with Jupiter
Mars-crossera 0.0–4.2 AU, q 1.3–1.666 AU695perihelion between 1.3 and 1.666 AU
near-Eartha 0.0–4.2 AU, q < 1.3 AU126perihelion inside 1.3 AU

Two familiar groups are deliberately missing. The Trojans and the Thule group both have a few dozen of our fits in the right range, but those fits sit flat at a handful per bin with arcs of three to four days and astrometric residuals around 0.11″, which is statistically the same as the population beyond 10 AU that is spurious by construction. Labeling them would be labeling our own failures. The Hildas were kept because they are a tenfold spike on the 3:2 with arc quality matching the main belt, which is a detection rather than a scatter of bad fits.

The true collisional families — Themis, Eos, Koronis, Vesta — are not here at all. Those are defined in proper elements, which are orbital elements averaged over millions of years to remove planetary perturbations. A fourteen-day arc cannot produce them.

Near-Earth orbits in this run

The near-Earth and Mars-crosser buttons are perihelion cuts on the well-fitted orbits: inside 1.3 AU, and between 1.3 and 1.666 AU. This run searched a second grid, from 0.85 to 1.5 AU, after the main-belt pass, so a small perihelion can be a distance the linker actually tried. The same buttons on the fortnight diagram demand a longer arc and a tighter residual, because that search never looked inside 1.5 AU.

Mixed clusters are not in this diagram. A pure linkage is one object, catalogued or planted. Where several patches fitted the same object, the longest arc is the one drawn.

What to be careful about

Every orbit here comes from an arc of about two weeks. That is enough to fix the size and shape of the orbit reasonably well, and much less good at fixing where the object sits along it. Near the DP2 epoch the positions are sound. At the ends of the slider, two years out, they are a long extrapolation: the distance from the Sun should hold up, since it depends mainly on semi-major axis and eccentricity, but the distance from Earth depends on the phase and should be read as indicative.

121,059 of the 270,599 orbits have astrometric residuals worse than 0.2″ and are hidden unless you ask for them. A further 893 fits came out unbound or otherwise unphysical and are not in the file at all; they are overwhelmingly short arcs that the fitter could not constrain, not real hyperbolic objects.

Finally, the clump. At the DP2 epoch every object sits in the patch of sky Rubin was pointing at, because that is the only reason we know about any of them. It is a survey footprint, not a feature of the solar system. Run the clock and the objects spread around their orbits at their own rates, and the belt fills in.