External Ballistics Simulation

Background: including (but not limited to) drag, gravity, air density, altitude, rotation of the bullet, and rotation of the Earth.

One solution is to connect a computer to a manual targeting system (ie. a scope) and estimate the corrected target location by accounting for these external factors.  The user may then line the manual targeting system up with the corrected target location, hoping to the high heavens that the target will be hit upon releasing the projectile.

Objective: Determine the required release angle given the muzzle velocity and target distance, accounting for external factors.


Framework: Python(x,y)

Visualization of release angles between 0 and 90° given the same muzzle velocity.

Flowchart of the algorithm to determine the required release angle.

Visualization of the algorithm on the release angle increment. The magenta trajectory is 5° higher than the red trajectory; the green is 2.5° higher than the magenta, and so on.

Predicted trajectory on flat ground.

Predicted trajectory when target is uphill from user.

Predicted trajectory when target is downhill from user.

Published on February 19, 2015