如何使用欧几里得距离计算两点之间的距离?



答案在这里。

我在笛卡尔平面上有以下几点

points = [(4, 5), (-0, 2), (4, 7), (1, -3), (3, -2), (4, 5), (3, 2), (5, 7), (-5, 7), (2, 2), (-4, 5), (0, -2), (-4, 7), (-1, 3), (-3, 2), (-4, -5), (-3, 2), (5, 7), (5, 7), (2, 2), (9, 9), (-8, -9)]

我需要使用欧几里得距离找到离中心最近的点。

到目前为止,我已经这样做了:

import math
euclidean_distance=[]
distance = math.sqrt(sum([((x+y)**2) for (x,y) in points]))
for (x,y) in points:
int(distance)
euclidean_distance.append(distance)
min_distance=min(euclidean_distance)
print(distance)
print(euclidean_distance)
print(min_distance)

结果是:

38.71692136521188
[38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188, 38.71692136521188]
38.71692136521188

为什么不计算列表每个点的欧几里得距离?

最后我做到了,并为我工作:

import math
distance_points=[]
def euclidean_distance (points):
return math.sqrt((x**2+y**2))
for (x,y) in (points): 
distance=euclidean_distance(points)
distance_points.append(distance)

print(distance_points)

最新更新