空间两条直线段的最短距离及最近点计算

  

如果这两条直线段不共线,假设直线段l0的两端点为:P0、P1;直线段l1的两端点为Q0、Q1,;求两直线段的最短距离?

直线段l0我们可以用方程表示为:

    空间两条直线段的最短距离及最近点计算_第1张图片    (1)

直线段l1我们也可以用方程表示为:

          空间两条直线段的最短距离及最近点计算_第2张图片  (2)

式中,P、Q分别表示两直线段上的点。

那么点P和点Q的距离为:

空间两条直线段的最短距离及最近点计算_第3张图片(3)

我们将(3)式等式两边平方得到:

          空间两条直线段的最短距离及最近点计算_第4张图片     (4)

那么求解这两条空间直线段的最短距离就变成了一个求解最小二乘法的最小值问题了,即求解方程:

      空间两条直线段的最短距离及最近点计算_第5张图片(5)

那么这个方程怎么求解呢?下面我们来求解(5)式:由式(1)和式(2)我们有:

空间两条直线段的最短距离及最近点计算_第6张图片(6)

将(6)式带入(5)式有:

            (7)

那么就变为求解超静定方程:     (8)

我们将(8)式变形得到求解超静定方程:

          空间两条直线段的最短距离及最近点计算_第7张图片 (9)

令A=(P0-P1,Q0-Q1),x=(a,-n)T,b=Q1-P1;则式(9)变为:

                空间两条直线段的最短距离及最近点计算_第8张图片 (10)

两边同时乘以矩阵A的装置得到:

          空间两条直线段的最短距离及最近点计算_第9张图片      (11)

则x可以求解得到:

          空间两条直线段的最短距离及最近点计算_第10张图片  (12)

求得a和n之后,我们知道:

 空间两条直线段的最短距离及最近点计算_第11张图片(·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)就可以求解得到最小距离了。

 

你可能感兴趣的:(空间两条直线段的最短距离及最近点计算)