计算点到直线的距离

 

计算点到直线的距离

复制代码
import numpy as np

def get_distance_from_point_to_line(point, line_point1, line_point2):
    #对于两点坐标为同一点时,返回点与点的距离
    if line_point1 == line_point2:
        point_array = np.array(point )
        point1_array = np.array(line_point1)
        return np.linalg.norm(point_array -point1_array )
    #计算直线的三个参数
    A = line_point2[1] - line_point1[1]
    B = line_point1[0] - line_point2[0]
    C = (line_point1[1] - line_point2[1]) * line_point1[0] + \
        (line_point2[0] - line_point1[0]) * line_point1[1]
    #根据点到直线的距离公式计算距离
    distance = np.abs(A * point[0] + B * point[1] + C) / (np.sqrt(A**2 + B**2))
    return distance


dis1 = get_distance_from_point_to_line((-2,0),(5,3),(7,3))
print(dis1)

dis2 = get_distance_from_point_to_line((0,0),(0,5),(5,0))
print(dis2)


#
复制代码

 

输出:

3.0
3.5355339059327373

 

 

#####################

posted @   西北逍遥  阅读(142)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2022-05-16 matlab曲面拟合
2021-05-16 void QWidget::activateWindow()
2020-05-16 ubuntu 安装 Protobuf3 日志
2020-05-16 IfcDistributionElement
2019-05-16 osg(openscenegraph).chm帮助文档
2019-05-16 ckpt convert to pb
2019-05-16 tensorflow查看ckpt各节点名称
点击右上角即可分享
微信分享提示