Option 36: Fourier epicycles. The bot is drawn as one continuous line, then rebuilt as a chain of spinning circles, each turning at a whole-number speed. With few circles you get a wobbly blob; add more and the face snaps into focus. You can also draw your own shape.

**Any closed drawing is a sum of spinning circles.**
The bot is sampled into 256 points. A Fourier transform turns them into 256 circles, each with a fixed size, a starting angle, and a whole-number speed (0, ±1, ±2 …). Chain the circles tip to tail and the last tip retraces the drawing exactly.

**Biggest circles first.**
Circles are ordered by size, so each extra one adds the most important remaining detail:

**Two drawings of the bot:**
**One-line bot:**
a continuous line art drawing that goes round the body, loops in and out of both eyes, and returns. It's a single chain.

**Three chains:**
separate chains for body and each eye (amber). The body chain is almost one circle, because the body is nearly a circle.

**Frequency spectrum.**
Bars at the bottom show every circle's size (log scale). Blue bars are the ones in use; the yellow centre bar is the position offset.

**Untick Auto, set Circles to 3.**
The bot becomes a triangle-ish blob. Now step up one notch at a time and watch which feature arrives at each step.

**Tick "Morph: hop and blink."**
The code blends between two sets of circles: a round, open-eyed bot and a squashed, blinking one. The circles grow and shrink smoothly, animating the shape in "frequency space."

**Draw your own.**
Draw any single-stroke shape: your initial, a star, a cat. Lift your finger and 256 circles redraw it.

**Untick "Show circles."**
Just the pen remains, drawing as if by an invisible hand.

**The body needs few circles; the eyes need many.**
Smooth, round shapes are cheap. Sharp turns and small features cost lots of high-frequency circles. The same maths underlies JPEG and MP3: throw away the small circles and hope no one notices.

**Negative speeds are real.**
Circles spinning backwards are as important as forward ones. A perfect circle traced clockwise is one circle at −1.

**The connecting lines in the one-line bot are part of the art.**
Continuous-line drawing is a real style. Here it's also required, because one chain can only draw one unbroken loop.

**Ancient astronomy used this idea.**
Ptolemy explained planetary motion with circles on circles (epicycles) nearly 2,000 years ago. It worked because enough circles can draw any loop.

**Building a drawing from circles**
```
tip = c₀ + r₁·e^{i(k₁θ+φ₁)} + r₂·e^{i(k₂θ+φ₂)} + … (biggest first) θ: 0 → 2π over one loop (7 s at 1×) N = 256 samples → 256 circles
```

**What each group of circles contributes**
```
k = ±1 overall loop size and direction k = ±2…±6 bulges, overall asymmetry k = ±7…±30 eye shapes appear k > ±30 sharp capsule ends, crisp joins
```

**Morphing in frequency space**
```
pose A (round, eyes open) → coefficients A_k pose B (squash, blink) → coefficients B_k animated: C_k(t) = lerp(A_k, B_k, m(t)) → circles resize smoothly
```

**Critical thinking:**
24 circles give a recognisable bot. Is the bot's identity in the low frequencies (overall blob) or the high ones (eye detail)? Which would you protect if you had to compress its logo?

**Lateral thinking:**
Fourier ideas power music equalisers, MRI scanners, earthquake analysis and noise-cancelling headphones. Could your bot have a "sound" made from its own spectrum, a chord whose notes are its circle speeds?

**First principles:**
why can circles draw any closed shape, even sharp corners, given enough of them? What do sharp corners demand from the spectrum, and why do they cause ripples (the Gibbs effect)?

- How does JPEG use similar maths to compress images?

G. Generative / procedural

#36 Fourier epicycles

Share: /e/grokbot-animation/36/