空间两条直线段的最短距离及最近点计算
来源:互联网 发布:8264户外论坛推荐淘宝 编辑:程序博客网 时间:2024/06/05 06:08
如果这两条直线段不共线,假设直线段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)就可以求解得到最小距离了。
阅读全文
1 0
- 空间两条直线段的最短距离及最近点计算
- 空间两条直线的最短距离及最近点计算
- 三维空间两条直线的最短距离、最近点及C++算法实现
- 三维空间碰撞问题;空间中两直线的最短距离及最近点
- 三维空间碰撞问题;空间中两直线的最短距离及最近点
- 三维空间碰撞问题;空间中两直线的最短距离及最近点
- hdoj4741 求空间中不平行的两条直线的最短距离及最短线段与两直线的交点
- 空间两直线间最短距离
- hdu 4741 Save Labman No.004 空间两直线最短距离及坐标
- 计算空间两直线公垂线段的两个垂足
- 三维空间两直线/线段最短距离、线段计算算法
- 【C#】点到线段最短距离的那条直线与线段的交点
- hdu 4741 Save Labman No.004 异面直线最短距离及对应的点
- HDU 4741 空间几何求两直线距离最近点
- ACdream 1106 游泳水平有限的瑶瑶 (计算几何)(点到直线的最短距离)
- 计算两条直线的交点
- 计算两条直线的交点
- 计算两条直线之间的距离
- Max Sum Plus Plus HDU
- Vjudge Oil Deposits 油田问题(dfs)
- openlayers3+Arcgis Server跨域问题 代理解决方式
- 在输入的一系列正整数中求出最大者,输入0结束循环。
- PAT单链表逆转
- 空间两条直线段的最短距离及最近点计算
- 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。 找出这两个数字,编程实现
- HDU OJ ACM Steps 上的题目详细介绍
- 16进制颜色码
- 环境,平台,合作,团队,渠道,冒泡
- C++ 贪心-部分背包型
- 归并排序
- gtest 简单实例
- Error:java: Compilation failed: internal java compiler error