Documentation for FrisPy
package can be found here on RTD.
This repository contains a physical model for a flying disc. Using this code, one can simulate trajectories of discs with varying initial conditions, while also changing the underlying physical model. This is useful for analyzing the mechanics of a disc in terms of its design, as well as creating simulated throws for things like disc launchers or other helpful tools.
This is a pure Python rebuild of the old FrisPy code, which included a version of the integrator written in C for speed. Find the fast C simulation in the Frisbee_Simulator repository.
The earliest implementation of this model that I could find was by Sara Ann Hummel for their 2003 Masters thesis for UC Davis. You can find the document in full on this page.
The easiest way to install this package is with pip
. The PyPI package can
be viewed here.
pip install frispy
Development should be performed using poetry to handle
the development environment. Once poetry is installed, you can install the environment,
which will include frispy
:
poetry install
All proceeding instructions assume you entered your virtual environment using poetry shell
,
otherwise prepend poetry run
to all instructions.
If you intend to open a pull request, please make sure pre-commit
is installed
before committing to your branch:
pre-commit install
This will ensure that the code you submit is PEP8 compliant. Otherwise, CI checks will fail before merging can be completed.
Verify your installation by running:
pytest
Please report any problems you encounter on the issues page. Thank you!