如何找到两点之间的距离?

时间:2011-03-08 04:33:49

标签: python math

假设我有x1,y1以及x2,y2。

我如何找到它们之间的距离? 这是一个简单的数学函数,但这是否有一个在线的片段?

3 个答案:

答案 0 :(得分:77)

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

正如其他人所指出的那样,您也可以使用等效的内置math.hypot()

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

答案 1 :(得分:58)

我们不要忘记math.hypot:

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

这里的hypot是一个片段的一部分,用于计算由x,y元组列表定义的路径长度:

from math import hypot

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

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

答案 2 :(得分:16)

enter image description here 它是毕达哥拉斯定理的一个实现。链接:http://en.wikipedia.org/wiki/Pythagorean_theorem