Movimento verticale – 3

Quando la pallina ritorna sul terreno rimbalza (la velocità verticale cambia segno)

    if(y < 0):
        y = -y
        v = -v

A ogni rimbalzo la velocità diminuisce del 10%

        v = -v*0.9


L’altezza massima e la velocità diminuiscono fino a …

from vpython import *
 
g  =   9.8  # accelerazione di gravità   
y0 =   0    # posizione iniziale
v0 = +20    # velocità iniziale
 
palla = sphere(color=color.red, make_trail=True, retain=50)
    
g_p       = graph(fast=False, xtitle="tempo", ytitle="posizione")
grafico_p = gcurve(color=color.blue , dot=True)
g_v       = graph(fast=False, xtitle="tempo", ytitle="velocità")
grafico_v = gcurve(color=color.green, dot=True)
    
y  = y0
v  = v0
t  = 0
dt = 0.01
while(y >= 0):
    rate(60)
    
    dv = -g * dt
    v  =  v + dv
    dy =  v * dt
    y  =  y + dy
    if(y < 0):
        y = -y
        v = -v*0.9
    palla.pos.y = y
    grafico_p.plot(t, y)
    grafico_v.plot(t, v)
  
    t = t+dt

Lascia un commento