给出一个思路 设2直线的矢量分别为 v1=pt1 - pt2 v2=pt3 - pt4 1. 由v1和v2决定的平面法线 vn = v1 x v2 (外积) 2. 过v1且法线vn的平面方程为 vn(1)(x-pt1(1))+ vn(2)(y-pt1(2))+ vn(3)(z-pt1(3))=0 整理后 vn(1) x + vn(2) y + vn (3) z - ( vn(1) pt1(1)+ vn(2) pt1(2)+ vn(3) pt1(3 ) ) =0 3. v1与v2不相交的话,v2必不在上面的平面内 v2的端点在上面的平面上的投影点分别为 pt3 --> w1 pt4 --> w2 【点在平面上的投影点的求法: 设点P(P1,P2,P3) 在
平面 Ax + By + Cz + D = 0 上的投影点Q(Q1,Q2,Q3)的求法. 设PQ的距离为t , 直线PQ与平面的法线N(A,B,C)平行,所以, Q=P + t N 即 Q1 = P1 + At Q2 = P2 + Bt Q3 = P3 + Ct 由于Q在平面上,所以, A P1 + A2t + B P2 + B2t + C P3 + C2t + D = 0 整理得 t = - (A P1 + B P2 + C P3 + D) / (A2 + B2 + C2) 因此, 投影点Q的成分为 Q1 = P1 - A (A P1 + B P2 + C P3 + D) / (A2 + B2 + C2) Q2 = P2 - B (A P1 + B P2 + C P3 + D) / (A2 + B2 + C2) Q3 = P3 - C (A P1 + B P2 + C P3 + D) / (A2 + B2 + C2) 】 4.结论: 这样就可以求出v1(pt1,pt2)与v2在上面的平面上的投影线(w1,w2)的交点G, 过G点做直线v2的垂足H (求法在本论坛公布过), 则线段GH的长度就是所要求的距离;如果没有交点, 说明v1和v2是平行直线, 则过直线v1上任意一点P, 做v2的垂足Q, 则线段PQ的长度就是所要求的距离. |