Skip to main content

A library for clothoid curves in Python

Project description

pyclothoids

A Python library for clothoid curves

Read the Documentation!

Clothoid curves have some remarkable mathematical properties that make them desirable for use in many areas of physics and engineering. Not only is a clothoid parameterized by arc length, but it has closed form expressions for its tangent angle and curvature. These remarkable properties come at a cost. The cartesian coordinates of a clothoid can only be expressed in closed form in terms of the Fresnel integrals, and cannot in general be evaluated exactly.

There has been significant research into numerical algorithms to evaluate, construct, and manipulate these curves. Software packages exist for this purpose but are often difficult to master. This package takes a different approach, aiming to be easy to pick up and experiment with. The ultimate goal is to provide a simple, intuitive, and pythonic interface to state of the art numerical software that allows you to leverage the latest research without the learning curve.

If you have a problem that you think could be solved using clothoid curves, this package aims to handle all the complexities of clothoid geometry for you so that you can focus on the top level problem you are trying to solve.

That said, clothoid curves aren't always well behaved, and there are many other simpler curves that are far easier to understand and manipulate. Before you use this library for a project, be sure that other simpler geometric constructs such as B-splines will not fulfill your needs.

The main design goals of pyclothoids are minimalism and simplicity. For that reason, the top level API for this module consists of only one class - Clothoid. To prevent common errors and further simplify the interface, Clothoid was designed to be immutable from the top level. This means any methods that transform a Clothoid will return a new Clothoid with the desired modifications while leaving the original Clothoid intact.

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

pyclothoids-0.1.5.tar.gz (127.2 kB view hashes)

Uploaded Source

Built Distributions

pyclothoids-0.1.5-pp39-pypy39_pp73-win_amd64.whl (110.7 kB view hashes)

Uploaded PyPy Windows x86-64

pyclothoids-0.1.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (322.4 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pyclothoids-0.1.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (340.2 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

pyclothoids-0.1.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (253.0 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

pyclothoids-0.1.5-pp38-pypy38_pp73-win_amd64.whl (110.8 kB view hashes)

Uploaded PyPy Windows x86-64

pyclothoids-0.1.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (323.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pyclothoids-0.1.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (340.2 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

pyclothoids-0.1.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (253.0 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

pyclothoids-0.1.5-pp37-pypy37_pp73-win_amd64.whl (110.6 kB view hashes)

Uploaded PyPy Windows x86-64

pyclothoids-0.1.5-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (324.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pyclothoids-0.1.5-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (340.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

pyclothoids-0.1.5-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (252.7 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

pyclothoids-0.1.5-cp311-cp311-win_amd64.whl (112.1 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

pyclothoids-0.1.5-cp311-cp311-win32.whl (98.1 kB view hashes)

Uploaded CPython 3.11 Windows x86

pyclothoids-0.1.5-cp311-cp311-musllinux_1_1_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

pyclothoids-0.1.5-cp311-cp311-musllinux_1_1_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

pyclothoids-0.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyclothoids-0.1.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (3.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

pyclothoids-0.1.5-cp311-cp311-macosx_10_9_x86_64.whl (293.6 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

pyclothoids-0.1.5-cp310-cp310-win_amd64.whl (111.4 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

pyclothoids-0.1.5-cp310-cp310-win32.whl (97.3 kB view hashes)

Uploaded CPython 3.10 Windows x86

pyclothoids-0.1.5-cp310-cp310-musllinux_1_1_x86_64.whl (3.9 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

pyclothoids-0.1.5-cp310-cp310-musllinux_1_1_i686.whl (3.8 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

pyclothoids-0.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyclothoids-0.1.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (3.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

pyclothoids-0.1.5-cp310-cp310-macosx_10_9_x86_64.whl (292.6 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pyclothoids-0.1.5-cp39-cp39-win_amd64.whl (110.1 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

pyclothoids-0.1.5-cp39-cp39-win32.whl (97.4 kB view hashes)

Uploaded CPython 3.9 Windows x86

pyclothoids-0.1.5-cp39-cp39-musllinux_1_1_x86_64.whl (3.9 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

pyclothoids-0.1.5-cp39-cp39-musllinux_1_1_i686.whl (3.8 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

pyclothoids-0.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyclothoids-0.1.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (3.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

pyclothoids-0.1.5-cp39-cp39-macosx_10_9_x86_64.whl (292.8 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

pyclothoids-0.1.5-cp38-cp38-win_amd64.whl (111.3 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

pyclothoids-0.1.5-cp38-cp38-win32.whl (97.3 kB view hashes)

Uploaded CPython 3.8 Windows x86

pyclothoids-0.1.5-cp38-cp38-musllinux_1_1_x86_64.whl (3.9 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

pyclothoids-0.1.5-cp38-cp38-musllinux_1_1_i686.whl (3.8 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

pyclothoids-0.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pyclothoids-0.1.5-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (3.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

pyclothoids-0.1.5-cp38-cp38-macosx_10_9_x86_64.whl (292.5 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pyclothoids-0.1.5-cp37-cp37m-win_amd64.whl (111.9 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

pyclothoids-0.1.5-cp37-cp37m-win32.whl (98.5 kB view hashes)

Uploaded CPython 3.7m Windows x86

pyclothoids-0.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

pyclothoids-0.1.5-cp37-cp37m-musllinux_1_1_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

pyclothoids-0.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

pyclothoids-0.1.5-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (3.4 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

pyclothoids-0.1.5-cp37-cp37m-macosx_10_9_x86_64.whl (292.0 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

pyclothoids-0.1.5-cp36-cp36m-win_amd64.whl (138.4 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

pyclothoids-0.1.5-cp36-cp36m-win32.whl (120.0 kB view hashes)

Uploaded CPython 3.6m Windows x86

pyclothoids-0.1.5-cp36-cp36m-musllinux_1_1_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ x86-64

pyclothoids-0.1.5-cp36-cp36m-musllinux_1_1_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ i686

pyclothoids-0.1.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

pyclothoids-0.1.5-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl (3.5 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686

pyclothoids-0.1.5-cp36-cp36m-macosx_10_9_x86_64.whl (292.3 kB view hashes)

Uploaded CPython 3.6m macOS 10.9+ x86-64

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