# Ballistics - calculating initial velocity

1. Feb 28, 2008

### Einherj

Hello all,

This is my first post so be gentle.

I am programming a ballistics related script to a predefined physics engine. I am no physicist nor a mathematician so my knowledge in these things is quite limited.

To the point:
I need to calculate the initial velocity needed to shoot a projectile for it to land to known distance. Let's assume that we are using a flat surface. The physics engine uses a quite simplified drag formula which is something like this:
D = Dc * V^2, where Dc is the predefined drag coefficient for that projectile.

We know...
... the angle of the gun
... the distance to the target.
... the drag coefficient for the projectile

I would provide you with more information, but frankly I don't know what info is needed to make this work. Please ask me for anything you need to make this function.

2. Feb 29, 2008

### cepheid

Staff Emeritus
Okaaay.....It seems to me that the inclusion of the drag force severely complicates the problem and changes it from an elementary kinematics problem to a rather sticky differential equation problem. I don't know offhand how you'd attempt it without calculus. I've made a couple of assumptions:

1. D is a FORCE....right?
2. D always acts in a direction opposing that of the particle's velocity.

Using Newton's 2nd law, we can set up the equation of motion:

$$\vec{F} = -mg\hat{y} - D_c |\vec{v}|^2 \hat{v} = m\vec{a}$$

$$-mg\hat{y} - D_c |\vec{v}|^2 \left(\frac{\vec{v}}{|\vec{v}|}\right) = m\vec{a}$$

$$-mg\hat{y} - D_c |\vec{v}| \vec{v} = m\vec{a}$$

$$-mg\hat{y} - D_c \sqrt{v_x^2 + v_y^2} (v_x\hat{x} + v_y\hat{y}) = m\vec{a}$$

Now we can write a separate equation for the horizontal component and the vertical component (dropping the unit vectors). We can also express the velocities as the first derivatives of the corresponding particle trajectories, and the accelerations as the second derivatives of the particle trajectories:

$$-D_c \sqrt{\left(\frac{dx}{dt}\right)^2 + \left(\frac{dy}{dt}\right)^2} \frac{dx}{dt} = m\frac{d^2x}{dt^2}$$

$$-mg - D_c \sqrt{\left(\frac{dx}{dt}\right)^2 + \left(\frac{dy}{dt}\right)^2} \frac{dy}{dt} = m\frac{d^2y}{dt^2}$$

These ODE's look really ugly to solve. They're coupled, and they're non-linear. So I'm stuck here. Am I over-complicating this? Does anyone else have any insight?

3. Feb 29, 2008

### cepheid

Staff Emeritus
Without the drag, the differential equations are easy to solve, and the results are:

horizontal position:

$$x(t) = x_0 + v_{x_0}t = (v_0 \cos\theta)t$$

vertical position:

$$y(t) = y_0 + v_{y_0}t - \frac{1}{2}gt^2 = (v_0 \sin\theta)t - \frac{1}{2}gt^2$$

At a specified launch angle and initial velocity, the projectile is only going to spend a certain time airborne. In fact, it's vertical position will increase, reach a maximum, and then decrease until it hits the ground. To find this time airborne, we set

$$y(t) = 0 \Longrightarrow \frac{1}{2}gt^2 = (v_0 \sin\theta) t$$

$$t = \frac{2v_0 \sin \theta}{g}$$

Now, the question is, how much horizontal distance does the projectile traverse during this time airborne? If the target is a distance d away, then we WANT it to be equal to d:

$$x\left(\frac{2v_0 \sin \theta}{g} \right) = d$$

$$(v_0 \cos\theta)\left(\frac{2v_0 \sin \theta}{g} \right) = d$$

Solve for v0:

$$v_0 = \sqrt{\frac{gd}{2\cos \theta \sin \theta}} \ \ \ \ \ \ \ (\textrm{no drag})$$

Now you have the magnitude of the initial velocity in terms of the known parameters, which is what you need in order to write the program.

4. Feb 29, 2008

### Einherj

Thanks for those cepheid.

I have been able to create a script using the model without drag, but as expected the projectiles fall short from their target. So it's crucial to be able to add the drag factor in.

This is what someone else has concluded with the same physics engine:
I don't know if that helps at all, but the more the merrier or something like that.

Last edited: Feb 29, 2008
5. Feb 29, 2008

### Einherj

real world equivalent

The real world formula for calculating the initial velocity would help too.
If these facts are known:

- we are on earth
- the surface is flat
- mass of the projectile
- drag coefficient of the projectile
- angle of the gun
- landing distance

what would be the formula for calculating the initial velocity?