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() |
Partager