La grafica della tartaruga¶
Dove si parla di come generare tartarughe virtuali e mandarle in giro per lo schermo a disegnare.
Creare una tartaruga¶
Per giocare con la grafica della tartaruga bisogna procurarci… una tartaruga. Ci sono molti modi per farlo, verranno illustrati più avanti, qui ne vediamo uno, il più comune. I passaggi necessari, in sintesi, sono:
- caricare la libreria che contiene gli oggetti della grafica della tartaruga,
- creare una finestra dove far vivere delle tartarughe,
- creare una tartaruga,
- scrivere i comandi che la tartaruga deve eseguire,
- rendere attiva la finestra creata.
Di seguito sono illustrati i precedenti passaggi.
Per utilizzare la libreria della grafica della Tartaruga dobbiamo dire a
Python
di caricarla in memoria. In realtà, di tutta la libreria ci
interessa, per ora, solo l’ambiente dove vivono le tartarughe. Per caricare
questo ambiente dobbiamo scrivere:
>>> import pygraph.pyturtle as tg
Nota
Io ho usato la parola tg
perché mi ricorda: turtle geometry, ma è
possibile usare un qualunque altro nome, basta essere coerenti nel resto
del programma.
Questa istruzione legge la libreria pyturtle.py
e la associa al nome
tg
.
Se non sono apparsi messaggi di errore vuol dire che Python
ha trovato e
caricato la libreria.
Ora dobbiamo creare un piano in cui far vivere la tartaruga. Il comando che
realizza questo è: TurtlePlane()
, ma questa è una funzione che si trova
nella libreria che abbiamo associato al nome tg
quindi il comando
completo sarà: tg.TurtlePlane()
che significa: esegui la funzione
TurtlePlane() della libreria tg.
Ma manca ancora un particolare: vogliamo associare il piano prodotto dalla
funzione ad un nome in modo da potervi fare riferimento in seguito. Il
comando da dare è dunque:
>>> piano = tg.TurtlePlane()
Nota
Bisogna prestare molta attenzione alle maiuscole e minuscole e alle
parentesi.
Mentre il nome piano
può essere sostituito da un qualunque altro
nome, basta essere coerenti nel seguito.
Ora che abbiamo una superficie adatta possiamo passare al punto 3:
dobbiamo creare una tartaruga. Ci sono diversi modi per farlo, verranno
illustrati nel capitolo relativo alla libreria pyturtle
,
qui propongo il più semplice.
Come prima, dobbiamo intanto pensare un nome da dare alla tartaruga che
stiamo per creare, ad esempio tina
, e dare il comando:
>>> tina = tg.Turtle()
Riassumendo:
tg
è la libreriapygraph.pyturtle
;tina
è una tartaruga che vive nell’ultimo piano creato:piano
.
Nota
Questa versione della grafica della tartaruga è piuttosto spartana, la
nostra tartaruga tina
è quel triangolino che si vede al centro del
piano delle tartarughe, non assomiglia affatto ad una tartaruga!
A questo punto si possono esplorare i principali comandi della geometria della
tartaruga.
La tartaruga tina
è ora a nostra disposizione per gli esperimenti.
Possiamo provare a darle qualche comando:
>>> tina.forward(100)
tina
si sposta avanti di 100 passi lasciando una traccia.
>>> tina.right(90)
Non si sposta verso destra, ma ruota verso destra di 90 gradi. E per ruotare verso sinistra?
>>> tina.left(90)
Esatto! Ripetiamo ora uno spostamento e una rotazione per un po” di volte:
>>> for i in range(4):
tina.forward(100)
tina.right(90)
tina
disegna un quadrato.
>>> tina.up()
>>> tina.back(200)
>>> tina.down()
Solleva la penna si sposta indietro di 200
passi e riappoggia la penna,
in questo modo si può far muovere Tartaruga senza disegnare.
>>> tina.color = "blue"
Cambia il colore della penna.
>>> for i in range(180):
tina.forward(80)
tina.back(78)
tina.left(2)
Altro disegno, questa volt blu… Spostiamo ancora tina
:
>>> tina.up()
>>> tina.back(100)
>>> tina.down()
Poi cambiamo il colore della penna:
>>> tina.color = (1, 0, 0)
Si può assegnare il colore della penna in vari modi:
- scrivendo tra virgolette il nome del colore in inglese;
- fornendo tre numeri compresi tra 0 e 1 ragruppati in una parentesi tonda. In questo caso il primo numero indica la componente rossa, il secondo quella verde, il terzo quella blu (RGB);
- (o in un terzo modo che è spiegato più avanti).
E ora proviamo a fare una stella con 100 raggi:
>>> for i in range(100):
tina.forward(80)
tina.back(80)
tina.left(360/100)
I raggi sono proprio 100
(li ho contati!).
Dopo un po” che si fanno dei tentativi con i comandi grafici può succedere
di avere la finestra grafica così piena di scarabocchi da non capirci più
niente. Un altro comando fondamentale è reset
. Questo è un metodo del
piano della tartaruga, ripulisce la finestra grafica e rimette a posto
Tartaruga:
>>> piano.reset()
Per quanto riguarda l’ultimo punto, rendere attivo il piano della tartaruga, verrà illustrato più avanti.
Gli oggetti della classe Turtle, oltre ad avere dei metodi
(come forward
, right
, …) che corrispondono a delle azioni hanno
anche degli attributi che corrispondono a delle proprietà, delle
caratteristiche. Ad esempio ogni tartaruga ha un colore e uno spessore della
sua penna. Ad esempio:
>>> piano.reset()
>>> tina.color = "green"
>>> tina.width = 4
>>> for i in range(20):
tina.forward(80)
tina.back(80)
tina.left(360.0/20)
Riassumendo¶
Per lavorare con la grafica della tartaruga posso scrivere:
>>> import pygraph.pyturtle as tg >>> tp = tg.TurtlePlane() >>> tina = tg.Turtle()
ottengo così due oggetti: un piano delle tartarughe (
tp
) e una tartaruga (tina
).I comandi fondamentali per far muovere la tartaruga creata e disegnare qualcosa sono:
<tartaruga>.forward(<numero>) <tartaruga>.back(<numero>) <tartaruga>.left(<numero>) <tartaruga>.right(<numero>) <tartaruga>.up() <tartaruga>.down() <piano>.reset()
Gli oggetti della classe
Turtle
, hanno anche diversi attributi, due di questi sono:width
ecolor
, la sintassi per modificare questi attributi è:<tartaruga>.width = <numero> <tartaruga>.color = <colore>
Gli oggetti della classe
TurtlePlane
, hanno anche diversi metodi, il primo che abbiamo visto è:reset
, la sintassi per eseguirlo è:<piano>.reset()