Skip to main content

Trajectorize Logo PyPi Version License


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).

Installation

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

Demos

Right now, full functionality is incomplete. There are, however, some cool demos showing off the capabilities of the package.

Full Model of KSP Planetary System and Ephemerides

python -m trajectorize.demos.kerbol_system_anim

Kerbol System Animation

Calculation of Ballistic Interplanetary Transfers Using Lambert's Problem

python -m trajectorize.demos.kerbin_duna_transfer

Transfer

Propagation of Two-Body Trajectories Using Universal Keplerian Elements

python -m trajectorize.demos.orbit

Orbit Demo

Calculations of Optimal Transfers, Porkchop Plots

python -m trajectorize.demos.single_transfer Kerbin Duna --capture_alt 60000

Porkchop

Inspirations

Metadata

Release files for trajectorize 0.0.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for trajectorize 0.0.10
File Size Uploaded
trajectorize-0.0.10.tar.gz 60.3 kB Details

Release files / trajectorize-0.0.10.tar.gz

Download URL trajectorize-0.0.10.tar.gz
Size 60.3 kB
Tags Source
SHA-256 checksum
How to use checksums
768af627681af0e4fbd954efaffbb177625abbe175c77e475d06fa74b54746f7
BLAKE2b-256 checksum
How to use checksums
6e9dd9c4c773385880098b62051e9c88ff35dad67b2e6e85103df34a70780ace
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release history Release notifications | RSS feed

This release

0.0.10 This release

1 release file

0.0.8

2 release files

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

2 release files

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page