Profile image

Simple Ballistics. How to calculate projectile impact distance.

54.6k Astro12  6 months ago

I recently saw a question on a forum that I put in the description. I only answered in general terms at the time, as I didn't want to bother with a detailed description, but the question didn't leave me alone, so here it is :

In fact, this is essentially an eighth grade physics problem as it is quite simple.

I suggest to do some interesting maths.

First, we must decide what we are looking for in the first place. So the basic formula for calculations is :

We will also attach a graph on which we will mark some points and parameters of interest.

As we can see from the equation above, we need the horizontal and vertical velocity of the projectile for the calculations. This is the simpler part of our formulas and should not be difficult to calculate.

Next we recall the equation of motion with acceleration, and write down its vertical form, we will need this in order to calculate the time for the projectile to rise to its maximum height and fall to the height of the target.

We recall the solutions to quadratic equations and solve our equation relative to time, obtaining approximately the following formula :

very important note that we have the trajectory of the projectile crosses the height of the target twice because it is parabolic, but we need only one point, so the formula will have the following form :
It can be this

or this

but we need only this point

so ...

Then the horizontal distance to the point of incidence will be expressed as :

We can now implement this in SP through the variable editor :
Muzzle_Velocity = speed of projectile (m/s)
elevation = gun elevation(degree)
target_height = target height
self_height = Initial height. (This measurement must pass through the axis of rotation of the gun as this has a strong effect on accuracy).
g = 9.8066
v_x = cos(elevation)*Muzzle_Velocity
v_y = sin(elevation)*Muzzle_Velocity
impact_time = (v_y + sqrt(v_y*v_y - 2*g*(self_height-target_height)))/g
impact_distance = impact_time*v_x

Note

The projectiles in the SP are not affected by air resistance, which makes it possible to use such a simple formula.

  • Log in to leave a comment
  • Profile image

    Guys what to do if the site doesn't load formulas. I see text like: "the following form:
    It can be this
    .
    Or this"
    If you guys see what's in between please tell me this formula as i want to understand physics behind it

    3 months ago
  • Profile image
    29.6k 32

    This is very useful. I can scroll this page and act like I'm reading it and people that walk past will think I know what I'm doing.

    +1 6 months ago
  • Profile image

    Nice, I just took my dynamics classes and this make sense now.

    6 months ago
  • Profile image

    But I am a beginner programmer who is new to even Python, so I will let ChatGPT formulate the equation for me lol

    6 months ago
  • Profile image

    @Astro12 Thank you for the excellent commentary.
    I will use it to help develop a system that makes aiming as easy as a game!

    6 months ago
  • Profile image
    12.5k Eggplant

    I don't think we learned projectile motion until 11th grade. Publik skewel typa shi

    6 months ago
  • Profile image
    1,700 Mk1Els

    @Astro12 Nvm, now I kinda understand

    6 months ago
  • Profile image
    1,700 Mk1Els

    @Astro12 Sorry, I didn't know it.(very bad at FT lesson)

    6 months ago
  • Profile image
    54.6k Astro12

    @Mk1Els At the end of the post are ready-made templates for use in the variable editor. Insert some necessary numbers and place these expressions in the editor.

    6 months ago
  • Profile image
    1,700 Mk1Els

    Now the hard part for me is to convert them to FT

    6 months ago
  • Profile image
    54.6k Astro12

    @Tsukiminamo0218

    6 months ago
  • Profile image
    43.3k ShinyGemsBro

    I have read all this and confirmed that A, B, and C are in fact, letters

    +2 6 months ago
  • Profile image
    58.0k TheMouse

    Wow. This is very helpful. Nice.

    6 months ago