Well, my particles are so smart that they learn how to use a computer, XD.
More information here: andvfx.com/1870/tp-ballistic-analysis
Thanks to Enric Lleonart for solving some equations.
Whats going on in this video:
In most of the effects in movies when someone shoots a ball/laser/whatever the bullet is not affected by gravity, so to create a procedural system you simply need to use a alignment node to point directly the object you want to shoot. But what happen if the bullet is affected by gravity? here things start to be a little more complex, you need to give a specific angle to your bullet so with the initial velocity and the gravity impact on a very specific area. If you need to create a shoot like this you can do it by trying an error (you change your velocity/shooting angle until the bullet goes on the place you want, or you make some matematics calculating parabolic trajectories. But what if instead of shooting 1 object your scene has 100 canons shooting to a total of 1000 objects? you will take forever. For this I create a system that do it for you.
The original system detects your object to impact, obtaining horizontal and vertical distance. You give a specific initial velocity for the bullet and the gravity for all the system. Internally TP calculates the necesary rotation angle on the cannon so the bullet impacts on the selected object, after there is not predefined path, simply there is velocity on the ball and the general gravity.
As you can see there is always two angles that will make the ball impact on the target with the same velocity/gravity (is a second degree equation), you can switch between them on TP menu.
I can have diferent information like maximum distance the bullet can travel with the predefined initial velocity and general gravity (always at 45 degrees), the maximum height, If the ball will impact or not to object, the minimum velocity needed so the ball can reach his objective, the time of flying before the impact, and so on...
In the second example, with the basket ball is a little diferent: I give a fix angle and the system detects the necesary initial velocity to hit the target.
I will add more info and some equations on my blog.