5

我正在尝试找出一种算法来找到距基点一定距离的随机点。例如:

替代文字

这可能只是基本的数学,我的大脑还没有工作(原谅我,我的咖啡还没喝:)),但我一直试图在纸上解决这个问题,但我一无所获。

4

3 回答 3

10

圆上点的坐标,半径为 R,圆心 (xc, yc):

x = xc + R*cos(a);
y = yc + R*sin(a);

将角度 a 的值从 0 更改为 2*PI,您可以找到圆周上的任何点。

于 2010-08-05T12:25:20.943 回答
5

使用垂直角度作为随机输入。

伪代码:

angle = rand(0,1)
x = cos(angle * 2 * pi) * Radius + x_centre
y = sin(angle * 2 * pi) * Radius + y_centre
于 2010-08-05T12:28:39.577 回答
1

基本的毕达哥拉斯。

选择 0 到 50 之间的随机数并求解 h^2 = a^2 + b^2 在方向上添加一些随机决定。

于 2010-08-05T12:26:08.067 回答