Skip to main content

Crate ballistics_engine

Crate ballistics_engine 

Source
Expand description

§Ballistics Engine

High-performance ballistics trajectory calculation engine with comprehensive physics modeling.

§Interactive Web Demo

Try the ballistics engine directly in your browser at https://ballistics.rs/

§Features

  • Professional-grade trajectory calculations with multiple drag models
  • Advanced physics including spin drift, Coriolis effect, and Magnus force
  • Monte Carlo simulations for uncertainty analysis
  • WebAssembly support for browser-based applications
  • FFI bindings for iOS and Android development

Re-exports§

pub use cli_api::calculate_zero_angle;
pub use cli_api::calculate_zero_angle_with_conditions;
pub use cli_api::estimate_bc_fit;
pub use cli_api::estimate_bc_from_trajectory;
pub use cli_api::run_monte_carlo;
pub use cli_api::run_monte_carlo_with_direction_std_dev;
pub use cli_api::run_monte_carlo_with_wind;
pub use cli_api::run_monte_carlo_with_wind_and_direction_std_dev;
pub use cli_api::run_monte_carlo_with_wind_and_direction_std_dev_seeded;
pub use cli_api::AtmosphericConditions;
pub use cli_api::BallisticInputs;
pub use cli_api::BallisticsError;
pub use cli_api::BcEstimate;
pub use cli_api::BcFitMode;
pub use cli_api::MonteCarloParams;
pub use cli_api::MonteCarloResults;
pub use cli_api::TrajectoryPoint;
pub use cli_api::TrajectoryResult;
pub use cli_api::TrajectorySolver;
pub use cli_api::WindConditions;
pub use cli_api::DEFAULT_HIT_RADIUS_M;
pub use cli_api::MAX_TRAJECTORY_POINTS;
pub use cli_api::TARGET_NOT_REACHED_SENTINEL_M;
pub use atmosphere::AtmoSegment;
pub use atmosphere::AtmoSock;
pub use moving_target::calculate_lead;
pub use moving_target::lead_from_tof;
pub use moving_target::mover_ring;
pub use moving_target::LeadComponents;
pub use moving_target::LeadError;
pub use moving_target::LeadSolution;
pub use solve_json::decode_solve_request_v1;
pub use solve_json::ResolvedSolveRequestV1;
pub use solve_json::SolveErrorCodeV1;
pub use solve_json::SolveErrorEnvelopeV1;
pub use solve_json::SolveRequestV1;
pub use solve_json::SolveSuccessV1;
pub use solve_json::MAX_SOLVE_JSON_SAMPLES_V1;
pub use solve_json::SOLVE_JSON_SCHEMA_VERSION_V1;
pub use solve_v1::solve_v1;
pub use trajectory_observation::TrajectoryObservation;
pub use trajectory_observation::TrajectoryObservationError;
pub use trajectory_observation::TrajectoryObservationFlag;
pub use trajectory_observation::TrajectoryTermination;
pub use trajectory_sampling::MAX_TRAJECTORY_SAMPLES;

Modules§

aerodynamic_jump
angle_calculations
api_client
HTTP client for Flask API communication
atmosphere
Enhanced atmospheric calculations for ballistics.
bc_estimation
bc_table
bc_table_5d
bc_table_download
BC5D Table Auto-Download Module
cli_api
cluster_bc
Cluster-based BC degradation for improved accuracy
constants
Physical constants used in ballistics calculations.
derivatives
drag
fast_trajectory
Fast trajectory solver for longer ranges.
ffi
FFI bindings for iOS/Swift integration
form_factor
Legacy name-based form-factor heuristics.
monte_carlo
Monte Carlo simulation support with statistical analysis
moving_target
Moving-target lead calculation (MBA-1287).
pitch_damping
Pitch Damping Moment Physics for Ballistics Calculations
precession_nutation
Precession and Nutation Physics for Ballistic Projectiles
profile_import
Import of third-party ballistic profile files.
reynolds
Reynolds-number utilities and a legacy correction for genuinely low-Re flow.
solve_json
Versioned, binding-neutral JSON data-transfer objects for trajectory solves.
solve_v1
Transport-free implementation of the solve-json v1 trajectory service.
spin_decay
Spin Decay Physics for Ballistics Calculations
spin_drift
spin_drift_advanced
stability
stability_advanced
trajectory_integration
Advanced trajectory integration methods (RK4, RK45)
trajectory_observation
Checked, full-state observations over completed trajectories.
trajectory_sampling
transonic_drag
wind
wind_shear
Altitude-dependent wind shear modeling for ballistics.

Structs§

BCSegmentData

Enums§

DragModel
Drag model enum