Profile image

Simple Ballistics. How to calculate projectile impact distance.

52.8k Astro12  18 days 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
    28.0k 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.

    17 days ago
  • Profile image

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

    17 days 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

    18 days 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!

    18 days ago
  • Profile image
    10.6k Eggplant

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

    18 days ago
  • Profile image
    888 Mk1Els

    @Astro12 Nvm, now I kinda understand

    18 days ago
  • Profile image
    888 Mk1Els

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

    18 days ago
  • Profile image
    52.8k 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.

    18 days ago
  • Profile image
    888 Mk1Els

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

    18 days ago
  • Profile image
    52.8k Astro12

    @Tsukiminamo0218

    18 days ago
  • Profile image
    34.3k ShinyGemsBro

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

    +2 18 days ago
  • Profile image
    29.2k TheMouse

    Wow. This is very helpful. Nice.

    18 days ago