p5.js 动画讲解:蒙特卡罗法计算圆周率 PI

发表于 更新于

前言

蒙特卡罗法是一种随机模拟方法,通过随机抽样的方式,来估计一个问题的解。蒙特卡罗法不需要对问题进行复杂的分析,典型应用就是计算圆周率 PI。

在一个正方形内画一个内切圆,然后随机生成点,并计算点在圆内数量/总量的比值。这个比值就是圆的面积与正方形面积的比值,即 PI/4。通过这个比值,得出 PI 的值。这就是蒙特卡罗法计算 PI 的原理。

实现

这里用 p5.js 实现了蒙特卡罗法估算圆周率,并用动画展示其过程。其中圆内的点会以绿色呈现,圆外的点是红色。每 100 毫秒刷新一次 PI 的近似值,显示在中间。

如果看不到点,表示已分布完整。请刷新页面。

通常你会逐渐看到 3.14 这个部分稳定,但不会再进一步精确。因为画布大小很有限,点的数量不够多。理论上,点的数量越多,PI 的值越精确。

结束语

这是一篇科普,也顺带是一个 p5.js 的小练习。想知道这种动画是如何制作的,为何能在网页上展示,请阅读此文

作者头像 一点点入门知识 打赏作者
本文由作者按照 CC BY 4.0 进行授权
分享:

相关文章