L'arc-en-ciel de Descartes Grand Oral · mathématiques, physique-chimie, HGGSP Un support de connaissances pour construire sa propre question

← Tous les textes du Grand Oral

MathsPCHGGSP

Pourquoi un arc-en-ciel est-il un arc, et pourquoi toujours le même ? Où que l'on soit, quelle que soit la taille des gouttes, l'arc principal est vu à environ $42°$ de la direction opposée au Soleil, avec le rouge à l'extérieur. Un second arc, plus pâle, apparaît parfois vers $51°$, avec les couleurs inversées, et entre les deux le ciel est plus sombre.

En 1637, René Descartes donne la première explication chiffrée de ces faits. Il suit, à la plume, le trajet de rayons de lumière dans une goutte d'eau, et constate que l'angle de sortie ne peut pas dépasser une certaine valeur : c'est là que la lumière s'accumule. Avec le cours de terminale, on peut aller plus loin que lui : ce maximum est le minimum d'une fonction, que l'on trouve par la dérivée.

Ce texte rassemble ces connaissances, avec les mathématiques de terminale : trigonométrie, dérivée d'une fonction composée, étude des variations, produit scalaire et géométrie dans l'espace, algorithmique. Il ne propose pas de Grand Oral tout fait : à chacun d'y choisir une direction et d'y construire sa question.

Sommaire
  1. La réfraction et les lois de Snell-Descartes
  2. Le trajet d'un rayon dans une goutte
  3. Le minimum de déviation, par la dérivée
  4. Pourquoi un arc lumineux, et pourquoi à 42°
  5. Les couleurs
  6. L'arc secondaire et la bande d'Alexandre
  7. De Thierry de Freiberg à Newton
  8. Où chercher un arc-en-ciel
  9. Des directions pour construire sa question
La réfraction et les lois de Snell-Descartes

Quand un rayon lumineux passe de l'air dans l'eau, il change de direction : c'est la réfraction (un bâton plongé dans l'eau paraît brisé). On mesure les angles par rapport à la normale, la droite perpendiculaire à la surface au point d'entrée. Si $i$ est l'angle d'incidence dans l'air et $r$ l'angle de réfraction dans l'eau, la loi de la réfraction s'écrit

$$\sin i = n \sin r,$$

où $n$ est l'indice de réfraction de l'eau, environ $1{,}33$, que l'on prendra égal à $\frac{4}{3}$. Comme $n > 1$, on a $\sin r < \sin i$, donc $r < i$ : en entrant dans l'eau, le rayon se rapproche de la normale.

Exemple à la main. Pour $i = 60°$, $\sin r = \dfrac{\sin 60°}{4/3} = \dfrac{3}{4} \times \dfrac{\sqrt{3}}{2} \approx 0{,}650$, donc $r \approx 40{,}5°$. Le rayon a tourné de $i - r \approx 19{,}5°$.

À la surface, une partie de la lumière est aussi réfléchie, avec un angle de réflexion égal à l'angle d'incidence. Dans une goutte, c'est cette réflexion sur la face arrière qui renvoie la lumière vers l'observateur.

La loi porte en France le nom de Descartes, qui la publie en 1637 dans La Dioptrique ; le Néerlandais Willebrord Snell l'avait trouvée vers 1621 sans la publier, et le savant persan Ibn Sahl en avait donné une forme équivalente dès 984. On parle aujourd'hui des lois de Snell-Descartes.

Le trajet d'un rayon dans une goutte La goutte sphérique

Une petite goutte de pluie est presque sphérique. Dans une coupe passant par son centre $O$, c'est un disque, et un rayon venu du Soleil y subit trois événements :

  1. il entre en $A$, réfracté (angle d'incidence $i$, angle de réfraction $r$) ;
  2. il se réfléchit en $B$, sur le fond de la goutte ;
  3. il ressort en $C$, réfracté de nouveau.

L'angle d'incidence dépend de la hauteur $b$ à laquelle le rayon arrive, mesurée depuis l'axe passant par le centre, pour une goutte de rayon $1$ : en écrivant que la normale en $A$ passe par $O$, on trouve $\sin i = b$. Un rayon qui arrive au centre $(b = 0)$ entre sans être dévié ; un rayon qui frôle le bord $(b \approx 1)$ arrive presque rasant.

La déviation totale La déviation du rayon vaut $D = 180° + 2i - 4r$

Étape 1 : les angles dans la goutte. Les points $A$ et $B$ sont sur le cercle, donc $OA = OB$ : le triangle $OAB$ est isocèle en $O$. Ses angles en $A$ et en $B$ sont égaux. L'angle en $A$ est l'angle de réfraction $r$, car $(OA)$ est la normale en $A$. Le rayon arrive donc en $B$ avec l'angle $r$ ; il repart avec le même angle $r$ (loi de la réflexion), et le triangle $OBC$ est isocèle de la même façon : il arrive en $C$ avec l'angle $r$. D'après la loi de la réfraction, il ressort avec l'angle $i$.

Étape 2 : on additionne les rotations. On suit la direction du rayon, qui tourne toujours dans le même sens.

  • En $A$, il passe de l'angle $i$ à l'angle $r$ avec la normale : il tourne de $i - r$.
  • En $B$, la réflexion le fait repartir en arrière : il tourne de $180° - 2r$.
  • En $C$, il passe de $r$ à $i$ : il tourne encore de $i - r$.

Étape 3. La déviation totale est la somme :

$$D = (i - r) + (180° - 2r) + (i - r),$$

soit

$$D = 180° + 2i - 4r.$$

La lumière sort donc presque « en arrière » : elle fait avec la direction opposée au Soleil l'angle $\theta = 180° - D = 4r - 2i$. C'est cet angle $\theta$ que voit l'observateur, qui tourne le dos au Soleil.

La figure suit le rayon pour une hauteur $b$ réglable. En gris, des rayons régulièrement espacés ; en rouge pointillé, le rayon particulier qui sort avec le plus grand angle, que l'on appellera le rayon de Descartes.

var opt = {fontSize: 12, useKatex: false, useMathJax: false, parse: false, fixed: true, highlight: false}; var n = 4 / 3; board.create('circle', [[0, 0], 1], {strokeColor: '#0277bd', strokeWidth: 1.5, fillColor: '#b3e5fc', fillOpacity: 0.45, fixed: true, highlight: false}); board.create('point', [0, 0], {name: '', size: 1.5, color: '#455a64', fixed: true, highlight: false, showInfobox: false}); board.create('text', [-2.33, 1.45, 'lumière du Soleil →'], {fontSize: 12, useKatex: false, parse: false, fixed: true, highlight: false, color: '#e65100'}); var cb = board.create('checkbox', [0.55, 1.45, ' '], {fixed: true}); board.create('text', [0.85, 1.45, '2 réflexions'], {fontSize: 12, useKatex: false, parse: false, fixed: true, highlight: false}); var sb = board.create('slider', [[-2.2, -1.85], [-0.55, -1.85], [0.02, 0.5, 0.99]], {withLabel: false, snapWidth: 0.01}); function dot(u, v) { return u[0] * v[0] + u[1] * v[1]; } function refr(d, nr, eta) { var c = -dot(nr, d), k = 1 - eta * eta * (1 - c * c); if (k < 0) { return null; } var a = eta * c - Math.sqrt(k); return [eta * d[0] + a * nr[0], eta * d[1] + a * nr[1]]; } function chemin(b, nb) { var P = [-Math.sqrt(1 - b * b), b], X = [-2.4, P[0]], Y = [b, P[1]]; var d = refr([1, 0], P, 1 / n), k, t, ex, L; for (k = 0; k <= nb; k++) { t = -2 * dot(P, d); P = [P[0] + t * d[0], P[1] + t * d[1]]; X.push(P[0]); Y.push(P[1]); if (k < nb) { var s = 2 * dot(d, P); d = [d[0] - s * P[0], d[1] - s * P[1]]; } } ex = refr(d, [-P[0], -P[1]], n); L = 1.5; while (L > 0.05) { var qx = P[0] + L * ex[0], qy = P[1] + L * ex[1]; if (qy > -1.55 && qy < 1.3 && qx > -2.35 && qx < 2.35) { break; } L = L - 0.05; } X.push(P[0] + L * ex[0]); Y.push(P[1] + L * ex[1]); return {X: X, Y: Y, theta: Math.acos(-ex[0]) * 180 / Math.PI}; } function nref() { return cb.Value() ? 2 : 1; } var gris = []; for (var j = 1; j <= 9; j++) { (function (bb) { var c = board.create('curve', [[0], [0]], {strokeColor: '#90a4ae', strokeWidth: 1, highlight: false}); c.updateDataArray = function () { var p = chemin(bb, nref()); this.dataX = p.X; this.dataY = p.Y; }; })(j / 10); } var cd = board.create('curve', [[0], [0]], {strokeColor: '#c62828', strokeWidth: 1.5, dash: 2, highlight: false}); cd.updateDataArray = function () { var k = nref(), i0 = Math.acos(Math.sqrt((n * n - 1) / (k * k + 2 * k))), p = chemin(Math.sin(i0), k); this.dataX = p.X; this.dataY = p.Y; }; var cr = board.create('curve', [[0], [0]], {strokeColor: '#1565c0', strokeWidth: 2.5, highlight: false}); cr.updateDataArray = function () { var p = chemin(sb.Value(), nref()); this.dataX = p.X; this.dataY = p.Y; }; function f1(x) { return x.toFixed(1).replace('.', ','); } board.create('text', [-0.4, -1.85, function () { return 'b = ' + sb.Value().toFixed(2).replace('.', ','); }], opt); board.create('text', [-2.33, -2.13, function () { var b = sb.Value(), i = Math.asin(b), r = Math.asin(b / n); return 'i = ' + f1(i * 180 / Math.PI) + '° r = ' + f1(r * 180 / Math.PI) + '° angle θ = ' + f1(chemin(b, nref()).theta) + '°'; }], {fontSize: 12, useKatex: false, parse: false, fixed: true, highlight: false, color: '#1565c0'}); Une coupe de goutte (en bleu clair) éclairée par la gauche. Le curseur règle la hauteur $b$ du rayon bleu ; $\theta$ est l'angle entre le rayon qui sort et la direction opposée au Soleil. Les rayons gris sortent tous avec un angle inférieur à celui du rayon de Descartes, en pointillé rouge. La case « 2 réflexions » montre le trajet de l'arc secondaire : les angles sont alors tous supérieurs à celui du rayon de Descartes.
Un tableau de valeurs, comme Descartes

Descartes n'avait pas la dérivée. Il a calculé, à la main, le trajet de rayons entrant à différentes hauteurs, et dressé un tableau. Avec $n = \frac{4}{3}$, on obtient $r$ par $\sin r = \frac{3}{4}\sin i$, puis $D$ :

$i$$r$$D$
$0°$$0°$$180°$
$20°$$14{,}9°$$160{,}6°$
$40°$$28{,}8°$$144{,}7°$
$50°$$35{,}1°$$139{,}7°$
$60°$$40{,}5°$$138{,}0°$
$70°$$44{,}8°$$140{,}8°$
$90°$$48{,}6°$$165{,}6°$

La déviation diminue, puis augmente : elle passe par un minimum autour de $60°$, où elle vaut environ $138°$. Il reste à le démontrer et à trouver exactement où il se trouve.

Le minimum de déviation, par la dérivée

Pour dériver, on mesure les angles en radians : $D(i) = \pi + 2i - 4r(i)$ pour $i \in \left[0 ; \frac{\pi}{2}\right]$, où $r(i)$ est l'angle de $\left[0 ; \frac{\pi}{2}\right]$ tel que $\sin i = n \sin r(i)$. On admet que la fonction $r$ est dérivable (c'est une conséquence d'un théorème sur les fonctions réciproques, hors programme).

La déviation est minimale quand $\cos^2 i = \dfrac{n^2 - 1}{3}$

Étape 1 : la dérivée de $r$. Pour tout $i$, $\sin i = n \sin\big(r(i)\big)$. On dérive les deux membres ; à droite, c'est la dérivée d'une fonction composée $\big(\sin(u)\big)' = u' \cos u$ :

$$\cos i = n\,r'(i)\cos\big(r(i)\big),$$

donc, comme $\cos r > 0$ (car $r < \frac{\pi}{2}$),

$$r'(i) = \frac{\cos i}{n \cos r}.$$

Étape 2 : la dérivée de $D$.

$$D'(i) = 2 - 4\,r'(i) = 2 - \frac{4\cos i}{n\cos r},$$

soit, au même dénominateur,

$$D'(i) = \frac{2\,(n\cos r - 2\cos i)}{n\cos r}.$$

Le dénominateur est positif : $D'(i)$ a le signe de $n\cos r - 2\cos i$.

Étape 3 : on passe aux carrés. Les nombres $n\cos r$ et $2\cos i$ sont positifs, donc leur différence a le même signe que la différence de leurs carrés (car $A^2 - B^2 = (A - B)(A + B)$ avec $A + B > 0$). Or

$$\begin{aligned} n^2\cos^2 r &= n^2 - n^2\sin^2 r \\ &= n^2 - \sin^2 i, \end{aligned}$$

en utilisant $n\sin r = \sin i$. Donc

$$\begin{aligned} &n^2\cos^2 r - 4\cos^2 i \\ &= n^2 - \sin^2 i - 4\cos^2 i, \end{aligned}$$

et, en remplaçant $\sin^2 i$ par $1 - \cos^2 i$,

$$\begin{aligned} &n^2\cos^2 r - 4\cos^2 i \\ &= n^2 - 1 - 3\cos^2 i. \end{aligned}$$

Étape 4 : le signe. Sur $\left[0 ; \frac{\pi}{2}\right]$, la fonction cosinus est positive et décroissante, donc $\cos^2 i$ décroît de $1$ à $0$, et $n^2 - 1 - 3\cos^2 i$ croît de $n^2 - 4$ à $n^2 - 1$. Pour $1 < n < 2$, le premier est négatif et le second positif : l'expression s'annule une seule fois, pour l'angle $i_0$ tel que

$$\cos^2 i_0 = \frac{n^2 - 1}{3}.$$

Étape 5 : conclusion. $D'$ est négative sur $[0 ; i_0[$ et positive sur $\left]i_0 ; \frac{\pi}{2}\right]$ : la déviation $D$ est décroissante puis croissante, et atteint son minimum en $i_0$.

Le calcul pour l'eau. Avec $n = \frac{4}{3}$, $n^2 - 1 = \frac{16}{9} - 1 = \frac{7}{9}$, donc $\cos^2 i_0 = \frac{7}{27}$ et $i_0 \approx 59{,}4°$. Alors $\sin^2 i_0 = \frac{20}{27}$, $\sin r_0 = \frac{3}{4}\sqrt{\frac{20}{27}} \approx 0{,}645$ et $r_0 \approx 40{,}2°$. Finalement

$$\begin{aligned} D_{\min} &= 180° + 2 \times 59{,}4° - 4 \times 40{,}2° \\ &\approx 138{,}0°, \end{aligned}$$

et l'angle de sortie maximal est $\theta_{\max} = 180° - D_{\min} \approx 42{,}0°$. On retrouve l'angle de l'arc-en-ciel.

La figure trace $D$ en fonction de $i$ (en degrés). Le curseur fait varier l'indice $n$ : le minimum se déplace.

var opt = {fontSize: 12, useKatex: false, useMathJax: false, parse: false, fixed: true, highlight: false}; var petit = {fontSize: 11, useKatex: false, parse: false, fixed: true, highlight: false}; var ax = {strokeColor: '#455a64', strokeWidth: 1, fixed: true, highlight: false, lastArrow: true}; board.create('segment', [[0, 120], [94, 120]], ax); board.create('segment', [[0, 120], [0, 189]], ax); for (var t = 30; t <= 90; t += 30) { board.create('segment', [[t, 120], [t, 118]], {strokeColor: '#455a64', fixed: true, highlight: false}); board.create('text', [t - 3, 115, String(t)], petit); } for (var u = 140; u <= 180; u += 20) { board.create('segment', [[0, u], [-1.2, u]], {strokeColor: '#455a64', fixed: true, highlight: false}); board.create('text', [-12, u, String(u)], petit); } board.create('text', [68, 125, 'i (degrés)'], petit); board.create('text', [3, 186, 'D (degrés)'], petit); var sn = board.create('slider', [[3, 106], [52, 106], [1.30, 4 / 3, 1.40]], {withLabel: false}); board.create('text', [56, 106, function () { return 'n = ' + sn.Value().toFixed(3).replace('.', ','); }], opt); function rad(x) { return x * Math.PI / 180; } function D(x) { var r = Math.asin(Math.sin(rad(x)) / sn.Value()); return 180 + 2 * x - 4 * r * 180 / Math.PI; } board.create('functiongraph', [D, 0, 90], {strokeColor: '#1565c0', strokeWidth: 2, highlight: false}); function i0() { var m = sn.Value(); return Math.acos(Math.sqrt((m * m - 1) / 3)) * 180 / Math.PI; } board.create('segment', [[function () { return i0(); }, 120], [function () { return i0(); }, function () { return D(i0()); }]], {strokeColor: '#c62828', dash: 2, fixed: true, highlight: false}); board.create('point', [function () { return i0(); }, function () { return D(i0()); }], {name: '', size: 3, color: '#c62828', fixed: true, highlight: false, showInfobox: false}); board.create('text', [24, 176, function () { return 'minimum : D ≈ ' + D(i0()).toFixed(1).replace('.', ',') + '°'; }], {fontSize: 12, useKatex: false, parse: false, fixed: true, highlight: false, color: '#c62828'}); board.create('text', [24, 169, function () { return 'pour i ≈ ' + i0().toFixed(1).replace('.', ',') + '°, d\'où θ ≈ ' + (180 - D(i0())).toFixed(1).replace('.', ',') + '°'; }], {fontSize: 12, useKatex: false, parse: false, fixed: true, highlight: false, color: '#c62828'}); La déviation $D$ en fonction de l'angle d'incidence $i$, pour un indice $n$ réglable entre $1{,}30$ et $1{,}40$. Le point rouge est le minimum, situé en $i_0$ tel que $\cos^2 i_0 = \frac{n^2 - 1}{3}$. Plus l'indice est grand, plus la déviation minimale est grande, donc plus l'angle $\theta$ de l'arc est petit. Le même travail en Python

Le programme dresse le tableau de Descartes, cherche le minimum par balayage (comme on le ferait sans dérivée), puis le compare à la formule démontrée.

from math import asin, acos, sin, sqrt, degrees, radians n = 4 / 3 def deviation(i_deg): r = asin(sin(radians(i_deg)) / n) return 180 + 2 * i_deg - 4 * degrees(r) print("i D") for i_deg in range(0, 91, 10): print(i_deg, round(deviation(i_deg), 2)) # balayage de 0 à 90 degrés par pas de 0,01 meilleur, i_meilleur = 360, 0 for k in range(9001): i_deg = k / 100 if deviation(i_deg) < meilleur: meilleur, i_meilleur = deviation(i_deg), i_deg print("balayage : D minimale =", round(meilleur, 3), "pour i =", i_meilleur) i0 = degrees(acos(sqrt((n * n - 1) / 3))) print("formule : i0 =", round(i0, 3), "et angle de l'arc =", round(180 - deviation(i0), 3))
Pourquoi un arc lumineux, et pourquoi à 42° La lumière s'accumule au minimum

Une goutte reçoit des rayons à toutes les hauteurs $b$, et les renvoie dans toutes les directions entre $0°$ et $42°$. Pourquoi verrait-on alors une ligne lumineuse, et pas une tache uniforme ?

La réponse tient à la dérivée nulle. Près de $i_0$, on a $D'(i_0) = 0$ : la courbe de $D$ est presque horizontale, donc une large plage de rayons d'entrée ressort avec presque le même angle. Ailleurs, la courbe est pentue, et des rayons voisins sont envoyés dans des directions bien différentes : leur lumière est étalée. Les rayons s'accumulent donc au voisinage de $42°$ : c'est là que la goutte renvoie le plus de lumière.

L'histogramme ci-dessous le montre. On envoie, dans une coupe de la goutte, $4\,000$ rayons régulièrement espacés en hauteur, et l'on compte combien sortent dans chaque tranche de $1°$.

var petit = {fontSize: 11, useKatex: false, parse: false, fixed: true, highlight: false}; var ax = {strokeColor: '#455a64', strokeWidth: 1, fixed: true, highlight: false, lastArrow: true}; board.create('segment', [[0, 0], [46, 0]], ax); board.create('segment', [[0, 0], [0, 14]], ax); for (var t = 10; t <= 40; t += 10) { board.create('segment', [[t, 0], [t, -0.3]], {strokeColor: '#455a64', fixed: true, highlight: false}); board.create('text', [t - 1.5, -1.1, String(t) + '°'], petit); } for (var u = 4; u <= 12; u += 4) { board.create('segment', [[0, u], [-0.6, u]], {strokeColor: '#455a64', fixed: true, highlight: false}); board.create('text', [-5.5, u, u + ' %'], petit); } var n = 4 / 3, N = 4000, bins = [], k; var c0 = Math.sqrt((n * n - 1) / 3), i0 = Math.acos(c0), r0 = Math.asin(Math.sin(i0) / n); var tmax = 4 * r0 * 180 / Math.PI - 2 * i0 * 180 / Math.PI; for (k = 0; k < 46; k++) { bins.push(0); } for (k = 0; k < N; k++) { var b = (k + 0.5) / N, i = Math.asin(b), r = Math.asin(b / n); var th = 4 * r * 180 / Math.PI - 2 * i * 180 / Math.PI; bins[Math.floor(tmax - th)] += 1; } for (k = 0; k < 46; k++) { var h = 100 * bins[k] / N; if (h > 0) { board.create('polygon', [[tmax - k - 1, 0], [tmax - k, 0], [tmax - k, h], [tmax - k - 1, h]], {fillColor: k === 0 ? '#c62828' : '#1565c0', fillOpacity: 0.7, borders: {strokeColor: '#fff', strokeWidth: 0.5}, vertices: {visible: false}, fixed: true, highlight: false}); } } board.create('text', [3, 12.3, 'dernier degré avant 42° : ' + (100 * bins[0] / N).toFixed(1).replace('.', ',') + ' %'], {fontSize: 12, useKatex: false, parse: false, fixed: true, highlight: false, color: '#c62828'}); board.create('text', [29, -2.4, 'angle θ de sortie'], petit); Pourcentage des $4\,000$ rayons qui sortent dans chaque tranche d'un degré. Les tranches sont comptées à partir de l'angle maximal $\theta_{\max} \approx 42{,}03°$. Loin de ce maximum, chaque tranche reçoit moins de $2\,\%$ des rayons ; le dernier degré avant le maximum en reçoit $12\,\%$, et aucun rayon ne le dépasse. (Modèle plan simplifié : dans la goutte réelle en trois dimensions, l'effet est le même.)
Un cône de 42° autour de l'ombre de votre tête

Toutes les gouttes renvoient leur maximum de lumière à $42°$ de la direction des rayons du Soleil. Pour un observateur placé en $O$, notons $\vec{u}$ le vecteur unitaire qui pointe à l'opposé du Soleil (vers l'ombre de sa tête). Une goutte située en $M$ lui paraît brillante si le rayon qui va de $M$ vers $O$ fait l'angle de $42°$ avec les rayons solaires, c'est-à-dire si

$$\vec{u} \cdot \frac{\overrightarrow{OM}}{OM} = \cos 42°.$$

L'ensemble de ces points $M$ est un cône de révolution de sommet $O$, d'axe la droite passant par le Soleil et par l'observateur, et de demi-angle au sommet $42°$. Le ciel découpe ce cône selon un cercle centré sur le point opposé au Soleil : c'est l'arc-en-ciel. Il n'est pas « posé » quelque part : chaque observateur voit le sien, formé par d'autres gouttes, et il recule quand on avance. Deux yeux voient même deux arcs légèrement différents.

Le sol cache la partie inférieure du cercle. Si le Soleil est à la hauteur $h$ au-dessus de l'horizon, le point opposé est à $h$ sous l'horizon, et le sommet de l'arc est à la hauteur $42° - h$. D'un avion ou d'une montagne, avec des gouttes sous soi, on peut voir le cercle complet.

Les couleurs

L'indice de réfraction de l'eau dépend un peu de la couleur de la lumière : il vaut environ $1{,}331$ pour le rouge et $1{,}343$ pour le violet. C'est la dispersion. La lumière du Soleil, blanche, est un mélange de toutes les couleurs ; chacune a son propre minimum de déviation. En appliquant la formule démontrée à chaque indice :

couleurindice $n$$i_0$angle de l'arc
rouge$1{,}331$$59{,}5°$$42{,}4°$
violet$1{,}343$$58{,}8°$$40{,}6°$

Le rouge forme un cercle un peu plus grand que le violet : dans l'arc principal, le rouge est à l'extérieur, le violet à l'intérieur, et les autres couleurs entre les deux. L'arc a une largeur d'environ $2°$, soit quatre fois le diamètre apparent du Soleil (qui étale encore un peu chaque couleur). La figure de la section précédente le montre : en augmentant l'indice, l'angle de l'arc diminue.

Que la lumière blanche soit composée de couleurs inégalement réfractées, c'est Isaac Newton qui l'établit, avec ses expériences du prisme (lettre à la Royal Society en 1672, puis l'Opticks en 1704). Descartes avait vu que les couleurs venaient de la réfraction, et observé un prisme, mais son explication des couleurs reposait sur une rotation imaginaire des particules de lumière.

L'arc secondaire et la bande d'Alexandre Un double arc-en-ciel au-dessus d'un paysage : l'arc intérieur, vif, a le rouge à l'extérieur ; l'arc extérieur, plus pâle, a les couleurs inversées ; le ciel entre les deux arcs est nettement plus sombre. Un double arc-en-ciel à Sandomierz (Pologne), en 2018. Entre les deux arcs, la bande d'Alexandre, plus sombre. Photo Olga Aleksandra, CC BY 4.0, Wikimedia Commons.

Certains rayons se réfléchissent deux fois dans la goutte avant de sortir (case « 2 réflexions » de la première figure). Le même raisonnement donne une rotation supplémentaire de $180° - 2r$, donc

$$\begin{aligned} D_2 &= 2(i - r) + 2(180° - 2r) \\ &= 360° + 2i - 6r. \end{aligned}$$

Le rayon a tourné de plus d'un demi-tour : il revient vers l'observateur de l'autre côté, avec l'angle $\theta_2 = D_2 - 180°$ par rapport à la direction opposée au Soleil.

Le minimum de $D_2$ et l'arc à 51°

Étape 1. Avec la même dérivée $r'(i) = \frac{\cos i}{n\cos r}$, on obtient $D_2'(i) = 2 - 6\,r'(i)$, qui a le signe de $n\cos r - 3\cos i$.

Étape 2. Comme précédemment, on compare les carrés :

$$\begin{aligned} &n^2\cos^2 r - 9\cos^2 i \\ &= n^2 - 1 - 8\cos^2 i. \end{aligned}$$

Étape 3. Cette expression croît de $n^2 - 9 < 0$ à $n^2 - 1 > 0$ : $D_2$ est minimale pour $\cos^2 i = \frac{n^2 - 1}{8}$. Avec $n = \frac{4}{3}$, on trouve $i \approx 71{,}8°$, $D_2 \approx 231°$ et $\theta_2 \approx 51°$.

Cette fois, les angles de sortie sont tous supérieurs à $51°$, et la lumière s'accumule à ce minimum. Pour le rouge, $\theta_2 \approx 50{,}4°$, pour le violet $\theta_2 \approx 53{,}5°$ : le rouge est à l'intérieur de l'arc secondaire, l'ordre des couleurs est inversé. L'arc secondaire est plus pâle, car à chaque réflexion une partie de la lumière ressort de la goutte et est perdue ; il est aussi plus large.

Entre les deux arcs, aucune goutte ne renvoie de lumière ayant subi une ou deux réflexions : les rayons d'une réflexion sortent sous $42°$, ceux de deux réflexions au-delà de $51°$. Cette zone est plus sombre que le reste du ciel : c'est la bande d'Alexandre, du nom d'Alexandre d'Aphrodise, qui la décrivit vers l'an 200. À l'inverse, l'intérieur de l'arc principal est plus clair que le ciel extérieur.

De Thierry de Freiberg à Newton Les gouttes, pas le nuage

Aristote pensait que l'arc était un reflet du Soleil sur le nuage tout entier. Au début du XIVe siècle, vers 1304-1310, le moine dominicain Thierry de Freiberg change d'échelle : chaque goutte agit séparément. Pour le vérifier, il remplit d'eau des boules de verre, qui jouent le rôle de gouttes géantes, et suit la lumière qui en sort. Il comprend que l'arc principal vient de deux réfractions et d'une réflexion, et l'arc secondaire de deux réfractions et de deux réflexions. À la même époque, au Caire, Kamāl al-Dīn al-Fārisī arrive à la même explication, à partir de l'Optique d'Ibn al-Haytham.

Page de manuscrit médiéval en latin avec des schémas de cercles représentant des gouttes et des tracés de rayons. Schémas de rayons dans des gouttes, dans un manuscrit du De iride de Thierry de Freiberg (XIVe siècle, Bâle, F. IV.30). Domaine public, Wikimedia Commons.

Il manquait encore l'essentiel : pourquoi précisément $42°$ ? Sans loi quantitative de la réfraction, aucun calcul n'était possible.

Descartes, 1637 Gravure ancienne : une grosse goutte au premier plan avec les rayons du Soleil qui y entrent et en ressortent, un observateur à gauche en bas, et les deux arcs dessinés dans le ciel. La figure de Descartes dans Les Météores (1637) : les rayons qui sortent des gouttes vers l'œil de l'observateur forment les deux arcs. Domaine public, Wikimedia Commons.

Les Météores paraissent en 1637, avec La Dioptrique et La Géométrie, à la suite du Discours de la méthode : ces trois traités doivent montrer l'efficacité de la méthode. Le huitième discours des Météores est consacré à l'arc-en-ciel. Descartes observe une grosse boule de verre pleine d'eau, qu'il déplace devant ses yeux : elle s'illumine en rouge quand elle est à environ $42°$ de la direction opposée au Soleil, puis de nouveau vers $52°$.

Puis il calcule. Il prend pour l'eau le rapport de réfraction $\frac{250}{187}$ (environ $1{,}337$), découpe le rayon de la goutte en $10\,000$ parts, et suit des rayons entrant aux hauteurs $1\,000$, $2\,000$, etc. Il constate que les angles de sortie croissent puis décroissent, avec un maximum d'environ $41°30'$ pour l'arc principal, et un minimum d'environ $51°54'$ pour l'arc secondaire. Avec son indice, le calcul par la dérivée donne $41{,}5°$ et $51{,}9°$ : ses tables étaient justes. Il a compris aussi que ce sont les rayons voisins de l'extremum qui, en s'accumulant, font l'éclat de l'arc.

Après Descartes

Newton explique les couleurs (1672, 1704) et calcule les angles de chaque couleur. Au début du XIXe siècle, Thomas Young montre que les petits arcs pâles parfois visibles sous l'arc principal, les arcs « surnuméraires », ne s'expliquent qu'en traitant la lumière comme une onde : les rayons ne suffisent plus. L'arc-en-ciel a ainsi servi trois fois de test aux théories de la lumière.

Où chercher un arc-en-ciel Les limites du modèle Des directions pour construire sa question

Ce texte n'est pas un Grand Oral. Il rassemble des connaissances dans lesquelles chacun peut choisir une direction, la creuser et formuler sa propre question. Quelques directions possibles :

Pour l'échange avec le jury : les notions du cours à maîtriser

Le jury peut interroger sur les chapitres de spécialité mobilisés. Avec ce thème, il est utile de connaître parfaitement : les fonctions sinus et cosinus (valeurs remarquables, variations, $\cos^2 x + \sin^2 x = 1$) ; la dérivation, en particulier la dérivée d'une fonction composée ; l'étude du signe de la dérivée et le tableau de variations ; le produit scalaire dans l'espace et les angles ; les boucles en Python.

Pour réviser ces chapitres, l'application Maths FlashBac reprend tout le cours de spécialité en cartes.

Pour aller plus loin