Simply 3D Programming Using VPython

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

  1. Il punto (0,0,0) è al centro della finestra
  2. L’asse x positivo cresce verso destra
  3. L’asse y positivo cresce verso l’alto
  4. L’asse z punta verso lo schermo, verso di te…
  5. 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

  1. il tasto sinistro e contemporaneamente il tasto Ctrl
    oppure il tasto destro
    • Ruoterai la scena verso sinistra / destra o verso l’alto / basso
  2. 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
  3. il tasto sinistro e contemporaneamente il tasto Shift
    • Sposti la scena verso sinistra / destra o verso l’alto / basso
  4. 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.

Lascia un commento