2. Guía 2: autómatas

2.5. Sistemas autónomos

2.5.4. Ejercicio 3: utilicemos Snap! para recrear la obra de Vera Molnár

197506 Quatre moins deux (1975)

Vera Molnár (nacida en 1924) es una artista francesa de origen húngaro. Es considerada una pionera del arte computacional y de la generación de dibujos a partir de algoritmos.

Sus obras iniciales se caracterizan por desarrollar series con el cuadrado como figura principal. Empezó construyendo series utilizando figuras geométricas. En 1948 hizo sus primeros dibujos geométricos, inspirados en un grabado de Durero titulado La melancolía. En 1967 fue cofundadora del grupo Art et Informatique en el Institut d’Esthétique et des Sciencies de l’Art de París. El año 1968 fue muy importante para el resto de su carrera artística, ya que fue cuando realizó sus primeros gráficos utilizando un ordenador, la herramienta de creación que usa desde aquella etapa.

El artista explica:

«Me gusta la rigidez formal y la parsimonia de la geometría, me gusta la pureza racional de las matemáticas».

Su manera de trabajar consiste en colocar formas geométricas (en su caso, cuadrados) e introducir ciertos cambios en cada uno, ya sea en un cuadrado específico o en la manera de unirse a otro. Su objetivo consiste en conseguir producir un cambio significativo entre una obra y otra, es decir, hacer que una obra sea completamente única y diferente solo por colocar las figuras geométricas y unirlas de un modo diferente.

La obra que intentaremos imitar con Snap! puede ser producida de muchas maneras diferentes. Es importante que lo entendamos. En programación, un mismo problema o reto puede tener muchas soluciones diferentes, todas igual de válidas.

Si nos fijamos en el dibujo, en realidad solo hay dos tipos de elementos: el primero son dos líneas paralelas, y el segundo dos líneas que forman una esquina. Estos dos elementos se van reproduciendo en filas y columnas de manera aleatoria. Es aleatorio si se dibuja un elemento u otro, y también es aleatoria su orientación.

Abordaremos el problema creando dos bloques nuevos (ya hemos visto cómo hacerlo anteriormente). A uno lo llamaremos «líneas paralelas» y al otro «esquina». Estos bloques dibujarán cada uno de estos elementos cada vez que los nombremos.

El programa que debemos llevar a cabo una vez que hemos solucionado el dibujo de los dos elementos consiste en irnos moviendo usando dos bucles para crear las filas y columnas, y en cada emplazamiento utilizamos un número aleatorio entre 0 y 1 para decidir si dibujamos un elemento u otro.

Ved código

Sin embargo, como veis, el resultado todavía no es suficientemente parecido al de Molnár, ya que todos los elementos tienen la misma orientación, y esta también debería ser aleatoria. El ejercicio que os proponemos es que modifiquéis el código anterior para conseguir que las orientaciones sean aleatorias y que el resultado sea parecido al siguiente (ya mucho más cercano al de Molnár).

Cuando tengáis vuestra versión, guardadla y compartidla.