- Présentation
- Objectifs
- Installation
- Méthodes d'estimation
- Sauvegarde des résultats
- Technologies utilisées
- Documentation
- Licence
- Auteurs
PI-THON est un projet permettant d'estimer la valeur de π en python en utilisant plusieurs méthodes mathématiques et algorithmiques. L'objectif est de comparer ces méthodes en termes de vitesse, précision et convergence, tout en proposant une visualisation interactive avec Pygame.
Ce projet a été réalisé dans le cadre des Trophées NSI 2025.
L'objectif de π -THON est de fournir une plateforme interactive permettant :
- Visualiser différentes méthodes d'estimation de π, allant des approches stochastiques (ex. Monte-Carlo, Buffon) aux algorithmes haute précision (ex. Chudnovsky, Gauss-Legendre).
- Comprendre comment chaque méthode converge vers la valeur réelle de π.
- Observer les différences de vitesse de calcul et de précision entre les méthodes.
- Identifier lesquelles sont adaptées à un grand nombre de décimales et lesquelles sont plus adaptées à des expériences empiriques.
- Faciliter la compréhension des concepts mathématiques derrière π.
- Montrer les liens entre mathématiques, physique et probabilités dans le calcul de π.
- L'utilisateur peut ajuster certains paramètres (ex. nombre d'itérations, vitesse de simulation).
- Une interface graphique avec Pygame permet de visualiser chaque méthode en action.
Enfin, ce programme peut s'avérer utile en tant que générateur de fichiers textes jusqu'à 300 millions de décimales contenant un nombre de décimales souhaité. (utile par exemple pour des applications scientifiques ou cryptographiques)
Assurez-vous d'avoir Python 3.10+ installé.
Puis, installez les bibliothèques nécessaires avec :
pip install -r requirements.txt
Avant toute chose, nous vous conseillons d'utiliser une résolution d'écran de 1920 x 1080 dans l'idéal, ou supérieure (ratio 16:9) (La résolution 2560 x 1440 a été testée sans problème, mais la résolution 1280 x 720 présentait des bugs d'affichage, bien que fonctionnelle.) afin d'éviter tout bug d'affichage.
Si cela n'est pas possible, nous vous conseillons de cliquer sur le bouton de plein écran ou d'appuyer sur la touche f ou f11 à l'entrée dans l'application pour utiliser le mode fenêtré. Nous ne garantissons pas un affichage sans bugs pour d'autres résolutions.
- Depuis le répertoire racine du projet, exécutez :
python sources/main.py
Méthode | Principe |
---|---|
Monte-Carlo | Simulation aléatoire de points dans un cercle |
Buffon | Lancer d’aiguilles sur un sol en lattes |
Archimède | Encadrement du cercle par des polygones |
Leibniz | Série alternée (1 - 1/3 + 1/5 - ...) |
Nilakantha | Amélioration de Leibniz |
Machin | Formule basée sur l'arctangente |
Gauss-Legendre | Algorithme rapide pour haute précision |
Borwein | Convergence exponentielle |
Chudnovsky | Utilisé pour les records de décimales |
Ramanujan | Formule rapide basée sur les factorielles |
Pendule | Estimation basée sur la physique du pendule |
Collisions | Expérience physique des collisions élastiques |
Approximation intégrale | Estimation via l’aire sous une courbe |
Les résultats générés sont enregistrés dans data/resultats_estimations_pi/
sous forme de fichiers .txt
:
data/pi_estimations/pi_gauss-legendre_mille.txt
data/pi_estimations/pi_borwein_5_million(s).txt
Chaque fichier contient :
- La méthode utilisée.
- Le nombre de décimales calculées.
- Le temps de calcul.
- Le résultat de l'estimation.
- Une vérification avec les décimales de référence.
Le projet PI-THON repose sur les bibliothèques suivantes pour l'affichage interactif et les calculs haute précision :
Technologie | Description |
---|---|
Python 3.10+ | Langage principal du projet, utilisé pour implémenter les méthodes d'estimation de π. |
Pygame | Bibliothèque permettant de gérer l'affichage et l'interactivité avec l'utilisateur. |
pygame-textinput | Extension de Pygame permettant la saisie de texte dans l'interface utilisateur. |
gmpy2 | Bibliothèque optimisée pour les calculs haute précision, utilisée notamment dans les algorithmes comme Gauss-Legendre, Chudnovsky et Borwein. |
- Pygame permet de visualiser en temps réel les méthodes d’estimation de π et d’interagir avec l’interface.
- pygame-textinput améliore l’expérience utilisateur en ajoutant la possibilité d’entrer des valeurs.
- gmpy2 optimise les calculs nécessitant une grande précision, ce qui est essentiel pour certaines méthodes avancées, et il permet des calculs beaucoup plus rapides.
- Par exemple, Python natif et le module
math
arrondissent les valeurs, ce qui empêche d’atteindre une grande précision dans les calculs. Avecgmpy2
, on évite ces limitations en utilisant une précision arbitraire et on peut travailler avec un très grand nombre de décimales sans perte de précision.
- Par exemple, Python natif et le module
Ce projet est sous licence GPL v3+. Vous pouvez l’utiliser, le modifier et le distribuer librement tant que vous respectez cette licence.
- Arthur Jeaugey || [email protected] || Instagram para.bellum._
- Paul Chevasson
- Samuel Mopty