Un vettore rivolto inizialmente verso l’alto ruota intorno all’asse x.

from vpython import *
canvas(width=640, height=640) # Dimensioni della finestra grafica
N = 100 # Numero di sfere
D = tau/N
R = 1 # Raggio circonferenza
VETTORE = vector(0, R, 0) # Vettore unitario
for n in range(N):
rate(25)
r = R/100 # Raggio sfera
sphere(pos = VETTORE,
radius = r)
VETTORE = VETTORE.rotate(D, axis=vector(1, 0, 0))
Elica, asse x
Se la posizione lungo l’asse x è variabile si ottiene un’elica

Puoi scegliere
- la distanza percorsa lungo l’asse x
- il numero di giri intorno all’asse x
- il raggio delle sfere
- …
from vpython import *
canvas(width=640, height=640) # Dimensioni della finestra grafica
G = 3 # Numero giri intorno all'asse x
N = 100 # Numero di sfere
D = G*tau/N # Delta angolo
R = 1 # Raggio circonferenza
DISTANZA = 2*R # In orizzontale
dx = +DISTANZA/N # Passo orizzontale
x0 = -DISTANZA/2 # Ascissa iniziale
VETTORE = vector(x0, R, 0) # Posizione 1° sfera
for n in range(N):
rate(25)
r = R/5 # Raggio sfera
red = abs(VETTORE.y)
green = 0
blue = abs(VETTORE.z)
sphere(color = vector(red, green, blue),
pos = VETTORE,
radius = r)
VETTORE.x += dx
VETTORE = VETTORE.rotate(D, axis=vector(1, 0, 0))


