Draw any pattern you want on screen, and have it approximated by cats circling cats circling cats.... Written mostly in ApuC so I didn't have to spend so much time dragging blocks out and debugging. See the stage for the ApuC source. (This is probably the first project I have ever made where ApuC worked for its intended purpose - implementing fourier stuff was trivial but it expanded to a huge mess of scratch blocks :P) Press these keys (I was too lazy to make a gui): 1: Draw a pattern 2: Calculate Fourier coefficients 3: Render approximated function 4: Start/Stop cats spinning animation 5: Reset screen Start with 1, draw a pattern, then press 2, then press 4. Adjust the sliders when the animation is playing. The sizes of the cats in the animation correspond to the amplitude of their oscillation. Note: The cats aren't exactly circling. I didn't bother to correct that. There are probably more efficient ways to calculate Fourier coefficients. I literally just integrated f(x) f(x)sin(nx) and f(x)cos(nx) 100 times.