在圆内均匀生成随机坐标点

极坐标法:(更优)

x = r*sin(theta)

y = r*cos(theta)

其中0 <= r <= R, 0 <= theta < 360                     

先随机生成[0, 360)内的theta,然后随机生成[0, 1]内的k, 且r = sqrt(k)*R。

根据根号函数的性质,这样使得r的分布在k靠近1(靠近边缘)的地方点变得较密

(单纯极坐标随机会使靠近圆心稠密而边缘稀疏,故对r增添一个开方的因子)


外接矩形法:

每个圆对应一个外切矩形,我们随机生成矩形内的点,如果该点在圆内,就返回改点,否则重新生成直到生成的点在圆内。

该方法的缺点是有可能连续几次都生成不了符合要求的点。(可以求得:每次生成点时,该点有 image 的概率在圆内)



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值