Physique-chimie · 2de · Enseignement commun · Fiche n°4

Des vecteurs déplacement
aux vecteurs vitesse.

Tu sais déjà tracer, avec une boucle for, les vecteurs déplacement de la bille. Une petite modification de la formule suffit pour obtenir cette fois les vecteurs vitesse : il suffit de diviser chaque déplacement par la durée qu'il a pris.

chronophotographie.py — aperçut = 0.00 s

Objectif de la fiche : représenter les vecteurs vitesse d'un système modélisé par un point lors d'un mouvement, en réutilisant la boucle for déjà rencontrée.

Cette fiche est autonome : tu n'as besoin d'aucun autre document, tout ce qu'il faut est ci-dessous, y compris le rappel du script des fiches précédentes. L'étape contient un script incomplet à compléter, puis à copier-coller dans Thonny (ou dans la console Basthon tout en bas de la page si tu n'as pas Thonny sous la main).

00

On reprend là où on s'était arrêté

À savoir
  • Cette fiche prolonge la fiche n°3 : on repart des mêmes mesures de chute d'une bille, avec la boucle for déjà construite.
  • Le script ci-dessous est déjà complet : copie-le tel quel dans Thonny (ou dans Basthon) pour commencer, tu n'as rien à deviner ici.
  • Garde cette fenêtre Thonny ouverte : tu vas modifier une seule ligne à l'étape suivante.
etape0_reprise.py
import numpy as np
import matplotlib.pyplot as plt

# Ordonnées pointées sur la chronophotographie (unités de la photo)
ymes = np.array([-0, -0.7, -1.5, -2.3, -3.5, -4.5, -5.9, -7.7,
        -8.8, -10.6, -12.3, -14.2, -16.4, -18.5, -21, -23.5])

# Passage à l'échelle réelle (facteur 2/100)
yreelle = ymes * 2 / 100

# Base de temps : 16 instants entre 0 s et 0,25 s
t = np.linspace(0, 1/4, 16)

# Indices 0 à 14 (15 déplacements possibles) et abscisse nulle
n = np.arange(len(t) - 1)
x = 0 * t
01

Du déplacement à la vitesse

Consigne
  • Dans la fiche n°3, la longueur verticale de chaque flèche était le déplacement yreelle[i+1]-yreelle[i]. Pour obtenir une vitesse, il faut diviser ce déplacement par la durée qu'il a pris : t[i+1]-t[i].
  • Modifie le quatrième argument de plt.arrow pour qu'il devienne (yreelle[i+1]-yreelle[i])/(t[i+1]-t[i]). Les trois premiers arguments ne changent pas.
  • Choisis un head_width=0.002 (plus petit qu'avant, car les vitesses sont des nombres bien plus grands que les déplacements).
  • Fixe les limites des axes avec plt.xlim(-0.02, 0.02) et plt.ylim(-5, 0).

Pourquoi cette formule est-elle une vitesse ?

Une vitesse moyenne, c'est une distance parcourue divisée par la durée du parcours : v = Δy / Δt. Entre les points i et i+1, le déplacement vaut yreelle[i+1]-yreelle[i] et la durée vaut t[i+1]-t[i] : leur quotient donne la vitesse verticale moyenne sur ce petit intervalle. C'est une approximation (on suppose la vitesse constante entre les deux points), mais elle est d'autant meilleure que les points sont rapprochés.

etape1_vecteurs_vitesse.py
for i in n :
    plt.arrow(0, yreelle[i], 0, (yreelle[____]-yreelle[i])/(t[____]-t[i]), head_width=_____)

# TODO : fixe les limites des axes pour bien voir toutes les flèches
plt.xlim(_____, ____)
plt.ylim(__, __)
plt.show()
Indice

Les deux i+1 à compléter sont identiques à ceux que tu utilisais déjà dans la fiche n°3 pour yreelle[i+1] : le principe ne change pas, seul le fait de diviser par t[i+1]-t[i] est nouveau.

Résultat attendu

Une colonne de 15 flèches noires très fines, toujours empilées sur l'axe x = 0, mais beaucoup plus longues qu'à l'étape précédente : les vitesses (en m/s) sont numériquement bien plus grandes que les déplacements (en m).

Un constat qui prépare la suite

Constat
  • Le rendu obtenu est peu lisible : toutes les flèches sont écrasées sur une même verticale, et il est difficile de distinguer leurs longueurs respectives.
  • Ce problème vient du fait que le mouvement étudié ici est purement vertical (une seule dimension) : les vecteurs vitesse n'ont donc aucune composante horizontale pour se déployer dans le plan.
  • La fiche suivante reprend exactement le même principe de boucle for et de plt.arrow, mais appliqué à un mouvement à deux dimensions (la trajectoire d'une balle de golf) : le résultat sera bien plus lisible.

Pas de Thonny sous la main ? Utilise Basthon

Ouvrir dans un nouvel onglet ↗
Basthon est une console Python qui tourne directement dans le navigateur, sans rien installer. Colle ici (avec Ctrl+V ou Cmd+V) le code copié avec les boutons « Copier le code » ci-dessus, puis appuie sur Entrée pour l'exécuter.