java - 如何选择距引用点一定距离的随机点

标签 java math random

我有点 A (pointA = (x1, y1)),我需要选择一个随机点 B ( pointB = (x2, y2)),使得 AB 之间的距离等于 K

最佳答案

让我们以极坐标形式求解。

我们需要这些 double 值距离x1y1

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

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;

这将使您得到一个与第一个点相距一定距离的点。

关于java - 如何选择距引用点一定距离的随机点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29720611/

相关文章:

java - 场景构建器导入到 Eclipse

java - Lombok 没有在 Maven 中编译

image - 如何找到宽高比 4 :3 which fits within a predetermined size? 的维度

c++ - 如何编写一个可重复的伪随机数生成器?

random - 保存程序生成的所有随机数,然后在 Racket 中重复使用它们

java - 使用随机生成的数字进行动画

java - 发送图片到服务器

java - fragment 项目不会崩溃

c++ - 生成加起来等于某个数字的所有唯一数字组合

python - 如何计算python中线上两点之间的距离