Skip to content

Releases: o-murphy/py-ballisticcalc

v2.0.0b1

26 Mar 09:00
92d89e4
Compare
Choose a tag to compare
v2.0.0b1 Pre-release
Pre-release

What's Changed

Full Changelog: v2.0.0b0...v2.0.0b1

v2.0.0b0

14 Mar 22:04
ceeb9df
Compare
Choose a tag to compare
v2.0.0b0 Pre-release
Pre-release

What's Changed

  • V2.0.0b0 by @o-murphy in #52

    • Fixed example so it actually works

    • Bug fix: Barrel twist direction had wrong sign.

    • New interface. UsageDemo Jupyter notebook shows how to use it.

    • Fixed bugs to allow default to no spin drift.

    • Simplified twist parameters and row arguments
      in calculator; fixed logic for outputting special rows

    • Refactoring: Removed "weapon"

    • Some bug fixes, and refactored to require zero or
      elevation be specified for every trajectory calculation
      since any change to parameters will likely alter the zero.

    • Remove and replace units *.value() method because:

    1. It was identical to *.get_in() methods
    2. We expect .value to be a property, not a method, but IDEs can't
      detect that erroneous assumption and it creates confusing runtime errors
    3. Replaced with .get_value() method that does .get_in(default_unit)
    • Revert to original setup.py for pull request

    • Notes and subtle fix.

    • Notes and subtle fix.

    • Delete .gitignore

    • Delete .vscode directory

    • Bug fix to restore sight_angle algorithm

    • Add .gitignore

    • Modified zero-finding logic to support look angles.
      Implemented look_angles for charting and added lines of interest.

    • Applied changes to .pyx; cleaned lint

    • New paradigm:
      Weapon class stores only characteristics of the gun: scope_height, barrel twist, and zero_elevation (which gives angle of barrel with sight set to "zero")
      (Expect to use Calculator.set_weapon_zero to get the zero-elevation to hit a target under specific conditions.)
      Shot class stores data specific to a shot: atmosphere, weapon, look_angle, cant_angle, and relative_angle (which reflects any sight/hold adjustments to firing angle)
      The range and step for trajectory calculation are now passed explicitly to Calculator.fire(), not stored in Shot.

    Changes not yet applied to .pyx

    TODO comments added throughout code. Particularly as I discovered cant_angle not consistently implemented and wind_vector calculation needs review.

    • Got tests working on pure python. Delinted.
      Extended example to show use of relative_angle.

    • Implemented changes in .pyx + improvements to plots.

    • Update init.py

    • Added representation of default Settings.Units.

    • Angles truncated to circle (i.e., always < 2Pi).
      Removed null tests. Added new test module for newly specified "sanity-check" tests.

    • Moved ammo and weapon from Calculator to Shot class, which now stores all data relevant to a shot including look angle and atmosphere.
      Calculator defaults to 10 steps.

    • Delinted.

    • Delinted.

    • Changed default atmosphere to use 0% humidity (vs. 78% previously).
      Changed trajectory tests based on this default.
      Added twist tests.
      Fixed sign on spin drift.
      Switched default units for pressure, temperature, and energy from metric to standard (matching all the others).
      Optional argument to format DataFrame values as strings with units.

    • Renamed "HP" pressure unit to "hPa".

    • Trying to get package test fail details.

    • Trying to get check-in tests to pass.

    • Added look angle to danger space string when non-zero.
      Added HitResult.get_at_distance() and .index_at_distance().
      Added Units section to Example.

    • Broke out logic from Calculator.set_weapon_zero to .barrel_elevation_for_target() so we can get elevation without setting the weapon zero.
      Added .unit_value property to Units to simplify arithmetic on Units.

    • Tweaks.

    • Improved examples; output tweaks.

    • Implemented cant_angle.

    • Put changes into cython trajectory_calc.pyx

    • Fixed and verified wind effect on trajectory.

    • Added unit tests for Atmo and Ammo. Made optional:
      DragModel.weight and .diameter, Ammo.length
      because those are only relevant for computing
      spin-drift, (i.e., when Weapon.twist!=0).

    • Fixes to Atmosphere: Given altitude but no temperature, will now calculate standard temperature.

    • Cleanup

    • Removed obsolete demo.

    • Update README.md

    • Fixed confusing names for constants.

    • Moved projectile length from Ammo to DragModel, where the other projectile dimensions are handled.

    • Fixed Ammo temperature sensitivity logic.

    • Tweaks to unit strings.

    • Beginning Atmosphere refactoring.

    • Refactored and revalidated Atmosphere.

    • Fixed bugs: Zero-finding now incorporates powder sensitivity, if enabled.
      Trajectory_range works with Distance-type argument.
      Optimized Atmosphere density calls.

    • Fixed drawing of danger space for non-zero look angles.
      Added Exception when zero() fails to find solution within cZeroFindingAccuracy.

    • Added some changes from current head master.

    • Cleanup and comments.

    • Delinted.

    • Cleanup.

    • Clarified ballistic coefficient and magic constant. Ref issue #12

    • Fix to danger space.

    • Fixed dbookstaber#2 and cleaned up time-step logic.

    • Reverted change to delta_time. Added fields to TrajectoryData to facilitate understanding non-zero look-angle trajectories.

    • Applied same changes to cython so all tests pass.

    • Reframed drop adjustment to line-of-sight.

    • Added illustrations to README

    • Restored all README contents.

    • Added multiple-winds example.

    • Fix: Assume no wind if none listed after last Wind.until_distance

    • Major refactoring of trajectory_calc; ref dbookstaber#11

    • Windage/spin-drift cleanup.

    • Applied to cython

    • Changes for merge to parent project:
      Changed Unit enums to CamelCase so they match AbstractUnit subclasses.
      Reverted Ammo.temp_modifier from fps/°F to %v_delta/15°C.
      Added example from previous version: ukrop_338lm_300gr_smk.py

    • Delinted

    • dependencies fix

    • pylint fix

    • example updated

    • copyright update, README.md fix

    • pyproject.toml fix


Co-authored-by: dbookstaber [email protected]
Co-authored-by: dbookstaber [email protected]

Full Changelog: v1.1.4...v2.0.0b0

v1.1.4

29 Dec 10:34
b8f2830
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.1.3...v1.1.4

v1.1.3

27 Dec 15:15
bc0e2dd
Compare
Choose a tag to compare
v1.1.3 Pre-release
Pre-release

What's Changed

Full Changelog: v1.1.2...v1.1.3

v1.1.2

22 Dec 15:17
6802365
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.1.1...v1.1.2

v1.1.1

09 Nov 23:22
d78a924
Compare
Choose a tag to compare

What's Changed (#39)

  • Modified zero-finding logic to support look angles. (#37)
  • Implemented look_angles for charting and added lines of interest.
  • Applied changes to .pyx; cleaned lint
  • Improved plots
  • updated README.md
  • V1.1.1b0 by @o-murphy in #39

Full Changelog: v1.1.0...v1.1.1

v1.1.0

18 Oct 13:00
0ec57a3
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.0.12...v1.1.0

v1.1.0b9

17 Oct 20:58
fc01f86
Compare
Choose a tag to compare
v1.1.0b9 Pre-release
Pre-release

What's Changed

Full Changelog: v1.1.0b8...v1.1.0b9

v1.1.0b8

13 Oct 09:28
5a012a2
Compare
Choose a tag to compare
v1.1.0b8 Pre-release
Pre-release

What's Changed

Full Changelog: v1.1.0b7...v1.1.0b8

v1.1.0b7-post1

12 Oct 09:05
3f39370
Compare
Choose a tag to compare
v1.1.0b7-post1 Pre-release
Pre-release

What's Changed

  • fix: defrecated github actions
  • fix: unittests
  • fix: maximum_range definition

Full Changelog: v1.1.0b5...v1.1.0b7-post1