我有一个二维空间中的坐标列表(x i, y i)。如何找到一个坐标(X,Y),使其与其他给定坐标之间的距离最小?是否有一个数学公式可以解决(X,Y)?
让我举个例子。假设我有坐标列表 (0,0);(1,0);(0,1);(-1,0);(0,-1); 现在我必须找出可能的坐标(一个或多个),以使生成的坐标与所有点的距离最小。在这种情况下(0,0)。
正如 Voo 所说,这是我的要求: 找到一个点,使到给定集合中的点的距离之和最小
要求:找到一个点,使到给定集合中的点的距离之和最小。
与所有其他点的欧式距离和最小的点具有:
x = 集合中所有 X 的
平均平均值 y = 集合中所有 Y 的平均平均值
public Coord2D minDistance(List<Coord2D> coordinates, Coord2D someCoord) {
float minDistance = Float.MAX_VALUE;
Coord2D result;
for (Coord2D coord : coordinates) {
float distance = Math.sqrt(Math.pow((coord.x - someCoord.x), 2) + (Math.pow((coord.y - someCoord.y), 2))
if (distance < result) {
result = coord;
minDistance = distance;
}
}
return result;
}
您可以使用欧几里得距离公式计算两点之间的距离:squareroot((x1-X)²+(yi-Y)²) 或者您可以使用曼哈顿公式:|yi-Y|+|xi-X|。
这是寻路问题吗?