Oscillo & Becher

Accueil du site > SECONDE > MOUVEMENT ET INTERACTIONS > 2DE : DES VECTEURS VITESSE AVEC PYTHON

2DE : DES VECTEURS VITESSE AVEC PYTHON

samedi 27 mars 2021, par Oscillo&Becher


VECTEURS VITESSE AVEC PYTHON

VECTEURS VITESSE AVEC PYTHON

1 Analyse d’une vidéo pour étude mécanique:

  • Pour étudier un mouvement rapide, on peut le filmer. La vidéo peut ensuite être traitée par un logiciel de pointage comme Mécachrono.

2 Exploitation des pointages par programmation Python : Représentation des vecteurs vitesse

########### début de la programmation python ###########################
import numpy as np # importe la bibliothèque numpy et la renome np
import matplotlib.pyplot as plt # importe le module pyplot et le renome plt
####### COLLER LES LISTES DE VALEURS ISSUES DE MECACHRONO SOUS CETTE LIGNE #############
t = [ 0.32, 0.44, 0.56, 0.68, 0.8, 0.92, 1.04, 1.16]

x = [5.81257, 5.24495, 4.71694, 4.16252, 3.62131, 3.09329, 2.56528, 2.02406]

y = [3.72571, 4.37252, 4.90054, 5.27015, 5.45495, 5.54736, 5.42855, 5.32295]
###########################################################################
print(type(y))
print("Abscisses x en m :",x)
print("Ordonnées y en m :",y)

#affiche le nuage de points de taille 50, de couleur rouge et sous forme de croix"
plt.scatter(x,y,s=80,c = 'red',marker= '+')

#affiche un repère othonormal avec les min et et les max des axes

plt.axis([0,6,0,7])
plt.grid()                         # Trace une grille

plt.title("Trajectoire du système")  # Affiche le titre
plt.xlabel('abcisse x')           # Affiche un commentaire sur l'axe des abscisses
plt.ylabel('ordonnée y')         # Affiche un commentaire sur l'axe des ordonnées

echelle = 0.06 # on definit une échelle pour les vecteurs.
#  LIGNES SUIVANTES À EXPLIQUER ######On enlève la dernière valeur dont on ne peut calculer la vitesse

m=len(t)-1
for i in range(m) : # de i à m ( m étant d'après la ligne précédente, le nombre de valeurs de temps - 1 )
   plt.arrow(x[i],y[i],echelle*(x[i+1]-x[i])/(t[i+1]-t[i]), # au point Mi de coordonnées x[i],y[i], tracer le vecteur vitesse ...
   echelle*(y[i+1]-y[i])/(t[i+1]-t[i]),head_width=0.08) # grâce à ses coordonnées vx et vy : Voir docs 2 et 3

plt.title("Trajectoire du système avec les vecteurs vitesses")  # Affiche le titre
plt.xlabel('abcisse x')           # Affiche un commentaire sur l'axe des abscisses
plt.ylabel('ordonnée y')         # Affiche un commentaire sur l'axe des ordonnées
plt.show()                        # Montre le graphique à l'écran

Created: 2021-03-27 sam. 09:27

P.-S.

texte - 1.9 ko
Code python Vecteurs Vitesse
QuickTime - 120.6 ko
Videobasket.mov

Répondre à cet article


Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | SPIP | squelette