OverviewΒΆ
This page summarizes the primary classes youβll use in py-ballisticcalc and how they fit together at runtime.
Core WorkflowΒΆ
Calculator
: High-level entry point to compute trajectories. Accepts aShot
(scene) and returns aHitResult
with trajectory rows and helpers.Shot
: Details a shooting scenario βAmmo
,Weapon
,Atmo
,Wind
, and angles (look/slant, relative, cant). Engines convertShot
toShotProps
.ShotProps
: Engine-ready scalar form ofShot
in internal units.BaseTrajData
: Minimal, units-free state for dense internal calculations; used to constructTrajectoryData
via post-processing.TrajectoryData
: Detailed characteristics of a point on the ballistic trajectory.HitResult
: Wrapper for accessing and displaying calculated results.
Projectile & EnvironmentΒΆ
The classes that comprise a Shot
:
Atmo
: Standard or custom atmosphere.Wind
: Piecewise-constant winds by distance.
Ammo
: Wraps projectile physical details and muzzle velocity, including optional powder temperature sensitivity.DragModel
: Aerodynamic drag via Ballistic Coefficient and standard drag tables (G1, G7, etc.).
Weapon
: Gun specifications (sight height, rifle twist rate, zero elevation).
EnginesΒΆ
Calculation engines implement different algorithms for integration and targeting. All inherit from BaseIntegrationEngine
.