The Fast and the Fourier
Press the green flag and enjoy!
If there's sufficient interest, I can show you guys how to trace your own patterns.
When the ancient astronomers such as Ptolemy looked up at the sky, they saw not just stars, but certain bodies that moved around in strange patterns—they called them "planetai", or "wanderers". The mathematical tools required to correctly explain these paths would not be invented until Newton and Galileo's theories of gravitation and heliocentricity. But Ptolemy could still model the paths of the planets very well! He used a system of "epicycles", or orbits around orbits, to model the paths. For example, the Moon's path around the Sun is an epicycle around the sun because it orbits the Earth, which orbits the Sun.
It turns out that epicycles were powerful enough to explain *any* kind of path! This is why Ptolemy could model the planets' paths even though he had a geocentric premise. Just because the model wasn't backed by the right theory doesn't mean it couldn't be accurate.
The fact that you can do this is a remarkable result in the field of Fourier Analysis, which surprisingly also has applications in digital signal processing: orbits can be turned into simple waves, and combining orbits to get epicycles can describe more complex waves. You know what they say: you can't spell "epicycle" without "epic".
In this project, I use this technique to decompose an arbitrary path (the heart) into epicycles via the Fourier Transform. This was inspired by this YouTube video: https://www.youtube.com/watch?v=QVuU2YCwHjw&feature=youtu.be and powered by the `numpy` Python library.