Come Disegnare una Stella a Cinque Punte con Python
Se usi una buona libreria grafica, scrivere codice Python che disegna stelle a cinque punte, o qualsiasi altra forma geometrica bidimensionale semplice, può essere rapido e facile. Tkinter è la libreria GUI (interfaccia utente grafica) multipiattaforma più usata, e non a caso viene inclusa nella maggior parte delle distribuzioni Python. Probabilmente se hai un ambiente Python standard, hai già questa libreria. Include tutti i widget GUI standard per creare interfacce utente robuste e interattive. Per disegnare forme 2D come stelle, include il widget Canvas facile da usare.
Passaggio 1
Apri un nuovo file nel tuo editor di testo e inserisci le seguenti due righe all'inizio:
#!/usr/bin/python
from Tkinter import Canvas
Su qualsiasi variante Unix/Linux/OS X, la prima riga dice alla shell del sistema dove trovare l'interprete Python; una shell comandi Windows ignorerà la prima riga. La riga successiva importa la classe widget Tkinter necessaria, Canvas, per uso nel codice successivo.
Passaggio 2
Inserisci le seguenti due righe:
c = Canvas()
c.pack()
Queste creano un'istanza del widget Canvas e la preparano per la visualizzazione.
Passaggio 3
Crea un array di vertici per la forma stella a cinque punte inserendo questa riga:
verts = [10,40,40,40,50,10,60,40,90,40,65,60,75,90,50,70,25,90,35,60]
Ogni due numeri rappresentano le coordinate x e y di un singolo vertice della stella. Dieci vertici fanno una stella a cinque punte; quindi ci sono 20 elementi nell'array. Nel gergo della programmazione grafica, questo array ha un "stride" di due, cioè ogni due elementi contengono tutte le info necessarie per visualizzare un vertice.
Passaggio 4
Inserisci le seguenti due righe:
for i in range(len(verts)):
verts[i] += 100
Anche se non necessario per visualizzare la stella in una finestra, questo ciclo dimostra un semplice metodo di posizionamento della forma. Nella terminologia grafica, questo si chiama "traslazione". L'array vertici definisce la posizione originale; questa traslazione sposta la forma lungo gli assi x e y positivi di 100 pixel. Puoi aumentare o diminuire questa traslazione diagonale cambiando il valore.
Passaggio 5
Aggiungi queste ultime due righe e salva il file come "star.py":
c.create_polygon(verts, fill='orange', outline='red')
c.mainloop()
Come implica il nome, questo codice crea il poligono a stella usando le posizioni dei vertici nell'array. Di default canvas disegna la stella nera, ma questo codice sovrascrive con riempimento arancione e bordo rosso. L'ultima riga lancia l'applicazione. Continua a girare finché l'utente non chiude la finestra.
Passaggio 6
Apri una shell, naviga alla directory contenente il nuovo file ed esegui il comando alla riga di comando se sei su Unix/Linux/OS X:
chmod +x star.py
Su Windows è inutile. Per vedere la stella, esegui lo script da riga di comando digitando:
./star.py
Suggerimento
Usa solo un editor di testo o codice semplice. I word processor aggiungono formattazione che impedirà all'interprete Python di leggere lo script.