Coordinate polari > Quadrifoglio

L’animazione del disegno in coordinate polari accompagnata dall’andamento della stessa funzione in coordinate cartesiane.
Lo stesso progetto può essere applicato a tutti i grafici in coordinate polari.

from vpython import *
  
############################################
def funzione(x): return cos(2*x)
############################################
  
DIMENSIONE   = 600           # ALTEZZA GRAFICI
DURATA       = 6             # Durata animazione
NUMERO       = 720           # Numero punti calcolati
RATE         = NUMERO/DURATA # Frame al secondo
W1 = H1 = H2 = DIMENSIONE
W2           = 2*W1
STOP         = 2*pi         # Ultimo valore angolo
DELTA        = STOP/NUMERO  # Variazione angolo
DIM          = 1.1          # Valore massimo assi
  
g1 = graph(align="left" , fast=False, title="rho = cos(2*theta)", 
           width=W1, height=H1, xmin=-DIM, xmax=DIM    , ymin=-DIM, ymax=DIM)
g2 = graph(align="right", fast=False, title="f(x) = cos(2*x)"   , 
           width=W2, height=H2, xmin=-.1 , xmax=STOP+.1, ymin=-DIM, ymax=DIM)

gd1 = gdots(graph=g1, color=color.red )
gd2 = gdots(graph=g2, color=color.blue)
  
angolo = 0                # theta
for i in range(NUMERO):
    rate(RATE)
    r = funzione(angolo)  # rho, distanza dal centro
    x = r*cos(angolo)
    y = r*sin(angolo)
    
    gd1.plot(pos=(x,y))
    gd2.plot(pos=(angolo,r))
  
    angolo += DELTA

Lascia un commento