朱一蛋疼的时候做的蛋疼之物 <-标题党

2012-01-31 03:11:29 +08:00
 zythum
url: http://zythum.free.bg/PI

或说这么算圆周率真的大丈夫?
虽然用js算圆周率是很蛋疼的事情。而且这个算法无比的蛋疼。

有木有什么好玩的算法呢?
4960 次点击
所在节点    程序员
30 条回复
greenymora
2012-01-31 03:13:14 +08:00
啊。在纠结计算时间的时候,看到这么一堆数字...
真想去喝酒算了...为什么我会纠结在php里面...
aeryen
2012-01-31 04:53:24 +08:00
作业党表示希望成为蛋疼党的一员,但是自己又忙又懒……
Semidio
2012-01-31 05:19:56 +08:00
这个算法确实很蛋疼。
yyfearth
2012-01-31 08:18:57 +08:00
最好可以事实显示现在当前的点数和圈内的点数
kuno
2012-01-31 08:49:37 +08:00
如果点的分布是绝对平均的,最后不就是在计算圆的面积除以方形剩余的面积?
zythum
2012-01-31 08:52:54 +08:00
设圆的半径是R,那么圆的面积是R*R*PI,外面的正方形是2R*2R
那么面积比是PI/4

如果点是平均分布的,那么落在圆内的概率就是PI/4
那么就可以算出来了.
zythum
2012-01-31 08:57:38 +08:00
@kuno 但是貌似这个随机数是伪随机啊...不过结果应该差不离把。
至少js浮点数就那么多.
makeabeeline
2012-02-02 14:51:34 +08:00
这是微积分投影法的应用哦
aoyoo
2012-02-02 15:13:03 +08:00
这算是蒙特卡罗算法么?
zythum
2012-02-02 21:08:22 +08:00
@aoyoo 我也不知道啊.
cmonday
2012-02-02 21:22:46 +08:00
所以一切顺利的话最后就会很接近 Math.PI 了是么…… = =
zythum
2012-02-02 21:23:38 +08:00
@cmonday 别把实话说出来啊...
zythum
2012-02-02 21:23:59 +08:00
@cmonday 这是一种教学的思路。这个算个课件其实。
cmonday
2012-02-02 21:26:27 +08:00
@zythum 原来是这样…… = =
zythum
2012-02-02 21:28:39 +08:00
@cmonday 话说怎么突破浮点的长度的拘束
013231
2012-02-02 21:37:03 +08:00
没必要生成随机数. 遍历每一个点就可以了.
http://gist.github.com/1723500
zythum
2012-02-02 21:39:36 +08:00
@013231 但是坐标是整数的话,半径要很宽才行。
zythum
2012-02-02 21:40:59 +08:00
@013231 而且这样按道理说是便利不完的。
013231
2012-02-02 21:48:47 +08:00
@zythum 所谓"遍历"是指均匀的取样啦. 也不一定用整数啊, 换成浮点数也一样.
http://gist.github.com/1723546
zythum
2012-02-02 21:54:59 +08:00
但是均匀遍历总感觉有问题... 你可以试试结果。
因为随机数的话只要时间够久肯定是可以精确的。(排除js语言本身的问题)。

但是均匀遍历这个算法不行。本身就有精确度上的问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/26279

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX