Finalmente, el punto al que quería llegar. Forma, fondo y recursividad pueden ser muy distintos pero al mismo tiempo pueden ser lo mismo.
No hace mucho me topé con esta maravilla de código, 21 líneas de Python ofuscado que de inmediato llaman la atención por estar dispuestas en la característica forma de un conjunto de Mandelbrot. ¿Y qué genera? Precisamente valores de conjuntos de Mandelbrot con algo de información visual adicional, es decir fractales.
_ = (
255,
lambda
V ,B,c
:c and Y(V*V+B,B, c
-1)if(abs(V)<6)else
( 2+c-4*abs(V)**-0.4)/i
) ;v, x=1500,1000;C=range(v*x
);import struct;P=struct.pack;M,\
j ='<QIIHHHH',open('M.bmp','wb').write
for X in j('BM'+P(M,v*x*3+26,26,12,v,x,1,24))or C:
i ,Y=_;j(P('BBB',*(lambda T:(T*80+T**9
*i-950*T **99,T*70-880*T**18+701*
T **9 ,T*i**(1-T**45*2)))(sum(
[ Y(0,(A%3/3.+X%v+(X/v+
A/3/3.-x/2)/1j)*2.5
/x -2.7,i)**2 for \
A in C
[:9]])
/9)
) )
El programa genera un archivo de nombre M.bmp, en formato Bitmap de Windows, como el siguiente (imagen en formato JPEG debido a restricciones de la plataforma WordPress para subir archivos Bitmap):
Si se cuenta con Python (existen algunas restricciones sobre la versión1) basta copiar el código a un archivo y ejecutarlo con:
$ python <nombre>.py
En mi MBP (13″, Mid-2012, 2.9GHz Intel Core i7, 8GB RAM, OS X 10.9.5, Python 2.7.5) tarda 5 minutos y medio en generar este archivo. Cambios en el tamaño de la imagen son posibles con ciertas restricciones, ver [1] para mayores detalles.
Referencias
- Jeff Preshing, «High-Resolution Mandelbrot in Obfuscated Python«, Preshing on Programming, blog, publish: 2011.09.26, consulted: 2015.01.28. URL: http://preshing.com/20110926/high-resolution-mandelbrot-in-obfuscated-python/.

