前言
假设有一个向量,直线上两点的点,,求到直线的垂直距离
方法
向量,向量到向量的距离=
是和形成的四边形面积(两个向量叉乘得到的是面积),除以底边,得到的就是高,即到的距离
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
|