关于两种在圆内生成随机点方法的区别

本文探讨了蒙特卡罗方法在求解圆周率中的应用,通过在圆及其外接矩形内随机生成点来估算π值。介绍了两种随机点生成方法:直接在矩形内生成并筛选,以及利用极坐标随机生成。展示了两种方法在点分布上的差异,指出第二种方法需调整以实现均匀分布。

首先下图是一个蒙特卡罗方法求圆周率的一个经典案例:

 

即主要思想为我们在该矩形中随机生成若干个点,最后有一些落在这个矩形的内接圆内,有的则在阴影部分。即此时 圆内的点数量/生成点的总数=圆的面积/矩形面积=(π*r*r)/(4*r*r)

由此当试验次数(即生成的点)足够多的时候,我们可以计算出圆周率的近似值。并且当随机生成的点越多,则估值越接近于真实值。

 

此时,在矩形中随机生成一个点的方法即

rand一个0~1之间的随机数,然后乘以矩形的边长。随机点的坐标x和y都用这种方式生成。

 

那么,由此我们可以得到第一种在圆内生成随机点的方法,即先在这个圆外画一个外接矩形,然后用以上方法在矩形内生成随机点,然后拒绝掉那些落在圆外面的。最后的结果即是在圆内生成随机点。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值