我点甲(pointA = (x1, y1))和I需要选择一个随机点乙(pointB = (x2, y2)),使得之间的距离甲和乙等于ķ.
让我们以极地形式解决.
我们需要这些双打distance,x1和y1.
首先,我们想要以弧度为单位的角度:
double angle = Math.random()*2*Math.PI;
Run Code Online (Sandbox Code Playgroud)
然后我们想从我们的观点得到x和y偏移量:
double xOff = Math.cos(angle)*distance;
double yOff = Math.sin(angle)*distance;
Run Code Online (Sandbox Code Playgroud)
然后我们将这些添加到我们的第一点:
double x2 = x1 + xOff;
double y2 = y1 + yOff;
Run Code Online (Sandbox Code Playgroud)
这将为您提供一个distance远离您的第一点的点.