小编Swo*_*lol的帖子

如何在正方形内生成随机点,但不在正方形内切出的圆内

参考图片:

红色圆圈的半径为r

蓝色方块的边长为s

我的目标是在蓝色区域内生成一个随机点但不在红色区域中我已经有一个解决方案,但它涉及试错,这不是我喜欢的方法,是否有某种数学解决方案来解决这个问题?

这是我的方法

设rx和ry为随机变量

rx = random number between 0 and s
ry = random number between 0 and s
while (distance(rx,ry,0,0) < r)
{
   rx = random number between 0 and s
   ry = random number between 0 and s
}
return rx ry;
Run Code Online (Sandbox Code Playgroud)

random math

5
推荐指数
2
解决办法
1510
查看次数

标签 统计

math ×1

random ×1