KSP Trajectory Optimizer.
This project is a reduced-scope version of one of my other (currently incomplete) projects, as an intermediate stepping stone.
This tool computes trajectories between celestial bodies in KSP based on on-rails two-body patched conics, incorporating trajectory correction maneuvers for a variety of mission scenarios, such as:
- Ballistic Hohmann transfers for other planets
- Gravity assist flyby routes
Computationally-intensive code is implemented in C, with a Python wrapper made using cffi
.
C code follows mostly C89, with some C99 features used. It has been tested against the latest versions of GCC (on Linux) and MSVC (on Windows 10).
The simplest way to install is from PyPI:
pip install trajectorize
This will install the latest stable version of the package, and may include pre-compiled binaries for your platform.
The package is still in development, so you may want to install from the latest commit on the main
branch instead:
Run pip install git+https://github.com/itchono/trajectorize
to install the package from source.
You will need to have Python 3.8+, and a C compiler installed to compile the C code if installing from source. You will also need a C compiler installed if there are no pre-compiled binaries for your platform. If you're on Windows, you can find details about installing a C compiler here.
The following platforms/compilers have been tested:
Platform | Compiler |
---|---|
Windows 10 | MSVC 14.16 (Visual Studio 2017) |
Ubuntu 20.04 LTS (Dev Machine) | GCC 9.4.0 |
Right now, full functionality is incomplete. There are, however, some cool demos showing off the capabilities of the package.
python -m trajectorize.demos.kerbol_system_anim
python -m trajectorize.demos.kerbin_duna_transfer
python -m trajectorize.demos.orbit
python -m trajectorize.demos.single_transfer Kerbin Duna --capture_alt 60000
- Interactive illustrated interplanetary guide and calculator for KSP, by Olex
- Launch Window Planner, by AlexMoon