Creación de piezas de arte generativo
1. Introducción
El arte ha acompañado al ser humano desde que este existe como especie en el mundo como una forma de expresar sus ideas, sentimientos y aspiraciones, entre otros, y para ello ha encontrado diferentes alternativas con las cuales pueden llevar estos mensajes a otros individuos, empezando por la danza, el canto y las pinturas rupestres de los primeros seres humanos, pasando por elaborados instrumentos que les permitieron añadir melodías sofisticadas a sus cánticos, el teatro y la literatura, y llegando al cine y la televisión. Así, como se puede ver, el ser humano ha venido evolucionando culturalmente a lo largo de toda su historia y siempre ha encontrado una forma de incorporar el arte a las nuevas tecnologías que inventa para propósitos que en un principio pueden lucir como ajenos al arte, quizá gracias al proceso creativo que de por sí demanda el arte para crear nuevas piezas novedosas.
De esta forma, nos encontramos con el hombre del siglo XXI, cuya vida se encuentra atravesada por la tecnología, al encontrarse constantemente inmerso en ambientes virtuales o rodeado de dispositivos electrónicos complejos con los que Homero, Perotín y Shakespeare tal vez ni siquiera imaginaron. Así, tenemos hoy en día a la mano computadoras realmente potentes con la capacidad de leer y procesar millones de datos en cuestión de segundos para fines diversos como asegurar las interacciones remotas entre las personas, organizar las rutas aéreas o la logística del mercado global. Empero, tales dispositivos, así como sus versiones más simples para usuarios corrientes, han servido para canalizar la creatividad de millones de personas para generar arte novedoso, como lo puede ser mediante el arte generativo, que se caracteriza por tener aspectos que no dependen de las decisiones de un ser humano.
Con esto pues, se han creado no solo millones de piezas que a lo mejor nunca hubiesen existido sin estas nuevas tecnologías, sino que también ha irrumpido un nuevo mercado de arte, donde piezas de este estilo pueden ser intercambiadas mediante cadena de bloques (o blockchain) por precios irrisorios, o bien, miles y hasta millones de dólares.
Es así que en este informe se hará una muestra de lo que es posible conseguir a partir del arte generativo empleando diferentes estrategias como distribuciones de probabilidad multivariadas, funciones trigonométricas y algunas técnicas de aprendizaje automático.
2. Objetivos
2.1. Objetivo general
El propósito fundamental de este trabajo es crear piezas de arte generativo mediante el uso de distribuciones de probabilidad multivariadas, funciones trigonométricas y algunas técnicas de aprendizaje automático.
2.2. Objetivos específicos
Los objetivos particulares que prentenden ser abordados en el desarrollo de esta actividad son los siguientes:
- Comprender qué es el arte generativo y emplear herramientas informáticas para la creación de piezas de arte.
- Explicar qué proceso ocurre para la creación de las diferentes piezas de arte generativo que serán presentadas.
3. Guía de Git-Hub
Archivos Arte generativo.RMD: En dichos archivos encontrarás los códigos con los cuales se realizaron las piezas de arte en R, de cada artista: Simón Cuartas, Camilo Funez, Deivid Zhang y Juliana Zuluaga
Código_python_de_imágenes: Aquí se encuentra las piezas de arte realizadas por el artista Julián Ospina, quién las realizó en código python.
Simon_AG_TAE_T4: Archivo .ipynb realizado en Google Colaboratory, donde el pintor Simón Cuartas extendió su colección.
Colección: Dentro de esta carpeta hallarás las piezas de arte realizadas por cada autor.
Informe Técnico.RMD: Documento de R Markdown en el que se escribe el informe técnico que va a ser entregado, dicho documento contiene toda la información y explicación técnica de la colección.
Informe_Tecnico.html: Documento HTML legible para poder observar el informe técnico. Este documento puede ser visualizado y leído por cualquier persona al ser publicado en R Pubs.
Repositorio: El repositorio puede ser consultado desde el siguiente enlace: https://github.com/Deivid-code/Arte-generativo-TAE
4. Materiales
4.1. Materiales principales
Para la realización de este informe técnico, así como el planteamiento de la mayoría de creaciones artísticas que se presentarán más adelante se empleó la versión 4.1.2. del 21 de noviembre de 2021 del software de programación especializado en estadística y ciencia de datos \(\color{#00008b}{\textsf{R}}\). Asimismo, se utilizó la versión 2021.09.2-382 del entorno de desarrollo integrado \(\color{#1ac5ff}{\textsf{R}}\)\(\color{#696969}{\textsf{Studio}}\), que incorpora diferentes herramientas y una interfaz adecuada para facilitar el trabajo con \(\color{#00008b}{\textsf{R}}\). Adicionalmente, con el fin de explorar otras alternativas que permitieran el desarrollo de obras de arte generativo, se usó a \(\color{cyan}{\textsf{Python}}\), que es un lenguaje de programación muy popular y con uso en diversas áreas como la ciencia de datos, esto mediante un entorno de desarrollo en línea conocido como \(\color{orange}{\textsf{Colaboratory}}\), que es desarrollado y mantenido por \(\textsf{Google}\) y se encuentra integrado a su suit de trabajo. Asimismo, se debe destacar que se usó al repositorio en línea \(\textsf{GitHub}\) para poder guardar y compartir el código entre los autores de este trabajo.
4.2. Materiales secundarios
Teniendo en cuenta que el desarrollo de las piezas de arte generativo que serán presentadas no se consiguió con código básico de cada uno de los lenguajes de programación mencionados antes, vale la pena detallar los paquetes o módulos que fueron empleados para facilitar este proceso:
\(\color{purple}{\texttt{aRtsy}}\). Versión 0.1.6. del 18 de diciembre de 2021. Este paquete de \(\color{#00008b}{\textsf{R}}\) desarrollado por Koen Derks emplea diferentes técnicas como distribuciones de probabilidas o técnicas de aprendizaje automático para la creación de obras de arte mediante funciones sencillas en las que el usuario solo debe elegir aquella que se ajusta al estilo de su preferencia, así como una paleta de colores determinada.
\(\color{purple}{\texttt{Samila}}\). Versión 0.4. de enero de 2022. Es un módulo de \(\color{cyan}{\textsf{Python}}\) orientado a la creación de piezas de arte generativo mediante varios miles de puntos que son distribuidos en el espacio a partir de una fórmula que es dada por el usuario, permitiendo mayor flexibilidad y autonomía en relación al paquete anterior.
5. Generación de las imágenes
5.1. Con el paquete aRtsy
aRtsy tiene como objetivo hacer que el arte generativo sea accesible al público en general de una manera sencilla y estandarizada. El paquete proporciona algoritmos para crear obras de arte que incorporan alguna forma de aleatoriedad y dependen de la semilla establecida. Cada algoritmo se implementa en una función separada con su propio conjunto de parámetros que se pueden modificar.
- The Iterative collection implementa algoritmos cuyo estado depende del estado anterior. Estos algoritmos utilizan principalmente un lienzo basado en cuadrículas para dibujar. En esta cuadrícula, cada punto representa un píxel de la imagen final. Al asignar un color a estos puntos de acuerdo con ciertas reglas, se pueden crear las imágenes de esta colección. En esta colección se encuentran las funciones canvas_cobweb() y canvas_flow()utilizadas para generar una de las imágenes de nuestra colección de arte generativo.
- The Geometric collection implementa principalmente algoritmos que dibujan una forma geométrica y le aplican un color aleatorio. En esta colección se encuentran las funciones canvas_polylines()utilizadas para generar una de las imágenes de nuestra colección de arte generativo.
- The Supervised collection están inspiradas en diagramas de límite de decisión en tareas de aprendizaje automático. Los algoritmos de esta colección funcionan generando puntos de datos aleatorios en una superficie bidimensional (con una variable de respuesta continua o categórica), que luego intentan modelar utilizando el algoritmo de aprendizaje supervisado. Luego, intentan predecir el color de cada píxel en el lienzo. En esta colección se encuentran las funciones canvas_forest(), canvas_mosaic(), canvas_gemstone(), canvas_blacklight() y canvas_nebula()utilizadas para generar una de las imágenes de nuestra colección de arte generativo.
Las siguientes imágenes se generaron con este paquete:
5.2. Con el paquete generativeart
El generativeart del paquete R le permite crear imágenes basadas en muchos miles de puntos. La posición de cada punto individual se calcula mediante una fórmula, que tiene parámetros aleatorios. Debido a los números aleatorios, cada imagen se ve diferente.
La siguiente imagen se hizo mediante la función generative_img() con coordenadas polares:
5.3. Con el paquete Samila
Con Samila se puede crear un objeto GenerativeImage que recibe como atributos una o más funciones, las cuales se usan para mapear cada punto de manera aleatoria. Además, el resultado se puede proyectar a otro tipo de coordenadas como polares o lambert. Las siguientes imágenes se generaron con Samila:
6. Referencias
Getting Started with Generative Art in R. Visitado el 06/02/2022. Recuperado de [https://towardsdatascience.com/getting-started-with-generative-art-in-r-3bc50067d34b]
Generative art with R. Visitado el 06/02/2022. Recuperado de [https://flowingdata.com/2021/08/18/generative-art-with-r/]
Navarro, D. [@djnavarro]. (7 de febrero de 2022). Generative art with rtistry. [Tweet]. Twitter. [https://twitter.com/djnavarro?s=20]
Pedersen, T. [@thomasp85]. (6 de febrero de 2022). Screens #395 - My biggest surprise from the collection was this one - at first I had no idea what was going on. There are other surprises in the collection but this is the only emerging look I had never imagined possible. [Tweet]. Twitter. [https://twitter.com/thomasp85?s=20]
Generative Art with ‘ggplot2’. Visitado el 06/02/2022. Recuperado de [https://rdrr.io/github/koenderks/aRtsy/man/canvas_forest.html]
Larson, A. Generative Art Generator In Python With Samila. Visitado el 06/02/2022. Recuperado de [https://morioh.com/p/41daa9ce9f41]
Ried, C. Generative Art and R. Visitado el 06/02/2022. Recuperado de [https://generative.substack.com/p/generative-art-and-r#:~:text=The%20R%20package%20to%20Create,numbers%2C%20every%20image%20looks%20different]