极坐标法:(更优)
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增添一个开方的因子)
外接矩形法:
每个圆对应一个外切矩形,我们随机生成矩形内的点,如果该点在圆内,就返回改点,否则重新生成直到生成的点在圆内。
该方法的缺点是有可能连续几次都生成不了符合要求的点。(可以求得:每次生成点时,该点有 的概率在圆内)