Poligoni stellati

Il metodo scolastico per disegnare una stella può essere utilizzato per disegnare poligoni stellati con numero di punte dispari 3/5/7/9…

import turtle

WIDTH  = 500
HEIGHT = 500

DIM    = 0.40*WIDTH
PUNTE1 = 5          # 1° stella
PUNTE2 = 7          # 2° stella

def stella(punte):
    angolo = 2*360/punte
    for i in range(punte):
        turtle.forward(DIM)
        turtle.right(angolo)

turtle.setup(WIDTH, HEIGHT)
turtle.bgcolor('pink')
turtle.pencolor('red')
turtle.pensize(2)
turtle.shape('turtle')
turtle.speed(10)
turtle.title("Punte: 5-7")

stella(PUNTE1)
turtle.right(180)
stella(PUNTE2)

Ripete un certo numero di volte il poligono stellato

import turtle

WIDTH   = 500
HEIGHT  = 500
NUM     = 3             # Quante stelle?
ANGOLO1 = 360/NUM
PUNTE   = 7             # Quante punte?
ANGOLO2 = 2*360/PUNTE
DIM     = 2.5*WIDTH/PUNTE

def stella():
    for i in range(PUNTE):
        turtle.forward(DIM)
        turtle.right(ANGOLO2)

turtle.setup(WIDTH, HEIGHT)

T = "Punte: " + str(PUNTE) + \
    " Poligoni: " + str(NUM)
turtle.title(T)
turtle.shape('turtle')
turtle.bgcolor('pink')
turtle.pensize(2)
turtle.pencolor('red')
turtle.speed(10)

for i in range(NUM):
    stella()
    turtle.right(ANGOLO1)

Aggiungi il riempimento e otterrai figure sorprendenti!

Lascia un commento