两线段的距离(最近点的距离)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

空间两线段间的最小距离d min

利用几何方法分析

两条线段之间的最小距离,分三步: (1)求线段所在直线的公垂线段的大小d perp

(2)将两直线投影到与公垂线垂直的平面,计算平面内两线段的最小距离d in

(3)线段间的最小距离222

perp in

d d d =+

图a.直线PQ 是异面直线AB 、CD 的公垂线,垂足P 、Q 分别落在线段AB 、线段CD 上,显然|PQ|即为异面线段AB 、CD 的最小距离d min 。

图b. 垂足Q 在线段CD 的延长线上。E 、F 分别 是线段AB 、CD 上的任意一点,过E 作EE ’//PQ 交A ’B ’于E ’。EE ’⊥E ’F ,|EE ’|大小为常量,|EF|取决于|E ’F|,|EF|2=|EE ’|2+|E ’F|2。A ’到线段CD 的最小距离、B ’到线段CD 的最小距离、C 到线段A ’B ’的最小距离、D 到线段A ’B ’的最小距离,四者中的最小值就是|E ’F|min ;而点到线段的最小距离,要么是点到线段所在直线的距离,要么是点到线段端点的连线距离。设A ’到直线CD 的距离为d 1,B ’到直线CD 的距离为d 2,C 到直线A ’B ’的距离为d 3,D 到直线A ’B ’的距离为d 4,则线段A ’B ’、CD 的最小距离d in :

1234min 'min(,,,,',',',')in d E F d d d d A C A D B C B C ==

两条线段的各端点坐标111222333444(,,),(,,),(,,),(,,)A x y z B x y z C x y z D x y z

A

B

D

Q

C

P B A 图 a. 垂足分别落在线段

图 b. 垂足未全落在线段

111212121222434343313131(,,)(,,)(,,)(,,)(,,)AB m n p x x y y z z CD m n p x x y y z z AC x x y y z z ==---==---=---

(1)求公垂线段大小d perp 。

公垂线向量AB CD =⨯

n

perp AC d ⋅=

=

n n

(2)平面内线段间最小距离d in 。

● 投影线段端点A ’、B ’的坐标1

11'(,,)A x y z ''',222'(,,)B x y z ''' 'perp A A d =+⋅

n

n 'perp B B d =+⋅

n n

● 点到线段的最小距离d 1、 d 2、 d 3、 d 4。

以A ’到线段CD 的最小距离d 1为例,先计算A ’到线段CD 所在直线的距离d PL ,再判断垂足是在线段CD 上、CD 延长线上、DC 延长线上。

直线CD :

333

x x y y z z l m n

---==,434343,,l x x m y y n z z =-=-=-

PL d =

若'0CA CD ⋅≤ ,说明垂足在DC 延长线上,1'd A C =; 若'0DA DC ⋅≤

,说明垂足在CD 延长线上,1'd A D =;

若'0CA CD ⋅> 且'0DA DC ⋅>

,说明垂足在线段CD 上,1PL d d =。 ● 线段间最小距离d in 。

1234min(,,,,',',',')in d d d d d A C A D B C B C =

(3)线段间的最小距离222

perp in

d d d =+

利用向量、代数方法分析求解

直线段0100:()(),[0,1]P s P s P P P s s =+-=+∈1L u 和直线段

0100:()(),[0,1]Q t Q t Q Q Q t t =+-=+∈2L v

线段上各一点构成向量(,)()()s t P s Q t =-w ,要求最近两点的距离等同于求解2

2(,),(,)[0,1]F s t w s t =∈的最小值。

22(,)222F s t as bst ct ds et f =+++++

其中,00,,,,,,P Q a b c d e f =-=⋅=-⋅=⋅=⋅=-⋅=⋅r u u u v v v u r v r r r 。

2

22()()()0ac b -=⋅⋅-⋅=⨯≥u u v v u v u v

若20ac b ->,两线段所在直线不平行,F(s,t)的图像是一个抛物面;若

20ac b -=,则两线段所在直线平行,F(s,t)的图像是抛物柱面。

(1)线段所在直线不平行

F 的梯度2(,)F as bt d bs ct e ∇=++++

令0F ∇=,得2()/()c s be cd ac b =--,2()/()c t bd ae ac b =--。

定义子区域20{(,)|01,01}[0,1]R s t s t =≤≤≤≤=。若(,)0c c s t R ∈,则找到最小值min (,)c c F F s t =;若(,)0c c s t R ∉,最小值必定出现在区域R0的边界上。s-t 平面的区域划分如下图。

若按区域来分情况讨论,有9种情况,显得太复杂。选择按区域R0的边界来讨论会更简洁一些,只需分5种情况。若(s c , t c )∈R0,则F min =F (s c , t c ),对应的几何意义是两直线公垂线的垂足分别落在线段内;下面讨论(,)0c c s t R ∉时的四种情况:以其中一种情况为例:

s c <0(区域R4、R5、R6):最小距离点出现在抛物面F 与平面s =0的交线上,交线方程是L (t )=F (0,t ), t ∈[0,1]。现在要求的变成求某一段抛物线的最小值,即在区间[0,1]上求L (t )的最小值。令L (t )=0,得t s 。若t s <0,L (t )在[0,1]是增函数,F min =L min =L (0,0);若t s >1,L (t )在[0,1]是减函数,F min =L min =L (0,1) ;否则,F min =L min =L (0,t s )。对应的几何解释是:s =0表示的是线段L 1上的P 0点;两线段的最小距离是点P 0到线段L 2的最小距离,P 0Q 0或P 0Q 1或P 0Q H (点Q H 是点L 2作垂线的垂足)。

其它几种情况:s c >1(区域R1、R2、R8),t c <0(区域R6、R7、R8),t c >1(区域R2、R3、R4),可以进行类似分析。分别代表意义是另外三个端点到另一条线段的最小距离。

(2)线段所在直线平行20ac b -=

在直线()/s bt d a =-+上,F (s ,t )的梯度都为0。在[0,1]2的区域上,任务满足

s

s-t 平面区域分布

相关文档
最新文档