Physique-chimie · 1re · Enseignement de spécialité · Fiche n°7

Quand plus de points
ne fait pas une preuve.

Après plusieurs fiches à construire des vecteurs vitesse et accélération, il est temps de prendre du recul. Cette fiche ne demande pas d'écrire du code : elle pointe deux pièges classiques dans lesquels il est facile de tomber en exploitant une série de mesures — et qu'il vaut mieux repérer avant de les rencontrer soi-même.

deux_pieges.py — aperçuéchantillonnage trop fin

Objectif de la fiche : prendre du recul sur les fiches précédentes en identifiant deux difficultés classiques lors de l'exploitation de mesures issues d'une chronophotographie — ou de toute série de mesures expérimentales.

Cette fiche est autonome : elle ne demande pas d'écrire de nouveau code, mais de comprendre et interpréter deux situations concrètes. Quelques scripts illustratifs, déjà complets, permettent de rejouer ces situations toi-même dans Thonny (ou dans la console Basthon tout en bas de la page).

01

Premier écueil : un échantillonnage trop court

Le problème
  • Le fichier utilisé dans la fiche n°3 « Étude d'une trajectoire parabolique » fournissait les positions de la balle de golf toutes les 0,10 s. Le fichier original, lui, donnait en réalité une position toutes les 0,033 s — trois fois plus de points.
  • Avoir plus de points peut sembler toujours préférable. Mais le calcul de l'accélération repose sur des différences de différences de positions : si les points sont très rapprochés, l'écart entre deux positions consécutives devient minuscule — du même ordre de grandeur que l'incertitude de pointage elle-même (quelques millimètres à quelques centimètres, selon la qualité de la vidéo).
  • Quand le bruit de mesure devient comparable au signal qu'on essaie de mesurer, le résultat du calcul n'a plus vraiment de sens : les vecteurs accélération obtenus pointent alors dans des directions quasi aléatoires, sans lien clair avec la réalité physique.
echantillonnage_trop_fin.py
import numpy as np
import matplotlib.pyplot as plt

# Même trajectoire que la fiche n°3, mais échantillonnée 3 fois plus finement (0,033 s)
# + un bruit de pointage réaliste, de quelques centimètres
t = 0.033 * np.arange(43)
vx = 4.86
x = vx * t
y = 0.19 * x * (6.8 - x)

np.random.seed(3)
x = x + np.random.normal(0, 0.02, len(t))
y = y + np.random.normal(0, 0.02, len(t))

# Exactement le même script de calcul des vecteurs accélération que la fiche n°3
vxl = []
m = np.arange(len(t) - 2)
for i in m :
    vxl.append((x[i+2] - x[i]) / (t[i+2] - t[i]))
vyl = []
for i in m :
    vyl.append((y[i+2] - y[i]) / (t[i+2] - t[i]))

axl = []
m = np.arange(len(t) - 4)
for i in m :
    axl.append((vxl[i+2] - vxl[i]) / (t[i+2] - t[i]))
ayl = []
for i in m :
    ayl.append((vyl[i+2] - vyl[i]) / (t[i+2] - t[i]))

plt.plot(x, y, 'b-')
for i in np.arange(1, len(t)-4) :
    plt.arrow(x[i+2], y[i+2], 0.05*axl[i], 0.05*ayl[i], head_width=0.05)
plt.xlim(0, 7)
plt.ylim(0, 3)
plt.grid()
plt.show()
À observer

Copie ce script dans Thonny ou Basthon et exécute-le : les flèches obtenues pointent dans toutes les directions, sans cohérence apparente. Essaie ensuite de commenter les deux lignes qui ajoutent du bruit (np.random.normal(...)) et relance le script : les flèches redeviennent parfaitement verticales. La différence ne vient donc pas de la trajectoire elle-même, mais du rapport entre le bruit de mesure et l'écart entre deux points.

Conséquence pratique
  • Avec un tel résultat, il devient difficile de convaincre qui que ce soit que la force subie par la balle est verticale et dirigée vers le bas — pourtant, c'est bien le cas en réalité.
  • Le bon réflexe : choisir un intervalle de temps entre les points assez grand pour que les déplacements mesurés restent nettement supérieurs à l'incertitude de pointage — sans pour autant l'exagérer, sous peine de perdre en précision sur la description du mouvement.
02

Second écueil : la démarche circulaire

Le problème
  • Face à des vecteurs accélération chaotiques comme à l'écueil précédent, la tentation peut être grande de « nettoyer » les données en remplaçant les positions mesurées par des positions théoriques, calculées à partir d'une formule mathématique plutôt que pointées sur la vidéo.
  • Le résultat serait effectivement très satisfaisant visuellement : des vecteurs bien nets, tous verticaux, tous de longueur comparable.
trajectoire_fabriquee.py
import numpy as np
import matplotlib.pyplot as plt

# Une trajectoire purement mathématique, sans aucune mesure derrière elle
t = 0.1 * np.arange(15)
vx = 4.86
x = vx * t
y = 0.19 * x * (6.8 - x)   # une parabole, choisie à l'avance

vxl, vyl = [], []
m = np.arange(len(t) - 2)
for i in m :
    vxl.append((x[i+2] - x[i]) / (t[i+2] - t[i]))
    vyl.append((y[i+2] - y[i]) / (t[i+2] - t[i]))

axl, ayl = [], []
m = np.arange(len(t) - 4)
for i in m :
    axl.append((vxl[i+2] - vxl[i]) / (t[i+2] - t[i]))
    ayl.append((vyl[i+2] - vyl[i]) / (t[i+2] - t[i]))

plt.plot(x, y, 'ro-')
for i in np.arange(1, len(t)-4) :
    plt.arrow(x[i+2], y[i+2], 0.1*axl[i], 0.1*ayl[i], head_width=0.05)
plt.grid()
plt.show()
⚠ Attention

Ce script produit un graphe esthétiquement parfait, mais il ne prouve strictement rien. La position y a été calculée avec une formule en x² (une parabole) posée à l'avance. Il n'est donc pas surprenant que l'accélération recalculée à partir de cette trajectoire soit parfaitement verticale et constante : c'est une conséquence mathématique directe de la formule choisie au départ, pas une découverte physique.

Pourquoi c'est un piège méthodologique
  • Le raisonnement devient circulaire : on suppose que la trajectoire est parabolique (donc que l'accélération est verticale et constante) pour ensuite « démontrer » que l'accélération est bien verticale et constante. La conclusion était déjà contenue dans l'hypothèse de départ.
  • Utiliser une telle construction avec des données réelles présentées comme si elles venaient d'une mesure serait trompeur, et contre-productif du point de vue de l'acquisition d'une véritable démarche scientifique : la science avance en confrontant des hypothèses à des mesures indépendantes de ces hypothèses, jamais en fabriquant les données qui les confirment.
+

À retenir

Bonnes pratiques
  • Choisis un intervalle de temps entre les points de mesure nettement supérieur à l'incertitude de pointage, pour que les déplacements calculés restent significatifs face au bruit.
  • Si des vecteurs accélération semblent erratiques, ne conclus pas trop vite à un échec de la physique sous-jacente : interroge d'abord la qualité de l'échantillonnage et l'ampleur du bruit de mesure.
  • N'utilise jamais une trajectoire théorique, construite à partir de l'hypothèse qu'on cherche à vérifier, pour « illustrer » ou « confirmer » cette même hypothèse. Les données doivent toujours provenir d'une mesure indépendante de ce qu'on cherche à démontrer.

Pense-bête — lire un résultat d'un œil critique

vecteurs erratiquessouvent un signe de bruit > signal, pas d'erreur de physique
Δt trop petitamplifie l'effet du bruit de pointage
Δt trop grandperd en précision sur la description du mouvement
donnée mesuréevient d'une observation indépendante
donnée fabriquéevient d'une formule choisie à l'avance
raisonnement circulairela conclusion était déjà dans l'hypothèse

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.