Mit*_*eat 83
dist = sqrt( (x2 - x1)**2 + (y2 - y1)**2 )
Run Code Online (Sandbox Code Playgroud)
正如其他人指出的那样,您也可以使用等效的内置math.hypot():
dist = math.hypot(x2 - x1, y2 - y1)
Run Code Online (Sandbox Code Playgroud)
Pau*_*McG 61
我们不要忘记math.hypot:
dist = math.hypot(x2-x1, y2-y1)
Run Code Online (Sandbox Code Playgroud)
这是作为计算由x,y元组列表定义的路径长度的片段的一部分的hypot:
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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
129795 次 |
| 最近记录: |