Stelle – 2

Traccia 5 raggi verso i vertici della stella

import turtle

WIDTH  = 480
HEIGHT = 480

turtle.setup(WIDTH, HEIGHT)
turtle.bgcolor("pink")
turtle.mode("logo")
turtle.shape("turtle")  
turtle.color("red", "black")
turtle.pensize(4)
turtle.speed(5)

RAGGIO1 = 0.45 * HEIGHT

for i in range(5):
    turtle.forward(RAGGIO1)
    turtle.backward(RAGGIO1)  
    turtle.left(72)

turtle.done()

Disegna il pentagono corrispondente

import turtle

WIDTH  = 480
HEIGHT = 480

turtle.setup(WIDTH, HEIGHT)
turtle.bgcolor("pink")
turtle.mode("logo")
turtle.shape("turtle")  
turtle.color("red", "black")
turtle.pensize(4)
turtle.speed(5)

RAGGIO1 = 0.45 * HEIGHT
VERTICI = []            # Lista dei 'vertici'
for i in range(5):
    turtle.forward(RAGGIO1)
    VERTICI.append(turtle.position())
    turtle.backward(RAGGIO1)
    turtle.left(72)

# Visita tutti i vertici
for vertice in VERTICI:
    turtle.setposition(vertice)

# Ritorna al primo vertice
turtle.setposition(VERTICI[0])

turtle.done()

Traccia altri 5 raggi per i vertici interni

import turtle
import math    # sqrt()


WIDTH  = 480
HEIGHT = 480

turtle.setup(WIDTH, HEIGHT)
turtle.bgcolor("pink")
turtle.mode("logo")
turtle.shape("turtle")  
turtle.color("red", "black")
turtle.pensize(4)
turtle.speed(5)


RAGGIO1      = 0.45 * HEIGHT
GOLDEN_RATIO = (1+math.sqrt(5))/2
RAGGIO2      = (1-1/GOLDEN_RATIO) * RAGGIO1

for i in range(5):
    turtle.forward(RAGGIO1)
    turtle.backward(RAGGIO1)  
    turtle.left(36)
    turtle.forward(RAGGIO2)
    turtle.backward(RAGGIO2)
    turtle.left(36)

turtle.done()

Memorizza i 10 punti notevoli in una lista dei VERTICI e poi li utilizza per disegnare il perimetro della figura

import turtle
import math    # sqrt()


WIDTH  = 800
HEIGHT = 800

turtle.setup(WIDTH, HEIGHT)
turtle.bgcolor("pink")
turtle.mode("logo")
turtle.shape("turtle")  
turtle.color("red", "black")
turtle.pensize(4)
turtle.speed(5)


RAGGIO1      = 0.45 * HEIGHT
GOLDEN_RATIO = (1+math.sqrt(5))/2
RAGGIO2      = (1-1/GOLDEN_RATIO) * RAGGIO1
VERTICI      = []                            # Lista dei 'vertici'

for i in range(5):
    turtle.forward(RAGGIO1)
    VERTICI.append(turtle.position())
    turtle.backward(RAGGIO1)  
    turtle.left(36)

    turtle.forward(RAGGIO2)
    VERTICI.append(turtle.position())
    turtle.backward(RAGGIO2)  
    turtle.left(36)


for vertice in VERTICI:                     # Visita tutti i vertici
    turtle.setposition(vertice)             # e traccia il perimetro
turtle.setposition(VERTICI[0])

turtle.done()

Traccia il perimetro e alla fine colora il poligono

...
START=VERTICI[0]                  # posizione iniziale
turtle.setposition(START)
turtle.begin_fill()               # inizio poligono
VERTICI.append(START)             # ultima posizione = 1° posizione
del VERTICI[0]
for vertice in VERTICI:
    turtle.setposition(vertice)
turtle.end_fill()                 # fine poligono
turtle.done()

Lascia un commento