This is a d3.js simulation of the classic Spirograph toy.
The application draws an SVG of a
hypotrochoid curve
using multiple path
elements rather than just one with a stroke and no fill.
It's designed this way so that the resulting SVGs can be converted to
3D-printable files using the
paths2openscad
Inkscape extension.
This works better with simpler curves and thicker lines: