Подтвердить что ты не робот

Как найти расстояние между двумя точками?

Скажем, у меня есть x1, y1, а также x2, y2.

Как я могу найти расстояние между ними? Это простая математическая функция, но есть ли фрагмент этого онлайн?

4b9b3361

Ответ 1

dist = sqrt( (x2 - x1)**2 + (y2 - y1)**2 )

Как указывали другие, вы также можете использовать эквивалентный встроенный math.hypot():

dist = math.hypot(x2 - x1, y2 - y1)

Ответ 2

Пусть не забудут math.hypot:

dist = math.hypot(x2-x1, y2-y1)

Здесь гипотеза как часть фрагмента для вычисления длины пути, определенного списком (x, y) кортежей:

from math import hypot

pts = [
    (10,10),
    (10,11),
    (20,11),
    (20,10),
    (10,10),
    ]

# Py2 syntax - no longer allowed in Py3
# ptdiff = lambda (p1,p2): (p1[0]-p2[0], p1[1]-p2[1])
ptdiff = lambda p1, p2: (p1[0]-p2[0], p1[1]-p2[1])

diffs = (ptdiff(p1, p2) for p1, p2 in zip (pts, pts[1:]))
path = sum(hypot(*d) for d in  diffs)
print(path)