Я работаю над проектом python
, где из функции я получаю значения координат x, y
в dict
, как показано ниже:
centroid_dict = {0: (333, 125), 1: (288, 52), 2: (351, 41)}
, где 0, 1, 2
являются objectId
и (333, 125), (288, 52), (351, 41)
их значениями (x, y)
соответственно. Мне нужно вычислить расстояние между каждой координатой, что означает:
0 - 1 -> ((333, 125) - (288, 52))
0 - 2 -> ((333, 125) - (351, 41))
1 - 0 -> ((288, 52) - (333, 125))
1 - 2 -> ((288, 52) - (351, 41))
2 - 0 -> ((351, 41) - (333, 125))
2 - 1 -> ((351, 41) - (288, 52))
Чтобы вычислить расстояние, я могу использовать:
def calculateDistance(x1, y1, x2, y2):
dist = math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)
return dist
, но я не могу думать ни о каких логах c, который может рассчитать расстояние между каждой точкой, поскольку длина dict может увеличиться в будущем. На данный момент это 3
, но это может быть 10
. Может кто-нибудь, пожалуйста, помогите мне дать некоторые идеи по этому поводу. Спасибо