ballistics.foo

// Example implementations and code samples

Quick Start Example

import init, { Calculator } from 'ballistics-engine';

// Initialize WASM module
await init();

// Create calculator instance
const calc = new Calculator();

// Configure projectile
calc.set_bc(0.505);          // G7 BC
calc.set_velocity(850.0);     // m/s
calc.set_sight_height(0.05);  // 50mm

// Calculate trajectory
const trajectory = calc.calculate(1000);

console.log(`Drop at 1000m: ${trajectory.drop}m`);
console.log(`Velocity: ${trajectory.velocity}m/s`);

Wind Compensation

// Add environmental conditions
calc.set_wind(10.0, 90.0);  // 10 m/s at 90 degrees
calc.set_temperature(15.0);    // Celsius
calc.set_pressure(1013.0);      // hPa

const result = calc.calculate(800);
console.log(`Windage: ${result.windage}m`);

Batch Calculations

// Calculate full trajectory table
const ranges = [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000];

const table = ranges.map(range => {
  const data = calc.calculate(range);
  return {
    range,
    drop: data.drop.toFixed(2),
    velocity: data.velocity.toFixed(1),
    energy: data.energy.toFixed(0)
  };
});

console.table(table);