Bonjour,
je dois completer un programme python donné par notre prof, affichant de base une bourbe avec les vecteur vitesse et je dois rajouter les vecteurs vitesses. J'ai bien essayer et j'ai abouti à un truc mais je sais que c'est faux car les fleches des vecteurs variation de vitesse doivent être verticale.
Voici le programme:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import numpy as np  #importe la bibliothèque numpy pour l'utilisation des tableaux
import matplotlib.pyplot as plt #importe la bibliothèque pyplot pour l'utilisation des graphiques

x=np.array([0.00153168985698847,0.166631733389227,0.342050529642229,0.514889637715041,0.692888122148235,0.865727230221047,1.04630540283443,1.22172419908744,1.40488205988101,1.58803992067459,1.78151653418893])
y=np.array([0.000800051546945383,0.258534778079662,0.462145212040507,0.606476658898828,0.696683813185279,0.727611980369205,0.691529118654625,0.591012575306865,0.418330308529946,0.168327623793211,-0.161572826168666])
vx=np.array([0.0]*11)   #tableau contenant 11 fois 0,0
vy=np.array([0.0]*11)   #idem
dvx= np.array([0.0]*11)
dvy=np.array([0.0]*11)

plt.scatter(x,y,c='red',marker='+') #place les points de coordonnées (x,y)
plt.axis('equal')       #même échelle en x et en y
dt=1/10                 #vidéo à 10 images par s : 1/10 s = durée entre 2 positions
echelleV=0.2            #échelle des vitesses

for i in range(0,10):   #pour i de 0 à 9
    vx[i]=((x[i+1]-x[i])/dt)
    vy[i]=((y[i+1]-y[i])/dt)
    plt.arrow(x[i],y[i],vx[i]*echelleV,vy[i]*echelleV,head_width=0.04,length_includes_head='true', fc='blue', ec='blue')
        #trace le vecteur vitesse en bleu à partir de (x[i],y[i]) avec l'échelle echelleV
    dvx[i]= (vx[i+1]-vx[i])
    dvy[i]= (vy[i+1]-vy[i])
    plt.arrow(x[i],y[i],dvx[i]*echelleV,dvy[i]*echelleV,head_width=0.04,length_includes_head='true', fc='green', ec='green')
    
plt.show()
avec en gras ce que j'ai rajouté ( ce qui n'est pas en gras est donc correct) et voici ce que j'obtiens:

Nom : physique.PNG
Affichages : 1222
Taille : 19,8 Ko

et ce que je devrais obtenir à peut près :

Nom : physique 2.PNG
Affichages : 2294
Taille : 14,5 Ko


Sauriez vous m'aidez a comprendre comment corriger mes erreurs s'il vous plait ?