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

直线的信息可以以两个端点的形式给出,也可以以一个直线上的点和直线的方向向量给出。本文中假设这两条直线不共线,即这两条直线既不重合也不相交。

1.如果这两条直线是以两个端点的形式给出,那么假设直线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之后带入式(6)就可以求解得到点P和点Q了,然后代入式(3)就可以求解得到最小距离了。

2.如果这两条直线是以直线上的点和该直线的方向向量给出,那么假设直线l0上有一点P0,它的方向向量为n;直线l1上有一点Q0,它的方向向量为m;那么直线l0上的点可以表示为:

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

直线l1上的点可以表示为:

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

点P和点Q的距离为:

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

将式(13)和式(14)带入式(15)得到:

(16)

两边平方得到:

(17)

那么求解两条直线的最短距离,就变为了求解式(17)的最小二乘方程组,即:

   (18)

变形得到:

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

同理,令A=(n,m),x=(a,-b)T,b=Q0-P0,则(19)式变为:

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

同理求得x为:

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

求得a,b之后带入式(13)和式(14)就可以求得点P和点Q,根据式(15)就可以求得最短距离了。

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