空间中两条线段之间的最短距离
空间中两条线段之间的最短距离
设空间中有两条线段 AB 和 CD ,设 A 点的坐标为 (x1,y1,z1) ,B 点的坐标为 (x2,y2,z2) ,C 点的坐标为 (x3,y3,z3) ,D 点的坐标为 (x4,y4,z4) 。 设 P 是直线 AB 上的一点,P 点的坐标 (X,Y,Z) 可以表示为
⎧X=x1+s(x2-x1)⎪⎨Y=y1+s(y2-y1) 。
⎪Z=z+s(z-z)121⎩
当参数 0≤s≤1 时,P 是线段 AB 上的点;当参数 s1 时,P 是 AB 延长线上的点。
设 Q 是直线 CD 上的一点,Q 点的坐标 (U,V,W) 可以表示为
⎧U=x3+t(x4-x3)⎪⎨V=y3+t(y4-y3) 。
⎪W=z+t(z-z)343⎩
当参数 0≤t≤1 时,Q 是线段 CD 上的点;当参数 t1 时,Q 是 CD 延长线上的点。
P,Q 两点之间的距离为
PQ=(X-U)2+(Y-V)2+(Z-W)2 。
距离的平方为
f(s,t)=PQ2=(X-U)2+(Y-V)2+(Z-W)2
=[(x1-x3)+s(x2-x1)-t(x4-x3)]2+[(y1-y3)+s(y2-y1)-t(y4-y3)]2
+[(z1-z3)+s(z2-z1)-t(z4-z3)]2 。
要求直线 AB ,CD 之间的最短距离,也就是要求 f(s,t) 的最小值。 对 f(s,t) 分别求关于 s ,t 的偏导数,并令偏导数为0 :
⎧∂f(s,t)⎪∂s=0
⎨∂f(s,t)⎪=0∂t⎩
1
展开并整理后,得到下列方程组:
⎧[(x2-x1)2+(y2-y1)2+(z2-z1)2]s⎪⎪-[(x2-x1)(x4-x3)+(y2-y1)(y4-y3)+(z2-z1)(z4-z3)]t
⎪⎪=(x1-x2)(x1-x3)+(y1-y2)(y1-y3)+(z1-z2)(z1-z3) ⎨⎪-[(x2-x1)(x4-x3)+(y2-y1)(y4-y3)+(z2-z1)(z4-z3)]s
⎪+[(x4-x3)2+(y4-y3)2+(z4-z3)2]t⎪⎪⎩=(x1-x3)(x4-x3)+(y1-y3)(y4-y3)+(z1-z3)(z4-z3)
如果从这个方程组求出的参数 s ,t 的值满足 0≤s≤1,0≤t≤1 ,说明 P 点落在线段 AB 上,Q 点落在线段 CD 上,这时 PQ 的长度
PQ=(X-U)2+(Y-V)2+(Z-W)2
就是线段 AB 与 CD 的最短距离。
如果从方程组求出的参数 s ,t 的值不满足 0≤s≤1,0≤t≤1 ,说明不可能在线段 AB 内部找到一点 P ,在线段 CD 内部找到一点 Q ,使得 PQ 的长度就是线段 AB 与 CD 的最短距离。
这时,可以分别求 A 点到线段 CD 的最短距离、B 点到线段 CD 的最短距离 、C 点到线段 AB 的最短距离、D 点到线段 AB 的最短距离。
(求法参看《数学中国》论坛上的帖子:“空间中一个点到空间中一条线段的最短距离”。) 然后,比较这4个距离的大小,其中最小的一个,就是线段 AB 到 CD 的最短距离。
下面看一个例子。
设 A 点的坐标为 (x1,y1,z1)=(4,0,0),B 点的坐标为 (x2,y2,z2)=(0,3,0) ,C 点的坐标为 (x3,y3,z3)=(4,3,1),D 点的坐标为 (x4,y4,z4)=(4,3,-4) 。
方程组
⎧[(x2-x1)2+(y2-y1)2+(z2-z1)2]s⎪⎪-[(x2-x1)(x4-x3)+(y2-y1)(y4-y3)+(z2-z1)(z4-z3)]t
⎪⎪=(x1-x2)(x1-x3)+(y1-y2)(y1-y3)+(z1-z2)(z1-z3) ⎨-[(x-x)(x-x)+(y-y)(y-y)+(z-z)(z-z)]s[1**********]3⎪⎪+[(x4-x3)2+(y4-y3)2+(z4-z3)2]t⎪⎪⎩=(x1-x3)(x4-x3)+(y1-y3)(y4-y3)+(z1-z3)(z4-z3)
即
⎧[(-4)2+32+02]s-[(-4)⨯0+3⨯0+0⨯(-2)]t=4⨯0+(-3)⨯(-3)+0⨯(-1) ⎨222-[(-4)⨯0+3⨯0+0⨯(-2)]s+[0+0+(-5)]t=0⨯0+(-3)⨯0+(-1)⨯(-5)⎩
即 ⎨
⎧25s=9⎧s=25 ,解得 ⎨ 。 ⎩25t=5⎩t=2
因为 0
线段 CD 上,这时 PQ 的长度就是线段 AB 与 CD 之间的最短距离。
P 点的坐标 (X,Y,Z) 为
964⎧X=x+s(x-x)=4+(0-4)=121⎪2525⎪927⎪Y=y+s(y-y)=0+(3-0)= 。 ⎨1212525⎪⎪Z=z+s(z-z)=0+9(0-0)=0121⎪25⎩
Q 点的坐标 (U,V,W) 为
1⎧U=x+t(x-x)=4+(4-4)=4343⎪5⎪1⎪V=y+t(y-y)=3+(3-3)=3 。 ⎨3435⎪⎪W=z+t(z-z)=1+1(-4-1)=0343⎪5⎩
线段 AB 与 CD 之间的最短距离,即 PQ 的长度为
PQ=(X-U)2+(Y-V)2+(Z-W)2
6427362+4826012222 。 =(-4)+(-3)+(0-0)===252525255
3