So a while ago i got bored in class, and i made a little program that can make mathematical figures and animate them.
The above image is the result of cos(R*32+(θ*2)+(N*32))-sin(θ*8+sin(R*8 )//2-(N*32))
The way it works is for each pixel i each frame a function F gets called. The return value of this function must be a signed byte.
values -128 to -64 are being colored white, -64 to 0 light gray, 0 to 64 dark gray and 64 to 128 black. While there isn't anyway to input an equation without recompiling, it is easy to change the equation within the code.
O n the first few lines of the source you can find the code above. The equation can be changed by changing the formula between "Lbl F" and "Return". X and Y are the pixel positions, R is the distance from (32, 48), theta is the angle on [0, 256] and N is the frame number. The maximum amount of frames can be changed by changing the line:
(where 8 is the number of frames)
Beware you need M*1536 bytes of free ram! (the image data gets stored in a tmpvar and is deleted when the program exits).
Since the program needs some time to generate the frames, a small progress bar is displayed until the image is done.