如何选择距离参考点一定距离的随机点

时间:2015-04-18 17:36:18

标签: java math random

我有点 A pointA = (x1, y1)),我需要选择一个随机点 B pointB = (x2, y2)),这样就可以了 A B 等于 K

2 个答案:

答案 0 :(得分:5)

让我们以极地形式解决。

我们需要这些双打distancex1y1

首先,我们想要以弧度为单位的角度:

double angle = Math.random()*2*Math.PI;

然后我们想从我们的观点得到x和y偏移量:

double xOff = Math.cos(angle)*distance;
double yOff = Math.sin(angle)*distance;

然后我们将这些添加到我们的第一点:

double x2 = x1 + xOff;
double y2 = y1 + yOff;

这会让你在距离第一点distance的某个点{。}}。

答案 1 :(得分:-1)

这是一个简单的数学问题。

x2 = x1 - k + 2k*new Random().nextDouble()

现在你可以计算y2。