您的位置:首页 > 其它

计算空间中两条线段的最小距离

2015-07-06 15:24 302 查看
来自个人百度空间的文章---2012.2.19

一、基础知识

     本来是空间三维坐标系,只是为了便于理解所以采用一般的2维坐标,其实是一样的

     1、设AB线段 A(A.x,A.y),B(B.x,B.y),在AB上有一点为Q,

           Q.x=A.x+s*(A.x-B.x);

           Q.y=A.y+s*(A.y-B.y);

     2、设CD线段 C(C.x,C.y),D(D.x,D.y),在CD上有一点为P,

           P.x=C.x+t*(C.x-D.x);

           P.y=C.y+t*(C.y-D.y);

     3、则求AB,CD的距离就变成了QP的长度了,也就是f(s,t)的最小值了。

     4、求f(s,t)的偏导数,然后检查范围0<s<1,0<t<1;(拉格朗日求极值)

     5、一般根据4的范围有4种情况

二、代码就算了,逻辑很简单,只是后面分析阶段很繁琐,且在二维中这种方式的求法适得其反。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: