Donas hechas de ASCII

Donas hechas de ASCII

ASCII Art

Se trata sobre utilizar el código ASCII como un medio para crear arte; dibujando figuras o patrones a partir de los diferentes caracteres de impresión que disponen los computadores.

            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]=
".,-~:;=!*#[email protected]"[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;}}/*****####*******!!=;:~
      ~::==!!!**********!!!==::-
        .,~~;;;========;;;:~-.
            ..,--------,*/
código generador de donas

En el ejemplo de arriba se puede ver una "dona", aunque éste ejemplo va un poco más allá, porque es un meta arte de código ASCII, ya que también contiene un código en lenguaje C que genera la siguiente animación


Código en C sin ofuscar

A cotinuación dejo el código en  lenguaje C sin ofuscar para poder compilarlo luego y poder visualizar en la consola esta genial animación... que es media trippy.

Cómo compilar

Para poder compilar el código es bastante simple, sólo hay que escribir lo siguiente por consola

gcc donnut.c -lm -o donnut.o

Créditos y fuente:

Donut math: how donut.c works
Show Comments