仅显示以下 2 篇带「圆周率」关键字的文章。 返回词云 或 查看全部文章
2016-04-25 by Dron
周末,闲来无事折腾了一个任意长度的圆周率 生成器,代码十分好懂不解释了(百行未压缩,自己读),原理见 梅钦类公式。
这是我写过的第三版与 PI 相关的代码。
第一版的博文在百度空间(百度空间已经倒闭看不到了),根据正方形与内接正圆的比值为 4:PI 抽随机点演算;第二版见《用 JavaScript 演算圆周率 PI(二)》。前两版均受浮点计算精度限制,只有现在这版是可以生成任意长度的,不过长度越长,计算起来越慢,测试需谨慎。
(本文完)
2011-07-03 by Dron
之前我在百度空间上发表过一篇文章《用 JavaScript 演算圆周率 pi》,用的是面积的办法,涉及到随机点。而计算机中的随机数是通过随机种子产生的,并不是真正意义上的随机数,我们称它为 伪随机数。伪随机数的缺限是在足够大的样本当中,无法满足均匀分布。因此通过随机点的办法来演算圆周率并不能获得足够准确的结果。
我后来查找圆周率的相关资料发现,圆周率可以由很多个公式计算出来,下面列举两个:
pi * pi = 6 * (1 + 1/4 + 1/9 + 1/16 + 1/25 + ...)
pi * pi = 8 * (1 + 1/9 + 1/25 + 1/49 + 1/81 + ...)
以后者为例,于是我们又可以用如下方法来演算 pi,当然仅研究用,并无实际用途:
var n = -1;
var p = 0;
var pi;
setInterval(function(e){
n += 2;
p += 1 / n / n;
pi = Math.sqrt(8 * p);
document.body.innerHTML = pi;
}, 1);