如何计算圆内的随机点(有点均匀分布)?
我找到了这个答案(Udo Klein 的那个):使用 X,Y 坐标在圆内绘制点,我的 Objective C 实现如下所示:
-(CGPoint)getRandomPointInCircle:(CGPoint)cCenter radius:(float)cRadius {
float r = cRadius * sqrtf(arc4random());
float angle = sqrtf(2 * M_PI);
float x = cCenter.x + r * cosf(angle);
float y = cCenter.y + r * sinf(angle);
CCLOG(@"--> rand point: %f,%f", x, y);
return ccp(x,y);
}
现在有了一个中心为 5000,5000 和半径为 7100 的给定圆,它给了我这样的疯狂值:-324893408.000000,239372544.000000
请帮助一个数学傻瓜:)
/索伦