来自个人百度空间的文章---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种情况
二、代码就算了,逻辑很简单,只是后面分析阶段很繁琐,且在二维中这种方式的求法适得其反。