An independent reimplementation of the sport of boomerang throwing, written from the published rules and from published aerodynamics. It is not affiliated with, endorsed by, or derived from any boomerang association, maker or product.
Set the five things a thrower actually controls, then press Space. During the flight the arrow keys (or WASD) run you across the field and C attempts the catch. In Accuracy you may not touch it: it has to come to rest on its own. On a touch screen, tap the 3D field to throw (and, in flight, to catch), and tap or drag on the plan view to send the thrower running to that spot.
A boomerang is a spinning wing. Over one half of each revolution a blade's tip speed adds to
the forward speed and over the other half it subtracts, so the blade at the top makes more lift
than the blade at the bottom. That difference is a couple. Because the thing is spinning
hard, the couple does not roll it over: it precesses the spin axis, at a rate
Omega = |tau| / (J w). The lift points along the spin axis, so as the axis sweeps
round, so does the lift, and the path closes into a loop.
Nothing in this app prescribes that curve. The engine carries the spin axis as a real state and
integrates dL/dt = tau with L = J w n; the loop is what comes out.
The governing rulebook says the same thing in its definition of the word: to be a boomerang a
stick "must tend to return as result of gyroscopic precession caused by asymmetric lift".
Forces and couples come from a blade-element integral over the spinning wing: each blade is cut into six Gauss-Legendre stations, each station's angle of attack is worked out from its own relative wind, and the section coefficients run over the full ±180° so the large reverse-flow region on the retreating blade root is handled honestly rather than ignored. Real boomerangs fly at an advance ratio near one, where a big part of the retreating blade is genuinely flying backwards.
The whole coupled state — position, velocity, spin axis, spin rate and rotor phase — is advanced by one RK4 at a fixed 2.5×10-4 s step against an absolute clock. The attached thin-airfoil branch (slope 2π per radian) blends into a Newtonian flat-plate branch past stall through a C∞ transition; a merely-continuous blend measurably drops the integrator below fourth order.
Measured on this engine: convergence over all eleven coupled components is dt4.31 where the flow is smooth. In flight it falls to about dt2.1, because the fastest thing in the problem is not the spin (25.7 ms per revolution) nor blade passage (12.8 ms) but a blade element crossing zero tangential speed, which takes about 0.056 ms.
Scoring follows the United States Boomerang Association, whose rulebook is titled Boomerang Competition Regulations, Revision 2007 — it is not called "the WBA rules" anywhere in the document. Clause numbers below are that book's own.
Range is not "the furthest it went". The rulebook (Sec.3) defines it as the outermost marked circle the boomerang flies over between the throw and the start of its return, and the two really are different numbers for some flights.
Rules: all sourced, none reconstructed. Equipment: all reconstructed. Boomerang mass, blade section, chord and moment of inertia are not standardised and no governing body publishes them, so every number in the table below is a choice of mine, made inside the sourced envelopes where one exists (Wikipedia: sport boomerangs 70-110 g, 250-300 mm wingspan, 20-40 m range; MTA boomerangs often under 25 g).
| Item | Value | Status |
|---|
Three deliberate departures, spelled out because they change what you see: the drawn boomerang is five times its true size (a 30 cm stick is invisible at 20 m; the engine's is 30 cm and nothing physical uses the drawing scale); MTA sessions draw a calmer wind than the other events, because a 33-second flight in a two-knot breeze is blown clean out of the 50 m circle the rules require the catch inside; and the Fast Catch clock carries the run back to the 2 m circle after each catch, because Sec.14.5 times the whole turn.
R = 4J/(rho C_L pi a^4) is independent of both spin and speed.Credits and the full list of what differs from the real sport are in CREDITS.txt.