Two Shadows: One Throw, Two Simple Motions

An educational simulation game. A ball thrown at an angle casts one shadow on the floor and one on a wall. Predict each shadow's motion, then watch them move together.

Velocity componentsAngled launch

THROW AND SHADOWS

The floor shadow

Ready
Enable JavaScript to throw the ball. The instructions and worked example remain readable.
Velocity vFloor shadow, vₓWall shadow, v_yPath so farYour prediction
Velocity componentsvₓ = v₀·cos θ

Time

0.00 s

t

Floor shadow

0.00 m

x = vₓ·t

Wall shadow

0.00 m

y = v_y0·t − ½·g·t²

Horizontal velocity

— m/s

vₓ = v₀·cos θ

Vertical velocity

— m/s

v_y = v₀·sin θ − g·t

Predict before you throw

Type your answer to arm the throw. Play stays off until there is an answer.

Predict the shadows before you throw.

Mission score—

An answer within 2% earns 100 points. Getting it right on the first throw adds 50.

✓ Right answer① First try

How to play Two Shadows

  1. Choose a throw and read the launch speed v₀ and the angle θ on the card.
  2. Split v₀ into vₓ = v₀·cos θ and v_y0 = v₀·sin θ.
  3. Treat the floor shadow as uniform motion at vₓ and the wall shadow as a vertical throw at v_y0. Type your answer.
  4. Press Play and watch both shadows. Turn on the strobe to compare their spacing.

A projectile is two motions at once

Light from straight above casts the ball's shadow on the floor; light from the side casts it on a wall. The floor shadow shows only the horizontal motion: with no horizontal force, it moves at the constant speed vₓ = v₀·cos θ, as in MRU. The wall shadow shows only the vertical motion: it starts up at v_y0 = v₀·sin θ, slows down, stops at the top, and falls back, exactly like a ball thrown straight up. A projectile is these two simple motions happening together, sharing the same clock t.

A focused learning model

The ball is a point launched from floor level with g = 9.8 m/s² and no air resistance, so its horizontal velocity never changes. The top and the landing are solved exactly at t = v_y0 ÷ g and t = 2·v_y0 ÷ g, and the velocity just before landing is kept. Every throw uses the same view, with one scale for both axes, and plays in real time.

Changing language keeps your throw, answer, attempts, and run.