Blender Game Engine Tutorial: Trajectory Arc

As requested by AsCE

Link to .blend:


As pointed out by Massimo (mb10 on BlenderArtists), the function used to calculate the arc points (defined as a lambda) is incorrect.

It should be defined as follows:

arc_point = lambda t: own.worldPosition + (vec_vel * t) + ((vec_grav * 0.5) * t * t)

Integral of the acceleration constant (-9.8 in our case) provides the formula for velocity at any time (-9.8t), and the integral of that would provide us with the formula for position at any time ( (-9.8/2)t^2 ) – In other words: Basic stuff you learned in school, but then forgot, because you never really cared much about falling apples, or how much time it takes for one to reach the ground if Jimmy drops it from the school roof, which is 15 meters high …. Oh, wait, I’m going into a rant about public education – Forgive me. 🙂

So, for our situation:

initial_velocity + -9.8t
initial_position + initial_velocity*t + (-9.8/2)t^2

In this (correct) scenario, the acceleration constant of -9.8 is required to produce proper results, proving that my little “blender physics doesn’t work right” bit at ~18:00 was pure nonsense – It works right – The error was in my formula (which I just derived through my own sense of logic, rather than the well established rules of Newtonian Physics).

Big thanks to Massimo for pointing this out.

Post Author: hatefull