空间两条直线段的最短距离及最近点计算
2017-11-19 20:49
441 查看
如果这两条直线段不共线,假设直线段l0的两端点为:P0、P1;直线段l1的两端点为Q0、Q1,;求两直线段的最短距离?
直线段l0我们可以用方程表示为:
(1)
直线段l1我们也可以用方程表示为:
(2)
式中,P、Q分别表示两直线段上的点。
那么点P和点Q的距离为:
(3)
我们将(3)式等式两边平方得到:
(4)
那么求解这两条空间直线段的最短距离就变成了一个求解最小二乘法的最小值问题了,即求解方程:
(5)
那么这个方程怎么求解呢?下面我们来求解(5)式:由式(1)和式(2)我们有:
(6)
将(6)式带入(5)式有:
(7)
那么就变为求解超静定方程:
(8)
我们将(8)式变形得到求解超静定方程:
(9)
令A=(P0-P1,Q0-Q1),x=(a,-n)T,b=Q1-P1;则式(9)变为:
(10)
两边同时乘以矩阵A的装置得到:
(11)
则x可以求解得到:
(12)
求得a和n之后,我们知道:
(·13)
所以,如果a小于0,那么a=0;如果a大于1,那么a=1;否则a不变;
如果n小于0,那么n=0;如果n大于1,那么n=1;否则n不变。
求解得到a和n之后带入式(6)就可以求解得到点P和点Q了,然后代入式(3)就可以求解得到最小距离了。
相关文章推荐
- 已知三维空间两条直线,如何计算两条直线距离最近的位置的中点
- 三维空间碰撞问题;空间中两直线的最短距离及最近点
- 求空间内两条直线的最近距离以及最近点的坐标(C++)
- 三维空间两条直线的最短距离、最近点及C++算法实现
- 三维空间碰撞问题;空间中两直线的最短距离及最近点
- 计算空间中两条线段的最小距离
- hdoj4741 求空间中不平行的两条直线的最短距离及最短线段与两直线的交点
- 三维空间碰撞问题;空间中两直线的最短距离及最近点
- hdu 4741 Save Labman No.004 空间两直线最短距离及坐标
- 最近距离 已知平面上的若干点的位置,存入一个List中。现在需要计算所有这些点中,距离最近的两个点间的最小距离。
- 怎么用按键精灵快速开发计算距离自己最近的怪物/包裹/金矿坐标的脚本
- Trie树求多个字符串最短编辑距离的空间优化
- [Java]一个简单的计算有向赋权图最短距离的代码
- 计算球面上两点间最短距离多语言版本
- 地理空间距离计算优化-美团智能排序
- 地理空间距离计算优化--by美团点评技术团队
- 最近距离 已知平面上的若干点的位置,存入一个List中。现在需要计算所有这些点中, 距离最近的两个点间的最小距离。请补全缺失的代码。
- 空间两条直线求距离
- 2.11寻找最近的点对 (给定一系列的点,求出距离最短的点对)
- 地理空间距离计算优化