lunes, 26 de julio de 2010

Arte generativo


Son muy interesantes los programas de arte generativo a partir de código. En el fondo, cualquier programa de dibujo o pintura digital puede modificarse a voluntad alterando el código de sus archivos. El mismo SVG que crea un programa de dibujo vectorial moderno es un simple fichero de texto: una variante de xml que puedes abrir y cambiar en un simple editor de texto, como el bloc de notas. Si en esos ficheros creáramos modificaciones arbitrarias, aleatorias o en función de determinados parámetros o datos, ya entraríamos en el campo del arte generativo.

Imagen manipulada con Nodebox y su módulo PhotoBot (permite incluir imágenes de mapa de bits y manipularlas a voluntad).


Nodebox, Shoebot, Drawbot y Spryte son proyectos basados en el lenguaje de programación Python, que transforman el código en imagen digital de forma interactiva. Todos ellos son proyectos de código abierto y disponibles gratuítamente en los respectivos sitios web. Nodebox es una aplicación sólo para MacOs X que te permite crear gráficos 2D (estáticos, animados e incluso interactivos) utilizando código de programación Python y con capacidad de exportación como un PDF o a película QuickTime. NodeBox es libre y está bien documentado.

Drawbot es una aplicación gratuita para MacOs X que invita a escribir sencillos scripts Python para generar gráficos de dos dimensiones (rectángulos, óvalos, curvas de Bézier, polígonos, objetos de texto) con transparencia modificable. DrawBot es una herramienta ideal para enseñar los fundamentos de la programación y los resultados se pueden guardar en una varios formatos de archivo diferentes, incluyendo algunos escalables como el PDF (guardando información vectorial en él).

Drawbot

Un ejemplo de dibujo de espirógrafo por MartaB, creado en Drawbot.


Shoebot, con su nombre híbrido entre DrawBot y Shoes, delatando su origen, es un robot que funciona en Python: toma código escrito en este lenguaje, con la descripción de un proceso de dibujo, y lo transforma en una imagen en alguno de los formatos gráficos estándar más versátiles, como SVG, PDF, PostScript, o PNG. Shoebot es una aplicación para Linux. En Ubuntu se instala con la facilidad habitual. Shoebot funciona muy bien en conexión con la edición impresa gracias al manejo de formas vectoriales. En la GUI del programa tenemos un editor del texto que permite modificar los scripts a voluntad, aunque los propios scripts pueden incluir sus propias interfaces de usuario para modificar las variables de forma interactiva. Shoebot puede funcionar por sí sólo o bien conectarse como módulo para cualquier programa que reconozca el código de Python: un plugin para Inkscape, etc.


Una de las características más notables de estos programas (aquí Shoebot) es la capacidad de incluir transformaciones aleatorias o dependientes de parámetros de todo tipo incluso datos captados de una fuente elegida en la red.


Spryte, por su parte, es equivalente a Shoebot, pero preparado para el sistema operativo Windows. Se descarga y se usa sin más (aplicación portable). Aquí está la ventana con el código y la ventana que muestra el resultado gráfico:



Lo cierto es que existen muchas otras posibilidades de crear arte digital con algoritmos generativos. Sin duda, el entorno más potente y utilizado en una miríada de proyectos es Processing, ejecutado en Java y muy bien documentado (incluyendo varios libros impresos.) Pero también hay otras interesantes, y a veces intuitivas herramientas como Alchemy, Scratch, Structure Synth, el Quartz Composer de MacOs X y muchos más que exploraremos en otra ocasión aquí mismo.


Structure Synth, una aplicación para crear formas tridimensionales a partir de reglas matemáticas. En el grupo de Flickr hay centenares de ejemplos de esta aplicación.


Todo esto viene vía Vectoralia

No hay comentarios: