Ballistics - calculating initial velocity

In summary, this person is trying to find out what the drag coefficient for a projectile is, and is looking for advice on how to do this without calculus.
  • #1
Hello all,

This is my first post so be gentle. :smile:

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.

Thanks for your responses in advance.
Physics news on
  • #2
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:

[tex] \vec{F} = -mg\hat{y} - D_c |\vec{v}|^2 \hat{v} = m\vec{a} [/tex]

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

[tex] -mg\hat{y} - D_c |\vec{v}| \vec{v} = m\vec{a} [/tex]

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

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:

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

[tex] -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} [/tex]

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
Without the drag, the differential equations are easy to solve, and the results are:

horizontal position:

[tex] x(t) = x_0 + v_{x_0}t = (v_0 \cos\theta)t [/tex]

vertical position:

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

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

[tex] y(t) = 0 \Longrightarrow \frac{1}{2}gt^2 = (v_0 \sin\theta) t [/tex]

[tex] t = \frac{2v_0 \sin \theta}{g} [/tex]

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:

[tex] x\left(\frac{2v_0 \sin \theta}{g} \right) = d [/tex]

[tex] (v_0 \cos\theta)\left(\frac{2v_0 \sin \theta}{g} \right) = d [/tex]

Solve for v0:

[tex] v_0 = \sqrt{\frac{gd}{2\cos \theta \sin \theta}} \ \ \ \ \ \ \ (\textrm{no drag}) [/tex]

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
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 figured that it would be too complicated for the engine to calculate the reference area of the projectile, to use different fluid densities depending on the atmospheric pressure etc. I pretty much assumed that the makers had chosen to use a drag formula looking something like this: Fd = v² * k (where k is just one big constant representing all the constant elements).

Since F = m * a
we can set up a formula like this:
m * a = v² * k

So the formula for the (de-)acceleration of the projectile is:
a = (v² * k) / m

Since the mass of the projectile is constant we might as well let m be a part of k too. Sic:
a = v² * k

Now the only part left was to find out what k was. This can be found from the engine's config files and it seems that k is around -0.0005, but it varies between projectiles.

I don't know if that helps at all, but the more the merrier or something like that. :smile:
Last edited:
  • #5
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?

1. How is initial velocity calculated in ballistics?

Initial velocity in ballistics is typically calculated using the following equation: vi = v0 + at, where vi is the initial velocity, v0 is the initial speed, a is the acceleration, and t is the time. This equation assumes that there is no air resistance and that the acceleration is constant.

2. What factors can affect the initial velocity in ballistics?

Several factors can affect the initial velocity in ballistics, including the angle of launch, air resistance, elevation, and the weight and shape of the projectile. The type and condition of the firearm or launching device can also impact the initial velocity.

3. How is initial velocity measured in ballistics?

Initial velocity in ballistics is typically measured using a chronograph, which uses sensors to measure the time it takes for a projectile to travel a known distance. The velocity can also be calculated using the equation mentioned in the first question.

4. Can initial velocity be changed after the projectile has been launched?

No, once a projectile has been launched, the initial velocity cannot be changed. However, factors such as air resistance, wind, and gravity can affect the velocity of the projectile as it travels through the air.

5. How is initial velocity used in ballistics?

Initial velocity is an important factor in ballistics as it helps determine the trajectory and range of a projectile. By knowing the initial velocity, along with other factors such as elevation and wind, scientists and engineers can accurately predict the path of a projectile and make necessary adjustments for accuracy.

Similar threads

  • Mechanical Engineering
  • Mechanics