A Python GUI app for generating epitrochoids and hypotrochoid parametric equations. This is what the Spirographs toy does using gears.
Find a file
2026-07-18 03:19:13 -04:00
img update: start to bring up to 2026 2026-07-18 03:19:13 -04:00
.gitignore Updated gitignore to ignore more temporary files. 2021-06-27 23:57:50 -04:00
LICENSE Updated license info, added SPDX identifier 2024-11-19 06:13:37 -05:00
README.md Stupid merge conflicts 2024-11-19 06:16:56 -05:00
spirographs.glade update: start to bring up to 2026 2026-07-18 03:19:13 -04:00
spirographs.py update: start to bring up to 2026 2026-07-18 03:19:13 -04:00

Spirographs!

Screenshot of software

Everyone who grew up playing with this toy remembers it fondly. Very cool shapes and patterns. Recently, I was wondering if there was a mathematical formula describing the shapes created by Spriographs, and of course there is!

They're actually quite simple. The shapes are called hypotrochoids and epitrochoids. To calculate each point, you simple use the following parametrized equations, plugging in 0 to 2π for θ:

And that's it! To play around with the different patterns, this Python GTK3 app was created so you could use sliders to change the parameters and see how they affect the output.