Comment décrire la position d’un point ?
Un repère est un système d’axes qui permet de dire où se trouve un point. Un bras de robot ne peut rien saisir tant qu’on ne sait pas décrire la position de sa pince.
Ce module est une simulation : aucun vrai robot n’est utilisé. Vous calculez avec un petit bras plat, à deux articulations, dans votre labo Jupyter.
À la fin de cette leçon
Remarque
Je peux décrire où se trouve un point et dans quel sens il est tourné.
Mots clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| Repère | deux axes qui servent à situer un point | |
| Coordonnées | les deux nombres x et y qui donnent la position | (3, 4) |
| Orientation | le sens dans lequel un objet est tourné | |
| Rotation | faire tourner un point autour de l’origine | |
| Radian | une unité d’angle, 180 degrés valent environ 3,14 radians |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Deux nombres suffisent à situer un point
Dans un repère plat, on place l’origine au point (0, 0). Le nombre x mesure le déplacement vers la droite. Le nombre y mesure le déplacement vers le haut.
Un point a aussi une distance à l’origine et un angle, mesuré depuis l’axe des x. La distance se calcule avec le théorème de Pythagore.
Exemple travaillé : trois points du plan
| Point | x | y | Distance à l’origine | Angle |
|---|---|---|---|---|
| A | 3 | 4 | 5 | 53,13 degrés |
| B | 5 | 0 | 5 | 0 degré |
| C | 0 | 5 | 5 | 90 degrés |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Distance et angle du point A
docker exec jupyter python3 -c "import numpy as np; print(np.hypot(3, 4), round(float(np.degrees(np.arctan2(4, 3))), 2))"Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Une rotation fait tourner un point
Tourner un point de a degrés garde sa distance à l’origine. Seul son angle change. Les nouvelles coordonnées se calculent ainsi : x2 = x cos(a) - y sin(a), puis y2 = x sin(a) + y cos(a).
Les fonctions cos et sin donnent les deux nombres qui fixent le sens du tour. Une rotation de 90 degrés envoie (4, 0) sur (0, 4).
Exemple travaillé : tourner le point (4, 0)
| Angle | cos | sin | Nouveau point |
|---|---|---|---|
| 0 degré | 1 | 0 | (4 ; 0) |
| 45 degrés | 0,71 | 0,71 | (2,83 ; 2,83) |
| 90 degrés | 0 | 1 | (0 ; 4) |
| 180 degrés | -1 | 0 | (-4 ; 0) |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Tourner (4, 0) de 90 degrés
docker exec jupyter python3 -c "import numpy as np; a=np.radians(90); print(np.round(np.array([[np.cos(a), -np.sin(a)], [np.sin(a), np.cos(a)]]) @ np.array([4, 0]), 2))"Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
La rotation en Python simple
import math
x = 4
y = 0
angle = 90 # en degrés
a = math.radians(angle)
x2 = x * math.cos(a) - y * math.sin(a)
y2 = x * math.sin(a) + y * math.cos(a)
print("nouveau point :", round(x2, 2), round(y2, 2))
# Passez angle à 45 puis relancez.
Une erreur fréquente
Attention
Beaucoup donnent un angle en degrés à math.cos, qui attend des radians. Aucune erreur ne s’affiche, mais le résultat est faux. Convertissez toujours avec math.radians avant de calculer un cosinus ou un sinus.