前言

假设有一个向量,直线上两点的点,求到直线的垂直距离

方法

向量,向量到向量的距离=
形成的四边形面积(两个向量叉乘得到的是面积),除以底边,得到的就是高,即的距离

1
2
3
4
5
6
7
8
9
def point_distance_line(point: list, line_point1: list, line_point2: list):
# 计算向量
point_arr = np.array(point)
line_point1_arr = np.array(line_point1)
line_point2_arr = np.array(line_point2)
vec1 = line_point1_arr - point_arr
vec2 = line_point2_arr - point_arr
distance = np.abs(np.cross(vec1, vec2)) / np.linalg.norm(line_point1_arr - line_point2_arr)
return distance

©2018 - Felicx 使用 Stellar 创建
总访问 113701 次 | 本页访问 326
共发表 83 篇Blog · 总计 127.5k 字