Python求平面内点到直线距离的实现
近期遇到个问题,需要计算平面内点到直线的距离,发现数学知识都还给老师了,度娘后找到计算方法,特此记录。
点到直线的计算公式:
通过公式推导,得到信息:
A:直线斜率
B:固定值-1
C:直线截距b
转换为Python代码实现为:
defget_point_line_distance(self,point,line): point_x=point[0] point_y=point[1] line_s_x=line[0][0] line_s_y=line[0][1] line_e_x=line[1][0] line_e_y=line[1][1] #若直线与y轴平行,则距离为点的x坐标与直线上任意一点的x坐标差值的绝对值 ifline_e_x-line_s_x==0: returnmath.fabs(point_x-line_s_x) #若直线与x轴平行,则距离为点的y坐标与直线上任意一点的y坐标差值的绝对值 ifline_e_y-line_s_y==0: returnmath.fabs(point_y-line_s_y) #斜率 k=(line_e_y-line_s_y)/(line_e_x-line_s_x) #截距 b=line_s_y-k*line_s_x #带入公式得到距离dis dis=math.fabs(k*point_x-point_y+b)/math.pow(k*k+1,0.5) returndis
以上这篇Python求平面内点到直线距离的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。