A kendama's string goes slack. A yo-yo's stays taut and slips. A top has no string at all — what drives it is a sliding contact point that moves across the body as the top tilts. Get that one point right and a tippe top turns over and stands on its stem, raising its own centre of mass by — mm, which looks like it should be impossible.
This browser did not give the page a WebGL2 context, so the 3D view is blank. Everything on the Bench below still runs — it is pure arithmetic.
Drag the picture to orbit, wheel to zoom. The yellow line is the path your top's contact point traces on the surface — not the path of the top. They are different curves, and the difference is the whole subject.
The same engine, with the lid off. Everything below is computed in your browser from
js/top.js; nothing is looked up.
idle
Each dot is a 20-second run of this engine at launch spin 250 rad/s and μ = 0.20, — of them, generated on —. Green means the top finished past 160°, standing on what had been its top. Amber means it got part of the way and stopped there. Red means it never left the upright. The green wedge behind them is the published criterion 1 − α < γ < 1 + α — drawn from the literature, not fitted to the dots.
The headline reproduces: the eccentric sphere turns over, ends up spinning on what had been its crown, and its body spin reverses sign while its spin in space does not. The tippe top fitted here — — mm across, — g, α = —, γ = — — comes to rest on its stem with its centre of mass — mm higher than where it started.
The mechanism, derived here rather than assumed. Two facts do all the work, and neither is a torque story:
A torque story predicts the opposite sign, and this is worth stating plainly. Take the usual fast-top reduction, L ≈ I₃ω₃e₃, and push it through: with the slip at the contact dominated by the spin, the frictional torque perpendicular to the axis works out at μN(R cos θ − a)·û, which gives dθ/dt = μN(a − R cos θ)/I₃ω₃ — negative at small tilt for any a < R. On that reduction a tippe top rights itself and a peg top with its centre of mass above a rounded tip (a < 0) also rights itself. The peg top half is right, and this engine reproduces it. The tippe half is wrong, and the reason is that the reduction is not valid where the answer lives: the upright state is gyroscopically stabilised, and what removes that stabilisation is the dissipation itself, not a torque pushing the axis over. So: friction is necessary, but what it supplies is loss, not a shove.
With μ = 0 and the contact damper off, the same top at the same launch spin holds its tilt inside a band —° wide for ten seconds and dissipates — J. With friction restored it reaches —°. The control is not only numerical: with μ = 0 the only contact force is along ẑ, so L·ẑ is conserved as well as Jellett, and with a and R constant that forces L·e₃ to be conserved too. Two conserved projections trap θ in a one-dimensional effective potential, and a bounded oscillation is all that is left. The inversion cannot happen, and the proof needs no simulation.
A second, sharper control that we did not expect to matter. Friction alone is not enough — the contact has to keep sliding. Swap the regularised Coulomb law for a hard stick threshold (it is on the Bench, "hard stick threshold") and the top can lock into rolling: the slip collapses to around 10⁻⁵ m/s, dissipation all but stops, and the tilt freezes near the upright. Measured over 30 seconds at μ = 0.20, launch spins of 120, 160 and 400 rad/s all froze below 5°, while 200, 250 and 300 rad/s still inverted but took 22, 15 and 11 seconds against 1–2 seconds for the smooth law. We first wrote that the hard law never inverts at any spin; that was wrong, and the harness caught it. What is true is narrower and more interesting: under a law with real stiction the outcome stops being a smooth function of the launch spin at all. That is why the literature integrates F = −μN·v/√(v² + Λ²) with Λ = 1 cm/s and why this engine does too — a modelling choice with a visible consequence, said out loud rather than buried.
The tippe-top literature states that a top inverts only when its inertia ratio sits inside a band set by its own eccentricity: 1 − α < γ < 1 + α, with α = a/R and γ = I₁/I₃. Rauch-Wojciechowski and Rutstam attribute it to Hugenholtz in 1952 — "Since the 1950s it is also known how TT has to be built" — and Ueda, Sasaki and Watanabe print the same inequality as their Group II. This engine was built with no knowledge of it; the map on the Bench is what came out. Inside the wedge, all 48 runs finished between 160° and 179°. Below it, all 24 finished at 2° — not one of them so much as leaned. Above it — γ larger than 1 + α — all 27 finished part of the way over and stayed there, between 91° and 165°, which is also what the literature says happens. The band is not fitted; it is drawn from the inequality and the dots land where it says.
One more thing fell out of the Bench chart that we were not looking for. Rauch-Wojciechowski and Rutstam warn that the tidy "gyroscopic balance" reduction "leads to an oversimplified equation… providing a monotonously increasing θ(t)", whereas the real solution "oscillates… about a logistic type curve" as the axis crosses a nutational belt. Run the Bench at its defaults and that is exactly what the curve does: a visibly serrated ramp, not a smooth one, with the serrations widest through the middle of the flip. We did not put that in; it is what the integrator produced.
The other half of the criterion is a threshold on the Jellett value itself. Our own necessary condition from energy alone, ω₃² > mg(R+a)²/(I₃R), puts the eccentric sphere's limit at 45.3 rad/s. The measured limit is about 100 rad/s. Energy permits the flip at 45; the dynamics does not deliver it until roughly twice that. An energy argument is a bound, not a prediction, and we mark ours as one.
Every published parameter set we could read describes the eccentric sphere: a sphere whose centre of mass is off centre, with α and γ given as free numbers. Build the actual solid instead — a sphere with a cap cut off and a stem on the flat, one uniform density — and the two numbers are no longer free, and they fight each other. Truncating lowers the centre of mass (good for α) but makes the body oblate, pushing γ down and out of the band; only a stem pushes γ back up. A uniform-density truncated sphere with a short, stubby stem of the sort a toy actually has never got inside the band for us, and never inverted at any spin rate we tried up to 800 rad/s. The top shipped here needs a 16 mm stem on a 31 mm ball to reach γ = —, and it is longer in proportion than most toys'. We have not resolved whether a real tippe top escapes this by being a moulded shell, by having a denser stem, or by our uniform-density assumption simply being wrong; the Bench ships the shell option so you can push on it. This is an open question, not a finding.
There is a second, purely geometric trap in the real shape that the sphere idealisation cannot show. Past a tilt of about 110° the lowest point of the body stops being the sphere and becomes the sharp rim of the flat face, and a top can sit on that rim indefinitely. Several of our candidate geometries flipped to 116–125° and stayed there. It is not a bug and it is not a stall in the integrator — it is a top lying on its edge, which is a thing tops do.
A peg top with enough spin rises to the vertical and "sleeps"; as friction takes the spin away it wakes and falls. The textbook condition for a Lagrange top on a fixed pivot is ω₃² > 4Mgl·I₁/I₃², which for the peg top modelled here is — rad/s. The engine's peg top, launched at a range of speeds and left to spin down, passed 10° of tilt at body spins between 92.7 and 104.8 rad/s, converging on — from the fastest launches against a predicted —. That is about 9% high, consistently. We think the gap is real and not numerical: the textbook condition is for a point pivot that cannot slide, and this top has a 4.2 mm rounded tip on a sliding contact. We have not proved that, so it is stated as an unexplained 9%, not as agreement.
The invariant's proof needs the contact surface to be a sphere of fixed radius about a fixed point of the axis. On a flat table this engine conserves it to 1.7 × 10⁻¹⁶ over a second with no friction, and to 2.3 × 10⁻¹⁴ over three seconds with friction hard on and the tilt small. Through a complete inversion the residual is larger and honestly so — 5.1 × 10⁻⁵ at 40 kHz, 3.3 × 10⁻⁶ at 80 kHz, the integrator's own fourth-order error rather than a failure of the invariant. Put the same top in the Koma Taisen dohyo — a concave spherical dish — and it drifts by 3.9 × 10⁻² in one second, while the energy identity still closes to 4.4 × 10⁻⁷. That is not a defect: the contact normal now turns as the top moves, rc acquires a term the proof does not allow, and the invariant genuinely stops being one. Two quantities that look equally fundamental on a flat table part company as soon as the table is curved.
Adding a drilling torque about the contact normal breaks it too, and by a predictable amount: dJ/dt = τextra·rc exactly, which the harness checks as a formula rather than as a constant. So the invariant is not a statement about friction being absent — it is a statement about the contact being a point.
qualified for that reason.The duel is Koma Taisen (コマ大戦). The NPO All-Japan Manufacturing Koma Taisen Association publishes its rulebook in Japanese and in English, versioned Ver.1 (2017) through Ver.5 (in force from 15 June 2024). We implement the rules below literally. One thing to know before you quote it: the association's English page still serves Ver.3, dated 1 January 2019, two versions behind its Japanese Ver.5. Where the two differ we follow the Japanese.
| Rule | As published | What this app does |
|---|---|---|
| 3-1 | "The diameter of the Koma shall be φ 20.000 mm … or less with respect to the spin axis in the stationary state." | The duelling top is turned to exactly — mm across. |
| 3-2 | "The total length of the Koma is 60.000 mm … or less in a stationary state." (Ver.5 dropped the decimals to 60 mm.) | — mm, well inside. |
| 3-3 | "Verification of dimensions is done by the official ring gauge (inner diameter of 20.001 mm) and a commercially available caliper." | The legality line under the mode buttons applies 3-1 and 3-2 to whichever top you pick. |
| 3-4 | "Turning with one hand only." (JA: with the fingers of one hand.) | One charge, one release. No second push. |
| 4-2 / 4-3 | The referee (行司) calls 「見合って」 then 「のこった」. | Both calls appear in the message line. |
| 5-1 | "Lose if the Koma goes out of the Dohyo ring or stops before opponent. Match ends with 2 consecutive wins." | Exactly that: best of three decided by two consecutive wins, not two wins. |
| 5-2 | "When Koma is spinning, however the point of contact to the Dohyo ring is not spinning, will be 1 loss." | The engine judges ω·n̂ at the contact, not the body's spin. The HUD shows both, and on a tilted top they differ. |
| — | Illustrated note: if the top's rotation reverses from the direction it was thrown, it is deemed to have stopped at that moment, and loses. | Implemented. A rattleback would lose instantly; so, arguably, would a tippe top. |
| 6-2 | "Koma that changes spin axis are prohibited." | This bans the tippe top. The app says so and lets you try anyway. |
| 7-1 | "φ250 millimeter 凹R700millimeter. Made of Chemical wood." | A 250 mm dish, concave, spherical radius 700 mm. That makes the bowl — mm deep at the rim — our arithmetic from their two numbers, not a figure they publish. |
| 8-1 | "Winner takes home all the loser's Koma." | Said, not simulated. You keep your top. |
Two departures we are declaring rather than hiding. The published rule has no time limit; ours stops a round at 90 seconds and says so in the message line. And rule 5-7 gives the referee the final word on any complaint — there is no referee here, only the arithmetic.
For context on the other bodies: the International Top Spinners Association (incorporated in Texas in 2015, running the World Spintop Contest since it took it over from the International Yo-Yo Federation) publishes per-year rulebooks with a 40-trick ladder and scoring of 85 technical plus 15 performance — and specifies nothing at all about the top itself. The Japan Koma-mawashi Association (founded September 2002, inside the Japan Koma Museum in Nagoya) publishes a timing rule — the clock stops when the body touches the ground — with age divisions and a records table, but again no equipment standard. Its published champion in the 4th-to-6th-year division for 2013 spun a hand-thrown wooden top for 8 min 49 s, which is in the same league as Citizen's precision 20 mm engineering top at 14 min 55 s in Koma Taisen's (now closed) solo-duration division.
Every number in this app carries one of six marks. DOCUMENTED means a source states
it about this exact thing. qualified means a source states it, but about something
adjacent — a different model's parameters, or a later paper quoting one we could not open —
and counting those as DOCUMENTED would flatter the tally, so they are counted apart.
MEASURED came out of this engine. DERIVED is arithmetic on documented
numbers. CALIBRATED was chosen to make the thing playable. RECONSTRUCTED
had no source and was invented.
counting…
| Quantity | Value | Tag | Where it comes from |
|---|---|---|---|
| Koma diameter limit | φ20.000 mm or less | DOCUMENTED | Koma Taisen rule 3-1, JA Ver.5 and EN Ver.3 |
| Koma total length limit | 60 mm or less | DOCUMENTED | Koma Taisen rule 3-2 (Ver.5 dropped the decimals) |
| Official ring gauge | 20.001 mm inner diameter | DOCUMENTED | Koma Taisen rule 3-3, English page only |
| One-hand spin | fingers of one hand | DOCUMENTED | Koma Taisen rule 3-4 |
| Dohyo diameter | 250 mm | DOCUMENTED | Koma Taisen rule 7-1 |
| Dohyo curvature | concave, spherical R700 mm | DOCUMENTED | Koma Taisen rule 7-1 (凹R700) |
| Dohyo material | chemical wood | DOCUMENTED | Koma Taisen rule 7-1 — noted, not modelled |
| Bowl depth at the rim | 11.25 mm | DERIVED | 700 − √(700² − 125²) from rule 7-1's two numbers |
| Win condition | out of the ring, or stops first | DOCUMENTED | Koma Taisen rule 5-1 |
| Match format | two consecutive wins | DOCUMENTED | Koma Taisen rule 5-1 |
| Contact-patch stop test | patch must be turning | DOCUMENTED | Koma Taisen rule 5-2 |
| Reversal counts as stopped | loss at the instant of reversal | DOCUMENTED | Koma Taisen illustrated note, JA page |
| Axis-changing tops prohibited | bans the tippe top | DOCUMENTED | Koma Taisen rule 6-2 |
| Winner takes the tops | rule 8-1 | DOCUMENTED | Koma Taisen rule 8-1 |
| Referee calls | 見合って / のこった | DOCUMENTED | Koma Taisen rules 4-2, 4-3 |
| Tippe top patent | DE 63261, filed 1891-10-07, published 1892-07-12 | DOCUMENTED | primary patent record, "Wendekreisel", Fräulein H. Sperl, München |
| Adjustable centre of gravity | described in the 1891 patent | DOCUMENTED | DE 63261 text |
| Bohr and Pauli photograph | Lund, July 1954, Erik Gustafson | DOCUMENTED | AIP Emilio Segrè Visual Archives metadata via Wikimedia Commons |
| Jellett's integral | λ = R(L_ẑ − αL_3̂) | DOCUMENTED | Rutstam, SIGMA 8 (2012) 019; Ciocci & Langerock print the same thing in other symbols |
| Conserved under any contact force | slipping or not | DOCUMENTED | Ciocci & Langerock, verbatim |
| Inversion band | 1 − α < γ < 1 + α | DOCUMENTED | Rauch-Wojciechowski & Rutstam; Ueda et al. "Group II" |
| Band attributed to Hugenholtz 1952 | "Since the 1950s it is also known how TT has to be built" | qualified | quoted in Rauch-Wojciechowski & Rutstam; Hugenholtz 1952 itself is behind Elsevier |
| Jellett threshold for inversion | |λ| > √(mgR³I₃α)(1+α)²/√(1+α−γ) | qualified | Rauch-Wojciechowski & Rutstam; used as a comparator, not as our criterion |
| Coulomb regularisation | F = −μN·v/√(v²+Λ²), Λ = 1 cm/s | DOCUMENTED | the tippe-top literature's own integrated law |
| Published tippe parameters | R 1.5–2.5 cm, m 15–20 g, α 0.1–0.3, γ 0.94–1.0, μ 0.1–0.3 | qualified | four papers' eccentric-sphere parameter sets, not a measured toy |
| Initial tilt used in the literature | θ₀ = 0.1 rad | qualified | every paper seeds a small tilt; ours defaults to 0.1 rad too |
| Inversion takes 7–8 s with a nutational belt | θ(t) oscillates about a logistic curve | qualified | Rauch-Wojciechowski & Rutstam, about their top, not ours |
| Rolling resistance kills the inversion | "no inversion is observed" | qualified | Kilin & Pivovarova, arXiv:2002.06335 — a different friction model than ours |
| Sleeping-top condition | ω₃² > 4Mgl·I₁/I₃² | qualified | the Lagrange-top result for a FIXED pivot; our tip slides and has a 4.2 mm radius |
| ITSA specifies nothing about the top | "Any spinning top will be permitted…" | DOCUMENTED | ITSA rulebook, quoted verbatim; bylaws PDF searched, zero equipment clauses |
| Koma Taisen solo-duration record | 14 min 55 s, Citizen, 2015-02-15 | DOCUMENTED | association's own (now closed) records table |
| Hand-thrown wooden top record | 8 min 49 s, years 4–6, 2013 | DOCUMENTED | Japan Koma-mawashi Association records table |
| Beigoma typical size | 27–35 mm dia., 9–15 mm high, 22–50 g | qualified | the last surviving foundry's own catalogue, with its own "these are averages" disclaimer |
| Tippe top geometry here | R 15.5 mm, cut at 0.60R, stem 16.0 × 7.0 mm | RECONSTRUCTED | chosen by simulation search to land inside the published band |
| Tippe top density | 1180 kg/m³, uniform | CALIBRATED | gives 17.2 g, inside the literature's 15–20 g |
| Tippe α and γ | 0.0400 and 0.9934, band [0.960, 1.040] | MEASURED | integrated from the profile by Gauss quadrature, exact for this shape |
| Its centre of mass rise | 11.04 mm (14.88 → 25.92) | MEASURED | contact geometry at θ = 0 against θ = π |
| Its inversion threshold | between 200 and 250 rad/s | MEASURED | 14-second runs, this engine |
| Eccentric-sphere spin threshold | ≈ 100 rad/s measured, 45.3 rad/s from energy alone | MEASURED | 25-second runs against our own derived bound |
| Energy-only necessary condition | ω₃² > mg(R+a)²/(I₃R) | DERIVED | Jellett at θ=0 and θ=π plus the height change; ours, not quoted |
| Jellett residual, flat table, no friction | 1.7 × 10⁻¹⁶ in 1 s | MEASURED | this engine at 40 kHz |
| Jellett residual convergence | 3.9e−3 → 1.1e−6 from 10 to 80 kHz | MEASURED | fourth order, the integrator's own |
| Jellett drift in the dohyo | 3.9 × 10⁻² in 1 s | MEASURED | the curved surface breaks the proof's premise |
| Energy identity in the dohyo | 4.4 × 10⁻⁷ in 1 s | MEASURED | residual of the tangent-plane contact |
| Frictionless control | tilt band 0.04° wide, 0 J dissipated, 10 s | MEASURED | μ = 0, contact damper off |
| Hard-stick control | froze at 120/160/400 rad/s; 11–22 s at 200/250/300 | MEASURED | the second must-fail control, 30 s runs at μ = 0.20 |
| Peg top wake spin | 92.7–104.8 rad/s against 85.1 predicted | MEASURED | launch sweep, spin-down to 10° of tilt |
| Peg top shape | cone to a 45 mm rim, 4.2 mm tip, 57.2 mm long | RECONSTRUCTED | no source publishes a peg top's dimensions |
| Wood density 720 kg/m³ | peg top | qualified | a generic hardwood figure, not this top's timber |
| Brass density 8400 kg/m³ | Koma Taisen top | qualified | generic brass; the record holders used tungsten, carbide and POM |
| Contact stiffness 4000 N/m, damping 0.9 N s/m | compliant normal contact | CALIBRATED | static sink 43 µm, chosen against the integrator step |
| Drilling friction and air drag | patch radius 0.4–0.6 mm | RECONSTRUCTED | no source we could open gives these; tuned so a bout is playable |
| Top-on-top collision | one sphere per rim circle, e = 0.45, μ = 0.32 | RECONSTRUCTED | nothing published; see finding 8 |
| Opponent throw model | seeded spread by skill level | RECONSTRUCTED | an opponent has to come from somewhere |
| Integrator | classical RK4, fixed step | DERIVED | step chosen from the convergence study above |
A spinning top is not anyone's invention. It is one of the oldest toys there is, and no author, year or publisher can be credited for it. What can be credited, and is:
This is an independent reimplementation. No code, art, sound or data from any product is used. Nothing here is affiliated with, endorsed by or connected to the Koma Taisen Association, the International Top Spinners Association, or any manufacturer. Beyblade is a trademark of its owner and is deliberately not referenced, modelled or imitated anywhere in this app.
Full credits, the source list, every failed fetch and the licence are in CREDITS.txt and LICENSE.txt. A machine-readable summary is at llms.txt.