How to calculate a firing location from point of impact data?

I would like to know how to calculate the point at which a bullet is fired from a gun given information from the scene where the bullet falls. The scene would contain the point of impact (GPS location data), the angle at which the bullet decended (taken from the ceiling to the actual point of impact), and the height of the point of impact. As you can see, I am trying to determine weather a person who fires a bullet into the air and it impacts someone, can be located via some physics and mathematical formulas. From the crime scene we would also have the specific bullet type and its dimensions and manufacturers ballistics trajectory information. I've checked some sites for ballistics and there are many tables calculating the ranges of specific bullets and guns. I hope to use this data somehow. If someone has already done this, please let me know.

-

An interesting problem, it's sort of "reverse aiming" - start at the impact point, aim through the hole in the ceiling, then figure out where the bullet came from, right?

I don't think a general solution is possible, because the problem is underspecified - the only data we have to work with are the location of impact, direction of the last portion of the trajectory, and the drag characteristics of the bullet. We don't know speed the bullet came in at, nor do we know what speed it left the rifle; the combination of these two parameters will affect the path length of the trajectory.

Consider that you have a hole in a roof and a splash in the floor that indicates the bullet entered at (say) 20 degrees from vertical, from a particular azimuth. I could have stood three kilometres away and fired a rifle at a very high angle, and had the bullet drop in like that. Or I could have stood on the roof and fired down through the roof. How could you tell which happened?

In principle you would have to also know the muzzle velocity and the arrival speed of the bullet - then there would be enough information to do the calculation. But as a practical matter this would not be accurate enough to be useful; the biggest single error source that I can see is that when the bullet enters the roof, it will almost certainly be deflected by at least a small amount (and not a predictable amount). This in itself will introduce enough error in the arrival angle and direction to make the calculation meaningless.

So I think that what you are looking for ("here's the impact, find where the shooter was") isn't solvable. A much easier problem is "we have this persons/location as a suspect, who fired a shot from this rifle; could his shot have caused the observed impact" - in comparison this is much more straightforward.

-
Two obvious missing pieces of data which would impact a calculation are: an unusual path after passing through ceiling, and the lack of knowledge about windage (other than air resistance). – horatio Jan 4 '12 at 16:30

The velocity of the bullet $\vec{v}$ changes during the flight according to the second Newton's law: $$\frac{d \vec{v}}{d t} = \frac{\vec{F}_a(\vec{v})}{m} + \vec{g}; \qquad (1)$$ where
$m$ is the mass of the bullet
$\vec{F}_a$ is the force of the air resistance
$\vec{g}$ is the free fall acceleration.

The air resistance force is always directed against the velocity (if the bullet has no wings).

Let's select $x$ and $y$ axes as it shown on the picture:

Then equation (1) leads to the following ODE system for the velocity projections: \left\{ \begin{aligned} \frac{d v_x}{d t} + \frac{F_a(v)}{m v} v_x & = 0 \\ \frac{d v_y}{d t} + \frac{F_a(v)}{m v} v_y & = -g \end{aligned} \right. \qquad (2) where $v = \sqrt{v_x^2 + v_y^2}$.

The formula for $F_a(v)$ should be known for any kind of bullet. If we know the velocity at the end of the trajectory $\vec{v}_0$ then the system (2) is a Cauchy problem and can be solved numerically. It can be solved analytically if the air resistance force fits Stokes' law (for bullet it is usually not true).

So, if we know the velocity at the end (both direction and absolute value) we can find it at any moment in the past, calculate the trajectory and find the position of the shooter on it. The solution will not be very stable though. Small uncertainty in $\vec{v}_0$ will lead to substantial uncertainty in the shooter's position that will grow with the distance.

Edit:

If the flight of the bullet takes much time the vertical component of the velocity can reach the terminal value. The gravity force will be compensated by the air resistance and $v_y$ will remain constant until the end of the flight.

In that case it will be impossible to calculate the position of the shooter. The condition to distinguish this case is $$F_a(v_0)\frac{v_{0y}}{v_0} \simeq mg$$

-
But if it went through the ceiling at any sort of arc it's probably falling at terminal velocity so difficult to get a good solution – Martin Beckett Jan 3 '12 at 2:07
Thank you, @MartinBeckett! I have updated the post. – Maksim Zholudev Jan 4 '12 at 14:21
it works pretty well for a ballistic trajectory, like an artillery shell from only two points - especially if you know the muzzle velocity from the calibre – Martin Beckett Jan 4 '12 at 16:28