Finestra 800×800, 360 chiodini blu, sfondo nero, spago giallo pallido, …
import math # cos(), radians(), sin()
import turtle # ...
WIDTH = 800
HEIGHT = 800
COLORE0 = "black" # ... Sfondo
COLORE1 = "blue" # ... Chiodini
COLORE2 = "#FFD" # ... Spago
FATTORE = 2 # i --> FATTORE*i
NUMERO = 360 # Numero di chiodini
RAGGIO = 0.45*WIDTH # Distanza dal centro dei chiodini
POSIZIONI = []
def posizioni():
DELTA = 360/NUMERO
angolo = 90
for i in range(NUMERO):
radianti = math.radians(angolo)
x = RAGGIO*math.cos(radianti)
y = RAGGIO*math.sin(radianti)
posizione = (x,y)
POSIZIONI.append(posizione)
angolo = angolo+DELTA
def chiodini():
turtle.tracer(0)
turtle.penup()
for posizione in POSIZIONI:
turtle.setposition(posizione)
turtle.dot(COLORE1)
turtle.update()
def linea(start, stop):
turtle.tracer(0)
turtle.penup() ; turtle.setposition(start)
turtle.pendown(); turtle.setposition(stop)
turtle.update()
def string_art():
for i in range(NUMERO):
p1 = POSIZIONI[i]
p2 = POSIZIONI[(FATTORE*i)%NUMERO]
linea(p1, p2)
turtle.setup(WIDTH, HEIGHT)
turtle.bgcolor(COLORE0)
turtle.hideturtle()
turtle.pencolor(COLORE2)
turtle.title('String art: ' + str(FATTORE))
posizioni()
chiodini()
string_art()
Per ottenere immagini diverse si agisce sulla costante FATTORE con valore >= 2



…

…

…
Continua…