This famous code was written by Andy Sloane. It was written in the year 2006 but has recently been re surfacing on the internet.
This beautiful and elegant code has great mathematical principles. It is also one of the most famous ASCII animations.
This is the code:
k;double sin()
,cos();main(){float A=
0,B=0,i,j,z[1760];char b[
1760];printf("\x1b[2J");for(;;
){memset(b,32,1760);memset(z,0,7040)
;for(j=0;6.28>j;j+=0.07)for(i=0;6.28
>i;i+=0.02){float c=sin(i),d=cos(j),e=
sin(A),f=sin(j),g=cos(A),h=d+2,D=1/(c*
h*e+f*g+5),l=cos (i),m=cos(B),n=s\
in(B),t=c*h*g-f* e;int x=40+30*D*
(l*h*m-t*n),y= 12+15*D*(l*h*n
+t*m),o=x+80*y, N=8*((f*e-c*d*g
)*m-c*d*e-f*g-l *d*n);if(22>y&&
y>0&&x>0&&80>x&&D>z[o]){z[o]=D;;;b[o]=
".,-~:;=!*#$@"[N>0?N:0];}}/*#****!!-*/
printf("\x1b[H");for(k=0;1761>k;k++)
putchar(k%80?b[k]:10);A+=0.04;B+=
0.02;}}/*****####*******!!=;:~
~::==!!!**********!!!==::-
.,~~;;;========;;;:~-.
..,--------,*/
…and the animated output, on my terminal is:
At its core, it’s a framebuffer and a Z-buffer into which the pixels are render. Since it’s just rendering relatively low-resolution ASCII art, its a cheeky
cheat. All it does is plot pixels along the surface of the
torus at fixed-angle increments, and does it densely enough that the
final result looks solid. The “pixels” it plots are ASCII characters
corresponding to the illumination value of the surface at each point:
.,-~:;=!*#$@
from dimmest to
brightest. No raytracing required.
The Javascript source for both the ASCII and canvas rendering is right here.
The complete explanation is provided by the creator himself at a1k0n.net