A bicycle is not a car. It has one track, it is unstable at rest, and it is steered into a corner by first steering out of it. So the balance here is not invented: it is the canonical linearised Carvallo–Whipple model published by J. P. Meijaard, Jim M. Papadopoulos, Andy Ruina and A. L. Schwab, Linearized dynamics equations for the balance and steer of a bicycle: a benchmark and review, Proc. R. Soc. A 463, 1955–1982 (2007).
That paper fixes a named benchmark machine and prints its mass, damping and stiffness matrices, and its eigenvalues, to fourteen decimal places — so an implementation can be checked against numbers nobody here chose. This one reproduces all 16 published matrix entries and all 44 published eigenvalue figures, and finds the benchmark machine self-stable between 4.2924 and 6.0243 m/s, against the paper's own 4.292 382 536 and 6.024 262 015 m/s. Choose “the 2007 benchmark bicycle” in the menu and you can ride it.
Kooijman, Meijaard, Papadopoulos, Ruina and Schwab (Science 332, 339, 2011) built a bicycle with counter-rotating wheels and negative trail to show that neither gyroscopic action nor caster trail is necessary for self-stability. Their theoretical two-mass-skate machine — zero trail, massless wheels — is in this engine's test suite, and it is self-stable above about 2.84 m/s, against the paper's “v > 2.8 m/s”.
But “not necessary” is not the same as “not needed by this bicycle”. Zero the gyroscopic terms on the benchmark machine and it loses self-stability entirely; make its trail negative and the same thing happens. Both statements are true at once, and the test suite asserts both.
250 m measured 20 cm from the inner edge, which is where the UCI says to measure it (art. 3.6.069). Sprinters' line at 0.85 m from the inner edge (3.6.080), stayers' line at the greater of a third of the width and 2.45 m (3.6.081), pursuit lines at the exact midpoint of each straight (3.6.084), finish line towards the end of a straight (3.6.082). Track width 7.5 m and bend radius 22 m, both inside the bands the UCI sets for a 250 m track (7–8 m and 19–25 m, art. 3.6.095).
The UCI mandates no banking angle at all. Art. 3.6.067 says only that the banking shall take account of the bend radius and the speeds reached. So the 42° bends and 12° straights here are not a regulation: they are the pair the UCI itself published for the Rio 2016 Olympic velodrome, and the same pair is published for Lee Valley. Art. 3.6.073 does require that a cross section of the surface be a straight line, so the track in this game is a ruled surface, swept exactly that way.
Consequences that fall out rather than being put in: on the black line at 17 m/s a rider pulls about 1.63 g through the bends; a rider sits square to the boards at about 14.0 m/s and has to lean into the turn above that and out of it below; and a rider holding a line just off the black line covers about 251.4 m per 250 m lap. Fitzgerald et al. (2022) measured 252.0 m at 10 m/s on a real track, and Fitton & Symons measured elite riders covering 0.7 % more than the track length.
Drag area 0.245 m² seated in a sprint and 0.20 m² in a pursuit position; rolling coefficient 0.0025; drivetrain 97.7 %; air density 1.179 kg/m³. All four are field or wind-tunnel measurements, and three of them were taken on a 250 m velodrome rather than on a road — the rolling figure is nearly twice a laboratory tyre number because it includes bearing friction and tyre scrub on the banking.
Power is a force–velocity relation, not a number: maximum crank force falls linearly with pedalling rate, so peak power sits at half the maximum rate, which for these riders is 130 rpm — Dorel et al. (2005) measured 129.8 ± 4.7 rpm on twelve world-class track sprinters. The sprinter's peak is 1790 W at 86 kg (Gardner et al. 2007); the pursuiter has a critical power of 407 W and an anaerobic capacity of 27.2 kJ (Pugh et al. 2022). The gear is fixed, as UCI art. 1.3.025 requires, and choosing it is a real decision: a big gear is slow off the line and fast at the end.
Sitting on a wheel at 12 cm saves 45 % of your drag (Barry et al. 2015, wind tunnel, four elite track riders). The rider in front gains too, by 2.6 % — a trailing body raises the pressure in the gap and partly fills the leader's wake. That effect is counter-intuitive enough that Kyle (1979) and McCole et al. (1990) both looked for it and found nothing; it was only established by CFD and wind tunnel from 2013.
“Ride high and dive low to trade height for speed” is documented for exactly one manoeuvre: the descent into the last lap of a flying 200, analysed by Benham, Cohen, Brunet and Clanet (Proc. R. Soc. A 476:20200153, 2020), who found athletes start the descent from the top of the banking and then hug the black line. As a repeated tactic it is not established at all: Bos et al. (2024) argue there is no potential-to- kinetic conversion from the line a rider takes, and the only on-track measurements show riders going higher on the straights to manage roll rate, at a measured distance penalty. This engine reproduces the first result and not the second — diving costs nothing and gains speed, but the longer lap up top costs more than it returns over a full lap.
Every constant in the engine carries a tag in its source. The tally, which
tools-harness-page.js recounts by reading the shipped files:
| DOCUMENTED | 21 | a named source states it |
|---|---|---|
| MEASURED | 0 | read off a source's figure — none needed |
| DERIVED | 1 | follows from documented facts, derivation in the comment |
| CALIBRATED | 3 | fitted to reproduce a documented outcome |
| RECONSTRUCTED | 36 | this app's own choice; nobody published it |
| total | 61 | see CREDITS.txt for the source of each |
This is an independent reimplementation of nothing in particular: track cycling is a sport, not a game someone published, so there is no original author to credit for a design. What there is to credit is the physics, and it is credited above and in CREDITS.txt, with a URL for every source. This app is not affiliated with, endorsed by, or connected to the Union Cycliste Internationale, any national federation, any velodrome, or any rider named in the sources.