Skip to content

[Feature]: True BC solver (back-calculate BC from observed field dial) #13

@steveakaufman

Description

@steveakaufman

Which app is this for?

js-client (Client-only calculator)

Problem or Use Case

Feature Request: True BC Solver

What it does

A "True BC" tool lets a shooter enter their observed dial/hold at a known distance
and back-calculates the corrected ballistic coefficient that matches their real-world
data — rather than relying solely on manufacturer-published values.

Why it's useful

Manufacturer BCs are averages across lot numbers and test conditions. At 800–1000
yards even a 2–3% BC error produces significant drop prediction errors. Field-truing
is standard practice for PRS/long-range competition shooters.

Proposed Solution

Algorithm

A binary search on BC value, running the existing trajectory solver on each iteration
until the predicted drop adjustment at the truing distance matches the observed dial:

  1. User inputs: truing distance (yd), observed dial, unit (MIL or MOA)
  2. Binary search between BC 0.05–2.0, ~60 iterations
  3. Each iteration fires the full solver (atmosphere, weight, diameter, twist all
    factored in) and compares predicted drop adjustment vs observed
  4. Converges to within 0.0005 MIL — completes in under a second in-browser

The key insight: higher BC → less drop → smaller dial, so the search direction
is well-defined and monotonic.

Rough pseudocode

let lo = 0.05, hi = 2.0
for 60 iterations:
mid = (lo + hi) / 2
predicted = solver(bc=mid, dist=truingDist).dropAdjustment in MIL
if predicted > observed: lo = mid too much drop → BC too low
else: hi = mid too little drop → BC too high
truedBC = mid

I've built a working implementation

I implemented this in a separate React app using js-ballistics as the engine.
Happy to share the solver logic if useful. The core algorithm is ~20 lines and
is fully decoupled from any UI framework.

Alternatives Considered

No response

Examples from Other Tools

No response

Mockups or Sketches

No response

How important is this to you?

Low - Just a suggestion

Contribution

  • I'm willing to submit a PR to implement this feature
  • I can help with testing and feedback

Additional Context

No response

Pre-submission Checklist

  • I searched existing issues and discussions for similar ideas
  • I clearly explained the problem this solves
  • This feature aligns with the project's goals (ballistics calculations)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions