Gradienti – 2

Se si modifica la modalità di colore

turtle.colormode(255)

allora i colori possono essere impostati con triple di numeri interi con valori in [0, 255].

Nero -> Bianco

Per passare da nero a bianco utilizza le triple (0, 0, 0), (1, 1, 1), …, (255, 255, 255)

import turtle

WIDTH   = 500
HEIGHT  = 500
BGCOLOR = "#808080"
SPEED   = 0
TITLE   = "Gradiente: nero -> bianco"
NUMERO  = 256
SPAZIO  = 0.05*HEIGHT
PENSIZE = (HEIGHT-2*SPAZIO)/NUMERO
xMIN    = -WIDTH/2+SPAZIO
xMAX    = +WIDTH/2-SPAZIO
yMAX    = +HEIGHT/2-SPAZIO

turtle.setup(WIDTH, HEIGHT)
turtle.bgcolor(BGCOLOR)
turtle.colormode(255)
turtle.hideturtle()
turtle.pensize(PENSIZE)
turtle.speed(SPEED)
turtle.title(TITLE)

y=yMAX
for numero in range(NUMERO):
    colore = (numero, numero, numero)
    #print("%12f -> %s" %(y, colore))

    turtle.penup()
    turtle.setposition(xMIN, y)
    turtle.pencolor(colore); 
    turtle.pendown()
    turtle.setposition(xMAX, y)

    y -= PENSIZE

Nero -> Rosso

Per passare da nero a rosso bisogna mantenere spente le luci verde e blu: (0, 0, 0), (1, 0, 0), …, (255, 0, 0)

 colore = (numero, 0, 0)

Continua…

Modificando la costruzione della tripla colore puoi ottenere gradienti a piacere

  • (0, numero, 0) -> black –> lime
  • (0, 0, numero) -> black –> blue
  • (numero, numero, 0) -> black –> yellow
  • (numero, 0, numero) -> black –> fuchsia, magenta
  • (0, numero, numero) -> black –> aqua, cyan

Mantieni uno o due colori accesi, a 255

  • (255, numero, numero) -> red –> white
  • (255, numero, 0) -> red –> yellow
  • (255, 0, numero) -> red –> magenta
  • … verde costante…
  • … blu costante…
  • (255, 255, numero) -> yellow –> white
  • (255, numero, 255) -> magenta –> white
  • (numero, 255, 255) -> cyan –> white

Con 255-colore ottieni sequenze decrescenti

  • (255-colore, 0, 0) -> red –> black
  • (0, 255-colore, 0) -> lime –> black
  • (0, 0, 255-colore) -> blue –> black
  • (255-colore, 255-colore, 0) -> yellow –> black
  • (255-colore, 255, 0) -> yellow –> lime
  • (255-colore, 0, 255) -> magenta –> blue

Lascia un commento