「Monte Pi」はモンテカロル法を使った円周率の計算をブラウザ上でシミュレートできるサイトです。
モンテカルロ法とは乱数を使って数値計算を行う手法のこと。なかでも円周率を求める方法は有名なので、学校で習った人も多いかもしれません。
簡単に説明すると1/4の円と、それを囲む正方形の面積の比率から円周率を求めるという考え方で、以下の式から円周率を導きます。
ただし、実際に面積を測定するかわりに、ランダムに点をプロットし、円の内部に入った点の数を数えることでシミュレーションするわけです。
点が増えるにつれて正確に
実際にランダムに点をプロットして円周率を計算することができます。
↑点の数が1の場合、円の中に1個入ったので円周率=4と出ました。
↑点の数が10の場合、円の中に8個入ったので円周率=3.2。だんだん近くなってきました。
↑点の数が100の場合円の中に79個入って、円周率=3.16に。さらにそれらしくなってきました。点の数が増えるにつれてシミュレーションの精度が高まり、正確な円周率に近づいていくことが見て納得できます。
p5.jsを使用
Monte Piは今注目のp5.js(Processing的に使えるJavaScriptのライブラリ。視覚表現を手軽に扱えることが特徴)を使っていてその点でも参考になりそうです。Monte PieのソースコードはGitHubで公開されているので参考にしてください。