利用 python 计算点到直线距离、直线间交点夹角

本文介绍了如何使用Python计算点到直线的距离、两条直线的交点及它们之间的夹角。通过向量法和一般方程法,详细讲解了计算过程并提供了代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近期在用 OpenCV 时需要涉及到一些点与直线关系。这都是很早以前的中学知识了,无奈只好重新捡起来。

本次项目主要需要用到以下三种计算

1. 点到直线距离

2. 两条直线交点

3. 两条直线夹角



1. 点到直线距离

由于项目中得到点的坐标最容易,因此采用向量法进行所有的数学计算最清晰明了。点到直线距离就采用向量法推导。

 推导过程:


代码实现:

array_longi  = np.array([x2-x1, y2-y1])
array_trans = np.array([x2-line_start_x, y2-line_start_y])
# 用向量计算点到直线距离
array_temp = (float(array_trans.dot(array_longi)) / array_longi.dot(array_longi))   # 注意转成浮点数运算
array_temp = array_longi.dot(array_temp)
distance   = np.sqrt((array_trans - array_temp).dot(array_trans - array_temp))

最后得到的 distance 就是点到直线距离。

2. 两条直线交点

以一般方程法解两条直线交点。

主要是参考以下两篇博客中的计算

https://blog.c

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值