En el arte por computadora surgen de pronto ideas interesantes, como la de Petros Vreilli, un griego nacido en 1974 con preparación en ingeniería y una maestría en arte. La idea en este caso fue hacer una imagen usando un hilo (o cuerda no muy gruesa), con la cual "teje" un bastidor redondo que está en su perímetro con una serie de clavos, separados estos por una distancia igual entre ellos. La cuerda o hilo se mueve de clavo en clavo unas 1500 o 3000 veces y forma la imagen deseada, a partir de un algoritmo denominado como "codicioso"-
La siguiente imagen muestra la obra de Greco: Cristo, armada con un hilo continuo, es decir, que va de un clavo a otro y desde ese nuevo clavo se proyecta hacia otro hasta que se llega a un límitge definido por el software.
El Cristo del Greco hecho con cuerdas
Detalle del cuadro de Cristo hecho con cuerdas
Para lograr este efecto, se usa un el algoritmo básico que contiene una serie de restricciones. Tal vez la más importante es que todo el trabajo de “tejer” la imagen final se hace a partir de un solo hilo que va conectando los clavos en la periferia del círculo donde se hace el trabajo. Para ello, la idea es tomar un punto en el perímetro del círculo en donde vamos a pintar nuestra imagen con un hilo, y trazar líneas a cada punto del perímetro. Si, por ejemplo, tenemos 300 puntos (clavos), en el perímetro, tomamos el clavo 1 y trazamos líneas al punto 2, 3, 4, hasta 300. Entonces ahora viene la clave: calculamos el promedio de tono de gris por donde pasa cada línea trazada (tomando en cuenta los valores originales de la imagen en tonos de gris). La mejor línea, que será nuestra elección, es la que tenga el tono de gris más oscuro (en las imágenes en tonos de gris solamente hay 256 posibles tonos diferentes).
Supongamos que de este proceso hallamos que el clavo 1 se debe unir al clavo 173. Bueno, ahora este será nuestro nuevo origen y generamos a su vez todas las líneas (desde el clavo 173 hacia el clavo 1, 2, 3, etcétera). Calculamos el tono de gris de cada trazo (sobre la imagen original) y nuestra elección será aquella línea que sea la más oscura. Procedemos entonces así hasta el final del proceso .
Hay un punto importante aquí: si seguimos con el ejemplo y hallamos la línea más oscura, desde el clavo 1 al clavo 173, cuando hagamos el proceso del clavo 173 a todos los demás tendremos que el clavo 1 tiene el valor más oscuro. Y entonces el sistema se ciclará de 1 al 173, del 173 al 1, del 1 al 173, etcétera. Para evitar eso, Vrellis se le ocurrió que cuando ya se eligió una línea por ser la más oscura, se traza esta del punto A al punto B (en nuestro ejemplo, del punto 1 al 173) y entonces pintamos en la imagen original, una línea blanca (del punto 1 al 173). Al hacer esto, garantizamos que la siguiente línea no podrá ser la que acabamos de recorrer del punto 1 al 173, pues el cálculo del punto 173 al 1 no va a dar el tono de gris más oscuro .
El primer problema a resolver es cómo calcular el tono de gris de una línea en la imagen original. Hay que comprender que aunque en la computadora nosotros veamos líneas rectas, estás están formadas en una cuadrícula, la cual muchas veces no es tan fina, por lo que una línea puede verse así en realidad:
Pintar líneas es una labor tan cotidiana que se ha estudiado desde hace mucho tiempo. Fue Bresenham quien salió con un algoritmo, que lleva su nombre, el cual es muy eficiente para pintar líneas en la computadora, pues usa aritmética entera y esto hace que sea muy rápido.
Entonces, usando el algoritmo codicioso, lo que hacemos es trazar desde un primer clavo, líneas a todos los demás clavos, y usando el algoritmo de Bresenham, calculamos el tono de gris de cada pixel por donde debe pasar la línea. Al final, dividimos la suma total de los pixeles por la cantidad de pixeles que usa la línea. Así tenemos el promedio de tono de gris de cada línea trazada (que en realidad bosquejamos sobre la imagen original, pues queremos “leer” los valores originales de cada pixel en cada línea.
Aquí también surge la pregunta: ¿Cuántos clavos (o puntos en el perímetro del círculo), se necesitan para que quede la mejor imagen posible? La ingeniera JennyMa, en su canal de YouTube , experimentó con diferente cantidad de clavos, desde 100 a 400, y llegó a la conclusión que 300 clavos es el valor “mágico”, el ideal. Desde luego que mientras más clavos, la imagen podrá ser más precisa peor también, más oscura. Hay entonces un equilibrio que conservar entre cantidad de clavos y resolución de la imagen final.
Otro punto a considerar es el grosor de la cuerda a usar en la creación de la fotografía “tejida” sobre el bastidor circular. Hay aquí la posibilidad de usar cuerdas de diferente grosor, pero probablemente si se usan cuerdas muy gruesas, la imagen final va a quedar muy rápidamente oscurecida. Por ello mismo, la propia JennyMa sugiere usar cuerdas no demasiado gruesas, aunque sí más que hilo de coser, por ejemplo.
Otros parámetros pueden ser importantes. Por ejemplo, el contraste de una imagen puede ayudar o perjudicar el resultado final. Algunas pruebas sugieren que las imágenes deben tener menos contraste para que queden mejor cuando se aplique el algoritmo codicioso, aunque la mejor idea es probar con diferentes contrastes y brillos, para ver qué combinación es la mejor. Y de hecho, la moraleja del cuento es que hay probablemente imágenes que no son susceptibles a ser tratadas con este algoritmo para que den un resultado aceptable.
JennyMa, en su video, el cual es sumamente informativo e ilustrativo, propone no colocar todas las líneas desde un punto inicial a todos los demás, sino el brincarse unas diez líneas. Esto tiene como objetivo que las líneas no se peguen demasiado y el efecto final es que sea menos oscuro el resultado del proceso.
Escribií mi propio programa para averiguar las características del problema de primera mano. Por ejemplo, tomamos esta imagen de Albert Einstein:
Una de las fotografías más conocidas de Einstein (izquierda); Proceso de la Universidad Tecnológica de Vienna (en medio); Imagen creada por mi programa (derecha).
La diferencia en los resultados parece tener que ver con el grosor de la “cuerda” virtual, es decir, en el grosor de la rutina que pinta líneas en el software la cual, es la de menor grosor. No obstante esto, los resultados no parecen ser malos.
El software corriendo
La idea de Vreilli da para más y él mismo muestra que existe la posibilidad de hacer este arte con cuerdas en color. Para ello no se requieren muchos colores y el efecto puede darse aplicando tres o cuatro colores, los cuales se superpondrán en la imagen creada con cuerdas. Sin embargo, esto es un trabajo mucho más elaborado. Petros Vreilli indica que ha trabajado en este tema por unos seis años, por lo cual ha decidido pasar a otra cosa. Sin embargo, he aquí uno de sus mejores ejemplos:
“El nacimiento de Venus” (izquierda) y el detalle de la imagen (derecha) .








No comments:
Post a Comment