A ball, a surface, a contact.
Physics-based, with provisional material parameters. The equations obey rigid-body mechanics and distinguish rolling, sliding, impacts and flight. Numerical checks validate the solver’s limiting cases. They do not establish agreement with a particular steel ball, rubber formulation, wood finish or sand sample.
What the player chooses
A solid steel marble or a solid, highly resilient rubber ball; sealed hardwood or a shallow dry sand bed. Both balls are 15 mm in diameter. Walls and hole rims stay hardwood. Gravity, contact coefficients and losses are fixed, with no difficulty, damping or sensitivity sliders.
The steel ball weighs 13.96 g and the rubber ball 1.94 g. Their moments of inertia are 3.14 × 10−7 and 4.37 × 10−8 kg m². These follow from the selected dimensions, densities and homogeneous-sphere assumption. Steel density 7,900 kg/m³ is consistent with the stainless sphere in source [4]; rubber density 1,100 kg/m³ is an assumed compound value.
Rolling and sliding
The state contains three position components, three velocity components, three angular velocities, and a unit quaternion for visual orientation. Translation and rotation evolve separately. The solver uses the velocity of the actual contact point to decide whether available friction can prevent slip.
u = v + ω × (−Rn)
Jn = −m(1 + en)un
mt = [1/m + R²/I]−1
At sustained contact, the impulse required to make tangential slip vanish is compared with μsJn. Above that bound, sliding friction uses μkJn. Thus a lossless sphere on an incline recovers a = (5/7)g sin θ; this factor is not inserted into the driving force. Two solid balls have the same ideal rolling acceleration regardless of density.
Rolling resistance is a contact moment N[b0 + b1R|ωxy|], opposing roll. Spin about the surface normal experiences torsional friction from an estimated finite contact footprint. There is no global velocity damping or artificial speed limit. At rest, rolling resistance can balance a small slope. The footprint uses an effective Hertz modulus; that modulus does not determine the impact restitution.
Wood contacts and rubber bounce
Impacts retain spin. A ball rolling into a wall can receive an upward friction impulse and hop. The rubber profile allows tangential elastic recovery through a tangential restitution coefficient; its impulse is bounded by Coulomb friction. This reproduces a mechanism seen in oblique rubber impacts [1], without resolving internal elastic vibrations.
Every contact value below is an adopted estimate, not a measured coefficient for these specimens. The cited research supports mechanisms and parameter dependence; it does not supply this complete parameter set. Surface finish, load, ball radius and impact speed all matter [2].
| Parameter | Steel–wood | Rubber–wood | Meaning / status |
|---|---|---|---|
| μs / μk | 0.25 / 0.18 | 0.85 / 0.65 | Static / sliding friction; estimates |
| Impact friction μi | 0.20 | 0.70 | Bound on tangential impact impulse; estimate |
| Normal e at 1 m/s | 0.55 | 0.85 | Effective ball–wood restitution; estimate |
| Tangential e | 0 | 0.45 | Contact recovery during impact; estimate |
| b0 | 8 μm | 40 μm | Low-speed rolling moment arm; estimate |
| b1 | 12 μs | 50 μs | Speed-dependent moment arm slope; estimate |
| Effective contact modulus | 1 GPa | 5 MPa | Footprint estimate, not bulk wood/steel modulus |
Normal restitution is interpolated as e(v) = [1 + (1/eref − 1)(v/1 m s−1)1/5]−1. The exponent is motivated by viscoelastic-impact theory [3]; the rational interpolation and its transfer to wood and sand are modeling assumptions, not that paper’s fitted law. Impacts slower than 0.08 m/s use zero restitution to avoid numerical chatter.
Sand is a deformable bed
Sand has no universal friction coefficient. Sphere experiments show substantial penetration and separate loss of translational and rotational motion [4]. A shallow, 5 mm bed is represented here by an effective resistance model; individual grains are not simulated.
Fplough = 0.18 N δ/R
Mbed = 0.12 N δ
Finertial = 1.5 ρbedA(δ)|v|²
Bed density is set to 1,600 kg/m³. A(δ) is the circular-segment area of the buried portion of a sphere. The penetration scaling and 0.46 prefactor come from a 50 mm glass-bead bed, using 6.35 mm-radius spheres [4]. Applying that scaling to dry sand and clipping at 5 mm are unvalidated extrapolations. The three force/moment prefactors are provisional. They should be fitted to a specified bed, rather than treated as intrinsic sand properties.
Sand sliding coefficients μs/μk are 0.55/0.40 for steel and 0.80/0.60 for rubber. Normal restitution at 1 m/s is 0.05 and 0.12 respectively; tangential restitution is zero. These are estimates. The model predicts effective sinkages of 5.00 mm and 2.60 mm, and rest thresholds around 11.4° and 6.3°. These are simulation outputs, not experimental results.
Sinkage changes drag and rolling resistance. It does not dynamically move the support plane or simulate grooves, displaced grains, compaction history, avalanching or grains spilling into holes. Height is measured from the effective support plane. Granular resistance acts while supported; airborne motion follows gravity.
Holes, walls and numerical boundaries
Hole capture now follows free fall and sphere contact with a circular rim and its inner wall. There is no fixed catch-depth timer. The ball can strike the far rim and escape at speed. A centre more than one radius below the opening is counted as captured. The rigid rim omits local deformation and wear.
Internal walls are 18 mm high, the outer frame 40 mm. The solver uses sphere–box contacts, so a sufficiently energetic hop can clear a wall. Tilt changes a virtual gravity direction with magnitude 9.81 m/s², capped at 28° from neutral; the same mapping applies to both materials. This remains a tilt-only control model, without translational shaking or the non-inertial terms of a rapidly rotating physical board.
Physics runs at 240 fixed ticks/s with internal steps no longer than 1/960 s, additionally bounded by a displacement of R/5. Frame gaps contribute at most 50 ms and hidden time is discarded. Contact projection and the impact threshold introduce numerical approximations. Phone sensor filtering is fixed at a 15 ms time constant; it is separate from the material model.
What has been checked
Automated checks cover ideal rolling acceleration, the sliding-to-rolling limit, energy dissipation in oblique spinning impacts, normal restitution, wall-induced hops, coast-down ordering, sand rest/runout, high-speed wall contact, geometric hole capture, frame-rate independence and a traversable maze. Real-phone testing and specimen-level calibration remain outstanding.
How to replace estimates with measurements
- Measure the actual ball’s diameter and mass. Specify the wood species, finish, moisture and wall backing; specify sand grain distribution, depth, packing and moisture.
- Fit rolling moment arms from horizontal coast-down tracks at several speeds. A single stopping distance cannot separate constant and speed-dependent loss.
- Use normal rebound tests at several velocities for e(v). Use oblique impacts with visible spin marks to fit tangential response and impact friction.
- Measure independent sliding friction. Rolling resistance and sliding friction are different parameters.
- For sand, measure penetration, translational and angular deceleration, and start-from-rest threshold. Reserve separate trajectories to check predictions after fitting.
Sources
- R. Cross, Impact behavior of a superball, American Journal of Physics 83, 238–248 (2015). See also the author’s collision experiments.
- R. Cross, Coulomb’s law for rolling friction, American Journal of Physics 84, 221–230 (2016).
- R. Ramírez et al., Coefficient of restitution of colliding viscoelastic spheres, Physical Review E 60, 4465 (1999); open manuscript.
- Energy dissipation of a sphere rolling up a granular slope: Slip and deformation of the granular surface, Physical Review E 109, 014903 (2024); open manuscript.
- F. V. De Blasio and M.-B. Sæter, Rolling friction on a granular medium, Physical Review E 79, 022301 (2009). Its glass/steel granular-bed coefficients are contextual evidence; they are not copied as coefficients for this shallow sand model.