← Back to the maze

Different materials. The same laws.

MATERIAL MODEL 04 · 25 SEPTEMBER 2026

Physics-based scenarios, not calibrated specimens. Five balls, four floors and two wall materials give 40 combinations. The player chooses materials; coefficients stay fixed. Every numerical contact value is listed below. Literature reference values are identified explicitly. Numerical verification does not replace experiments.

Geometry and inertia

Ball diameter and mass remain physical. The maze is enlarged in proportion to ball radius, keeping the same route and relative clearances. Thus the 40 mm table-tennis ball fits through passages and can enter holes. The screen fits the whole board; equal apparent ball size does not mean equal physical size. This changes travel distances as well as contact dynamics.

BallDiameter [mm]Mass [g]Bulk density [kg/m³]I / mR²Board [cm]
Steel1513.960579000.430 × 63.3333
Bouncy rubber151.9438611000.430 × 63.3333
Table tennis402.780.57220.66666780 × 168.889
Cork150.4241152400.430 × 63.3333
Billiard57.151701739.410.4114.3 × 241.3

Table-tennis dimensions follow the nominal 40 mm / 2.7 g specification in ITTF T3 (2014) [1]. Its inertia uses an ideal thin shell, I = 2mR²/3. The other balls use homogeneous spheres, I = 2mR²/5. Steel, rubber and cork densities are selected as 7,900, 1,100 and 240 kg/m³. The billiard ball uses the 57.15 mm diameter and approximately 170 g reference size in pooltool [2]. For hollow balls, sand resistance uses mass divided by the whole enclosed volume, not polymer density.

Rolling, sliding and spin

k = I / (mR²)
u = v + ω × (−Rn)
Jn = −m(1 + e)un
mt = [1/m + R²/I]−1
aroll = g sin θ / (1 + k)
μs ≥ [k / (1 + k)] tan θ

Static contact friction enforces zero slip when its impulse is sufficient. Otherwise kinetic friction opposes contact-point slip. Ideal acceleration is therefore 5g sin θ/7 for a solid sphere and 3g sin θ/5 for the shell. These factors emerge from angular dynamics, rather than multiplying the driving force by a chosen preset.

The steel–ice scenario uses μs = 0.03 and μk = 0.025. From rest, slipping begins above about 6°. During downhill sliding, acceleration is g(sin θ − μk cos θ), not simply g sin θ. Slip direction can differ from travel direction after a collision or reversal. Spin persists and affects the next wall contact. Ice coefficients are a low-friction scenario, not measured temperature-, load- or speed-dependent ice data. Polished glass is not assumed interchangeable with ice.

Rolling resistance is a torque N[b₀ + b₁R|ωxy|], with no global velocity damping. Torsional friction opposes spin about the contact normal using an estimated Hertz footprint, or the sand footprint. The effective modulus only estimates that footprint; it is not used to predict restitution. A near-rest velocity tolerance of 20 μm/s allows static rolling resistance to hold the ball on sufficiently shallow slopes. Restitution is suppressed below 0.08 m/s normal impact speed to avoid chatter.

All floor contact parameters

Assumed unless identified below. b₀ and b₁ are rolling-moment parameters, not sliding friction. Listed restitution values are normal values at 1 m/s. Contact moduli and tangential restitution are approximations. Sand adds bed forces to these values.

Contact pairμs / μk / μimpacte at 1 m/sTangential eb₀ [μm]b₁ [μs]Effective E* [Pa]
Steel / Hardwood0.25 / 0.18 / 0.20.5508121000000000
Steel / Dry sand0.55 / 0.4 / 0.40.0508121000000000
Steel / Smooth ice0.03 / 0.025 / 0.0250.550001000000000
Steel / Baize0.25 / 0.2 / 0.20.350126010000000
Bouncy rubber / Hardwood0.85 / 0.65 / 0.70.850.4540505000000
Bouncy rubber / Dry sand0.8 / 0.6 / 0.60.12040505000000
Bouncy rubber / Smooth ice0.1 / 0.07 / 0.080.780.258105000000
Bouncy rubber / Baize0.85 / 0.65 / 0.650.650.2262.5203000000
Table tennis / Hardwood0.25 / 0.2 / 0.20.850.1302010000000
Table tennis / Dry sand0.45 / 0.3 / 0.30.120302010000000
Table tennis / Smooth ice0.04 / 0.03 / 0.030.820.050010000000
Table tennis / Baize0.3 / 0.2 / 0.20.650.150005000000
Cork / Hardwood0.6 / 0.45 / 0.450.2801201002000000
Cork / Dry sand0.6 / 0.45 / 0.450.0501201002000000
Cork / Smooth ice0.08 / 0.06 / 0.060.25030302000000
Cork / Baize0.65 / 0.45 / 0.450.20315501000000
Billiard / Hardwood0.25 / 0.2 / 0.20.6030201000000000
Billiard / Dry sand0.55 / 0.4 / 0.40.05030201000000000
Billiard / Smooth ice0.04 / 0.03 / 0.030.650001000000000
Billiard / Baize0.25 / 0.2 / 0.20.40400.05010000000

Independent walls

Hardwood walls or passive rubber bumpers can be selected on any floor. Wall restitution belongs to the ball–wall pair: rubber bumpers do not make cork as elastic as steel. Bumpers never inject energy. Hole rims and inner hole walls remain hardwood, so changing bumpers does not silently alter hole capture.

Contact pairμs / μk / μimpacte at 1 m/sTangential eb₀ [μm]b₁ [μs]Effective E* [Pa]
Steel / Hardwood0.25 / 0.18 / 0.20.5508121000000000
Steel / Rubber bumpers0.7 / 0.55 / 0.550.880.158123000000
Bouncy rubber / Hardwood0.85 / 0.65 / 0.70.850.4540505000000
Bouncy rubber / Rubber bumpers0.9 / 0.75 / 0.750.880.440503000000
Table tennis / Hardwood0.25 / 0.2 / 0.20.850.1302010000000
Table tennis / Rubber bumpers0.6 / 0.45 / 0.450.90.230203000000
Cork / Hardwood0.6 / 0.45 / 0.450.2801201002000000
Cork / Rubber bumpers0.7 / 0.5 / 0.50.3501201003000000
Billiard / Hardwood0.25 / 0.2 / 0.20.6030201000000000
Billiard / Rubber bumpers0.14 / 0.14 / 0.140.98 (constant)030203000000

Wall contacts use friction-limited normal and tangential impulses, retaining angular momentum and permitting wall-induced hops. For the general pairs, e(v) = [1 + (1/eref − 1)(v / 1 m s−1)1/5]−1. The exponent is motivated by viscoelastic sphere theory [6]; this interpolation is not an empirical constitutive law for all listed materials. The billiard–bumper profile instead keeps e = 0.98 constant.

What the billiards reference establishes

For billiard–baize, sliding friction 0.20 and rolling deceleration 0.01g reproduce published pooltool defaults [2]. The rolling convention matters: this torque solver uses b₀ = (1 + k)R × 0.01 to obtain a = −0.01g on a horizontal plane. Directly substituting b₀/R = 0.01 would understate the loss by the factor 1 + k. Static friction 0.25, vertical baize restitution and contact modulus remain assumptions.

The billiard–rubber impact values e = 0.98 and μ = 0.14 come from Mathavan et al. [3], whose comparison supports their rigid-cushion treatment below roughly 2.5 m/s normal speed. Their cushion geometry and impact formulation differ from this maze’s vertical box faces. Borrowing two coefficients does not validate our rebound trajectories or establish measured accuracy. They are a traceable reference scenario. Billiard balls can still slide after impacts or sufficiently strong changes of force; “always rolling” is not imposed.

Air resistance

Fair = −½ρairCDπR²|v|v
ρair = 1.225 kg/m³   CD = 0.47

Quadratic drag acts on every ball, in flight and while supported. Its velocity-only substep uses the exact decaying solution, preventing numerical reversal. CD is a fixed sphere approximation; Reynolds-number dependence, near-floor aerodynamic changes, Magnus lift and aerodynamic spin loss are omitted. Table tennis is the most affected of these profiles because of its area-to-mass ratio.

Ignoring rolling loss, this model gives a table-tennis terminal downhill speed around 3.6 m/s at 10° tilt, which may not be reached in this maze. Drag is not exaggerated to create an arcade speed cap. The 2014 ITTF rebound test uses a steel block [1]; its approximately 0.9 restitution must not be treated as a universal ball value. The wood value 0.85 here remains an estimate.

Sand: an effective deformable bed

δ = min[5 mm, 0.46R(ρball/ρbed)3/4]
Fplough = 0.18Nδ/R
Mbed = 0.12Nδ
Finertial = 1.5ρbedA(δ)|v|²

Bed density is 1,600 kg/m³; A(δ) is the buried circular-segment area. Penetration scaling is extrapolated from solid spheres on a 50 mm glass-bead bed [4]. Transferring it to a 5 mm sand bed, a hollow shell or deformable cork is unvalidated. Force prefactors are provisional. The bed depth stays 5 mm even when the board grows.

BallPredicted sinkage [mm]
Steel5
Bouncy rubber2.6048
Table tennis0.977995
Cork0.831548
Billiard5

These are model predictions, not observations. Sinkage modifies resistance without moving the support plane. No individual grains, compaction history, grooves, avalanching or grains entering holes are simulated. Low-density balls penetrate less; that alone does not guarantee weak deceleration, because their mass is also lower.

Scenery and numerical limits

Wood grain, sand speckle, ice streaks and matte baize identify the selected floor. Surroundings and frame colours follow the surface. Rubber walls have a separate bumper appearance; steel, blue rubber, white table tennis, cork and a spotted ivory billiard ball have distinct finishes. Tracking marks rotate with simulated spin. These textures exert no random forces. Grooves and ice skid marks accumulate in a separate visual layer; they do not alter friction or deform the physical support surface.

The portrait 30 × 63.3 cm maze has 18 mm internal walls, 40 mm outer walls and 32 mm holes. These dimensions all scale with ball radius. This is a maze using a billiard ball, not a regulation billiards table. Sphere–box contacts include finite wall height. Hole capture follows free fall and rim contact; a centre more than one radius below the opening is counted as captured.

Phone input remains relative β/γ with screen remapping. Virtual tilt changes gravity direction while preserving |g| = 9.81 m/s², up to 28°. Shaking and the non-inertial forces of a physically rotating board are omitted. The clock uses 240 ticks/s, internal steps no longer than 1/960 s and displacement bounded by R/5. Long frame contributions are capped at 50 ms; hiding the page pauses. Sensor filtering remains 15 ms.

Portrait display and feedback

The maze is authored in 9 × 19 board units, separate from physical metres and screen pixels. One uniform scale fits the available rectangle; circles stay circular in portrait and landscape. Canvas backing density is capped at 2. Safe-area insets and visualViewport resize events accommodate display cut-outs, the home indicator and moving browser toolbars.

On iPhone, Add to Home Screen is the recommended launch path. The manifest requests standalone display and supplies icons. On iOS 26, keep “Open as Web App” enabled [7]. This private site can still require a sign-in and an internet connection. No offline service-worker cache is installed. On Android, Enable tilt also requests fullscreen from the same tap, then requests portrait lock if available. Failure leaves ordinary browser play usable.

Status and setup chips hide during play; Pause stays available. Touch play retains the pad. Cached surface/wall/hole images are regenerated only after a size or material change. Persistent marks survive resizing and automatic retries, and clear on Restart or material changes. Each frame composites those layers with subtle tilt shading, a height-separated shadow and the ball. Quaternion marks and the shell seam reveal spin; a small perspective scale change reveals hops. All 20 ball–floor palettes have either an outline or a highlight contrast cue of at least 3:1 at the base palette endpoints. This is a numerical palette check, not a photographed-phone or full-pixel contrast audit.

Web Audio is created/resumed only through visible control taps or keyboard play. Rolling uses band-passed noise driven by speed; ice is quiet without contact slip. Material-specific bursts use normal contact impulse, a 55 ms minimum interval, at most six impact voices, and ±3% frequency variation. Rim hits and floor landings use the same contact notifications. Capture uses a descending oscillator. Scheduling uses AudioContext.currentTime, not JavaScript timers. Resonances and loudness are sound design, not measured acoustic calibration.

Sound defaults on, with a mute option. Ambient audio is requested where supported [8]; no silent-switch workaround is used. Pausing stops active effects; hiding the page also suspends the audio context. Wall haptics are opt-in, limited to one short pulse per 100 ms, and disabled when navigator.vibrate is absent [9]. Feature detection does not guarantee that a device will emit sound or vibration.

Verification and next measurements

67 automated checks pass, including viewport aspect and DPR bounds, cached rendering execution for all material combinations, audio timing/lifecycle, palette contrast cues, all 40 material-combination routes, passive spinning impacts, 5/7 and 3/5 acceleration, the ice slipping threshold, quadratic drag decay, reference baize coast-down, high-speed walls and hole capture. Routes use a conservative automated controller; success establishes traversability, not equal human difficulty. The renderer and audio scheduler were exercised with instrumented API test doubles; those checks do not establish visual appearance, audible quality or real-device permission behaviour. Real-phone, visual browser, listening and physical-specimen validation remain outstanding.

Next measurements: mass and diameter; coast-down at multiple speeds; independent sliding tests; normal and oblique rebounds with tracked spin. Specify wood finish, cork density and rubber compound. For ice specify temperature and surface state; for cloth specify weave and tension; for sand specify grains, depth, packing and moisture. Keep separate trajectories for validation after fitting.

The optional oil film is deferred. A linear drag coefficient needs a defined viscosity, film thickness and contact/flow model; assigning arbitrary damping would not make it a calibrated thin-film simulation.

Download the complete SI parameter ledger (JSON)

Sources and provenance

  1. ITTF Technical Leaflet T3 (2014), nominal ball geometry/mass and the steel-block bounce test. Historical primary specification, not a claim about every current ball formulation.
  2. Pooltool v0.3.3 BallParams documentation, explicit reference model defaults. This is software provenance, not our experimental dataset.
  3. S. Mathavan, M. R. Jackson and R. M. Parkin, A theoretical analysis of billiard ball dynamics under cushion impacts (2010), representative cushion coefficients and model limits.
  4. Energy dissipation of a sphere rolling up a granular slope: Slip and deformation of the granular surface, Physical Review E 109, 014903 (2024), penetration scaling. Application to this sand layer remains extrapolation.
  5. R. Cross, Impact behavior of a superball (2015); Coulomb’s law for rolling friction (2016). Contact mechanisms and parameter dependence, not numerical values for our specimens.
  6. R. Ramírez et al., Coefficient of restitution of colliding viscoelastic spheres (1999). Motivation for speed dependence, not a fitted universal law.
  7. WebKit features in Safari 26.0, Home Screen launch behaviour.
  8. AudioSession.type and AudioContext.resume, optional ambient audio and activation.
  9. Navigator.vibrate, VisualViewport, and requestFullscreen, browser capability boundaries.