{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Méthode d'Archimède" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "première", "trigonométrie", "périmètre" ] }, "source": [ "## Présentation de l'activité\n", "- **Niveau de classe :** \n", " - Classe de première de la voie générale (spécialité mathématiques).\n", " - Classe de première de la voie technologique (tronc commun).\n", "- **Référence au programme :** \n", " - Spécialité mathématiques de première générale : *Approximation du nombre $\\pi$ par la méthode d’Archimède*.\n", "- **Description :** activité d'approximation du nombre $\\pi$ permettant de faire travailler les notions de géométrie du plan, les fonctions trigonométriques et les suites." ] }, { "cell_type": "markdown", "metadata": { "tags": [ "Méthode", "approximation", "Archimède", "pi" ] }, "source": [ "## Description de la méthode d'Archimède\n", "La méthode d'Archimède permet d'obtenir une approximation du nombre $\\pi$. Pour cela on calcule les périmètres de polygones réguliers inscrits et circonscrits à un cercle de rayon $\\dfrac{1}{2}$. Plus le nombre de côtés du polygone sera important, plus on se rapprochera du périmètre du cercle, à savoir $\\pi$.\n", "![archimede.png](img/archimede.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calcul du périmètre des polygones\n", "\n", "On pose $a_n$ le périmètre d'un polygone régulier ayant $n$ côtés et inscrit dans le cercle de rayon $\\dfrac{1}{2}$ et $b_n$ le périmètre d'un polygone régulier ayant $n$ côtés et circonscrit au cercle de rayon $\\dfrac{1}{2}$.\n", "On vérifie que :\n", "$$\n", "a_n = n \\sin ( \\frac{\\pi}{n}) \\text{ et }b_n = n \\tan ( \\frac{\\pi}{n}).\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "- **Mathématiques débranchées**\n", "\n", " Demander de faire un dessin des polygones inscrits et circonscrits, puis de démontrer les expressions de $a_n$ et de $b_n$ (à partir des lignes trigonométriques dans un triangle rectangle bien choisi.)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Implémentation de la méthode \n", "On peut implémenter cette méthode utilisant les fonctions $\\textrm{sinus}$ et $\\textrm{tangente}$ (qui étaient inconnues d'Archimède)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(2.938926261462366, 3.6327126400268046)\n" ] } ], "source": [ "from math import sin,tan,pi\n", "\n", "def archimedeSimple(n):\n", " return n*sin(pi/n),n*tan(pi/n)\n", "\n", "print(archimedeSimple(5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "- **Écrire un programme**\n", "\n", " Écrire une fonction `archimedeSimple` qui prend en paramètre une variable entière $n$ représentant le nombre de côtés des polygones et renvoyant le couple $(a_n,b_n)$. \n", "- **Expliquer un programme**\n", "\n", " L'illustration géométrique permet de conjecturer que ces deux suites convergent vers le nombre $\\pi$. Pour une valeur de $n$ donnée, qui de $a_n$ ou de $b_n$ semble le plus proche de $\\pi$ ? Exprimer les écarts entre d'une part $a_n$ et $\\pi$ et d'autre part $b_n$ et $\\pi$ lorsque les polygones sont des carrés ($n=4$)." ] }, { "cell_type": "markdown", "metadata": { "tags": [ "Simulation", "Animation" ] }, "source": [ "## Animation susceptible d'être présentée aux élèves\n", "Cette animation montre sur la figure de gauche les polygones inscrits et circonscrits et donne sur la figure de droite le périmètre de chacun. On peut ainsi visualiser la convergence vers $\\pi$." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": false, "tags": [ "Simulation", "Animation" ] }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", " Once \n", " Loop \n", " Reflect \n", "
\n", "
\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import matplotlib.pyplot as plt\n", "from matplotlib.patches import Circle,RegularPolygon\n", "from IPython.display import HTML\n", "import matplotlib.animation\n", "from math import cos\n", "\n", "# nombre de cotés maximum - 3\n", "N=15\n", "\n", "fig, (ax1, ax2) = plt.subplots(1, 2,figsize=(12, 6))\n", "l= .7\n", "ax1.set_xlim(( -l, l))\n", "ax1.set_ylim((-l, l))\n", "ax2.set_xlim(( 4, N+3))\n", "ax2.set_ylim((2.75, 4.25))\n", "approximationsInf = []\n", "approximationsSup = []\n", "\n", "cercle = Circle((0, 0), .5, facecolor='none',\n", " edgecolor=(0, 0, 0), linewidth=2, alpha=0.75)\n", "courbeInf, = ax2.plot([],[],'-o',color=\"#1e7fcb\")\n", "courbeSup, = ax2.plot([],[],'-o',color='orange')\n", "\n", "def init():\n", " return []\n", "\n", "def animate(i):\n", " inf,sup = archimedeSimple(i+4)\n", " approximationsInf.append(inf)\n", " approximationsSup.append(sup)\n", " ax1.clear()\n", " ax1.set_xlim(( -l, l))\n", " ax1.set_ylim((-l, l))\n", " ax1.add_patch(cercle)\n", " long = 0.5/cos(pi/(i+4))\n", " PI = RegularPolygon(numVertices = 4+i,xy=(0, 0), radius=.5, orientation=0.79,edgecolor=\"#1e7fcb\", facecolor='none',\n", " linewidth=2, alpha=0.5)\n", " PS = RegularPolygon((0, 0), 4+i, radius=long, orientation=.79, facecolor='none',\n", " edgecolor='orange', linewidth=2, alpha=0.5)\n", " ax1.add_patch(PI)\n", " ax1.add_patch(PS)\n", " ax1.set_title('{} côtés'.format(i+4),color=\"#1e7fcb\",fontsize=14)\n", " courbeInf.set_data(range(4,i+5),approximationsInf)\n", " courbeSup.set_data(range(4,i+5),approximationsSup)\n", " return PI\n", "\n", "ax2.plot([4,3+N],[pi,pi],'--',color='green')\n", "ax2.legend(['Polygones intérieurs','Polygones extérieurs','$\\pi$'])\n", "\n", "plt.close ()\n", "ani = matplotlib.animation.FuncAnimation(fig, animate,init_func=init,frames=N,blit=False,interval=500)\n", "# l'un ou l'autre\n", "HTML(ani.to_jshtml())\n", "#HTML(ani.to_html5_video())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Accélération de la convergence\n", "\n", "Pour tout entier naturel $n$, on pose $\\alpha_n=a_ {2^n}$ et $\\beta_n=b_{2^n} $.\n", "\n", "\n", "$$\n", "\\lim _{n\\rightarrow +\\infty} \\alpha_n = \\lim _{n\\rightarrow +\\infty} \\beta_n = \\pi.\n", "$$\n", "\n", "On peut démontrer que \n", "$$\n", "b_{2n} = \\frac{2a_nb_n}{a_n+b_n} \\text{ et }a_{2n}=\\sqrt{a_nb_{2n}}.\n", "$$\n", "\n", "En déduire que $\\alpha_n=\\sqrt{\\alpha_{n-1}\\beta_n}$ et \n", "$\\beta_n=\\dfrac{2\\alpha_{n-1}\\beta_{n-1}}{\\alpha_{n-1}+\\beta_{n-1}}$." ] }, { "cell_type": "markdown", "metadata": { "tags": [ "première", "générale" ] }, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "- **Mathématiques débranchées**\n", "\n", " La démonstration des deux premières égalités utilise des formules de trigonométrie (lignes trigonométriques d'un angle double).\n", "- **Mathématiques débranchées**\n", "\n", " Expliquer la différence entre le mode de définition d'une part des suites $(a_n)$ et $(b_n)$ et d'autre part des suites $(a_{2^n})$ et $(b_{2^n})$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Programmation des suites $(a_{2^n})$ et $(b_{2^n})$\n", "Dans cette partie, on utilise les relations précédentes pour calculer les termes des suites $(a_{2^n})$ et $(b_{2^n})$." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "tags": [ "suites" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(3.141592345570118, 3.1415932696293076)\n" ] } ], "source": [ "from math import sqrt\n", "\n", "def archimede(n):\n", " a = 2*sqrt(2)\n", " b = 4\n", " for i in range(n):\n", " b = (2*a*b)/(a+b)\n", " a = sqrt(b*a)\n", " return a,b\n", "print(archimede(10))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "- **Calculer**\n", "\n", " On peut demander dans un premier temps à l'élève ce que valent $a_4$ et $b_4$.\n", "- **Expliquer un programme** \n", " - Que représentent les lignes 4 et 5 ?\n", " - Pourquoi calcule-t-on $b$ avant $a$ dans les lignes 7 et 8 ?\n", "- **Compléter un programme**\n", "\n", " Le programme précédent étant fourni en remplaçant les lignes 7 et 8 par `b=...` et `a=...`, demander aux élèves de compléter les lignes 7 et 8.\n", "- **Écrire un programme**\n", "\n", " Écrire le programme `archimede`" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "Convergence" ] }, "source": [ "## Convergence de la deuxième méthode" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Le programme suivant permet de visualiser la convergence vers $\\pi$ par la méthode 2." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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HjxIQUEBI0eO5IYbbmDmzJmcd955pKQ0PhR7wgknVLfJyMhgx44djBo1qlabjz/+mC1btjBy5EgASktLOemkk6pfnzFjRp333b59O5s2beLUU08FnCGbXr16NRoLwKmnnkrXrl0BGD58OL/85S8pKytj6tSp1f8vAqFZyV1VVwArPM/n1dh+GJjmz8B80rkXzHwOHp0ET10As9+E2C5tHoYxzdVUD3vkHe+Sm19cZ3ufpFgWXX1SPXv4pmrMvSZfv2RfeumlPP300zz77LPVvdWG9m3sPSMjI6vL/MLDw6vHoisrK1m9ejWxsbWHX2+66SbOPPNMXnvtNUaMGMHy5csZMGBAg+8fHR1d/bzm+3vHd+qpp7Jw4cJ636Pqg857n8GDB7N69eo6r0VERFBZ6Xzwetem13yvMWPG8MEHH/Dqq69y6aWXMmfOHH7xi180eC6tEfxzy/QYCBc+DT9+A89eAuUlbkdkTKvNmdSf2MjwWttiI8OZM6m/3481ZswYli5dSlFREYcOHeLFF19k9OjRddpddtll1ePxgwc7H06jRo1i8WLnXpMtW7awceNGAE488UTef/999u7dS0VFBQsXLmy0IgXgtNNO44EHHqj+vepD6Ouvv+a4445j7ty5ZGZmsm3bthadZ0JCQvV4/YgRI1i1alX1NYeioiK++OKLRvfv378/eXl51cm9rKyMzZs3A844/dq1Ts1J1fh8fb777jt69OjBlVdeyezZs1m3bl2LzsUXwZ/cAY4aDVMfgu9WwtJroLJ1X12NcdvUoX24/bzj6JMUi+D02G8/7zimDu3j92MNGzaMyy67jBNOOIETTzyRK664otaQTJWePXsycOBALr/88upt11xzDXl5eaSnp3PnnXeSnp5OYmIivXr14vbbb2f8+PEMGTKEYcOGcc455zQax/33309WVhbp6ekMGjSoupJnwYIFpKWlMWTIEGJjYzn99NNbdJ5XXXUVp59+OuPHjyc5OZknnniCiy66iPT0dEaMGNHkh0ZUVBRLlixh7ty5DBkyhIyMjOoqnd///vc89NBDnHzyyezdu7fB91ixYkX1heHnn3++ekgrEMTf1z19lZmZqX5frOPDvzkXXEfdABP/6N/3NqaVtm7dysCBA90Oo8WKioo47rjjWLduHYmJiYAz7lxWVkZMTAxff/01EyZM4IsvviAqKsrl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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# nombre d'itérations (on initialise au cas du carré)\n", "N = 3\n", "approximationsInf = []\n", "approximationsSup = []\n", "abscisse = []\n", "\n", "for i in range(N):\n", " abscisse.append(2**(i+2))\n", " inf,sup = archimede(i)\n", " approximationsInf.append(inf)\n", " approximationsSup.append(sup)\n", "\n", "\n", "plt.plot(abscisse,approximationsInf,'-o')\n", "plt.plot(abscisse,approximationsSup ,'-o')\n", "plt.plot([4,2**(N+1)],[pi,pi])\n", "plt.legend(['Polygones intérieurs','Polygones extérieurs','$\\pi$'])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "Simulation", "Animation" ] }, "source": [ "## Animation susceptible d'être présentée aux élèves\n", "Cette animation montre la convergence vers $\\pi$ de la deuxième méthode. On peut constater que la convergence semble très rapide. La section suivante permettra de comparer les deux méthodes." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": false, "tags": [ "Simulation", "Animation" ] }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", " Once \n", " Loop \n", " Reflect \n", "
\n", "
\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# nombre d'itérations (on initialise au cas du carré)\n", "N = 4\n", "\n", "fig, (ax1, ax2) = plt.subplots(1, 2,figsize=(12, 6))\n", "l= .7\n", "ax1.set_xlim(( -l, l))\n", "ax1.set_ylim((-l, l))\n", "ax2.set_xlim(( 4, 2**(N+1)))\n", "ax2.set_ylim((3.05, 3.35))\n", "approximationsInf = []\n", "approximationsSup = []\n", "\n", "cercle = Circle((0, 0), .5, facecolor='none',\n", " edgecolor=(0, 0, 0), linewidth=2, alpha=0.75)\n", "courbeInf, = ax2.plot([],[],'-o',color=\"#1e7fcb\")\n", "courbeSup, = ax2.plot([],[],'-o',color='orange')\n", "abscisse = []\n", "\n", "def init():\n", " return []\n", "\n", "def animate(i):\n", " abscisse.append(2**(i+2))\n", " inf,sup = archimede(i)\n", " approximationsInf.append(inf)\n", " approximationsSup.append(sup)\n", " ax1.clear()\n", " ax1.set_xlim(( -l, l))\n", " ax1.set_ylim((-l, l))\n", " ax1.add_patch(cercle)\n", " long = 0.5/cos(pi/(4*2**i))\n", " PI = RegularPolygon(numVertices = 4*2**i,xy=(0, 0), radius=.5, orientation=0.79,edgecolor=\"#1e7fcb\", facecolor='none',\n", " linewidth=2, alpha=0.5)\n", " PS = RegularPolygon((0, 0), 4*2**i, radius=long, orientation=.79, facecolor='none',\n", " edgecolor='orange', linewidth=2, alpha=0.5)\n", " ax1.add_patch(PI)\n", " ax1.add_patch(PS)\n", " ax1.set_title('{} côtés'.format(4*2**i),color=\"#1e7fcb\",fontsize=14)\n", " courbeInf.set_data(abscisse,approximationsInf)\n", " courbeSup.set_data(abscisse,approximationsSup)\n", " return PI,\n", "\n", "ax2.plot([4,2**(N+1)],[pi,pi],'--',color='green')\n", "ax2.legend(['Polygones intérieurs','Polygones extérieurs','$\\pi$'])\n", "\n", "plt.close ()\n", "ani = matplotlib.animation.FuncAnimation(fig, animate,init_func=init, frames=N,blit=False,interval=750)\n", "# l'un ou l'autre\n", "HTML(ani.to_jshtml())\n", "#HTML(ani.to_html5_video())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Précision\n", "\n", "On cherche une valeur approchée de $\\pi$ à $10^{-p}$ près. Pour cela, on remarque que \n", "$$\n", "\\forall n>0,\\ a_n \\leq \\pi \\leq b_n\n", "$$\n", "Ainsi, il suffit d'avoir $b_n-a_n \\leq 10^{-p}$ pour obtenir l'approximation cherchée avec $a_n$ ou $b_n$ au choix." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Le programme `archimedeSimplePrecision` prend en paramètre un entier naturel `p` et renvoie `a`, `b` et `n` tels que\n", "$$b_n-a_n \\leq 10^{-p}$$\n", "avec $p$=`p`, $n$=`n`, $a_n$=`a` et $b_n$=`b` et en utilisant la fonction `archimedeSimple`." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(3.1415926535564602, 3.1415926536564593, 393741)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def archimedeSimplePrecision(p):\n", " n = 4\n", " a,b = archimedeSimple(4)\n", " while b-a>10**-p:\n", " n = n+1\n", " a,b = archimedeSimple(n)\n", " return a,b,n\n", "archimedeSimplePrecision(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "* **Expliquer un programme** \n", " - A-t-on besoin d'une valeur absolue dans la condition de la ligne 4 ?\n", " - À quelle condition sort-on de la boucle ?\n", " - Que représentent `p` et `n`?\n", "* **Compléter un programme**\n", "\n", " Le programme précédent étant fourni en remplaçant les lignes 4 et 5 par `while ...` et `n = ...`, demander aux élèves de compléter les lignes 4 et 5." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Le programme `archimedeSimplePrecision` prend en paramètre un entier naturel `p`et renvoie `a`, `b` et `n`tels que\n", "$$b_n-a_n \\leq 10^{-p}$$\n", "avec $p$=`p`, $n$=`n`, $a_n$=`a` et $b_n$=`b` et en utilisant la seconde méthode d'Archimède." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(3.1415926535709926, 3.141592653627393, 21)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def archimedePrecision(p):\n", " a = 2*sqrt(2)\n", " b = 4 \n", " n = 4 #\n", " while b-a>10**(-p):\n", " b = (2*a*b)/(a+b)\n", " a = sqrt(b*a)\n", " n = n+1 #\n", " return a,b,n\n", "archimedePrecision(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "* **Expliquer un programme** \n", " - A-t-on besoin d'une valeur absolue dans la condition de la ligne 4 ?\n", " - À quelle condition sort-on de la boucle ?\n", " - Peut-on inverser les lignes 5 et 6 ?\n", " - Que représentent `p` et `n`?\n", "* **Compléter un programme**\n", "\n", " Le programme précédent étant fourni en remplaçant les lignes 4 et 5 par `while ...` et `b = ...`, demander aux élèves de compléter les lignes 4 et 5." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Comparaison des méthodes" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Le programme suivant nous permet de visualiser la vitesse de convergence de chaque méthode en utilisant la précision. En abscisse, il y a un entier $p$ et en ordonnée $n$ tel que :\n", "$$b_n-a_n \\leq 10^{-p}.$$" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "n = 10\n", "abscisse = [i for i in range(1,n+1)]\n", "methode1 = [archimedeSimplePrecision(i)[2] for i in abscisse] \n", "methode2 = [archimedePrecision(i)[2] for i in abscisse] \n", "\n", "plt.plot(abscisse,methode1,'o-')\n", "plt.plot(abscisse,methode2,'o-')\n", "plt.legend(['Méthode 1','Méthode 2'])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "Remarque\n", "
\n", "\n", "La méthode 2 est donc beaucoup plus avantageuse car elle converge nettement plus rapidement et parce qu'elle n'utilise pas les fonctions trigonométriques." ] } ], "metadata": { "celltoolbar": "Tags", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.5" } }, "nbformat": 4, "nbformat_minor": 2 }