¿Has estado en un museo de arte y te has preguntado cómo una obra de arte aparentemente tan ordinaria puede volverse tan famosa o venderse a un precio tan alto? ¿O cómo una obra de arte que parece tan fácil de realizar con técnicas tan básicas puede ser tan venerada y atraer a una gran multitud de postores? Tal es el caso de las pinturas puntuales de Hirst.
Damien Hirst es un artista inglés famoso por su arte contemporáneo sobre la vida, la muerte y la belleza. Sus famosas pinturas de puntos incluyen círculos rellenos de diferentes colores dispuestos en forma de cuadrícula con un fondo de color claro. ¡Estas pinturas, aunque tan simples y simples, se han vendido en subastas por hasta un millón de dólares!
En este artículo, usaremos el colorgrama y el módulo tortuga de Python para crear pinturas puntuales, inspirándonos en la paleta de colores y las técnicas de Hirst. Este es un tutorial de Python apto para principiantes, pero requiere conocimientos básicos de los fundamentos de Python, así como la creación de objetos y el uso de métodos, así como la importación y el uso de módulos de Python. A través de este divertido e interesante tutorial de Python, aprenderemos a implementar el concepto de programación orientada a objetos en la programación, así como también aprenderemos cómo podemos cumplir nuestro propósito utilizando módulos y solo unas pocas líneas de código.
¡Despertemos al artista que llevamos dentro mientras aprendemos a codificar en Python!
Pinturas puntuales
Las pinturas de manchas de Hirst incluyen pequeñas manchas de varios colores alineadas en forma de cuadrícula. Las pinturas son únicas por la cantidad de puntos, así como por la paleta de colores utilizada en estas pinturas. Usaremos el módulo de colorgrama de Python para extraer la paleta de colores de estas pinturas tan veneradas, y luego usaremos el módulo de tortuga de Python para dibujar estos puntos en forma de cuadrícula. Podremos especificar el número de puntos de nuestro lienzo, así como la distancia entre ellos y la combinación de colores utilizada.
Como referencia, considere consultar estas pinturas a través de este enlace.
Extrayendo colores
Lo primero es extraer una paleta de colores de uno de los cuadros de Hirst. Descargaremos la pintura en el mismo directorio que el archivo Python en el que estamos escribiendo nuestro programa. Pero primero, instalemos el módulo colorgrama escribiendo las siguientes líneas de comando en la terminal:
instalación de pip colorgram.py
A continuación, importaremos el módulo de colorgrama a nuestro código y usaremos la función de extracción, mientras especificamos el archivo de imagen y la cantidad de colores que queremos extraer de la imagen de referencia como argumentos para la función de extracción. Aquí está el archivo de imagen que descargué como “ref.jpg” y que usé para definir la paleta de colores de mi pintura puntual generada con Python.
importar colores de colorgram = colorgram.extract(“ref.jpg”,20) print(colores)
Cuando ejecutamos las líneas de código anteriores, imprimirá 20 colores que están presentes en la imagen de referencia:
Observe que los colores extraídos arriba están en un formato diferente al compatible con el módulo tortuga. Ahora convertiremos estos colores en colores compatibles con las tortugas.
Creando la lista de colores
Primero, crearemos una lista vacía y agregaremos los colores extraídos uno por uno después del formateo adecuado en formato RGB. Aprovecharemos cada uno de los valores r, g y b de los colores extraídos y los almacenaremos en nuestra lista creada con el formato adecuado. Para ello utilizaremos el bucle for:
colores_rgb = []
para color en colores: r = color.rgb.r g = color.rgb.g b = color.rgb.b new_color = (r, g, b) rgb_colors.append(new_color) print(rgb_colors)
Como se puede ver en la imagen de arriba, los colores RGB se han formateado correctamente y ahora se pueden utilizar para seleccionar aleatoriamente los colores de los puntos.
Importación de Turtle y configuración de ajustes básicos
Ahora, importaremos el módulo tortuga de Python para crear nuestra obra de arte. Definiremos los ajustes básicos de nuestra tortuga. El primero es colormode(), que decidirá cómo usaremos los colores en nuestro código a continuación, ya sea entre 0 y 1, o entre 0 y 255. Obtenga más información sobre la función a través de este enlace.
importar tortuga tortuga.colormode(255) tim = Tortuga() tim.forma(“tortuga”) tim.color(“coral”)
Como usamos los colores RGB en su formato 0-255, hemos agregado 255 como argumento. Además, también creamos el objeto tortuga de la clase Turtle en el módulo tortuga de Python y lo llamamos tim, además de personalizar sus formas y colores. Usaremos esta tortuga como nuestra herramienta de dibujo.
Posicionando nuestra Tortuga
Ahora que hemos creado el objeto tortuga, visualicémoslo con la ayuda del objeto de pantalla.
desde tortuga importar Pantalla pantalla = Pantalla() pantalla.exitonclick()
Como se puede ver en la imagen de arriba, la tortuga está ubicada en el medio de la pantalla. Necesitamos que la tortuga esté en una esquina para que empiece a crear los puntos en una línea. Podemos elegir la esquina inferior izquierda como punto de partida, con la tortuga moviéndose de izquierda a derecha y luego hacia arriba mientras dibuja los puntos.
Podemos lograr esto con la función de tortuga setheading() que toma un ángulo como parámetro para establecer la dirección de la tortuga, y después de algunos intentos y pruebas, sabemos que esto se puede hacer estableciendo el ángulo en 225. Luego avanzaremos una distancia particular, digamos 300. Así es como nuestra tortuga está ahora en la parte inferior izquierda:
Nuevamente estableceremos la dirección en la que se dirige la tortuga a 0, por lo que podemos comenzar con nuestro dibujo de puntos.
Dibujando los puntos
Ahora, una vez establecida la dirección de nuestra tortuga, comenzaremos a dibujar los puntos. Usaremos el método del punto de la tortuga, que toma el tamaño del punto y el color a rellenar. Este dibujo de puntos lo conseguiremos mediante el bucle for, teniendo en cuenta el número total de puntos que queremos. Si queremos una cuadrícula de puntos de 10 por 10, el número total de puntos será 100. Después de cada 10 puntos, la tortuga tiene que subir una línea y seguir dibujando los puntos. Usaremos la operación de módulo para este propósito. Además, importaremos y usaremos el módulo aleatorio para elegir aleatoriamente un color para cada punto.
Usaremos los métodos forward y setheading en el bucle for para crear los puntos que se mueven hacia adelante y luego hacia arriba:
importar número_de_puntos aleatorio = 100 para recuento de puntos en el rango (1, número_de_puntos + 1): tim.dot(20, elección aleatoria(rgb_colors)) tim.forward(50) si recuento de puntos % 10 == 0: tim.setheading(90) tim.forward(50) tim.setheading(180) tim.forward(500) tim.setheading(0)
Ocultando la tortuga y las líneas
Una vez creados nuestros puntos, debemos ocultar la tortuga y las líneas. Podemos hacer esto fácilmente con los métodos hideturtle() y penup().
tim.penup() tim.hideturtle()
Así es como se verá el resultado final una vez que ejecutemos las líneas de código anteriores:
Conclusión
Como se puede ver arriba, hemos creado con éxito una hermosa obra de arte siguiendo la técnica de puntos de Hirst. El módulo de colorgrama de Python nos permitió extraer una hermosa paleta de colores y el módulo de tortuga nos ayudó a crear la obra de arte usando esa paleta. Este es sólo un ejemplo básico de cómo se pueden crear piezas tan hermosas usando código y de lo que sucede cuando el arte y la programación coinciden.