Abaques, nomogrammes et statique graphique Grand Oral · mathématiques, physique-chimie, HGGSP Un support de connaissances pour construire sa propre question

← Tous les textes du Grand Oral

MathsPCHGGSP

Pendant plus d'un siècle, des ingénieurs, des artilleurs, des médecins et des pilotes ont calculé sans machine, avec une feuille imprimée et une règle : on pose la règle sur deux nombres, et on lit le résultat sur une troisième échelle. Ces feuilles s'appellent des abaques ou des nomogrammes. Au même moment, les constructeurs de ponts et de tours calculaient les forces dans leurs charpentes avec un crayon, en dessinant des vecteurs : c'est la statique graphique.

Derrière ces outils se cachent des mathématiques de terminale : équations de droites, fonction logarithme, probabilités conditionnelles, vecteurs, suites arithmétiques, études de fonctions. Ce texte part chaque fois d'un exemple calculé à la main. Il rassemble des connaissances ; à chacun d'y choisir une direction et d'y construire sa question.

Sommaire
  1. Calculer avec un dessin
  2. Le nomogramme d'addition
  3. Multiplier avec une règle : les logarithmes
  4. Des nomogrammes à l'hôpital
  5. D'Ocagne et l'âge d'or des abaques
  6. La statique graphique
  7. Le funiculaire : une chaîne de poids
  8. Des abaques encore utilisés
  9. Les limites de ces méthodes
  10. Des directions pour construire sa question
Calculer avec un dessin Abaques et nomogrammes

Au XIXe siècle, calculer coûte cher. Un ingénieur qui construit une route ou une voie ferrée doit refaire des centaines de fois le même calcul (un volume de terre à déplacer, une pente, une résistance), avec des nombres qui changent à chaque fois. Les tables numériques sont longues à consulter. D'où l'idée de dessiner une fois pour toutes la relation entre les grandeurs, puis de lire les résultats sur le dessin.

Le mot abaque désigne d'abord la tablette à calcul des Anciens. Au XIXe siècle, il désigne un graphique tout fait qui remplace un calcul. Le mot nomogramme (du grec nomos, la loi) a été forgé à la fin du siècle pour une famille particulière d'abaques, ceux où l'on lit le résultat en alignant des points.

Le compteur universel de Lalanne Planche imprimée intitulée « Abaque ou compteur universel » : un quadrillage dont les lignes sont de plus en plus serrées, traversé par de nombreuses droites obliques parallèles, avec un long texte explicatif en bas. L'« abaque ou compteur universel » de Léon Lalanne, ingénieur des ponts et chaussées, approuvé par l'Académie des sciences en 1843. Les graduations sont de plus en plus serrées : ce sont des échelles logarithmiques, et les courbes deviennent des droites. Léon Lalanne, 1843, Wikimedia Commons, domaine public.

Pour lire un produit $xy$ sur un graphique, on peut tracer, dans un repère ordinaire, les courbes $xy = c$ pour plusieurs valeurs de $c$ : ce sont des hyperboles, longues à tracer avec précision. L'idée de Lalanne, qu'il appelle anamorphose, est de déformer les axes pour que ces courbes deviennent des droites.

Avec des graduations logarithmiques, les courbes $xy = c$ deviennent des droites

Étape 1. On place le nombre $x$ à l'abscisse $X = \ln x$ et le nombre $y$ à l'ordonnée $Y = \ln y$ : c'est ce qu'on appelle des graduations logarithmiques.

Étape 2. Pour $x$, $y$ et $c$ strictement positifs, la fonction $\ln$ transforme les produits en sommes :

$$xy = c \iff \ln x + \ln y = \ln c,$$ $$\phantom{xy = c} \iff Y = -X + \ln c.$$

Étape 3. Dans le nouveau repère, l'ensemble des points vérifiant $xy = c$ est donc la droite de coefficient directeur $-1$ et d'ordonnée à l'origine $\ln c$. Les courbes pour différentes valeurs de $c$ deviennent des droites parallèles.

C'est exactement ce qu'on voit sur la planche de Lalanne : des obliques parallèles sur un quadrillage logarithmique. Le même principe sert encore pour reconnaître une loi de puissance sur un graphique (voir le texte Les logarithmes en physique-chimie).

Le nomogramme d'addition Trois échelles parallèles

Le nomogramme le plus simple comporte trois échelles verticales et parallèles, la troisième exactement au milieu des deux autres. On place une règle sur le nombre $a$ de l'échelle de gauche et sur le nombre $b$ de l'échelle de droite : la règle coupe l'échelle du milieu sur la graduation $a + b$.

À la main. Prenons un repère où l'échelle de gauche est la droite $x = -1$, celle de droite la droite $x = 1$, celle du milieu l'axe des ordonnées. Le nombre $a = 3$ est placé au point $A(-1\,;3)$, le nombre $b = 5$ au point $C(1\,;5)$.

  • La droite $(AC)$ a pour coefficient directeur $\dfrac{5 - 3}{1 - (-1)} = 1$ ; son équation est $y = x + 4$.
  • Elle coupe l'axe des ordonnées au point $M(0\,;4)$.
  • Or $\dfrac{3 + 5}{2} = 4$ : la hauteur de $M$ est la moitié de $a + b = 8$. Si l'on écrit « 8 » à la hauteur $4$ sur l'échelle du milieu, la règle donne directement la somme.
La démonstration Si $A(-1\,;a)$ et $C(1\,;b)$, la droite $(AC)$ coupe l'axe des ordonnées au point $M\left(0\,;\dfrac{a+b}{2}\right)$

Étape 1. Le milieu $I$ du segment $[AC]$ a pour coordonnées

$$x_I = \frac{-1 + 1}{2} = 0,$$ $$y_I = \frac{a + b}{2}.$$

Étape 2. Le point $I$ est sur la droite $(AC)$ et sur l'axe des ordonnées (puisque $x_I = 0$). Comme $A$ et $C$ n'ont pas la même abscisse, la droite $(AC)$ n'est pas verticale : elle coupe l'axe des ordonnées en un seul point.

Étape 3. Ce point est donc $I$ : $M = I$, d'ordonnée $\dfrac{a+b}{2}$.

Conséquence. On gradue les échelles de gauche et de droite normalement, et l'échelle du milieu avec une unité deux fois plus petite : le nombre $s$ y est écrit à la hauteur $\dfrac{s}{2}$. La règle posée sur $a$ et $b$ montre alors la graduation $a + b$. C'est le théorème de Thalès qui est caché derrière : la droite du milieu est à égale distance des deux autres.

Des sommes pondérées

Si l'échelle du milieu n'est pas au milieu, on obtient une somme pondérée. Plaçons l'échelle de gauche sur la droite $x = -p$ et celle de droite sur la droite $x = q$, avec $p$ et $q$ strictement positifs. La droite passant par $A(-p\,;a)$ et $C(q\,;b)$ a pour coefficient directeur $\dfrac{b - a}{p + q}$ ; en partant de $A$ et en avançant de $p$ vers la droite, on arrive sur l'axe des ordonnées à la hauteur

$$y_M = a + p\,\frac{b - a}{p + q} = \frac{q\,a + p\,b}{p + q}.$$

En choisissant les distances $p$ et $q$ et les unités des échelles, on peut donc faire calculer à la règle n'importe quelle expression de la forme $\alpha u + \beta v$. C'est ce qui permettra de traiter des formules de médecine plus loin.

var lab = {fontSize: 11, useKatex: false, useMathJax: false, parse: false, fixed: true, highlight: false}; var opt = {fontSize: 13, useKatex: false, useMathJax: false, parse: false, fixed: true, highlight: false}; var gris = {strokeColor: '#455a64', strokeWidth: 1.5, fixed: true, highlight: false}; var xg = 0.6, xm = 2.3, xd = 4.0; var axeG = board.create('segment', [[xg, 0], [xg, 5]], gris); var axeD = board.create('segment', [[xd, 0], [xd, 5]], gris); board.create('segment', [[xm, 0], [xm, 5]], gris); var v; for (v = 0; v <= 10; v++) { board.create('segment', [[xg - 0.1, v / 2], [xg, v / 2]], gris); board.create('segment', [[xd, v / 2], [xd + 0.1, v / 2]], gris); board.create('text', [xg - 0.45, v / 2, String(v)], lab); board.create('text', [xd + 0.16, v / 2, String(v)], lab); } for (v = 0; v <= 20; v++) { board.create('segment', [[xm, v / 4], [xm + (v % 2 === 0 ? 0.12 : 0.06), v / 4]], gris); if (v % 2 === 0) { board.create('text', [xm + 0.24, v / 4, String(v)], lab); } } board.create('text', [xg - 0.45, -0.35, 'a'], opt); board.create('text', [xm - 0.25, -0.35, 'a + b'], opt); board.create('text', [xd + 0.1, -0.35, 'b'], opt); var A = board.create('glider', [xg, 1.5, axeG], {name: '', size: 5, color: '#1565c0'}); var B = board.create('glider', [xd, 2.5, axeD], {name: '', size: 5, color: '#1565c0'}); board.create('line', [A, B], {strokeColor: '#c62828', strokeWidth: 2, straightFirst: false, straightLast: false, fixed: true, highlight: false}); var M = board.create('point', [function () { return xm; }, function () { return (A.Y() + B.Y()) / 2; }], {name: '', size: 3, color: '#c62828', fixed: true}); function nb(x) { return x.toFixed(1).replace('.', ','); } board.create('text', [-1.0, 5.55, function () { var a = 2 * A.Y(), b = 2 * B.Y(); return nb(a) + ' + ' + nb(b) + ' = ' + nb(4 * M.Y()); }], opt); Un nomogramme d'addition. Déplacez les deux points bleus sur les échelles de gauche et de droite : la règle (en rouge) coupe l'échelle du milieu sur leur somme. L'échelle du milieu a une unité deux fois plus petite.
Multiplier avec une règle : les logarithmes Remplacer les nombres par leurs logarithmes

Pour multiplier, il suffit de combiner le nomogramme d'addition avec la propriété fondamentale du logarithme : pour $a$ et $b$ strictement positifs, $\ln(ab) = \ln a + \ln b$. On place donc chaque nombre $a$ de l'échelle de gauche à la hauteur $\ln a$, chaque nombre $b$ de l'échelle de droite à la hauteur $\ln b$, et chaque nombre $p$ de l'échelle du milieu à la hauteur $\dfrac{\ln p}{2}$.

À la main. Avec $a = 2$ et $b = 3$ :

  • le point de gauche est à la hauteur $\ln 2 \approx 0{,}693$, celui de droite à la hauteur $\ln 3 \approx 1{,}099$ ;
  • d'après la démonstration précédente, la règle coupe l'échelle du milieu à la hauteur $\dfrac{0{,}693 + 1{,}099}{2} = 0{,}896$ ;
  • or la graduation « 6 » de l'échelle du milieu est à la hauteur $\dfrac{\ln 6}{2} \approx \dfrac{1{,}792}{2} = 0{,}896$. On lit bien $2 \times 3 = 6$.

Les graduations ne sont plus régulières : elles se resserrent quand les nombres grandissent, comme sur une règle à calcul. Une différence importante : la règle à calcul fait glisser deux échelles l'une contre l'autre, alors que le nomogramme est imprimé une fois pour toutes et qu'on n'y pose qu'une règle droite (voir la règle à calcul interactive du texte Les logarithmes en physique-chimie).

var lab = {fontSize: 11, useKatex: false, useMathJax: false, parse: false, fixed: true, highlight: false}; var opt = {fontSize: 13, useKatex: false, useMathJax: false, parse: false, fixed: true, highlight: false}; var gris = {strokeColor: '#455a64', strokeWidth: 1.5, fixed: true, highlight: false}; var fin = {strokeColor: '#455a64', strokeWidth: 1, fixed: true, highlight: false}; var xg = 0.6, xm = 2.3, xd = 4.0, L = 5; function h(v) { return L * Math.log(v) / Math.LN10; } var axeG = board.create('segment', [[xg, 0], [xg, L]], gris); var axeD = board.create('segment', [[xd, 0], [xd, L]], gris); board.create('segment', [[xm, 0], [xm, L]], gris); var v, ecrits = [1, 2, 3, 4, 5, 6, 8, 10]; for (v = 1; v <= 10; v++) { board.create('segment', [[xg - 0.1, h(v)], [xg, h(v)]], gris); board.create('segment', [[xd, h(v)], [xd + 0.1, h(v)]], gris); if (ecrits.indexOf(v) >= 0) { board.create('text', [xg - (v === 10 ? 0.5 : 0.38), h(v), String(v)], lab); board.create('text', [xd + 0.16, h(v), String(v)], lab); } } var mil = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100], milEcrits = [1, 2, 3, 5, 10, 20, 30, 50, 100]; for (v = 0; v < mil.length; v++) { var p = mil[v], ec = milEcrits.indexOf(p) >= 0; board.create('segment', [[xm, h(p) / 2], [xm + (ec ? 0.12 : 0.06), h(p) / 2]], ec ? gris : fin); if (ec) { board.create('text', [xm + 0.24, h(p) / 2, String(p)], lab); } } board.create('text', [xg - 0.45, -0.35, 'a'], opt); board.create('text', [xm - 0.25, -0.35, 'a × b'], opt); board.create('text', [xd + 0.1, -0.35, 'b'], opt); var A = board.create('glider', [xg, h(2), axeG], {name: '', size: 5, color: '#1565c0'}); var B = board.create('glider', [xd, h(3), axeD], {name: '', size: 5, color: '#1565c0'}); board.create('line', [A, B], {strokeColor: '#c62828', strokeWidth: 2, straightFirst: false, straightLast: false, fixed: true, highlight: false}); board.create('point', [function () { return xm; }, function () { return (A.Y() + B.Y()) / 2; }], {name: '', size: 3, color: '#c62828', fixed: true}); function val(y) { return Math.pow(10, y / L); } function nb(x) { return x.toPrecision(3).replace('.', ','); } board.create('text', [-1.0, 5.55, function () { var a = val(A.Y()), b = val(B.Y()); return nb(a) + ' × ' + nb(b) + ' ≈ ' + nb(val((A.Y() + B.Y()) / 2 * 2)); }], opt); Un nomogramme de multiplication, avec des échelles logarithmiques. Déplacez les points bleus : la règle rouge coupe l'échelle du milieu sur le produit. La lecture à l'œil donne deux ou trois chiffres significatifs, ce qui suffisait à la plupart des ingénieurs.
Des nomogrammes à l'hôpital La surface corporelle

Certains médicaments, en particulier en chimiothérapie, sont dosés en fonction de la surface du corps du patient, en mètres carrés, plutôt qu'en fonction de son poids. Personne ne mesure cette surface directement : on l'estime à partir de la taille et de la masse par une formule. La plus ancienne, celle des médecins américains Delafield et Eugene Du Bois (1916), s'écrit, avec la masse $m$ en kilogrammes et la taille $t$ en centimètres :

$$S \approx 0{,}007184 \times m^{0{,}425} \times t^{0{,}725}.$$

Impossible à calculer de tête ! Mais en prenant le logarithme,

$$\ln S = c + 0{,}425 \ln m + 0{,}725 \ln t,$$

où $c = \ln 0{,}007184 \approx -4{,}94$.

C'est une somme pondérée de $\ln m$ et de $\ln t$, à une constante près : exactement ce que calcule un nomogramme à trois échelles logarithmiques, avec une échelle du milieu placée à la bonne distance. Pendant des décennies, ces nomogrammes ont été imprimés dans les manuels de pédiatrie et affichés dans les services.

À la main, avec une formule plus simple. En 1987, le médecin Mosteller propose une formule plus facile : $S \approx \sqrt{\dfrac{m \times t}{3\,600}} = \dfrac{\sqrt{mt}}{60}$. Pour une personne de $70$ kg et $175$ cm :

$$S \approx \frac{\sqrt{70 \times 175}}{60} = \frac{\sqrt{12\,250}}{60},$$ $$S \approx \frac{110{,}7}{60} \approx 1{,}84 \text{ m}^2.$$

La formule de Du Bois donne environ $1{,}85$ m² : les deux sont très proches pour un adulte. Et la formule de Mosteller est, à la constante près, la moyenne des logarithmes : $\ln S = \dfrac{\ln m + \ln t}{2} - \ln 60$. C'est donc exactement le nomogramme de multiplication de la figure précédente, avec l'échelle du milieu au milieu, simplement décalée.

Le nomogramme de Fagan : la formule de Bayes avec une règle

Un patient passe un test de dépistage, et le test est positif. Quelle est la probabilité qu'il soit malade ? La réponse dépend de la fréquence de la maladie avant le test, et de la qualité du test. Notons $M$ l'événement « le patient est malade » et $T$ l'événement « le test est positif ». Les médecins raisonnent avec la cote d'un événement, c'est-à-dire le quotient $\dfrac{P(M)}{P(\overline{M})}$, et avec le rapport de vraisemblance du test, $RV = \dfrac{P_M(T)}{P_{\overline{M}}(T)}$ : combien de fois un test positif est plus fréquent chez un malade que chez une personne saine.

Cote après le test $=$ cote avant le test $\times\ RV$

Étape 1. Par définition d'une probabilité conditionnelle, puis par la formule des probabilités composées,

$$P_T(M) = \frac{P(M \cap T)}{P(T)},$$ $$P_T(M) = \frac{P(M) \times P_M(T)}{P(T)}.$$

Étape 2. De même,

$$P_T(\overline{M}) = \frac{P(\overline{M}) \times P_{\overline{M}}(T)}{P(T)}.$$

Étape 3. En faisant le quotient, $P(T)$ se simplifie :

$$\frac{P_T(M)}{P_T(\overline{M})} = \frac{P(M)}{P(\overline{M})} \times \frac{P_M(T)}{P_{\overline{M}}(T)}.$$

Le premier membre est la cote après le test, le premier facteur du second membre est la cote avant le test, le second facteur est $RV$.

C'est encore un produit, et le logarithme le change en somme. En notant $C_0$ la cote avant le test et $C_1$ la cote après :

$$\ln C_1 = \ln C_0 + \ln RV.$$

En 1975, le médecin Terrence Fagan publie un nomogramme qui fait ce calcul avec une règle : on pose la règle sur la probabilité avant le test (à gauche) et sur le rapport de vraisemblance (au milieu), et on lit la probabilité après le test sur l'échelle de droite. C'est le nomogramme d'addition utilisé « à l'envers » : on connaît un point extrême et le milieu, et on cherche l'autre extrémité.

Nomogramme à trois échelles verticales : à gauche des probabilités de 0,1 à 99,9 graduées de haut en bas, au milieu des rapports de vraisemblance de 2000 à 0,0005, à droite des probabilités de 99,9 à 0,1. Le nomogramme de Fagan : probabilité avant le test à gauche (en %), rapport de vraisemblance au milieu, probabilité après le test à droite. Schéma : HB, Wikimedia Commons, licence CC BY-SA 4.0.

À la main. Une maladie touche $1\,\%$ de la population. Un test détecte $90\,\%$ des malades, mais il est aussi positif chez $9\,\%$ des personnes saines. Son rapport de vraisemblance vaut $RV = \dfrac{0{,}9}{0{,}09} = 10$.

  • Cote avant le test : $\dfrac{0{,}01}{0{,}99} = \dfrac{1}{99}$.
  • Cote après un test positif : $\dfrac{1}{99} \times 10 = \dfrac{10}{99}$.
  • Une cote de $\dfrac{10}{99}$ signifie « $10$ chances contre $99$ » : la probabilité d'être malade vaut $\dfrac{10}{10 + 99} = \dfrac{10}{109} \approx 9{,}2\,\%$.

Malgré un test positif, le patient a donc plus de neuf chances sur dix d'être en bonne santé : c'est le paradoxe des faux positifs, que le nomogramme montre d'un coup de règle (voir aussi le texte en préparation Prendre des décisions).

D'Ocagne et l'âge d'or des abaques Portrait photographique en noir et blanc d'un homme âgé, cheveux courts et moustache, en costume sombre et cravate rayée. Maurice d'Ocagne (1862-1938). Photo : studio Harcourt, Wellcome Collection, Wikimedia Commons, domaine public.

Les ingénieurs des chemins de fer. Dans les années 1840, la France lance la construction de son réseau ferré. Il faut calculer, kilomètre après kilomètre, les volumes de terre à creuser et à remblayer. Léon Lalanne, ingénieur des ponts et chaussées, conçoit pour cela des tables graphiques, puis son « compteur universel » de 1843. D'autres ingénieurs, en France et en Belgique (Junius Massau notamment), perfectionnent ces graphiques dans les décennies suivantes.

D'Ocagne et les points alignés. Maurice d'Ocagne, polytechnicien et ingénieur des ponts et chaussées, a l'idée, dans les années 1880, de remplacer les graphiques à lignes entrecroisées par des échelles qu'on relie par une droite : ce sont les nomogrammes à points alignés étudiés plus haut. Ils sont plus lisibles, plus précis et plus faciles à imprimer. Il donne à la discipline son nom, la nomographie, et publie en 1899 un Traité de nomographie qui fait référence pendant un demi-siècle. Il enseigne aussi à l'École polytechnique et à l'École des ponts et chaussées.

L'artillerie et la guerre. Pour régler un tir, il faut tenir compte de la distance, du vent, de la température, de la pression de l'air, de l'usure du canon. Pendant la Première Guerre mondiale, les artilleurs utilisent des abaques pour faire ces corrections en quelques secondes ; on en trouve aussi pour la navigation, la défense contre avions et l'aviation. Les nomogrammes servent ensuite partout : électricité, hydraulique (débit dans les tuyaux), chimie, médecine. Les tables de tir calculées par l'ENIAC, pendant la Seconde Guerre mondiale, sont une autre réponse au même besoin (voir le texte Les mathématiques de la Seconde Guerre mondiale).

La fin. Avec les calculatrices de poche (la HP-35, première calculatrice scientifique de poche, sort en 1972) puis les ordinateurs, les nomogrammes disparaissent presque tous. Il en reste quelques-uns, là où un calcul rapide, sans pile ni écran, est précieux.

La statique graphique L'équilibre : une somme de vecteurs nulle

En physique, une force se représente par un vecteur. Un objet immobile est en équilibre : la somme des vecteurs forces qui s'exercent sur lui est le vecteur nul. Si l'on dessine ces vecteurs bout à bout, on revient donc au point de départ : les forces forment un polygone fermé, le polygone des forces. Avec trois forces, c'est un triangle.

À la main. Une lampe de poids $P = 100$ N est suspendue par deux câbles. Le câble de gauche fait un angle de $30°$ avec l'horizontale, celui de droite un angle de $45°$. On cherche les tensions $T_1$ et $T_2$ des câbles. Dans un repère orthonormé (l'axe des abscisses horizontal, l'axe des ordonnées vers le haut), les trois forces ont pour coordonnées

$$\vec P\begin{pmatrix}0\\-100\end{pmatrix},\qquad \vec T_1\begin{pmatrix}-T_1\cos 30°\\T_1\sin 30°\end{pmatrix},$$ $$\vec T_2\begin{pmatrix}T_2\cos 45°\\T_2\sin 45°\end{pmatrix}.$$

L'équilibre $\vec P + \vec T_1 + \vec T_2 = \vec 0$ donne un système de deux équations :

$$\left\{\begin{array}{l} -T_1\,\dfrac{\sqrt 3}{2} + T_2\,\dfrac{\sqrt 2}{2} = 0 \\[2mm] T_1\,\dfrac{1}{2} + T_2\,\dfrac{\sqrt 2}{2} = 100 \end{array}\right.$$

En soustrayant la première équation de la seconde : $T_1\,\dfrac{1 + \sqrt 3}{2} = 100$, donc

$$T_1 = \frac{200}{1 + \sqrt 3} = 100\left(\sqrt 3 - 1\right) \approx 73{,}2 \text{ N},$$

puis, avec la première équation, $T_2 = T_1\,\dfrac{\sqrt 3}{\sqrt 2} \approx 89{,}7$ N. Les deux câbles portent ensemble plus que le poids de la lampe : une partie de leurs tensions se compense horizontalement.

La statique graphique fait le même calcul sans équation : on dessine à l'échelle le vecteur $\vec P$ vertical, puis, à ses extrémités, deux droites parallèles aux câbles. Elles se coupent et ferment le triangle ; on mesure les deux côtés avec une règle.

var lab = {fontSize: 12, useKatex: false, useMathJax: false, parse: false, fixed: true, highlight: false}; var opt = {fontSize: 12, useKatex: false, useMathJax: false, parse: false, fixed: true, highlight: false}; var fix = {fixed: true, highlight: false}; board.create('segment', [[-4.5, 1.9], [4.5, 1.9]], {strokeColor: '#5d4037', strokeWidth: 4, fixed: true, highlight: false}); var sa = board.create('slider', [[-4.2, -3.25], [-1.2, -3.25], [20, 30, 70]], {withLabel: false, snapWidth: 1}); var sb = board.create('slider', [[-4.2, -3.7], [-1.2, -3.7], [20, 45, 70]], {withLabel: false, snapWidth: 1}); board.create('text', [-0.9, -3.25, function () { return 'angle gauche : ' + Math.round(sa.Value()) + '°'; }], opt); board.create('text', [-0.9, -3.7, function () { return 'angle droit : ' + Math.round(sb.Value()) + '°'; }], opt); function ra(d) { return d * Math.PI / 180; } var Ly = 0.55, hp = 1.9 - Ly; function T1() { var a = ra(sa.Value()), b = ra(sb.Value()); return 100 * Math.cos(b) / Math.sin(a + b); } function T2() { var a = ra(sa.Value()), b = ra(sb.Value()); return 100 * Math.cos(a) / Math.sin(a + b); } board.create('segment', [[function () { return -hp / Math.tan(ra(sa.Value())); }, 1.9], [0, Ly]], {strokeColor: '#1565c0', strokeWidth: 2, fixed: true, highlight: false}); board.create('segment', [[function () { return hp / Math.tan(ra(sb.Value())); }, 1.9], [0, Ly]], {strokeColor: '#2e7d32', strokeWidth: 2, fixed: true, highlight: false}); board.create('polygon', [[-0.25, Ly], [0.25, Ly], [0.12, Ly - 0.3], [-0.12, Ly - 0.3]], {fillColor: '#ffb300', fillOpacity: 1, borders: {strokeWidth: 1, strokeColor: '#795548'}, vertices: {visible: false}, fixed: true, highlight: false}); var k = 0.02, S = [0, -0.55]; function S1() { return [0, S[1] - 100 * k]; } function S2() { var a = ra(sa.Value()); return [-k * T1() * Math.cos(a), S1()[1] + k * T1() * Math.sin(a)]; } board.create('arrow', [S, [0, S[1] - 100 * k]], {strokeColor: '#c62828', strokeWidth: 2, fixed: true, highlight: false}); board.create('arrow', [[0, S[1] - 100 * k], [function () { return S2()[0]; }, function () { return S2()[1]; }]], {strokeColor: '#1565c0', strokeWidth: 2, fixed: true, highlight: false}); board.create('arrow', [[function () { return S2()[0]; }, function () { return S2()[1]; }], S], {strokeColor: '#2e7d32', strokeWidth: 2, fixed: true, highlight: false}); board.create('text', [0.15, -1.55, 'P = 100 N'], {fontSize: 12, useKatex: false, parse: false, fixed: true, highlight: false, strokeColor: '#c62828'}); board.create('text', [1.6, -0.75, function () { return 'T1 ≈ ' + Math.round(T1()) + ' N'; }], {fontSize: 12, useKatex: false, parse: false, fixed: true, highlight: false, strokeColor: '#1565c0'}); board.create('text', [1.6, -1.15, function () { return 'T2 ≈ ' + Math.round(T2()) + ' N'; }], {fontSize: 12, useKatex: false, parse: false, fixed: true, highlight: false, strokeColor: '#2e7d32'}); En haut, la lampe et ses deux câbles. En bas, le triangle des forces : le poids (rouge), puis la tension du câble de gauche (bleu) et celle du câble de droite (vert), dessinées bout à bout, se referment. Réglez les angles avec les curseurs : plus les câbles sont proches de l'horizontale, plus les tensions sont grandes.

En résolvant le système avec des angles quelconques $\alpha$ (à gauche) et $\beta$ (à droite), on trouve $T_1 = \dfrac{P\cos\beta}{\sin(\alpha + \beta)}$ et $T_2 = \dfrac{P\cos\alpha}{\sin(\alpha + \beta)}$. Quand les deux angles tendent vers $0$, $\sin(\alpha + \beta)$ tend vers $0$ et les tensions tendent vers $+\infty$ : on ne peut pas tendre un fil parfaitement horizontal sous une charge, ce que savent tous ceux qui ont accroché un hamac ou une ligne électrique.

Culmann, Cremona et la tour Eiffel

Au milieu du XIXe siècle, on construit des ponts métalliques et des charpentes en treillis, faites de barres assemblées en triangles. Pour chaque barre, il faut connaître la force qu'elle supporte. Le calcul se fait nœud par nœud : en chaque nœud, les forces sont en équilibre, donc leur polygone se ferme. L'ingénieur allemand Karl Culmann, professeur à l'École polytechnique de Zurich, rassemble ces méthodes dans Die graphische Statik (1864-1866) ; l'Italien Luigi Cremona montre en 1872 comment réunir tous les polygones d'un treillis en une seule figure, le diagramme de Cremona. Pendant des décennies, les bureaux d'études dessinent ainsi les ponts au crayon, au rapporteur et à la règle.

On raconte aussi que Culmann, visitant en 1866 le laboratoire de l'anatomiste Hermann von Meyer, aurait reconnu dans les fibres osseuses de la tête du fémur les lignes de forces qu'il dessinait pour une grue. L'anecdote est célèbre en biomécanique, mais ses détails sont rapportés de façon variable.

Photographie ancienne de la tour Eiffel en construction : les quatre piliers sont réunis au-dessus du premier étage, la partie haute n'est pas encore montée, des grues sont visibles au sommet. La tour Eiffel en construction, le 14 octobre 1888. Photo : Théophile Féau, Wikimedia Commons, domaine public.

L'ingénieur Maurice Koechlin, qui dessine en 1884 avec Émile Nouguier le premier projet de la tour, a été l'élève de Culmann à Zurich. Dans l'entreprise d'Eiffel, les efforts dans les barres des ponts et de la tour sont calculés en grande partie par ces méthodes graphiques. La forme courbe des piliers de la tour est pensée pour résister au vent, la force principale qui s'exerce sur une structure aussi haute et aussi légère.

Le funiculaire : une chaîne de poids Des pentes en suite arithmétique

Accrochons à une chaîne légère, en des points régulièrement espacés horizontalement d'une distance $d$, des poids identiques $P$. Les deux extrémités sont fixées. La chaîne prend la forme d'une ligne brisée, que les ingénieurs appellent le polygone funiculaire (du latin funis, la corde). Numérotons les segments $0, 1, 2, \dots$ de gauche à droite et notons $s_k$ la pente (le coefficient directeur) du segment numéro $k$.

Les pentes $s_k$ forment une suite arithmétique de raison $\dfrac{P}{H}$, où $H$ est la composante horizontale de la tension

Étape 1. La tension d'un segment est dirigée le long du segment. Si sa composante horizontale vaut $H$ et que la pente du segment est $s_k$, sa composante verticale vaut $H s_k$ : le vecteur tension est colinéaire au vecteur $\begin{pmatrix}1\\s_k\end{pmatrix}$.

Étape 2. Au nœud situé entre le segment $k$ et le segment $k + 1$, trois forces s'exercent : la tension du segment $k + 1$, qui tire vers la droite, de coordonnées $\begin{pmatrix}H_{k+1}\\H_{k+1}s_{k+1}\end{pmatrix}$ ; la tension du segment $k$, qui tire vers la gauche, de coordonnées $\begin{pmatrix}-H_k\\-H_k s_k\end{pmatrix}$ ; le poids, de coordonnées $\begin{pmatrix}0\\-P\end{pmatrix}$.

Étape 3. L'équilibre impose que la somme soit nulle. Sur les abscisses : $H_{k+1} - H_k = 0$ : la composante horizontale est la même, notée $H$, dans tous les segments.

Étape 4. Sur les ordonnées : $H s_{k+1} - H s_k - P = 0$, donc $s_{k+1} = s_k + \dfrac{P}{H}$. La suite $(s_k)$ est arithmétique de raison $\dfrac{P}{H}$.

Les nœuds sont sur une parabole

Plaçons le premier point d'attache à l'origine. Le nœud numéro $n$ a pour abscisse $x_n = nd$ et pour ordonnée la somme des dénivelés des segments précédents :

$$y_n = d\,(s_0 + s_1 + \cdots + s_{n-1}).$$

C'est la somme de $n$ termes consécutifs d'une suite arithmétique : avec $r = \dfrac{P}{H}$,

$$y_n = d\left(n\,s_0 + r\,\frac{n(n-1)}{2}\right).$$

C'est un polynôme du second degré en $n$, donc en $x_n = nd$ : tous les nœuds sont sur une même parabole.

À la main. Quatre poids de $10$ N, espacés de $1$ m, avec $H = 20$ N, donc $r = 0{,}5$. Par symétrie, la chaîne a cinq segments de pentes $-1$ ; $-0{,}5$ ; $0$ ; $0{,}5$ ; $1$. Les ordonnées des nœuds sont $0$ ; $-1$ ; $-1{,}5$ ; $-1{,}5$ ; $-1$ ; $0$, et la formule donne $y_n = \dfrac{n^2 - 5n}{4}$ : on vérifie par exemple $y_2 = \dfrac{4 - 10}{4} = -1{,}5$. Chaque point d'attache porte la moitié des $40$ N, soit $20$ N verticalement, et le premier segment, de pente $-1$, a bien une composante verticale $H \times 1 = 20$ N.

var opt = {fontSize: 12, useKatex: false, useMathJax: false, parse: false, fixed: true, highlight: false}; board.create('segment', [[-0.4, 0], [0, 0]], {strokeColor: '#5d4037', strokeWidth: 4, fixed: true, highlight: false}); board.create('segment', [[8, 0], [8.4, 0]], {strokeColor: '#5d4037', strokeWidth: 4, fixed: true, highlight: false}); var sn = board.create('slider', [[0.2, 0.55], [3.2, 0.55], [2, 4, 12]], {withLabel: false, snapWidth: 1}); var sh = board.create('slider', [[0.2, -2.6], [3.2, -2.6], [0.6, 1, 3]], {withLabel: false, snapWidth: 0.05}); board.create('text', [3.5, 0.55, function () { return Math.round(sn.Value()) + ' poids'; }], opt); board.create('text', [3.5, -2.6, function () { return 'H / poids total = ' + sh.Value().toFixed(2).replace('.', ','); }], opt); function geo() { var n = Math.round(sn.Value()), d = 8 / (n + 1), r = 1 / (n * sh.Value()), s0 = -n * r / 2, X = [0], Y = [0], y = 0, k; for (k = 0; k <= n; k++) { y += d * (s0 + k * r); X.push((k + 1) * d); Y.push(y); } return {n: n, d: d, r: r, s0: s0, X: X, Y: Y}; } var par = board.create('functiongraph', [function (x) { var g = geo(); return g.s0 * x + g.r * x * (x - g.d) / (2 * g.d); }, 0, 8], {strokeColor: '#9e9e9e', strokeWidth: 1.5, dash: 2, highlight: false}); var ch = board.create('curve', [[0], [0]], {strokeColor: '#1565c0', strokeWidth: 2.5, highlight: false}); ch.updateDataArray = function () { var g = geo(); this.dataX = g.X; this.dataY = g.Y; }; var pd = board.create('curve', [[0], [0]], {strokeColor: '#c62828', strokeWidth: 2, highlight: false}); pd.updateDataArray = function () { var g = geo(), X = [], Y = [], k; for (k = 1; k <= g.n; k++) { X.push(g.X[k], g.X[k], NaN); Y.push(g.Y[k], g.Y[k] - 0.25, NaN); } this.dataX = X; this.dataY = Y; }; Une chaîne (en bleu) portant des poids égaux (en rouge), régulièrement espacés. En pointillés gris, la parabole qui passe par tous les nœuds. Changez le nombre de poids et la tension horizontale $H$ (rapportée au poids total) : plus $H$ est grande, moins la chaîne pend.

Le programme suivant calcule les nœuds pas à pas, avec les seules lois de l'équilibre, et affiche les différences secondes des ordonnées : elles sont constantes, signe d'un polynôme du second degré.

n = 4 # nombre de poids P = 10.0 # poids de chacun (en newtons) H = 20.0 # composante horizontale de la tension d = 1.0 # espacement horizontal (en mètres) s = -n * P / (2 * H) # pente du premier segment (chaîne symétrique) y = [0.0] for k in range(n + 1): y.append(y[-1] + d * s) s = s + P / H # la pente augmente de P/H à chaque nœud print("ordonnées des noeuds :", y) diff1 = [y[i + 1] - y[i] for i in range(len(y) - 1)] diff2 = [diff1[i + 1] - diff1[i] for i in range(len(diff1) - 1)] print("différences secondes :", diff2)
Renverser la chaîne : l'arc

Une chaîne ne travaille qu'en traction. Si l'on retourne la figure, chaque segment travaille en compression, avec les mêmes forces : un arc qui a la forme d'un funiculaire renversé tient debout sans se plier. C'est le principe énoncé par Robert Hooke au XVIIe siècle et utilisé par l'architecte Antoni Gaudí, qui réglait ses voûtes avec des maquettes de ficelles lestées de petits sacs.

Le funiculaire dépend de la répartition des charges :

  • avec une charge répartie uniformément à l'horizontale (comme le tablier d'un pont suspendu accroché aux câbles), on obtient une parabole, comme ci-dessus ;
  • avec une charge répartie uniformément le long de la chaîne (une chaîne pesante seule), on obtient une autre courbe, la chaînette, étudiée avec la fonction exponentielle dans le texte Construction d'un dôme : la chaînette.
Des abaques encore utilisés L'abaque de Smith en électronique Disque quadrillé par deux familles de cercles : des cercles tous tangents au même point à droite du disque, et des arcs de cercles qui partent de ce même point. L'abaque de Smith. Image : Wdwd, Wikimedia Commons, licence CC BY-SA 3.0.

En 1939, l'ingénieur Phillip Smith, des laboratoires Bell, publie un abaque pour les lignes de transmission (câbles d'antenne, circuits à haute fréquence). Il sert encore : les appareils de mesure des électroniciens affichent leurs résultats sur cet abaque. Son idée centrale est une fonction qui fait tenir une demi-droite infinie dans un segment.

Le cas réel. Une résistance $r$ (rapportée à une valeur de référence) peut prendre toutes les valeurs de $[0\,;+\infty[$. L'abaque utilise la fonction

$$f(r) = \frac{r - 1}{r + 1}.$$
  • Sa dérivée vaut $f'(r) = \dfrac{(r + 1) - (r - 1)}{(r + 1)^2}$, soit $f'(r) = \dfrac{2}{(r + 1)^2}$, strictement positive : $f$ est strictement croissante.
  • $f(0) = -1$, $f(1) = 0$, et, en divisant par $r$, $f(r) = \dfrac{1 - 1/r}{1 + 1/r}$ tend vers $1$ quand $r$ tend vers $+\infty$.
  • Toutes les résistances possibles tiennent donc dans l'intervalle $[-1\,;1[$ : c'est le diamètre horizontal de l'abaque. La valeur de référence $r = 1$ est au centre, une résistance infinie (un circuit ouvert) est au bord droit.

Pour les électroniciens, $r$ est en réalité un nombre complexe (l'impédance). En maths expertes, on montre que la même formule envoie tout le demi-plan des nombres complexes de partie réelle positive à l'intérieur du disque de rayon $1$, et que les droites deviennent les cercles qu'on voit sur l'abaque.

Le calculateur E6B des pilotes Calculateur de navigation en métal : une règle rectangulaire portant un disque tournant gradué de plusieurs échelles circulaires, avec des inscriptions techniques. Un calculateur de navigation E6B. Photo : Wikimedia Commons, domaine public.

Conçu aux États-Unis dans les années 1930, le calculateur E6B est encore utilisé dans la formation des pilotes, et souvent accepté aux examens où les calculatrices programmables sont interdites. Il a deux faces, qui reprennent les deux grandes idées de ce texte :

  • Une règle à calcul circulaire, à échelles logarithmiques : consommation de carburant, durée d'un trajet, conversions d'unités, toutes des multiplications et des divisions.
  • Un triangle des vitesses, qui est une addition de vecteurs, comme le triangle des forces : la vitesse de l'avion par rapport au sol est la somme de sa vitesse par rapport à l'air et de la vitesse du vent.

À la main. Un avion vole cap au nord à $200$ km/h par rapport à l'air ; un vent d'ouest souffle à $40$ km/h vers l'est. Dans un repère orthonormé (est, nord), sa vitesse par rapport au sol est $\begin{pmatrix}0\\200\end{pmatrix} + \begin{pmatrix}40\\0\end{pmatrix} = \begin{pmatrix}40\\200\end{pmatrix}$, de norme $\sqrt{40^2 + 200^2} \approx 204$ km/h. L'avion dérive vers l'est d'un angle $\theta$ tel que $\tan\theta = \dfrac{40}{200} = 0{,}2$, soit environ $11°$. Le pilote utilise l'E6B pour le problème inverse : quel cap prendre pour arriver là où il veut aller.

Les limites de ces méthodes 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 équations de droites et le milieu d'un segment ; la fonction logarithme népérien et ses propriétés algébriques ; les probabilités conditionnelles et la formule des probabilités totales ; les vecteurs, leurs coordonnées et la colinéarité ; les suites arithmétiques et la somme de leurs termes ; la dérivée d'un quotient et les limites de fonctions rationnelles.

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

Pour aller plus loin