Python求两点之间的直线距离(2种实现方法)
为什么要计算两点之间的距离
在很多实际应用中,我们需要计算两点之间的距离。比如,计算两个城市之间的距离,计算一个物体的运动路径长度等等。在计算机科学领域,计算两点之间的距离也经常被使用,如机器学习算法中的聚类算法、簇分析算法等等。
两点之间的距离公式
两点 A(x1, y1) 和 B(x2, y2) 之间的距离公式如下:
$$distance=\sqrt{(x2-x1)^2+(y2-y1)^2}$$
第一种实现方法
在 Python 中,可以使用 math 模块中的 sqrt 函数来计算平方根。代码如下:
import math
def distance(x1, y1, x2, y2):
return math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)
使用示例:
print(distance(0, 0, 3, 4)) # 输出 5.0
第二种实现方法
另外一种实现方法是使用 numpy 库中的 linalg 模块的 norm 函数。该函数可以计算向量的长度,因此对于两个点来说,把它们看成两个向量相减,然后计算相减后的向量的长度就可以了。代码如下:
import numpy as np
def distance(x1, y1, x2, y2):
return np.linalg.norm(np.array([x2, y2]) - np.array([x1, y1]))
使用示例:
print(distance(0, 0, 3, 4)) # 输出 5.0
总结
这篇文章介绍了两种 Python 计算两点之间距离的方法。第一种方法使用 math 模块中的 sqrt 函数,第二种方法使用 numpy 库中的 linalg 模块的 norm 函数。两种方法都很简单,适合在实际应用中使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python求两点之间的直线距离(2种实现方法) - Python技术站