Two Runners Position
Introduction
Two bodies moving along the same line at constant velocities form the simplest non-trivial two-body kinematics scenario. Each body has its own starting position and its own constant velocity, the position equations xₐ(t) = x₀ₐ + vₐ·t and xᵦ(t) = x₀ᵦ + vᵦ·t evolve independently, and the only thing that ties them together is the question of when they coincide. The simulator on this page lets that question be answered visually — both runners trace lines on a position-time graph and the moment those lines cross is the meeting time.
The topic anchors the introductory kinematics curriculum because every more sophisticated problem — collision detection, orbit intercepts, projectile interceptions, even particle physics scattering analysis — reduces in its simplest form to "when and where do two trajectories meet." Reading the meeting time off a graph is more visual than algebraic, and a learner who can predict the intersection point from a glance at the slopes has internalized the relative-velocity idea that the closed-form t_meet = (x₀ᵦ − x₀ₐ) / (vₐ − vᵦ) only states symbolically. The race framing — first runner to the 100 m finish line wins — adds an end condition that makes the simulation terminate on a physical event instead of an arbitrary timeout.
A common first guess is that the meeting time depends on how far each runner has to travel. The simulator shows the opposite: with the defaults the meeting time depends only on the initial gap (10 m) divided by the closing speed (3 m/s), giving t_meet ≈ 3.33 s regardless of how the gap is split between the two starting positions or how fast either runner is moving in absolute terms.
The Physics Explained
Each runner moves under zero net force, so Newton's first law guarantees a constant velocity throughout the run. The simulator releases both runners at t = 0 from positions x₀ₐ and x₀ᵦ with the velocities vₐ and vᵦ set by the sliders. With the defaults x₀ₐ = −5 m, vₐ = 6 m/s, x₀ᵦ = 5 m, vᵦ = 3 m/s the position-time graph traces two straight lines whose slopes are 6 m/s (Runner A, blue) and 3 m/s (Runner B, amber). Lines with different slopes cross exactly once; lines with the same slope never cross.
The Gap readout is the on-screen proxy for the relative velocity. It begins at 10.0 m — the initial separation 5 − (−5) — and shrinks at exactly 3.0 m/s, the difference vₐ − vᵦ. When the Gap readout crosses zero the runners coincide, and at that moment both Runner A and Runner B readouts show ≈ 15.0 m and the red meeting marker on the track sits at the intersection. The intersection time follows from setting the two position equations equal: t_meet = (x₀ᵦ − x₀ₐ) / (vₐ − vᵦ) = 10 / 3 ≈ 3.33 s — exactly the value the Time readout displays when the Gap first hits zero.
The race continues past the meeting point because a meeting is not a finish. Runner A keeps closing on the green finish line at x = 100 m, reaching it at t = (100 − (−5)) / 6 = 17.50 s, and the simulation halts the moment that crossing happens. Runner B at t = 17.50 s is at x = 5 + 3·17.50 = 57.5 m, still 42.5 m short of the finish line. The Time readout freezes at 17.50 s, the Gap readout shows −42.5 m (Runner A is now ahead), and the simulation has terminated on a physical event rather than an arbitrary 30 s safety cap.
Equal velocities are the algebraic edge case worth seeing on screen. Setting vₐ = vᵦ = 5 m/s with different starting positions makes the two x(t) lines parallel: they never cross, the Gap readout holds at its initial value forever, and the meeting-time formula returns null because dividing by zero is undefined. The simulator handles this case explicitly — the meetingTime function returns null when the relative velocity falls below 1 × 10⁻⁹ m/s — and the absence of the red meeting marker is the visual signature of a non-meeting configuration.
Key Equations
For the defaults x₀ₐ = −5 m, vₐ = 6 m/s, x₀ᵦ = 5 m, vᵦ = 3 m/s the runners' positions at t = 2 s are xₐ = −5 + 6·2 = 7 m and xᵦ = 5 + 3·2 = 11 m. The Runner A and Runner B readouts pause at exactly 7.0 m and 11.0 m when the simulation is paused at t = 2.00 s, with the Gap readout showing 4.0 m — the closing distance after the relative speed has eaten up 6 m of the original 10 m gap.
Setting xₐ(t) = xᵦ(t) and solving for t gives the closed-form intersection. With the defaults t_meet = (5 − (−5)) / (6 − 3) = 10 / 3 ≈ 3.33 s. The Time readout displays exactly that value when the Gap readout first crosses zero, and the dashed red line on the position-time graph drops down at t = 3.33 s — three independent on-screen confirmations of the same number. The formula is undefined when vₐ = vᵦ and the simulator handles that case by returning null and omitting the meeting marker.
Runner A's finish time at x_finish = 100 m is (100 − (−5)) / 6 = 17.50 s; Runner B's would be (100 − 5) / 3 ≈ 31.67 s. Since the simulator halts on the first crossing, it stops at 17.50 s with Runner A reading 100.0 m and Runner B reading 57.5 m. Whoever has the smaller t_finish wins the race, and the formula makes that comparison purely arithmetic — no need to wait for the simulation to play out.
The gap decreases linearly when vₐ > vᵦ and increases linearly when vₐ < vᵦ. With the defaults gap(0) = 10 m, gap(2) = 10 − 3·2 = 4 m, gap(3.33) = 0 m — exactly the values the Gap readout cycles through. After the meeting point the gap goes negative because Runner A is now ahead, and at the t = 17.50 s finish the readout shows gap = −42.5 m.
Key Variables
| Symbol | Name | Unit | Meaning |
|---|---|---|---|
| x₀ₐ, x₀ᵦ | Initial positions | m | Starting positions of runners A and B on the track |
| vₐ, vᵦ | Constant velocities | m/s | Speeds the runners hold throughout the race; sign sets direction |
| t_meet | Meeting time | s | Time at which the two runners coincide; null when vₐ = vᵦ |
| x_finish | Finish position | m | Fixed at 100 m; the race stops the moment either runner crosses |
| gap | Separation | m | Signed distance xᵦ − xₐ; the readout that tracks who's ahead |
Real World Examples
How do air-traffic controllers predict when two converging aircraft will reach minimum separation?
Two aircraft on intersecting paths reduce to the same meeting-time problem the simulator runs: positions xₐ(t) and xᵦ(t) measured along the line connecting the two aircraft, each carrying its own constant velocity component along that line. The controller's screen does the geometric work continuously, but the underlying calculation is the closed-form t_meet = (x₀ᵦ − x₀ₐ) / (vₐ − vᵦ) applied to the closing geometry of the converging tracks.
With x₀ₐ = −5 m, vₐ = 6 m/s, x₀ᵦ = 5 m, and vᵦ = 3 m/s the simulator gives t_meet = 10 / 3 ≈ 3.33 s and a meeting position of 15 m, exactly the kind of single-number prediction a controller wants from a converging pair. The model breaks down the moment either aircraft accelerates, banks, or changes altitude, which is why controllers issue heading and speed instructions to extend the constant-velocity regime long enough to make the prediction reliable. Modern conflict-detection systems add prediction cones and uncertainty bounds on top of this baseline, but the spine of every conflict alert is still the linear meeting-time arithmetic the simulator visualizes.
Why does a faster cyclist starting behind a slower one always catch up on a flat road?
Two cyclists holding constant speeds on a flat road obey the same xₐ(t) = x₀ₐ + vₐ·t equations the simulator plots, with the meeting-time formula t_meet = (x₀ᵦ − x₀ₐ) / (vₐ − vᵦ) telling the chaser exactly how long the catch will take. Set the simulator to vₐ = 6 m/s and vᵦ = 3 m/s with the slower rider 10 m ahead and the closing time is t_meet = 10 / 3 ≈ 3.33 s, with the catch point at 15 m.
The result depends only on the gap and the speed difference, not on either absolute speed — a cyclist 10 m behind at vₐ = 4 m/s catches a vᵦ = 3 m/s leader in exactly the same 10 s any pair separated by 10 m and closing at 1 m/s would take. The catch never happens if the speeds are equal: the gap stays at 10 m forever, which is why drafting on the back of a slightly faster rider feels like an inescapable pull on a flat stretch with no wind. The simulator reproduces the equal-speed case directly — set vₐ = vᵦ = 5 m/s and the Gap readout never moves off its initial value.
What does the meeting-time formula say about a sailboat tacking against a faster motorboat?
Project the two boats onto the line connecting their initial positions and the meeting-time problem reduces to two effective velocities along that line. If the motorboat closes at vₐ = 6 m/s while the sailboat moves away at vᵦ = 3 m/s along the same axis, the closing speed is vₐ − vᵦ = 3 m/s and a 10 m initial separation collapses in t_meet = 10 / 3 ≈ 3.33 s — the simulator's default-slider race makes the same prediction.
Setting both boats to the same projected speed (vₐ = vᵦ = 5 m/s in the simulator) reproduces the classical result that the motorboat never catches the sailboat: the gap stays constant, the parallel x(t) lines never intersect, and t_meet returns null. The same arithmetic governs every two-body chase problem in introductory mechanics, from particles in a wind tunnel to ships at sea, and the simulator's race-to-the-finish framing — first to 100 m wins — adds the practical end condition that turns a meeting prediction into a winner prediction.
Further Reading
- 1D motion plotter — single-body uniform motion, where the position-time graph is a single straight line and the meeting-time question collapses to a target-time question.
- Velocity-time plotter — adds constant acceleration, where position becomes a parabola and the dual-axis chart shows how velocity integrates into displacement.
- Free fall — the next step beyond constant velocity, where gravity adds a constant downward acceleration and the position-time graph curves into a parabola.
- Projectile motion — uniform motion in two dimensions at once, with the horizontal axis behaving like the runners on this page and the vertical axis adding gravity.