Où se forme l'image donnée par une lentille convergente, et quelle est sa taille ? Peut-on le prévoir avec les rayons particuliers ?
Objectifs
- Former l'image nette d'un objet sur un écran.
- Mesurer des positions et des tailles algébriques.
- Vérifier \(\gamma = \overline{A'B'}/\overline{AB} = \overline{OA'}/\overline{OA}\).
- Calculer la position de l'image par intersection de deux rayons.
Compétences travaillées
- Réaliser : régler un banc d'optique.
- Analyser : comparer deux calculs d'une même grandeur.
- Valider : confronter mesures et modèle géométrique.
- Communiquer : présenter un graphique légendé.
Le code s'exécute réellement dans ton navigateur. Au premier clic sur ▶ Exécuter, Python se télécharge (≈ 7 Mo, une seule fois, connexion Internet nécessaire). Le bouton Télécharger .py donne un fichier utilisable dans EduPython, Thonny, Basthon ou Capytale.
Raccourcis : Ctrl + Entrée exécute, Tab décale la ligne de 4 espaces.
Débutant en Python : fais les cinq activités dans l'ordre, en t'aidant des indices. À l'aise avec les variables et les boucles (en général à partir du deuxième trimestre) : l'activité 1 est facultative, commence directement à l'activité 2 et vise l'activité 5 sans indice.
Matériel
- un banc d'optique gradué ;
- une source lumineuse avec un objet en forme de « F » de 2,0 cm de haut ;
- une lentille convergente de distance focale \(f' = 10{,}0\ \text{cm}\) (+10 δ) ;
- un écran blanc et une règle.
Protocole
| \(\overline{OA}\) (cm) | −15 | −20 | −25 | −30 | −40 | −50 | −60 |
|---|---|---|---|---|---|---|---|
| \(\overline{OA'}\) (cm) | |||||||
| \(\overline{A'B'}\) (cm) |
Jeu de données pédagogique \(\overline{OA'}\) = 30,4 ; 19,8 ; 16,8 ; 15,1 ; 13,2 ; 12,6 ; 11,9 cm et \(\overline{A'B'}\) = −4,1 ; −2,0 ; −1,3 ; −1,0 ; −0,7 ; −0,5 ; −0,4 cm. Valeurs construites pour \(f' = 10{,}0\ \text{cm}\), avec l'incertitude du réglage de netteté (quelques millimètres).
À 8 cm, l'objet est entre le foyer objet (à 10 cm) et la lentille. Les rayons émergents divergent : aucune image ne se forme sur l'écran, quelle que soit sa position. L'image est virtuelle : on la voit en regardant à travers la lentille, comme avec une loupe (droite et agrandie).
À partir d'une mesure, il calcule le grandissement de deux façons : avec les tailles et avec les positions. Il indique ensuite si l'image est droite ou renversée. Comment lire le résultat ? Deux valeurs voisines, négatives.
À faire : complète les deux calculs de \(\gamma\), exécute, puis teste une autre ligne du tableau.
AB_ et \(\overline{OA'}\) s'appelle OA_.g_tailles = AB_ / AB et g_positions = OA_ / OA.AB = 2.0
OA = -30.0
OA_ = 15.1
AB_ = -1.0
g_tailles = AB_ / AB
g_positions = OA_ / OA
print("grandissement (tailles) :", round(g_tailles, 3))
print("grandissement (positions) :", round(g_positions, 3))
if g_tailles < 0:
print("image renversée")
else:
print("image droite")
Résultats attendus. \(-0{,}5\) avec les tailles, \(-0{,}503\) avec les positions ; image renversée.
Interprétation. Les deux calculs concordent : c'est le théorème de Thalès appliqué aux triangles \(OAB\) et \(OA'B'\). Le signe négatif traduit le renversement de l'image réelle.
Erreurs fréquentes. Écrire OA = 30 sans le signe moins : on obtiendrait \(+0{,}5\) avec les positions, en contradiction avec les tailles.
Pour chaque mesure, il calcule les deux grandissements, leur écart, et indique si l'image est agrandie ou réduite. Comment lire le résultat ? Des écarts faibles, et une image qui devient de plus en plus petite quand l'objet s'éloigne.
À faire : complète la condition « agrandie / réduite », exécute, puis réponds à Q2.
abs(...).if abs(g2) > 1:AB = 2.0
OA = [-15, -20, -25, -30, -40, -50, -60]
OA_ = [30.4, 19.8, 16.8, 15.1, 13.2, 12.6, 11.9]
AB_ = [-4.1, -2.0, -1.3, -1.0, -0.7, -0.5, -0.4]
for i in range(len(OA)):
g1 = AB_[i] / AB
g2 = OA_[i] / OA[i]
if abs(g2) > 1:
taille = "agrandie"
else:
taille = "réduite"
print("OA =", OA[i], "| gamma (tailles) =", round(g1, 2), "| gamma (positions) =", round(g2, 2), "|", taille)
Résultats attendus. \(\gamma\) passe de −2,03 (objet à 15 cm, image agrandie) à −0,99 (20 cm, même taille), puis à −0,2 (60 cm, réduite). Les deux calculs diffèrent au plus de 0,02.
Interprétation. Plus l'objet est proche du foyer, plus l'image est grande et lointaine. À 20 cm (c'est-à-dire \(2f'\)), l'image est de même taille que l'objet et aussi à 20 cm : on retrouve l'exercice 10. Les petits écarts entre les deux calculs viennent de la précision de lecture des tailles (au millimètre).
Erreurs fréquentes. Tester g2 > 1 sans valeur absolue : toutes les images (renversées, \(\gamma < 0\)) seraient déclarées « réduites ».
Pour \(\overline{OA} = -20\ \text{cm} = -2f'\) : \(\gamma \approx -1\), l'image a la même taille que l'objet (renversée) et se forme à 20 cm de la lentille. Quand l'objet se rapproche du foyer, l'image s'éloigne de plus en plus (30 cm pour un objet à 15 cm) et grandit : à la limite, objet au foyer, l'image est rejetée à l'infini. On ne peut alors plus la recueillir sur un écran du banc.
Il place chaque mesure comme un point de coordonnées (γ calculé avec les positions ; γ calculé avec les tailles), et trace la droite \(y = x\). Pourquoi ? Si les deux méthodes donnent la même valeur, les points sont sur cette droite. Comment le lire ? L'écart vertical d'un point à la droite est la différence entre les deux calculs.
À faire : complète les deux listes dans la boucle, exécute, puis commente l'alignement des points.
i sont \(\overline{OA'}_i/\overline{OA}_i\) et \(\overline{A'B'}_i/\overline{AB}\).OA_[i], OA[i], AB_[i] et AB.g_pos.append(OA_[i] / OA[i]) et g_tai.append(AB_[i] / AB).import matplotlib.pyplot as plt
AB = 2.0
OA = [-15, -20, -25, -30, -40, -50, -60]
OA_ = [30.4, 19.8, 16.8, 15.1, 13.2, 12.6, 11.9]
AB_ = [-4.1, -2.0, -1.3, -1.0, -0.7, -0.5, -0.4]
g_pos = []
g_tai = []
for i in range(len(OA)):
g_pos.append(OA_[i] / OA[i])
g_tai.append(AB_[i] / AB)
plt.plot(g_pos, g_tai, 'o', color='red', label='mesures')
plt.plot([-2.2, 0], [-2.2, 0], '-', color='navy', label='y = x')
plt.title("Deux façons de calculer le grandissement")
plt.xlabel("gamma calculé avec OA' / OA")
plt.ylabel("gamma calculé avec A'B' / AB")
plt.legend()
plt.grid()
plt.show()
Résultat attendu. Les sept points sont pratiquement sur la droite \(y = x\), de −2 à −0,2.
Interprétation. Les deux méthodes donnent le même grandissement, aux incertitudes de mesure près : la relation \(\gamma = \overline{A'B'}/\overline{AB} = \overline{OA'}/\overline{OA}\) est vérifiée expérimentalement. Le point le plus éloigné de la droite est celui de l'objet à 25 cm (−0,65 contre −0,67) : la taille de l'image (1,3 cm) n'est lue qu'au millimètre près.
Erreurs fréquentes. Inverser les deux listes : le graphique reste correct (la droite \(y = x\) est symétrique), mais les axes seraient mal nommés.
On place \(O\) à l'origine d'un repère, l'axe optique horizontal. Le point \(B\) a pour coordonnées \((\overline{OA}\ ;\ \overline{AB})\). Deux rayons particuliers issus de \(B\) sont des droites :
- le rayon passant par \(O\) : \(y = \dfrac{\overline{AB}}{\overline{OA}}\,x\) ;
- le rayon parallèle à l'axe, qui ressort par \(F'(f'\ ;\ 0)\) : \(y = \overline{AB} - \dfrac{\overline{AB}}{f'}\,x\).
En égalant les deux expressions, on trouve l'abscisse de \(B'\) : \(x = \dfrac{1}{\dfrac{1}{\overline{OA}} + \dfrac{1}{f'}}\), et son ordonnée en reportant dans la première droite. Comment lire le résultat ? Les positions et tailles prévues, à comparer aux mesures.
À faire : complète la fonction image, exécute, puis réponds à Q3.
1 / (1 / OA + 1 / f).x = 1 / (1 / OA + 1 / f) et y = AB / OA * x.def image(OA, f, AB):
x = 1 / (1 / OA + 1 / f)
y = AB / OA * x
return x, y
f = 10.0
AB = 2.0
OA = [-15, -20, -25, -30, -40, -50, -60]
OA_mes = [30.4, 19.8, 16.8, 15.1, 13.2, 12.6, 11.9]
for i in range(len(OA)):
x, y = image(OA[i], f, AB)
print("OA =", OA[i], "cm -> OA' prévu =", round(x, 1), "cm (mesuré", OA_mes[i], ") ; A'B' prévu =", round(y, 2), "cm")
Résultats attendus. \(\overline{OA'}\) prévus : 30,0 ; 20,0 ; 16,7 ; 15,0 ; 13,3 ; 12,5 ; 12,0 cm, à moins de 0,4 cm des mesures. Tailles prévues : −4,0 ; −2,0 ; −1,33 ; −1,0 ; −0,67 ; −0,5 ; −0,4 cm.
Interprétation. La construction géométrique avec deux rayons particuliers prévoit correctement la position et la taille de l'image. La relation obtenue pour \(x\) s'appelle la relation de conjugaison ; elle sera étudiée en Première. Les écarts restants viennent de la difficulté à juger de la netteté de l'image (quelques millimètres).
Erreurs fréquentes. Écrire 1 / 1 / OA + 1 / f sans parenthèses : Python calcule alors \((1/1)/\overline{OA} + 1/f'\), un résultat sans rapport.
OA = -10. Que se passe-t-il ? Et avec OA = -5 ? Interprète physiquement.Pour \(\overline{OA} = -10\ \text{cm}\), \(1/\overline{OA} + 1/f' = 0\) : Python s'arrête avec une division par zéro (ZeroDivisionError). Physiquement, l'objet est au foyer : les deux rayons émergents sont parallèles, ils ne se coupent pas, l'image est rejetée à l'infini. Pour \(\overline{OA} = -5\ \text{cm}\), on obtient \(\overline{OA'} = -10\ \text{cm}\) et \(\overline{A'B'} = +4\ \text{cm}\) : image virtuelle (du côté de l'objet), droite et agrandie 2 fois. C'est la loupe.
Louise veut afficher le grandissement et la nature de l'image pour un objet à 40 cm d'une lentille de distance focale 10 cm. Son programme contient quatre erreurs : deux l'empêchent de fonctionner, deux donnent un résultat faux sans message. Le résultat attendu est dans le tableau de mesures : environ −0,33, image réelle, renversée, réduite.
print est-il bien écrit ? Quel est le signe de \(\overline{OA}\) pour un objet placé avant la lentille ? Dans quel sens s'écrit le rapport du grandissement ?print ; gama → gamma ; OA = -40.0 ; gamma = OA_ / OA.f = 10.0
OA = -40.0 # erreur 3 : objet avant la lentille, OA négatif
OA_ = 1 / (1 / OA + 1 / f)
gamma = OA_ / OA # erreur 4 : gamma = OA' / OA
if OA_ > 0:
nature = "réelle"
else:
nature = "virtuelle"
print("gamma =", round(gamma, 2), "| image", nature) # erreurs 1 et 2
Erreur 1 (bloquante). La parenthèse du print n'est pas fermée : erreur de syntaxe.
Erreur 2 (bloquante). gama n'existe pas : NameError.
Erreur 3 (silencieuse). Avec \(\overline{OA} = +40\), le programme décrit un objet placé après la lentille : \(\overline{OA'} = 8\ \text{cm}\), un résultat sans lien avec l'expérience.
Erreur 4 (silencieuse). Le rapport est inversé : on calcule \(1/\gamma\). Avec les erreurs 1 à 3 corrigées, le programme afficherait −3,0 (image trois fois plus grande), au lieu de −0,33.
Résultat après correction. \(\gamma = -0{,}33\), image réelle : en accord avec la mesure (image de 0,7 cm pour un objet de 2,0 cm).
Une image réelle donnée par une lentille convergente (objet réel) est toujours renversée : son grandissement doit être négatif. Un γ positif avec « image réelle » est contradictoire. De plus, un objet loin de la lentille (40 cm, au-delà de \(2f'\)) donne une image réduite : \(|\gamma| < 1\), pas 5. Enfin, la mesure du tableau (\(\overline{A'B'} = -0{,}7\ \text{cm}\)) donne directement \(\gamma \approx -0{,}35\).
Pour un objet placé au-delà du foyer objet, l'image est réelle et renversée : on la recueille sur un écran, de l'autre côté de la lentille. Plus l'objet est proche du foyer, plus l'image est lointaine et grande (γ = −2 à 15 cm) ; à \(2f'\), elle est de même taille ; loin de la lentille, elle est réduite et proche du foyer image. Le grandissement se calcule de deux façons concordantes, \(\overline{A'B'}/\overline{AB}\) et \(\overline{OA'}/\overline{OA}\) (Thalès). Enfin, l'intersection de deux rayons particuliers prévoit la position et la taille de l'image à quelques millimètres près : la construction géométrique est un bon modèle de la lentille.
Grille d'auto-évaluation
A = je sais faire seul · B = avec un peu d'aide · C = partiellement · D = à retravailler.
| Compétence | A | B | C | D |
|---|---|---|---|---|
| Obtenir une image nette sur un écran | ||||
| Utiliser des grandeurs algébriques (signes) | ||||
| Calculer et interpréter un grandissement | ||||
| Comparer deux méthodes sur un graphique | ||||
| Traduire une construction géométrique en fonction Python | ||||
| Repérer une erreur par une contradiction physique |
Fiche professeur
Organisation
Durée totale estimée : 115 min. En séance de 1 h 30 : partie expérimentale et activités 1 à 3 ; activités 4 et 5 et conclusion en fin de séance, à la maison ou en séance suivante. Le parcours « à l'aise » (activité 1 facultative) fait gagner environ 10 min.
Préparation
Bancs d'optique avec lentilles de +10 δ, objets « F » éclairés, écrans.
Sécurité
Pas de risque particulier ; la lanterne chauffe.
Points de vigilance
Le sens des grandeurs algébriques est la difficulté principale : faire orienter l'axe dès le début. Rechercher l'image nette en déplaçant lentement l'écran dans les deux sens.
Différenciation
Aide : Fournir un schéma à l'échelle avec les trois rayons particuliers à tracer.
Approfondissement : Placer l'objet entre le foyer et la lentille (loupe) et discuter l'image virtuelle.
Évaluation (sur 20)
Grandissement (activités 1 à 3, 8 pts) ; activité 4 (position de l'image, 4 pts) ; activité 5 (4 pts) ; Q5 (4 pts).
Les corrections détaillées des activités Python et des questions sont dans les encadrés de chaque partie.
Pour consolider : exercices 4, 6 et 10, puis le quiz du cours.
Exercices corrigés Retour au cours