Heim  >  Artikel  >  Backend-Entwicklung  >  Schaffen Sie Kunst, die einer Malerei im Wert von mehreren Millionen Pfund ähnelt

Schaffen Sie Kunst, die einer Malerei im Wert von mehreren Millionen Pfund ähnelt

WBOY
WBOYOriginal
2024-08-23 06:01:32814Durchsuche

Creating art similar to  million pounds worth of painting

Nachbildung eines Millionen-Dollar-Gemäldes von Damien Hirst mit Python- und Turtle-Grafiken

Einführung

Überblick

Habe jemals Kunst gesehen und gedacht: „Ja, ich könnte so etwas Ähnliches machen.“ Nun, Sie sind nicht allein! Wenn Sie online nach Damien Hirsts Punktgemälden suchen, könnte Ihnen ein ähnlicher Gedanke in den Sinn kommen. Heute werden wir diese Theorie mithilfe von Code testen.

Objektiv

Wir versuchen, mithilfe von Python-Code und der Turtle-Grafikbibliothek Kunst zu schaffen, die beliebten Kunstwerken des Künstlers Damien Hirst ähnelt.

Inspiration

Dieser Blogbeitrag ist von Angela Yus Python-Kurs inspiriert.

Einrichten der Umgebung

Wir müssen Python auf unserem System installiert haben (die neueste Version ist besser), die Turtle-Grafikbibliothek (die bei der Installation von Python vorinstalliert ist), die Colorgram-Bibliothek (die Sie mit pip installieren müssen) und Ihre bevorzugte IDE .

Die Kunst verstehen

Hirsts Kunst besteht aus einem Muster aus symmetrischen Farbpunkten gleicher Größe, die durch einen gleichmäßigen Abstand voneinander getrennt sind.
Es scheint einfach genug, um es nachzuahmen. Also lasst uns loslegen.

Kodierung des Gemäldes

Erstellung der Leinwand:

#We import the Turtle library and give it an alias as t
import turtle as t

#We create an object of the Turtle class and name it bob
bob = t.Turtle()

#We create a screen that will be our canvas which our turtle (bob)  #will draw the painting on
screen = t.Screen()

#To make the screen persistent we add the following line of code that #makes sure that the screen stays till we click on it.
screen.exitonclick()

Farben extrahieren:
Sie können die Farbgrammbibliothek über diesen Link installieren.

#Import the colorgram library
import colorgram

#Make a list that will store the colors extracted from a sample #Damien Hirst painting.
rgb_colors = []

#Extract the colors from the painting. You can choose how many colors #to extract, here 30 is chosen.
colors = colorgram.extract('image.jpg', 30)

#The output is a list of colorgram object of RGB values. We select #the RGB values from them.
for color in colors:
    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)

#After we get the output, we can select the color list from the #terminal, store them into a variable like below, and comment the #above code.
color_list = [(245, 243, 238), (202, 164, 110), (240, 245, 241), (149, 75, 50), (222, 201, 136), (53, 93, 123), (170, 154, 41), (138, 31, 20), (134, 163, 184), (197, 92, 73), (47, 121, 86), (73, 43, 35), (145, 178, 149), (14, 98, 70), (232, 176, 165), (160, 142, 158), (54, 45, 50), (101, 75, 77), (183, 205, 171), (36, 60, 74), (19, 86, 89), (82, 148, 129), (147, 17, 19), (27, 68, 102), (12, 70, 64), (107, 127, 153), (176, 192, 208), (168, 99, 102)]

Muster zeichnen:

#Importing random module to randomly choose colors from color list
import random

# Since we are using RGB we set the colormode to 255 as there are 0 #to 255 values of RGB.
t.colormode(255)

#For better visualization we speed up the drawing process
bob.speed("fastest")

#by default our pen draws a line, we penup to avoid that
bob.penup()

# Going to an appropriate place in the canvas to draw all the dots in #the visible area
bob.setheading(220)
bob.forward(300)

#Setting the heading in right direction to draw the dots
bob.setheading(0)
number_of_dots = 100

#drawing dots of size 20 at a distance of 50 from each other of a #random color from the color list. After every 10 dots we go the next #line
for dots in range(1, number_of_dots + 1):
    bob.dot(20, random.choice(color_list))
    bob.forward(50)

    if dots % 10 == 0:
        bob.setheading(90)
        bob.forward(50)
        bob.setheading(180)
        bob.forward(500)
        bob.setheading(0)

#hiding our drawing pen
bob.hideturtle()

Verbesserungen

Jetzt stehen verschiedene Hirst-Gemälde zur Auswahl und wir können eine beliebige Anzahl von Farben daraus extrahieren. Probieren Sie es also einfach selbst aus und sehen Sie, welche Art von Kunstwerken Sie sich ausdenken können!

Abschluss

Insgesamt ist es ein unterhaltsames Projekt und zeigt, wie einfach es ist, allein aus den Grundlagen einer Programmiersprache etwas Reales zu erstellen.

Das obige ist der detaillierte Inhalt vonSchaffen Sie Kunst, die einer Malerei im Wert von mehreren Millionen Pfund ähnelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Etikettenkodierung in MLNächster Artikel:Etikettenkodierung in ML