Vedi: https://www.glowscript.org/docs/VPythonDocs/VisualIntro.html
Getting started
Per scrivere un programma vpython tramite l’IDLE di Python (o qualsiasi altro IDE) è sufficiente importare il modulo corrispondente
from vpython import *
Canvas
Gli oggetti 3D di vpython vengono visualizzati all’interno di una finestra grafica, canvas, immersa in una pagina web
- Il punto (0,0,0) è al centro della finestra
- L’asse x positivo cresce verso destra
- L’asse y positivo cresce verso l’alto
- L’asse z punta verso lo schermo, verso di te…
- L’unità di misura dei 3 assi è libera
La finestra viene automaticamente scalata per contenere gli oggetti presenti.
Puoi, per esempio, creare una sfera con raggio 1E-15 per rappresentare un nucleo e contemporaneamente una sfera di raggio 1E6 per rappresentare un pianeta (anche se non ha senso…)
La finestra di output
Il risultato di un’istruzione print del programma apparirà nella finestra di shell.
Questa finestra è utile per visualizzare i valori delle variabili (debugging).
La finestra del codice
Se scrivi (fai copia e incolla) il codice seguente nella finestra dell’editor e poi lo esegui osserverai una finestra grafica come quella nella figura
from vpython import * redbox=box(pos =vector(4,2,3), size =vector(8,4,6), color=color.red )
ball=sphere(pos =vector(4,7,3), # 5 unità verso l'alto radius=2, color =color.green )
Manipolare la scena
Agisci con il mouse sulla finestra grafica
- il tasto sinistro e contemporaneamente il tasto Ctrl
oppure il tasto destro- Ruoterai la scena verso sinistra / destra o verso l’alto / basso
- il tasto sinistro e contemporaneamente il tasto Alt
oppure il tasto centrale
oppure la rotellina
oppure i 2 pulsanti contemporaneamente- Ti avvicinerai o allontanerai dalla scena
- il tasto sinistro e contemporaneamente il tasto Shift
- Sposti la scena verso sinistra / destra o verso l’alto / basso
- trascina l’angolo in basso a destra
- Modifichi la dimensione della finestra grafica
- —
VPython Entities
Oggetti, nomi, attributi
Gli oggetti grafici che crei, come cubi, sfere, curve, …, continuano ad esistere per tutta la durata del programma e il modulo vpython continuerà a visualizzarli dovunque si trovino.
Devi dare un nome a ciascun oggetto (come sopra: redbox, ball) se vuoi fare riferimento ad esso nelle righe successive del programma.
Tutti gli oggetti hanno degli attributi: ball.pos, ball.color, ball.radius, …
Se aggiorni il valore di un attributo di un oggetto, come per esempio la sua posizione o il suo colore, vpython automaticamente visualizzerà l’oggetto alla nuova posizione oppure con il nuovo colore.
I valori degli attributi si possono impostare nel costruttore (il codice utilizzato per creare l’oggetto) e si possono modificare successivamente
ball=sphere(radius=2)
...
ball.radius=2.2
In aggiunta agli attributi già presenti è possibile crearne di nuovi (sia immediatamente che successivamente).
Per esempio si può creare una sfera di nome moon e in aggiunta al suo raggio e alla sua posizione darle nuovi attribuiti come moon.mass e moon.momentum.