Skip to main content

Python extension of wows_shell

Project description

wows_shell

License GitHub commit activity Discord

  • C++ header only library for calculating shell performance in World of Warships
  • Experimentally verified to be nearly identical to the World of Warships ballistics model

Legal

  • All copyrighted material provided by Wargaming.net are owned by Wargaming.net.
  • All other material is available under the MIT License.

Original Model Information & Source Code:

Original Model:

Revised Model:

Features:

Shell Flight

Computes shell flight path.

At Impact:

Outputs:

  • Angle of Impact
  • Impact Velocity
  • Raw, Belt/Deck, Normalization Adjusted Penetration
  • Shell flight time (Real / In-game)

Ability to change trajectory computation method

  • Forward Euler (default - also in-game method)
  • Runge-Kutta 2 and 4
  • Adams-Bashforth 5

Lateral Angles:

Computes lateral angles where penetration, AP fuzing, and ricochets occur while adjusting for impact angle and vertical armor inclination.

Definition: Angles where that represent the horizontal angling of a ship:

  • Bow-in: 90 degrees
  • Full-broadside: 0 degrees

Outputs:

  • Maximum Lateral Angle for Penetration
  • Minimum Lateral Angle for Fusing
  • Ricochet Lateral Angles

Dispersion

Computes dispersion approximations based on experimental data.
Outputs:

  • Dispersion Types:
    • Horizontal Dispersion
    • Vertical Dispersion
    • Area Dispersion
  • Statistical Types
    • Max Dispersion
    • Standard Deviation of Dispersion
    • 50% Error Radius

Post-Penetration:

Shell detonation distance after penetration while adjusting for ship angling, and vertical armor inclinations.

Ability to modify the way the calculations are done

  • Enable or Disable Normalization changing direction
  • Linear estimation or full air drag modeling

Fitting:

Capability to fit shells to real world data using gradient descent.

  • Air Drag Coefficient
  • Krupp

Compatibility:

  • Requires C++17 supporting compiler
  • Supports multithreading and vectorization for improved performance

Extensions:

Python

  • Requires Pybind11
  • Tested with Python 3.7.4 (Anaconda), 3.8.5
  • Available from PyPI pip install wows-shell

WebAssembly

Future Goals:

  • Wiki / Tutorial
  • Extend more features to Python and WebAssembly
  • Will continue to update the model when new information is acquired

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wows_shell-1.2.1.tar.gz (278.0 kB view details)

Uploaded Source

File details

Details for the file wows_shell-1.2.1.tar.gz.

File metadata

  • Download URL: wows_shell-1.2.1.tar.gz
  • Upload date:
  • Size: 278.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.7

File hashes

Hashes for wows_shell-1.2.1.tar.gz
Algorithm Hash digest
SHA256 aaa64b026473503984c5f14f64ddba048c3d2fc94758ced274e1d71028aadaca
MD5 63ac4d3a168f1838244cb0447b385f20
BLAKE2b-256 6fd29e758f63c119f278be1cbc282ca8ede4dda852e9cf1fdeede2e6980a26cf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page