Bounce on Grass vs. Turf SimulatorRestitution on Three Surfaces
Drop a ball, watch it bounce and roll; pick grass, turf, or wet grass and see how the surface alone changes the outcome.
Published: May 3, 2026 · Updated: May 28, 2026
Objective
Confirm that a ball dropped onto a surface bounces with a vertical-velocity ratio fixed by the coefficient of restitution e, so that successive peak heights follow h_n = h₀ · e^(2n). Verify that switching surfaces (Grass e ≈ 0.55, Turf e ≈ 0.70, Wet Grass e ≈ 0.45) changes both the bounce count and the post-bounce roll distance, with everything else held constant. Identify which surface property dominates each phase: e governs the bouncing phase, μ_r governs the rolling phase.
Setup
- Press Reset to clear the trail. The Time, Bounces, Roll Distance, and Energy retained readouts return to 0.00, 0, 0.00, and –.
- Set the Drop Height slider to 3.0 m. This is the default and gives a vertical impact speed of √(2·9.81·3.0) ≈ 7.67 m/s on the first contact.
- Set the Horizontal Speed slider to 8.0 m/s. This puts the ball into a flat-trajectory drop so the bouncing and the rolling phases are both clearly visible.
- Set the Surface slider to Grass (slider position 0). Grass has e ≈ 0.55 and μ_r ≈ 0.35, the mid-range reference surface for this experiment.
- Press Start. Watch the Bounces counter tick up on each ground contact and the Energy retained readout update with the percentage of kinetic energy preserved at the most recent impact.
- Wait for the ball to come to rest. The simulation stops when rolling friction brings the horizontal speed below 0.05 m/s, and the final readouts show the totals.
Analytical Prediction
With Drop Height = 3.0 m, Horizontal Speed = 8.0 m/s, and Surface = Grass (e = 0.55, μ_r = 0.35), the first vertical impact speed is:
The bounce equation v_y' = −e·v_y gives a return speed of 0.55·7.67 ≈ 4.22 m/s. The next peak height shrinks geometrically: h₁ = h₀·e². Successive peaks are h₂ ≈ 0.27 m, h₃ ≈ 0.083 m, h₄ ≈ 0.025 m, h₅ ≈ 0.0076 m:
The fifth peak falls below the 0.01 m bounce-to-roll threshold, so the simulation should record about 5 bounces before rolling. Horizontal damping by (1 − ½·μ_r) = 0.825 per contact gives v_x after 5 bounces ≈ 8.0 · 0.825⁵ ≈ 3.06 m/s, then rolling friction decelerates the ball over:
The first-bounce Energy retained reading combines vertical and horizontal losses, η ≈ 50 %.
Results Analysis
After the run completes the readouts should show Bounces ≈ 5, Roll Distance ≈ 1.3–1.4 m, and Energy retained for the final contact in the high-60% range; the first-bounce value of ≈ 50% is briefly visible as the bounce counter increments, then is overwritten by each later contact. The bounce count and roll distance should sit within a few percent of the analytical values above, with the small offset coming from the bounce-to-roll transition firing at a discrete substep rather than at the exact threshold crossing. Reset and switch the Surface slider to Turf (e ≈ 0.70, μ_r ≈ 0.20). The same drop height now satisfies h₀·e^(2n) ≥ 0.01 for n up to about 8, so the bounce count grows substantially, and the lower μ_r means each bounce strips less horizontal speed and the final roll runs further, typically 4–5 m. Switch to Wet Grass (e ≈ 0.45, μ_r ≈ 0.45) and the opposite happens: about 3 bounces and a roll under 1 m. The single change of surface reshapes the entire post-flight phase.
Source of Error
What this sim does NOT model: ball spin, air drag during the bounces or the roll, lateral wind, surface micro-texture variation across the pitch, ball deformation at impact, or temperature/moisture effects on the surface. Each surface is reduced to a single coefficient of restitution e and a single rolling-friction coefficient μ_r. The closed forms v_y' = −e·v_y and a = −μ_r·g assume the same idealizations, so they cancel rather than contributing to the residual bounce count or roll distance. The remaining gap between prediction and readouts is therefore purely numerical, not physical.
Further Exploration
- With Drop Height = 5.0 m and Horizontal Speed = 0 m/s, count the bounces on Grass, then Turf, then Wet Grass. Does the ratio of bounce counts match the prediction n_threshold = ½·log(h_min/h₀) / log(e)?
- Hold Drop Height = 3.0 m and Surface = Turf, and step Horizontal Speed through 0, 5, 10, 15 m/s. Does the bounce count change, or only the roll distance? Which coefficient is responsible?
- From the Energy retained readout on the first bounce, back out the surface's e for each of Grass, Turf, and Wet Grass (start with Horizontal Speed = 0 so the formula reduces to η = e²). Do the three values match the surface table to within a few percent?
- Predict the roll distance on Turf for Drop Height = 4.0 m and Horizontal Speed = 12 m/s, using d_roll = v_x_final² / (2·μ_r·g) with v_x_final = 12·(1 − ½·μ_r)^n and n = your predicted bounce count. Run the sim and compare.
- What drop height on Wet Grass produces exactly one bounce before the roll phase begins? Solve h₀·e² < 0.01 for h₀, then verify with the slider.