I have two objects in a three dimensional world. One is a ballistic projectile: that is, it is free-falling with some known gravitational acceleration. The other is a catcher that travels with constant velocity and is not subject to gravity. I want to calculate the vector that the catcher must travel along in order to intercept and catch the falling projectile (or the position of intercept between the catcher and the projectile).

By my reckoning, the problem can be formulated into equations like this:

Intercept position = Catcher start position + Catcher velocity * Intercept time

Intercept position = Projectile start position + Projectile start velocity * time + 1/2 * Gravitational acceleration * Intercept time^2

...where all the named variables except intercept time are three-dimensional vectors. Within those equations, I know:

  • The catcher and projectile start positions
  • The projectile's current velocity
  • The projectile's gravitational acceleration
  • The magnitude of the catcher's velocity.

I don't know, and could solve the problem by finding out any one of:

  • The direction of the catcher's velocity
  • The intercept position
  • the intercept time

...but I have really struggled to make any headway finding a solution to these equations. Can anyone help me out? Is there something missing from/incorrect about my approach here?

  • \$\begingroup\$ I guess one can assume a fixed velocity and instantaneous acceleration for the catcher? \$\endgroup\$
    – Engineer
    Commented Oct 10, 2015 at 13:09
  • \$\begingroup\$ Yep. I'm just going to point it in the appropriate direction and set its velocity, so no need to worry about the catcher's acceleration. \$\endgroup\$
    – 4026
    Commented Oct 10, 2015 at 13:27

2 Answers 2


Ultimately, the right answer to this problem proved to be "it's too hard; choose to solve a different problem instead".

What I've ended up doing is using (Distance between catcher and projectile / Catcher velocity) to find an approximate intercept time, then plugging that into the second of the two formulae in the question to calculate the projectile's location at that time. I then fudge the speed of the catcher to make sure that it actually arrives at that destination at the right time.

In practice, that means that the catcher does actually catch the projectile most of the time (when it would be possible for it to do so), and its "fudged" extra speed isn't too apparent in most cases.

For purists who are interested in the technically correct solution to this question, there was a clever approach suggested in this Mathematics Stack Exchange answer. I wish you better luck in resolving it into an actual solution than I had, however.

  • Constructing the formula

Kinetic Energy on ground (catcher) is equal to Potential Energy when he is in his start position. This means that (1/2) mv^2 = mgh >> v^2 = 2gh >> v = sqrt(2gh)

Now that we know that v on interception is the root of gh we have to define g and h. Lets say h is your height relative to the catcher and g = 10m/s^2. This means that v = sqrt(20*h)

We also know a = v/t and because g is our a, g = v/t >> t = v/g >> t = sqrt(20*h)/10

Know we can calculate average speed of catcher: v = x/t >> v = x/(sqrt(20*h)/10)

The final formula of the speed of the catcher = x / (sqrt(2g*h)/g)

Ps: a = Acceleration, g = Gravity, h = Height, x = Distance to catcher, sqrt = Square root

[Code is coming soon]

  • \$\begingroup\$ Thanks for taking the time to tackle this problem, but I think your solution has some errors. For instance, the projectile has some initial velocity u that you ignore in your initial energy calculations. Adding it in just results in one of the equations of motion: v^2 = u^2 + 2as. Which is all very well, but we know neither s (or h in your formulation - the height of the projectile above the intercept point) nor v (velocity of the projectile at the intercept). \$\endgroup\$
    – 4026
    Commented Oct 25, 2015 at 10:01
  • \$\begingroup\$ Your final result is similarly dependent upon knowing both h and x (distance of catcher from the intercept), which we don't, because we don't know the position of the intercept point. Also, your formulation appears to be entirely linear: that is, it disregards all motion except that in the Y axis. Which is fine as a partial solution, but I also need the catcher's velocity in the other axes, and for the total magnitude of its velocity in all axes not to exceed some pre-defined limit. \$\endgroup\$
    – 4026
    Commented Oct 25, 2015 at 10:03
  • \$\begingroup\$ Ball is freefalling, so vertically, height is y of ball - y of catcher, and if catcher is moving horizontal, x is x of ball - x of catcher \$\endgroup\$
    – Maxim DC
    Commented Oct 25, 2015 at 10:06
  • \$\begingroup\$ And the velocity of the cather doesnt matter because you have to overide it \$\endgroup\$
    – Maxim DC
    Commented Oct 25, 2015 at 10:07
  • \$\begingroup\$ I see; you're assuming that the catcher is locked to the xz plane and is permitted to move at arbitrarily high velocities. My question is about a catcher that is free to move in three dimensions and has some upper limit on its velocity. \$\endgroup\$
    – 4026
    Commented Oct 25, 2015 at 10:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .