spyrograph: elegant mathematics and geometries
What is it?
spyrograph is a lightweight Python package that provides an expressive and flexible set of tools for drawing beautiful mathematically driven art. With just a few lines of easy-to-read code you can start analyzing, visualizing, and exploring elegant mathematics
Table of Contents
:key: Key features
- Expressive and consistent syntax
- Robust underlying mathematics
- Beginner and expert friendly
numpyis the only required third-party installation- Clear visualizations and animations
- Flexible to a wide range of usecases
- Lightweight, just plug and play
:computer: Installation
pip
Install the latest stable release from PyPI using
$ pip3 install spyrograph
or clone the development version from GitHub with
$ git clone https://github.com/chris-greening/spyrograph.git
:seedling: Quickstart
spyrograph is designed to be expressive and easy-to-use - simply import spyrograph and jump right into drawing elegant, complex shapes in just a few lines of code!
from spyrograph import Hypotrochoid
# Trace a hypotrochoid from 0 to 2pi where
# the fixed circle radius is 300, rolling circle
# radius is 200, and the distance from the rolling
# circle is 100
hypotrochoid = Hypotrochoid(
R=300,
r=200,
d=100,
thetas=np.arange(0, 2*np.pi, .1)
)
hypotrochoid.trace(
show_circles=True,
frame_pause=.05,
circle_color="grey"
)
:pray: Contributing
All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome!
Feel free to open an Issue, check out existing Issues, or start a discussion.
Beginners to open source are highly encouraged to participate and ask questions if you're unsure what to do/where to start
:newspaper: Blog posts
Check out the official website for the latest blog posts on the project!
- Draw beautiful geometric visualizations with Python and spyrograph
- Configuring the trace method to explore stunning spirographs in Python
- Creating a range of hypotrochoids with the create_range method
- Plotting beautiful spirographs with matplotlib and spyrograph
- Drawing cycloids with a specific number of cusps using spyrograph
- Scaling trochoid’s and cycloid’s input parameters with the spyrograph scale method
- Spyrograph is looking for beginners to open source to contribute!
- Creating mesmerizing spirograph animations with Python and Spyrograph
- Adding a boomerang effect to our spirograph animations
- Tracing multiple shapes on the same screen with Spyrograph
- Customizing the origin of our geometric visualizations using Python and Spyrograph
- Unlock the power of method chaining for elegant and efficient Spyrograph transformations
:books: Documentation
The official documentation can be found on Read The Docs
:credit_card: License
This library operates under the MIT license.
:grey_question: Support
Reach out to me if you want to connect or have any questions and I will do my best to get back to you
- Email:
- Twitter:
- Personal contact form:
Metadata
Release files for spyrograph 0.29.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| spyrograph-0.29.0.tar.gz | 22.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| spyrograph-0.29.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 52.0 kB
Release files / spyrograph-0.29.0.tar.gz
| Download URL | spyrograph-0.29.0.tar.gz |
|---|---|
| Size | 22.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
72f97f27b0c1b786210345c7bd09a0793fc589076c43930c3471d5b7e40c6d3d
|
|
BLAKE2b-256 checksum How to use checksums |
56508950a37aec7aa6d1b0d0e209fe469380f6efd1e8237f72be735b30f0a5b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.4
|
Release files / spyrograph-0.29.0-py3-none-any.whl
| Download URL | spyrograph-0.29.0-py3-none-any.whl |
|---|---|
| Size | 29.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8083f3c98e5c69a91c173c71fc7e57f761b8e8ad56a055f5e0e866f4988ed1d3
|
|
BLAKE2b-256 checksum How to use checksums |
e3fe2e20eb53f29cddce6710311a01bb697a9c87eefc96820d5877d51eb72ac1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.4
|