Gradienti – 1

I colori possono essere specificati con sequenze crescenti/decrescenti di codici esadecimali.

Nero -> Bianco

Per passare da nero a bianco utilizza le triplette #000, #111, …, #FFF

import turtle

WIDTH   = 500
HEIGHT  = 500
BGCOLOR = "#808080"
SPEED   = 0
TITLE   = "Gradiente: nero -> bianco"
CIFRE   = "0123456789ABCDEF"

NUMERO  = len(CIFRE)
PENSIZE = HEIGHT/(NUMERO+2)
xMIN    = -0.4*WIDTH
xMAX    = +0.4*WIDTH
yMAX    = HEIGHT/2-1.5*PENSIZE

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

y=yMAX
for cifra in CIFRE:
    colore = "#"+3*cifra
    #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: #000, #100, …, #F00

colore = "#"+cifra+"00"

I colori primari e secondari

I codici RGB generati dal codice sono: 000000, 0000FF, 00FF00, 00FFFF, FF0000, FF00FF, FFFF00, FFFFFF

import turtle

WIDTH   = 500
HEIGHT  = 500
BGCOLOR = "#888"
SPEED   = 0
TITLE   = "I colori primari e secondari"
CIFRE   = ("00", "FF")

NUMERO  = 8
PENSIZE = HEIGHT/(NUMERO+2)
xMIN    = -0.35*WIDTH
xMAX    = +0.35*WIDTH
yMAX    = HEIGHT/2-1.5*PENSIZE

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

y=yMAX
for cifra1 in CIFRE:
    for cifra2 in CIFRE:
        for cifra3 in CIFRE:
            colore = "#"+cifra1+cifra2+cifra3
            print("%s" %colore)
            turtle.penup()
            turtle.setposition(xMIN, y)
            turtle.pencolor(colore); 
            turtle.pendown()
            turtle.setposition(xMAX, y)
            y -= PENSIZE

I mezzi toni

Con poche modifiche al codice, utilizzando i 3 valori 00, 80, FF, si ottengono 27 mezzi toni: 000000, 000080, 0000FF, 008000, 008080, 0080FF, 00FF00, 00FF80, 00FFFF, 800000, 800080, 8000FF, 808000, 808080, 8080FF, 80FF00, 80FF80, 80FFFF, FF0000, FF0080, FF00FF, FF8000, FF8080, FF80FF, FFFF00, FFFF80, FFFFFF

WIDTH  = 800
HEIGHT = 800
xMIN   = -0.45*WIDTH
xMAX   = +0.45*WIDTH
TITOLO = "I mezzi toni"
CIFRE  = ("00", "80", "FF")
NUMERO = len(CIFRE)**3

Continua…

Modificando la costruzione della stringa colore puoi ottenere

  • “#0″+cifra+”0″ -> lime
  • “#00″+cifra -> blue
  • “#”+cifra+cifra+”0″ -> yellow
  • “#”+cifra+”0″+cifra -> fuchsia, magenta
  • “#”+”0″+cifra+cifra -> aqua, cyan

Lascia un commento