Mouvement d'un point : vecteur variation vitesse

Programme de première générale - Enseignement de spécialité - 2019

"Utiliser un langage de programmation pour étudier la relation approchée entre la variation du vecteur vitesse d’un système modélisé par un point matériel entre deux instants voisins et la somme des forces appliquées sur celui-ci".

Principe

Vitesse moyenne \(v_i\) en un point \(M_i\) entre deux positions proches :

\[v_i = \dfrac{M_{i-1}M_{i+1}}{t_{i+1}-t_{i-1}}\]

Le vecteur variation vitesse \(\Delta\vec{v}_i\) au point \(M_i\) est défini par :

\[\Delta\vec{v}_i = \vec{v}_{i+1} - \vec{v}_{i-1}\]

Pour un système de masse \(m\) soumis à une ou plusieurs forces :

\[\boxed{\Sigma\vec{F} = m \times \dfrac{\Delta\vec{v}}{\Delta t}} \hspace{1cm}\text{avec}\hspace{1cm} \Delta = t_{i+1}-t_{i-1}\]

Exemple : lancé d'un ballon

import matplotlib.pyplot as plt
from math import sqrt

# MESURES
t = [0.000, 0.066, 0.132, 0.198, 0.264, 0.330, 0.396, 0.462, 0.528, 0.594, 0.660, 0.726, 0.792, 0.858, 0.924]
x = [0.003, 0.141, 0.275, 0.410, 0.554, 0.686, 0.820, 0.958, 1.089, 1.227, 1.359, 1.490, 1.599, 1.705, 1.801]
y = [0.746, 0.990, 1.175, 1.336, 1.432, 1.505, 1.528, 1.505, 1.454, 1.355, 1.207, 1.018, 0.797, 0.544, 0.266]
N = len(x)

# CALCUL DES VITESSES
vx = [0 for i in range(N)]
vy = [0 for i in range(N)]

for i in range(1, N-1):
   vx[i] = (x[i+1]-x[i-1])/(t[i+1]-t[i-1])
   vy[i] = (y[i+1]-y[i-1])/(t[i+1]-t[i-1])

# CALCUL DES VARIATIONS VITESSE
dvx = [0 for i in range(N)]
dvy = [0 for i in range(N)]

for i in range(2, N-2):
   dvx[i] = vx[i+1]-vx[i-1]
   dvy[i] = vy[i+1]-vy[i-1]

dv = [round(sqrt(dvx[i]**2+dvy[i]**2),2) for i in range(N)]
print("Dv = ", dv)

# CALCUL DES SOMMES DES FORCES (poids uniquement)
m = 0.3
g = 9.81
Fx = [0 for i in range(N)]
Fy = [-m*g for i in range(N)]

# FIGURES
plt.plot(x, y, "o", label="Points")
plt.quiver(x, y, Fx,  Fy,  angles='xy', scale_units='xy', scale=5,  color='orange', width=0.005, label="Somme des forces")
plt.quiver(x, y, vx,  vy,  angles='xy', scale_units='xy', scale=20, color='red',    width=0.005, label="Vitesse")
plt.quiver(x, y, dvx, dvy, angles='xy', scale_units='xy', scale=5,  color='blue',   width=0.005, label="Variation vitesse")
plt.legend()
plt.title("Trajectoire d'un ballon")
plt.xlabel("x (m)")
plt.xlim(-0.2, 2)
plt.ylabel("y (m)")
plt.ylim(0, 2)
plt.grid()
plt.show()
  • La fonction quiver() permet de tracer un vecteur ou un champ de vecteur à partir de listes.

Résultats

alternate text