Construire un cadran solaire Grand Oral · mathématiques, physique-chimie, HGGSP Un support de connaissances pour construire sa propre question

← Tous les textes du Grand Oral

MathsPCHGGSP

Un cadran solaire semble être l'objet le plus simple du monde : une tige, son ombre, des traits. Pourtant, si l'on plante un bâton vertical et que l'on trace les heures un jour de juin, le cadran est faux en décembre. Pour qu'il donne la bonne heure toute l'année, il faut répondre à trois questions de géométrie dans l'espace : dans quelle direction placer la tige, quel plan contient son ombre, et où ce plan coupe-t-il la surface du cadran ?

Ce texte construit un cadran pas à pas, avec les outils du programme de terminale : repère de l'espace, vecteurs, produit scalaire, équation cartésienne d'un plan, trigonométrie. Il complète le texte La mesure du temps, qui présente les cadrans et l'équation du temps : ici, on démontre et on construit. Il rassemble des connaissances ; à chacun d'y choisir une direction et d'y construire sa question.

Sommaire
  1. Le style : parallèle à l'axe de la Terre
  2. Le Soleil dans un repère de l'espace
  3. Le cadran horizontal : la formule démontrée
  4. Cadrans vertical et équatorial
  5. Construire le sien
  6. Des cadrans géants : Bologne et Jaipur
  7. De l'heure du cadran à l'heure de la montre
  8. Calculer l'équation du temps : Kepler et Newton
  9. Des directions pour construire sa question
Le style : parallèle à l'axe de la Terre Cadran solaire horizontal en bronze posé sur un socle de pierre : une plaque triangulaire dressée au-dessus du disque gradué projette une ombre nette sur les chiffres. Un cadran horizontal : le bord incliné de la plaque triangulaire est le style, et son ombre indique l'heure. Photo : AndyScott, jardins de Wakehurst, Wikimedia Commons, domaine public (CC0). Le ciel tourne autour d'un axe

La Terre tourne sur elle-même autour de l'axe des pôles. Vu de la Terre, c'est le ciel tout entier, Soleil compris, qui semble tourner autour de cet axe, de $\dfrac{360°}{24} = 15°$ par heure. Dans l'hémisphère Nord, cet axe pointe à très peu près vers l'étoile Polaire : c'est l'axe du monde.

Le Soleil ne décrit pas tout à fait le même cercle chaque jour : au fil de l'année, il monte plus ou moins haut. Sa hauteur au-dessus de l'équateur céleste s'appelle la déclinaison, notée $\delta$ ; elle varie d'environ $-23{,}4°$ au solstice d'hiver à $+23{,}4°$ au solstice d'été, et vaut $0°$ aux équinoxes. Mais quelle que soit la saison, le Soleil tourne autour du même axe, à la même vitesse.

D'où l'idée qui fait tout le cadran solaire moderne : placer la tige, appelée style, parallèlement à l'axe du monde. Le Soleil tourne alors autour du style lui-même, et l'ombre du style tourne avec lui. On démontrera plus bas que, grâce à ce choix, la direction de l'ombre à une heure donnée ne dépend plus de la date.

Le contre-exemple du bâton vertical

Avec un bâton vertical (un gnomon, comme dans l'Antiquité), la direction de l'ombre à une heure donnée change avec les saisons. Le calcul (fait avec le modèle de la partie suivante) donne, à Paris, à $15$ h de temps solaire, l'angle entre l'ombre et la direction du nord :

date21 juinéquinoxes21 décembre
bâton vertical$71°$$53°$$41°$
style incliné$37°$$37°$$37°$

Un trait tracé pour « $15$ h » avec le bâton vertical serait faux de $30°$ d'une saison à l'autre. C'est pourquoi les cadrans antiques avaient des lignes courbes, différentes selon les mois, et donnaient des heures inégales : le style parallèle à l'axe du monde ne se répand en Europe qu'à partir du XVe siècle environ.

Le style fait avec l'horizontale un angle égal à la latitude

Plaçons-nous dans le plan qui contient l'axe de la Terre et le lieu $A$ du cadran (le plan du méridien). Dans un repère du plan centré au centre de la Terre, l'axe des pôles a pour vecteur directeur $\vec k\begin{pmatrix}0\\1\end{pmatrix}$ et le lieu $A$, de latitude $\varphi$, a pour coordonnées $(\cos\varphi\,;\sin\varphi)$ sur une Terre de rayon $1$.

var txt = {fontSize: 12, useKatex: false, parse: false, fixed: true, highlight: false}; var sp = board.create('slider', [[0.2, -1.15], [1.25, -1.15], [20, 48.8, 70]], {withLabel: false, snapWidth: 0.1}); function f() { return sp.Value() * Math.PI / 180; } board.create('circle', [[0, 0], 1], {strokeColor: '#1565c0', strokeWidth: 1.5, fixed: true, highlight: false, fillColor: '#e3f2fd', fillOpacity: 0.5}); board.create('segment', [[0, -1.15], [0, 1.45]], {strokeColor: '#455a64', dash: 2, fixed: true, highlight: false}); board.create('segment', [[-1.15, 0], [1.15, 0]], {strokeColor: '#455a64', dash: 2, fixed: true, highlight: false}); board.create('text', [-0.92, -0.14, 'équateur'], txt); var C = board.create('point', [0, 0], {name: '', size: 1, color: '#455a64', fixed: true, highlight: false, showInfobox: false}); var E = board.create('point', [1, 0], {visible: false, fixed: true}); var A = board.create('point', [function () { return Math.cos(f()); }, function () { return Math.sin(f()); }], {name: '', size: 3, color: '#c62828', fixed: true, highlight: false, showInfobox: false}); board.create('segment', [C, A], {strokeColor: '#455a64', strokeWidth: 1, fixed: true, highlight: false}); var H1 = board.create('point', [function () { return A.X() - 0.9 * Math.sin(f()); }, function () { return A.Y() + 0.9 * Math.cos(f()); }], {visible: false}); var H2 = board.create('point', [function () { return A.X() + 0.9 * Math.sin(f()); }, function () { return A.Y() - 0.9 * Math.cos(f()); }], {visible: false}); board.create('segment', [H1, H2], {strokeColor: '#2e7d32', strokeWidth: 2, fixed: true, highlight: false}); var P = board.create('point', [function () { return A.X(); }, function () { return A.Y() + 1.05; }], {visible: false}); board.create('arrow', [A, P], {strokeColor: '#c62828', strokeWidth: 2.5, fixed: true, highlight: false}); board.create('text', [function () { return A.X() - 0.5; }, function () { return A.Y() + 1.17; }, 'vers la Polaire'], Object.assign({}, txt, {strokeColor: '#c62828'})); board.create('text', [function () { return H2.X() + 0.05; }, function () { return H2.Y() - 0.06; }, 'horizon'], Object.assign({}, txt, {strokeColor: '#2e7d32'})); board.create('text', [function () { return A.X() + 0.2 * Math.cos(f() - Math.PI / 4); }, function () { return A.Y() + 0.2 * Math.sin(f() - Math.PI / 4); }, 'lieu A'], txt); board.create('angle', [E, C, A], {name: 'φ', radius: 0.3, fillColor: '#ffcc80', strokeColor: '#ef6c00', fixed: true, highlight: false, label: {useKatex: false, parse: false, fontSize: 12}}); board.create('angle', [P, A, H1], {name: 'φ', radius: 0.28, fillColor: '#ffcc80', strokeColor: '#ef6c00', fixed: true, highlight: false, label: {useKatex: false, parse: false, fontSize: 12}}); board.create('text', [1.45, -1.15, function () { return 'φ = ' + sp.Value().toFixed(1).replace('.', ',') + '°'; }], txt); Coupe de la Terre dans le plan du méridien, avec en pointillés l'axe des pôles et l'équateur. En vert, l'horizon du lieu $A$ ; en rouge, la direction de l'étoile Polaire, parallèle à l'axe des pôles. L'angle entre l'horizon et cette direction est égal à la latitude $\varphi$ (curseur). L'angle entre l'horizon et l'axe du monde vaut $\varphi$

Étape 1 : un vecteur directeur de l'horizon. L'horizon de $A$ est la tangente au cercle en $A$ : il est perpendiculaire au rayon, de vecteur directeur $\overrightarrow{CA}\begin{pmatrix}\cos\varphi\\ \sin\varphi\end{pmatrix}$. Le vecteur $\vec t\begin{pmatrix}-\sin\varphi\\ \cos\varphi\end{pmatrix}$ convient, car

$$\begin{aligned}\overrightarrow{CA}\cdot\vec t &= -\cos\varphi\sin\varphi + \sin\varphi\cos\varphi\\ &= 0.\end{aligned}$$

Il pointe vers le nord.

Étape 2 : le produit scalaire. Les vecteurs $\vec t$ et $\vec k$ sont de norme $1$, donc le cosinus de l'angle $\theta$ qu'ils forment vaut

$$\begin{aligned}\cos\theta &= \vec t\cdot\vec k\\ &= (-\sin\varphi)\times 0 + \cos\varphi\times 1\\ &= \cos\varphi.\end{aligned}$$

Étape 3. Les deux angles sont entre $0°$ et $90°$, donc $\theta = \varphi$. L'axe du monde fait avec l'horizon un angle égal à la latitude : à Paris ($\varphi \approx 48{,}8°$), l'étoile Polaire est à environ $49°$ au-dessus de l'horizon, et le style d'un cadran horizontal doit être incliné de $49°$, dans le plan du méridien, vers le nord.

Les marins utilisaient cette propriété à l'envers : mesurer la hauteur de l'étoile Polaire au-dessus de l'horizon donne la latitude du navire.

Le Soleil dans un repère de l'espace Le repère

Plaçons l'origine $O$ au pied du style et choisissons un repère orthonormé de l'espace $(O\,;\vec\imath,\vec\jmath,\vec k)$ :

  • $\vec\imath$ horizontal, dirigé vers l'est ;
  • $\vec\jmath$ horizontal, dirigé vers le nord ;
  • $\vec k$ vertical, dirigé vers le haut.

D'après la partie précédente, l'axe du monde est dans le plan vertical nord-sud et fait l'angle $\varphi$ avec l'horizontale. Un vecteur directeur unitaire de cet axe, donc du style, est

$$\vec u\begin{pmatrix}0\\ \cos\varphi\\ \sin\varphi\end{pmatrix}.$$

Introduisons deux autres vecteurs unitaires :

  • $\vec w\begin{pmatrix}0\\ -\sin\varphi\\ \cos\varphi\end{pmatrix}$, dans le plan du méridien, du côté sud : c'est la direction du Soleil à midi le jour de l'équinoxe ;
  • $\vec v\begin{pmatrix}-1\\ 0\\ 0\end{pmatrix}$, horizontal, dirigé vers l'ouest.

On vérifie que ces trois vecteurs sont deux à deux orthogonaux. Par exemple,

$$\begin{aligned}\vec u\cdot\vec w &= 0 - \cos\varphi\sin\varphi + \sin\varphi\cos\varphi\\ &= 0,\end{aligned}$$

et $\vec v$ est orthogonal aux deux autres car leur première coordonnée est nulle.

Où est le Soleil ?

Repérons l'heure par l'angle horaire $H$ : $H = 0°$ au midi solaire, et $H$ augmente de $15°$ par heure ($H = 45°$ à $15$ h, $H = -45°$ à $9$ h, en heure solaire). On admet que la direction du Soleil est donnée par le vecteur unitaire

$$\vec s = \cos\delta\,\big(\cos H\,\vec w + \sin H\,\vec v\big) + \sin\delta\,\vec u.$$

Cette formule traduit ce qui précède : le vecteur $\vec d_H = \cos H\,\vec w + \sin H\,\vec v$ tourne autour de l'axe $\vec u$ de $15°$ par heure, et la déclinaison $\delta$ incline le Soleil vers le nord en été, vers le sud en hiver. En calculant les coordonnées :

$$\vec d_H\begin{pmatrix}-\sin H\\ -\cos H\sin\varphi\\ \cos H\cos\varphi\end{pmatrix}.$$

et la troisième coordonnée de $\vec s$, qui est le sinus de la hauteur $h$ du Soleil au-dessus de l'horizon, vaut

$$\sin h = \cos\delta\cos H\cos\varphi + \sin\delta\sin\varphi.$$

Un exemple à la main : la hauteur du Soleil à midi. Pour $H = 0$, on reconnaît la formule d'addition :

$$\begin{aligned}\sin h &= \cos\varphi\cos\delta + \sin\varphi\sin\delta\\ &= \cos(\varphi - \delta),\end{aligned}$$

donc $h = 90° - \varphi + \delta$ (car $\cos(\varphi-\delta) = \sin(90° - \varphi + \delta)$). À Paris ($\varphi = 48{,}83°$), le Soleil culmine à

  • $90 - 48{,}83 + 23{,}44 \approx 64{,}6°$ au solstice d'été ;
  • $90 - 48{,}83 \approx 41{,}2°$ aux équinoxes ;
  • $90 - 48{,}83 - 23{,}44 \approx 17{,}7°$ au solstice d'hiver.

Cette formule servira plus bas pour la méridienne de Bologne.

Le cadran horizontal : la formule démontrée Le plan horaire

Le style est la droite passant par $O$ et dirigée par $\vec u$. Les rayons du Soleil qui frôlent le style sont parallèles à $\vec s$ : l'ombre du style est donc contenue dans le plan passant par $O$ et dirigé par $\vec u$ et $\vec s$. Appelons-le le plan horaire. L'ombre sur le cadran est l'intersection de ce plan avec la surface du cadran. Tout repose sur le résultat suivant.

Le plan horaire ne dépend que de l'heure, pas de la date

Soit $\mathcal P_H$ le plan passant par $O$ et de vecteur normal

$$\vec n\begin{pmatrix}\cos H\\ -\sin H\sin\varphi\\ \sin H\cos\varphi\end{pmatrix}.$$

Étape 1 : $\vec n$ est orthogonal à $\vec u$.

Les produits des coordonnées sont $0$, $-\sin H\sin\varphi\cos\varphi$ et $\sin H\cos\varphi\sin\varphi$ : leur somme est nulle, donc $\vec n\cdot\vec u = 0$.

Étape 2 : $\vec n$ est orthogonal à $\vec d_H$. Calculons les trois produits des coordonnées :

  • premières coordonnées : $\cos H \times (-\sin H)$ $= -\sin H\cos H$ ;
  • deuxièmes : le produit de $-\sin H\sin\varphi$ par $-\cos H\sin\varphi$, qui vaut $\sin H\cos H\sin^2\varphi$ ;
  • troisièmes : $\sin H\cos\varphi \times \cos H\cos\varphi$ $= \sin H\cos H\cos^2\varphi$.

Les deux derniers ont pour somme

$$\begin{aligned}\sin H\cos H\,(\sin^2\varphi + \cos^2\varphi)\\ = \sin H\cos H,\end{aligned}$$

qui compense le premier : $\vec n\cdot\vec d_H = 0$.

Étape 3 : $\vec n$ est orthogonal à $\vec s$, quelle que soit la date. Par linéarité du produit scalaire,

$$\begin{aligned}\vec n\cdot\vec s &= \cos\delta\,(\vec n\cdot\vec d_H) + \sin\delta\,(\vec n\cdot\vec u)\\ &= 0.\end{aligned}$$

Conclusion. Le plan passant par $O$ dirigé par $\vec u$ et $\vec s$ est le plan $\mathcal P_H$, qui ne fait pas intervenir $\delta$ : à une heure donnée, l'ombre du style est dans le même plan tous les jours de l'année. Une équation cartésienne de $\mathcal P_H$ s'écrit avec les coordonnées de $\vec n$ :

$$ax + by + cz = 0,$$

avec $a = \cos H$, $b = -\sin H\sin\varphi$ et $c = \sin H\cos\varphi$.

Avec un bâton vertical, le plan qui contient l'ombre est dirigé par $\vec k$ et $\vec s$, et le même calcul échoue : il dépend de $\delta$. C'est exactement le contre-exemple du tableau de la première partie.

L'intersection avec le sol

Le cadran horizontal est le plan d'équation $z = 0$. Sa droite d'intersection avec $\mathcal P_H$ est formée des points $M(x\,;y\,;0)$ tels que

$$x\cos H = y\sin H\sin\varphi.$$

Le point de coordonnées $(\sin\varphi\sin H\,;\cos H\,;0)$ vérifie cette égalité, et c'est un point différent de $O$ : la ligne horaire est la droite passant par $O$ et dirigée par

$$\vec \ell_H\begin{pmatrix}\sin\varphi\sin H\\ \cos H\\ 0\end{pmatrix}.$$

La ligne de midi ($H = 0$) est dirigée par $\vec\jmath$ : c'est la droite nord-sud, la méridienne. Pour $0° < H < 90°$, les deux premières coordonnées de $\vec\ell_H$ sont positives, et l'angle $H'$ entre la ligne de midi et la ligne horaire se lit dans un triangle rectangle :

$$\tan H' = \frac{\sin\varphi\sin H}{\cos H} = \sin\varphi\,\tan H.$$ La formule du cadran horizontal

Sur un cadran horizontal à la latitude $\varphi$, la ligne de l'heure d'angle horaire $H$ fait avec la méridienne un angle $H'$ tel que $\tan H' = \sin\varphi \tan H$. Le style, dans le plan du méridien, fait l'angle $\varphi$ avec le sol.

Un exemple à la main : $15$ h à Paris. $H = 3\times 15° = 45°$, donc $\tan H = 1$ et $\tan H' = \sin 48{,}83° \approx 0{,}753$. La calculatrice donne $H' \approx 37°$ : la ligne de $15$ h est tracée à $37°$ de la méridienne, et non à $45°$. Le tableau complet :

heure$12$ h$13$ h$14$ h$15$ h$16$ h$17$ h$18$ h
$H$$0°$$15°$$30°$$45°$$60°$$75°$$90°$
$H'$$0°$$11{,}4°$$23{,}5°$$37{,}0°$$52{,}5°$$70{,}4°$$90°$

Les lignes se resserrent autour de midi et s'écartent vers $6$ h et $18$ h, qui sont sur la droite est-ouest. Les heures du matin sont symétriques : changer $H$ en $-H$ change $H'$ en $-H'$, car la fonction tangente est impaire.

Deux cas limites. Au pôle Nord ($\varphi = 90°$), $\tan H' = \tan H$ : le style est vertical et les heures sont espacées de $15°$ exactement. À l'équateur ($\varphi = 0°$), toutes les lignes seraient confondues avec la méridienne : le style est couché sur le sol, et un cadran horizontal n'a plus de sens (on y construit des cadrans d'un autre type).

var txt = {fontSize: 12, useKatex: false, parse: false, fixed: true, highlight: false}; var sh = board.create('slider', [[-4.6, -4.6], [0.4, -4.6], [6, 15, 18]], {withLabel: false, snapWidth: 0.25}); var sd = board.create('slider', [[-4.6, -5.5], [0.4, -5.5], [-23.44, 0, 23.44]], {withLabel: false, snapWidth: 0.02}); var sp = board.create('slider', [[-4.6, -6.4], [0.4, -6.4], [30, 48.8, 65]], {withLabel: false, snapWidth: 0.1}); var L = 2.2; function rad(a) { return a * Math.PI / 180; } function sun() { var f = rad(sp.Value()), H = rad((sh.Value() - 12) * 15), d = rad(sd.Value()); return [-Math.cos(d) * Math.sin(H), -Math.cos(d) * Math.cos(H) * Math.sin(f) + Math.sin(d) * Math.cos(f), Math.cos(d) * Math.cos(H) * Math.cos(f) + Math.sin(d) * Math.sin(f)]; } function clip(x, y, m) { var r = Math.sqrt(x * x + y * y); if (r > m) { x = x * m / r; y = y * m / r; } return [x, y]; } function ligne(t) { var H = rad((t - 12) * 15), f = rad(sp.Value()); var x = Math.sin(f) * Math.sin(H), y = Math.cos(H), r = Math.sqrt(x * x + y * y); return [x / r, y / r]; } for (var t = 6; t <= 18; t++) { (function (t) { board.create('segment', [[0, 0], [function () { return 3.9 * ligne(t)[0]; }, function () { return 3.9 * ligne(t)[1]; }]], {strokeColor: '#90a4ae', strokeWidth: 1, fixed: true, highlight: false}); board.create('text', [function () { return 4.45 * ligne(t)[0]; }, function () { return 4.45 * ligne(t)[1]; }, String(t)], Object.assign({}, txt, {anchorX: 'middle', anchorY: 'middle', fontSize: 11})); })(t); } board.create('segment', [[0, 0], [0, function () { return L * Math.cos(rad(sp.Value())); }]], {strokeColor: '#616161', strokeWidth: 5, fixed: true, highlight: false}); function ombreStyle() { var s = sun(); if (s[2] <= 0.02) { return [0, 0]; } var f = rad(sp.Value()); return clip(-L * Math.sin(f) * s[0] / s[2], L * Math.cos(f) - L * Math.sin(f) * s[1] / s[2], 3.6); } function ombreBaton() { var s = sun(); if (s[2] <= 0.02) { return [0, 0]; } var hb = L * Math.sin(rad(sp.Value())); return clip(-hb * s[0] / s[2], -hb * s[1] / s[2], 3.6); } board.create('segment', [[0, 0], [function () { return ombreBaton()[0]; }, function () { return ombreBaton()[1]; }]], {strokeColor: '#ef6c00', strokeWidth: 3, dash: 2, fixed: true, highlight: false}); board.create('segment', [[0, 0], [function () { return ombreStyle()[0]; }, function () { return ombreStyle()[1]; }]], {strokeColor: '#212121', strokeWidth: 4, fixed: true, highlight: false}); board.create('point', [0, 0], {name: '', size: 3, color: '#c62828', fixed: true, highlight: false, showInfobox: false}); board.create('text', [-5.0, -3.95, function () { var s = sun(); if (s[2] <= 0.02) { return 'Soleil sous l\'horizon'; } return 'hauteur du Soleil : ' + Math.round(Math.asin(s[2]) * 180 / Math.PI) + '°'; }], txt); board.create('text', [0.75, -4.6, function () { var v = sh.Value(), h = Math.floor(v), m = Math.round((v - h) * 60); return h + ' h ' + (m < 10 ? '0' : '') + m + ' solaire'; }], txt); board.create('text', [0.75, -5.5, function () { return 'δ = ' + sd.Value().toFixed(1).replace('.', ',').replace('-', '−') + '°'; }], txt); board.create('text', [0.75, -6.4, function () { return 'latitude ' + sp.Value().toFixed(1).replace('.', ',') + '°'; }], txt); Un cadran horizontal vu de dessus (le nord en haut). Le style (gris épais) est sur la méridienne ; son ombre (noir) suit toujours la ligne de l'heure. En orange pointillé, l'ombre d'un bâton vertical de même hauteur planté au même endroit : changez la déclinaison $\delta$ (de l'hiver à l'été) à heure fixe, elle tourne, l'ombre du style non. Les curseurs règlent l'heure solaire, la déclinaison et la latitude.
Cadrans vertical et équatorial

Le plan horaire $\mathcal P_H$ ne dépend pas de la surface du cadran. Pour un autre cadran, il suffit de changer le plan avec lequel on le coupe : c'est tout l'intérêt de la méthode.

Le cadran vertical sur un mur plein sud Cadran solaire peint sur un mur blanc : un cartouche décoré entoure des lignes horaires qui rayonnent depuis le pied d'une tige métallique, avec des chiffres romains de six à six. Le cadran vertical de l'église Saint-Jean-l'Évangéliste à Kilstett (Bas-Rhin) : les lignes partent du pied du style et se resserrent autour de midi (XII, en bas). Photo : Didivo67, Wikimedia Commons, licence CC BY-SA 4.0.

Un mur tourné plein sud est le plan d'équation $y = 0$ (il contient $\vec\imath$ et $\vec k$). Son intersection avec $\mathcal P_H$ est formée des points $M(x\,;0\,;z)$ tels que $x\cos H + z\sin H\cos\varphi = 0$. Le point $(\cos\varphi\sin H\,;0\,;-\cos H)$ convient : la ligne horaire descend depuis le pied du style, et l'angle $H''$ qu'elle fait avec la verticale vérifie

$$\tan H'' = \cos\varphi\,\tan H.$$

À Paris, pour $15$ h : $\tan H'' = \cos 48{,}83° \approx 0{,}658$, soit $H'' \approx 33{,}4°$. C'est la formule du texte La mesure du temps, obtenue ici d'une autre façon. Sur le mur, le style sort vers le sud en descendant, et fait avec la verticale un angle de $90° - \varphi$.

Un cadran vertical plein sud ne fonctionne que de $6$ h à $18$ h : en été, le Soleil se lève au nord-est et passe derrière le mur le matin et le soir. Un mur qui ne fait pas face au sud porte un cadran déclinant : le calcul est le même, avec un plan de mur tourné d'un certain angle, et les lignes ne sont plus symétriques.

Le cadran équatorial : $15°$ par heure exactement Cadran solaire de pierre en forme d'anneau incliné posé sur un socle circulaire dans un parc ; une tige traverse le centre de l'anneau gradué. Le cadran équatorial de Saint-Priest (Rhône) : la table est parallèle à l'équateur, le style la traverse perpendiculairement. Photo : Benoît Prieur, Wikimedia Commons, domaine public (CC0).

Si la table du cadran est perpendiculaire au style, c'est le plan de vecteur normal $\vec u$, parallèle à l'équateur. Or $\vec d_H\cdot\vec u = 0$ : le vecteur $\vec d_H$ est dans la table et dans le plan horaire, il dirige donc leur droite d'intersection. L'angle entre la ligne de midi (dirigée par $\vec d_0 = \vec w$) et la ligne de l'heure $H$ a pour cosinus

$$\begin{aligned}\vec d_H\cdot\vec w &= \cos H\,(\vec w\cdot\vec w) + \sin H\,(\vec v\cdot\vec w)\\ &= \cos H \times 1 + \sin H\times 0\\ &= \cos H.\end{aligned}$$

Les lignes sont espacées de $15°$ exactement : c'est le cadran le plus simple à graduer, un simple rapporteur. Son défaut : le Soleil éclaire la face nord de la table au printemps et en été, la face sud en automne et en hiver, et rase la table aux équinoxes. Il faut graduer les deux faces.

Construire le sien Trouver le nord sans boussole

La boussole indique le nord magnétique, qui s'écarte du nord géographique de quelques degrés. Les gnomonistes utilisent la méthode du cercle indien : on plante un bâton vertical, on trace autour de lui un cercle, et l'on marque le point où l'extrémité de l'ombre touche le cercle le matin, puis l'après-midi. La bissectrice de l'angle formé par ces deux points et le pied du bâton est la méridienne.

Pourquoi ? Dans le modèle, changer $H$ en $-H$ change le signe de la première coordonnée de $\vec s$ sans toucher aux deux autres. Le matin et l'après-midi, aux instants symétriques par rapport à midi, le Soleil est à la même hauteur et ses positions sont symétriques par rapport au plan du méridien : les deux ombres ont même longueur et sont symétriques par rapport à la droite nord-sud. (La déclinaison change un peu entre le matin et le soir, ce qui crée une petite erreur, nulle aux solstices.)

Les étapes
  1. Chercher la latitude $\varphi$ de son lieu (sur une carte ou un téléphone).
  2. Tracer la méridienne au sol par la méthode du cercle indien.
  3. Découper un style triangulaire dont l'angle à la base vaut $\varphi$ ; le poser sur la méridienne, son bord incliné montant vers le nord.
  4. Calculer les angles $H'$ avec $\tan H' = \sin\varphi\tan H$ (programme ci-dessous) et tracer les lignes depuis le pied du bord incliné.
  5. Graver, à côté du cadran, la correction pour passer à l'heure de la montre (partie suivante).

Si le style a une épaisseur, les lignes du matin partent du bord ouest de la plaque et celles de l'après-midi du bord est : on trace deux méridiennes parallèles, écartées de l'épaisseur.

Le programme suivant donne les angles pour n'importe quelle latitude, pour un cadran horizontal et pour un cadran vertical plein sud. Il suffit de remplacer la latitude par celle de sa ville.

from math import radians, degrees, sin, cos, tan, atan latitude = 48.83 # latitude de Paris : la remplacer par celle de sa ville phi = radians(latitude) print("Style incliné de", latitude, "degrés sur l'horizontale") print("heure | cadran horizontal | cadran vertical sud") for h in range(12, 18): H = radians(15 * (h - 12)) # angle horaire a = degrees(atan(sin(phi) * tan(H))) # angle avec la méridienne b = degrees(atan(cos(phi) * tan(H))) # angle avec la verticale print(h, "h |", "%.1f" % a, "|", "%.1f" % b) print("18 h | 90.0 | 90.0") print("Le matin : mêmes angles de l'autre côté (11 h comme 13 h, etc.)")

En essayant Marseille ($43{,}3°$) puis Lille ($50{,}6°$), on voit qu'un cadran ne se transporte pas : c'était la grande limite des cadrans, chacun est fait pour sa latitude.

Des cadrans géants : Bologne et Jaipur La méridienne de San Petronio Intérieur d'une immense église gothique de briques ; au sol, une ligne de laiton traverse le dallage dans toute la longueur de la nef. La basilique San Petronio de Bologne : la ligne de laiton au sol est la méridienne de Cassini. Photo : MarkPagl, Wikimedia Commons, licence CC BY-SA 4.0.

Une méridienne est un cadran réduit à une seule ligne, celle de midi. En 1655, l'astronome Jean-Dominique Cassini fait percer dans la voûte de la basilique San Petronio, à Bologne, un petit trou à $27{,}07$ m du sol. Chaque jour à midi solaire, l'image du Soleil tombe sur une ligne de laiton tracée plein nord-sud dans le dallage. Où tombe-t-elle ?

Si $h$ est la hauteur du Soleil, l'image tombe à la distance $d = \dfrac{27{,}07}{\tan h}$ du pied de la verticale du trou (triangle rectangle). Avec $h = 90° - \varphi + \delta$ et la latitude de Bologne $\varphi \approx 44{,}49°$ :

  • au solstice d'été, $h \approx 68{,}95°$ et $d \approx 10{,}4$ m ;
  • aux équinoxes, $h \approx 45{,}51°$ et $d \approx 26{,}6$ m ;
  • au solstice d'hiver, $h \approx 22{,}07°$ et $d \approx 66{,}8$ m.

On retrouve la longueur de la ligne, d'environ $67$ mètres : toute l'année tient dans la nef. Ce n'était pas une horloge mais un instrument de mesure : en notant la position de l'image jour après jour, Cassini mesurait la déclinaison du Soleil, donc la date exacte des équinoxes, utile pour le calendrier grégorien adopté en 1582 et la date de Pâques. La taille de l'image, qui varie au cours de l'année, renseignait aussi sur la distance de la Terre au Soleil et a servi à discuter les lois de Kepler.

Paris possède un instrument du même genre à l'église Saint-Sulpice, installé au milieu du XVIIIe siècle : une ligne de laiton au sol, qui remonte un obélisque de marbre pour recevoir l'image du Soleil au solstice d'hiver.

Le Samrat Yantra de Jaipur Gigantesque construction de pierre ocre en forme de triangle rectangle, avec un escalier montant le long de l'hypoténuse, entourée de deux quarts de cercle maçonnés, dans un jardin ensoleillé. Le Samrat Yantra de l'observatoire Jantar Mantar à Jaipur (Inde) : l'escalier géant est le style, incliné de la latitude du lieu. Photo : Sujay25, Wikimedia Commons, licence CC BY-SA 3.0.

Vers 1730, le maharaja Jai Singh II fait construire à Jaipur un observatoire de pierre, dont le plus grand instrument est un cadran solaire. Son style est un mur triangulaire d'environ $27$ m de haut, dont l'arête est parallèle à l'axe du monde : elle fait avec le sol un angle égal à la latitude de Jaipur, environ $27°$. De part et d'autre, deux quarts de cercle maçonnés, parallèles à l'équateur, reçoivent l'ombre : c'est un cadran équatorial, gradué régulièrement.

À quelle vitesse avance l'ombre ? Sur un cadran équatorial, l'ombre tourne de $360°$ en $24$ heures. Sur un arc de rayon $r$, elle parcourt donc $2\pi r$ en $86\,400$ s. Avec un rayon de l'ordre de $15$ m :

$$v = \frac{2\pi \times 15}{86\,400} \approx 0{,}0011 \text{ m/s},$$

soit environ $1$ mm par seconde, ou $6{,}5$ cm par minute : l'ombre avance à vue d'œil. Plus le cadran est grand, plus on lit finement l'heure ; c'est la raison du gigantisme, à une époque où l'on ne savait pas encore graduer très finement de petits instruments en Inde. Les guides parlent d'une précision de l'ordre de quelques secondes, à prendre avec prudence : la pénombre rend le bord de l'ombre flou.

De l'heure du cadran à l'heure de la montre

Un cadran bien construit donne l'heure solaire vraie du lieu. Pour la comparer à une montre, trois corrections s'ajoutent. Le texte La mesure du temps explique l'équation du temps ; on les met ici bout à bout.

  1. L'équation du temps $E$ (en minutes, positive quand le Soleil est en avance) : heure solaire moyenne $=$ heure du cadran $- E$.
  2. La longitude $\lambda$ (en degrés, positive à l'est de Greenwich) : la Terre tourne de $1°$ en $4$ minutes, donc temps universel $=$ heure moyenne du lieu $- 4\lambda$ minutes.
  3. Le fuseau légal : en France, heure légale $=$ temps universel $+ 1$ h en hiver, $+ 2$ h en été.

Un exemple à la main : le cadran indique midi, le 1er février. Ce jour-là, le Soleil est en retard d'environ $13{,}5$ min ($E \approx -13{,}5$).

ville$\lambda$heure moyennetemps universelheure légale
Brest$-4{,}49°$$12$ h $13{,}5$$12$ h $31{,}5$$13$ h $31$
Paris$2{,}35°$$12$ h $13{,}5$$12$ h $04{,}1$$13$ h $04$
Strasbourg$7{,}75°$$12$ h $13{,}5$$11$ h $42{,}5$$12$ h $42$

Pour Paris : $4 \times 2{,}35 = 9{,}4$ min, donc $12$ h $13{,}5 - 9{,}4$ min $= 12$ h $04{,}1$ en temps universel, et $13$ h $04$ à la montre. Entre Brest et Strasbourg, le même midi solaire tombe à presque $50$ minutes d'écart : la France entière vit à une heure unique, alors qu'elle s'étend sur plus de $12°$ de longitude. Avant 1891, chaque ville vivait à l'heure de son soleil, et ce sont les chemins de fer qui ont imposé une heure commune.

Calculer l'équation du temps : Kepler et Newton Pourquoi un calcul est nécessaire

L'équation du temps vient de deux effets : l'inclinaison de l'axe de la Terre et la forme elliptique de son orbite. Le second demande de savoir où est la Terre sur son ellipse un jour donné. Kepler a montré en 1609 que la Terre balaie des aires égales en des temps égaux, et cette loi conduit à une équation qu'on ne sait pas résoudre par une formule : l'équation de Kepler,

$$x - e\sin x = M,$$

où $e \approx 0{,}0167$ est l'excentricité de l'orbite terrestre, $M$ un angle proportionnel au temps écoulé depuis le passage au plus près du Soleil (le périhélie, vers le 3 ou 4 janvier), et $x$ l'inconnue, un angle qui donne la position sur l'ellipse. Les astronomes du XVIIe siècle ont dressé les premières tables correctes de l'équation du temps (on cite souvent l'anglais John Flamsteed en 1672) ; Newton, dans ses Principia (1687), propose une méthode de résolution approchée du problème de Kepler. Aujourd'hui, on résout l'équation par la méthode qui porte son nom.

Une solution unique L'équation de Kepler a une unique solution

Soit $f$ la fonction définie sur $\mathbb R$ par $f(x) = x - e\sin x - M$, avec $0 < e < 1$.

Étape 1 : les variations. $f'(x) = 1 - e\cos x$. Comme $\cos x \leqslant 1$, $f'(x) \geqslant 1 - e > 0$ : $f$ est strictement croissante sur $\mathbb R$.

Étape 2 : les limites. Comme $-1 \leqslant \sin x \leqslant 1$, on a $f(x) \geqslant x - e - M$, qui tend vers $+\infty$ quand $x$ tend vers $+\infty$ ; par comparaison, $\lim\limits_{x\to+\infty} f(x) = +\infty$. De même $f(x) \leqslant x + e - M$ donne $\lim\limits_{x\to-\infty} f(x) = -\infty$.

Étape 3. La fonction $f$ est continue (somme de fonctions continues) et strictement croissante sur $\mathbb R$, et ses limites sont $-\infty$ et $+\infty$ : d'après le théorème des valeurs intermédiaires (cas strictement monotone), l'équation $f(x) = 0$ a une unique solution.

La méthode de Newton à la main

La méthode de Newton remplace la courbe de $f$ par sa tangente et cherche où la tangente coupe l'axe des abscisses. En partant de $x_0$, on calcule

$$x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}.$$

Le 1er février, environ $28{,}5$ jours après le périhélie : $M = \dfrac{2\pi \times 28{,}5}{365{,}24} \approx 0{,}4903$ rad. On part de $x_0 = M$.

  • $\sin M \approx 0{,}4709$ et $\cos M \approx 0{,}8822$ ;
  • $f(x_0) = -e\sin M$ $\approx -0{,}0167\times 0{,}4709$ $\approx -0{,}007\,86$ ;
  • $f'(x_0) = 1 - e\cos M$ $\approx 1 - 0{,}0167\times 0{,}8822$ $\approx 0{,}9853$ ;
  • $x_1 \approx 0{,}4903 + \dfrac{0{,}007\,86}{0{,}9853} \approx 0{,}4983$.

L'étape suivante ne change plus les quatre premières décimales : la convergence est très rapide, car $e$ est petit. Il reste ensuite des formules de trigonométrie sphérique, que l'on admet, pour passer de $x$ à la position du Soleil vue de la Terre, puis à l'équation du temps. Le programme ci-dessous fait toute la chaîne ; pour le 1er février, il donne $E \approx -13{,}5$ min, à moins d'une minute de la formule approchée par des sinus utilisée dans La mesure du temps.

from math import radians, degrees, sin, cos, tan, atan, atan2, sqrt, pi def kepler(M, e): x = M for k in range(5): # méthode de Newton x = x - (x - e * sin(x) - M) / (1 - e * cos(x)) return x def equation_du_temps(N): # N : numéro du jour dans l'année e = 0.0167 # excentricité de l'orbite eps = radians(23.44) # inclinaison de l'axe w = radians(282.94) # longitude du périhélie M = 2 * pi * (N - 3.5) / 365.2422 x = kepler(M, e) v = 2 * atan(sqrt((1 + e) / (1 - e)) * tan(x / 2)) # position vraie lam = v + w # longitude du Soleil alpha = atan2(cos(eps) * sin(lam), cos(lam)) # ascension droite d = (M + w - alpha + pi) % (2 * pi) - pi return 4 * degrees(d) # en minutes longitude = 2.35 # Paris ; positive à l'est de Greenwich for nom, N, fuseau in [("1er février", 32, 1), ("15 mai", 135, 2), ("26 juillet", 207, 2), ("3 novembre", 307, 1)]: E = equation_du_temps(N) montre = 12 * 60 - E - 4 * longitude + 60 * fuseau # en minutes h, m = int(montre // 60), int(round(montre % 60)) print(nom, ": E =", round(E, 1), "min ; midi solaire à la montre :", "%d h %02d" % (h, m))

Sur Mars, dont l'orbite est beaucoup plus allongée ($e \approx 0{,}093$), l'équation du temps atteint environ $50$ minutes : les petits cadrans solaires embarqués sur les robots martiens, qui servaient surtout à étalonner les couleurs des caméras, auraient besoin d'une correction bien plus grande que sur Terre.

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 repères de l'espace et les coordonnées de vecteurs ; le produit scalaire dans l'espace et l'orthogonalité ; le vecteur normal et l'équation cartésienne d'un plan ; les représentations paramétriques de droites et les intersections ; la trigonométrie (cosinus, sinus, tangente, formules d'addition, fonctions trigonométriques) ; la dérivation, les limites par comparaison et le théorème des valeurs intermédiaires ; les suites définies par récurrence.

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

Pour aller plus loin