// Example implementations and code samples
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`);
// 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`);
// 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);