Il s'agit d'une expérience de probabilité qui fournit une approximation du nombre π.
L'expérience consiste à lancer un grand nombre de fois une aiguille sur un plan horizontal sur lequel sont tracés des traits parallèles équidistants de la longueur a de l'aiguille.
On fait le quotient du nombre de fois où l'aiguille tombe à cheval sur un trait (cas "favorable") par le nombre total de lancers. Quand le nombre de lancers augmente, ce quotient se rapproche du nombre 2/π.
L'une des extrémités M de l'aiguille MN est située sur la normale OH aux traits.
OM = y est la distance entre M et le trait le plus proche et θ est l'angle entre MN et la normale aux traits.
Par raison de symétrie, on peut supposer que 0 < y < a et que 0 < θ < π / 2.
Pour que l'aiguille coupe un trait, il faut que la longueur MH soit inférieure à a.cosθ.
La condition d'intersection est donc :
a.(1 − cosθ) < y < a.
Si le lancer est réalisé d'une manière telle que les lois de probabilité pour y et θ sont uniformes on a f(y) = 1 / a et f(θ) = 2 / π
Ces variables étant indépendantes, la probabilité pour que la variable y soit comprise entre y et y + dy en même temps que la variable θ soit comprise entre θ et dθ est le produit des probabilités élémentaires f(y).f(θ).dy.dθ
La probabilité d'intersection est obtenue en intégrant sur y et θ en tenant compte de la condition d'intersection.
Choisir le nombre d'essais avec la liste de choix.
La couleur des aiguilles est choisie de façon aléatoire.
Dans cette expérience virtuelle
on teste en fait la qualité du générateur de nombres aléatoires du langage.