Calculate how long it takes for one object to catch another.
Results
Rate of Pursuit (Closing Speed):–
Time to Intercept:–
Distance Traveled by Pursuer:–
The pursuer must be faster than the target to close the gap!
Understanding Rate of Pursuit
The rate of pursuit (or closing speed) is a physics concept used to determine how quickly a faster object closes the distance between itself and a slower object moving in the same direction. This calculation is essential in navigation, aviation, sports, and logistics.
The Mathematical Formula
The calculation relies on three main variables:
Rate of Pursuit: Pursuer Speed – Target Speed
Time to Intercept: Initial Distance / Rate of Pursuit
Intercept Point: Pursuer Speed × Time to Intercept
Real-World Example
Imagine a police car (Pursuer) is traveling at 120 km/h chasing a suspect (Target) moving at 100 km/h. The initial gap between them is 5 km.
Rate of Pursuit: 120 – 100 = 20 km/h.
Time to Catch: 5 / 20 = 0.25 hours (15 minutes).
Distance Covered: By the time the officer catches the suspect, they will have driven 30 km.
Note: This calculator assumes both objects are moving in a straight line in the same direction. For objects moving toward each other, the speeds would be added rather than subtracted.
function calculatePursuit() {
var pursuerSpeed = parseFloat(document.getElementById('pursuerSpeed').value);
var targetSpeed = parseFloat(document.getElementById('targetSpeed').value);
var initialGap = parseFloat(document.getElementById('initialGap').value);
var resultsDiv = document.getElementById('pursuitResults');
var errorDiv = document.getElementById('errorMsg');
if (isNaN(pursuerSpeed) || isNaN(targetSpeed) || isNaN(initialGap)) {
alert('Please fill in all fields with valid numbers.');
return;
}
if (pursuerSpeed 0) timeStr += hours + "h ";
if (minutes > 0) timeStr += minutes + "m ";
timeStr += seconds + "s";
document.getElementById('closingSpeedRes').innerHTML = closingSpeed.toFixed(2) + " units/h";
document.getElementById('timeToInterceptRes').innerHTML = timeStr;
document.getElementById('distanceTraveledRes').innerHTML = totalDistance.toFixed(2) + " units";
resultsDiv.style.display = 'block';
}