Tracé des vecteurs vitesse (version avec fonctions)

Télécharger le pdf

Télécharger le notebook, le fichier csv et la vidéo,

Lancer le notebook sur binder (lent)

[1]:
import matplotlib.pyplot as plt
%matplotlib inline
import csv
[2]:
def charge_fichier_csv(fichier, delimiter=";",N=0):
    with open(fichier, 'r', encoding='utf-8') as f :
        rfichier = csv.reader(f, delimiter=delimiter)
        tableau=[]
        index_row=0
        for row in rfichier:
            if index_row < N:
                index_row = index_row+1
            else :
                for i in range (len(row)):
                    if len(tableau) <= i:
                        X = []
                        tableau.append(X)
                    try:
                        tableau[i].append(float(row[i].replace(",",'.')))
                    except ValueError:
                        print('erreur:contenu de cellule non numérique')
                        continue

        return (tableau)
[3]:
def vitesse(t,z):
    vz=[]
    for i in range (len(z)-1):
        vzi=(z[i+1]-z[i])/(t[i+1]-t[i])
        vz.append(vzi)
    return vz
[4]:
def graphvect(x,y,vx,vy):
    fig = plt.figure(1,figsize=(12,10))
    plt.plot(x,y,'ro-')
    plt.xlim(0,max(x)+0.5)
    plt.ylim(0,max(y)+0.5)
    plt.grid()
    plt.xlabel("x(m)")
    plt.ylabel("y(m)")
    for i in range (len (vx)) :
        plt.arrow(x[i],y[i],0.03*vx[i],0.03*vy[i],fc='b',
                  ec='b',head_width=0.02,
                  length_includes_head=True)
    plt.title("Tracé des vecteurs vitesse")
    plt.show()
[6]:
tableau = charge_fichier_csv("chute_balle.csv",N=1)
t=tableau[0]
print(t)
x=tableau[1]
print(x)
y=tableau[2]
print(y)
vx=vitesse(t,x)
vy=vitesse(t,y)
graphvect(x,y,vx,vy)
[0.76, 0.8, 0.84, 0.88, 0.92, 0.96, 1.0, 1.04, 1.08, 1.12, 1.16, 1.2, 1.24, 1.28, 1.32, 1.36]
[0.00865710739046, 0.106770991149, 0.204884874908, 0.302998758666, 0.398226939961, 0.493455121256, 0.588683302551, 0.675254376456, 0.767596855287, 0.857053631656, 0.946510408024, 1.03019577946, 1.11676685337, 1.19756652235, 1.27836619132, 1.36205156277]
[1.98247759242, 1.97093478256, 1.94496346039, 1.89590651851, 1.83530676678, 1.7545070978, 1.66216461897, 1.55827933028, 1.43707982682, 1.29568040611, 1.15139528293, 0.984024540049, 0.807996689776, 0.605997517332, 0.403998344888, 0.187570660127]
../../../_images/07-activites_02-seconde_mouvement_parabolique_vecteurs_vitesse_chute_balle_cycliste_avec_fonctions_6_1.png
[ ]: