JavaScriptとCanvasでモンテカルロ法で円周率を求める

モンテカルロ法を使うと、2つの乱数と計算で、円周率を近似値として求めることができるので試してみました。

時間がたつと精度が上がる

 

モンテカルロ法の仕組みは以下で求められます。

  1. 点(X,Y)のXとYを乱数で求める。
  2. ピタゴラスの定理で、原点(0,0)から点(X,Y)の距離が単位円1に収まるかどうか確認する。収まる場合はinCountで保持。
  3. 最後に、(4*inCount)/全体の回数で、円周率πを求めることができます。

乱数が0.0から1.0の範囲なので、XY座標では、単位円の4分の1です。そのため4倍に円周率を求めるときにします。乱数を-1から1の範囲にしたら、inCount/Counterになります。

 

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA