这是橘子老君早年参照徐志摩先生的《偶然》所仿写的作品,首先回顾一些基本概念:
不能置于同一平面的两条直线叫做异面直线;
那么问题来了:
如图 a 、 b 为异面直线,过 a 作平面 alphaparallel b [[1]],
[[1]]: 作 b 的平行线, 使其与 a 相交,则两条相交直线所确定的平面即为 alpha
过 b 作面 beta bot alpha [[2]],记 beta cap alpha = b' , a cap b' =A [[3]],
[[2]]: 取 b 上两点,作这两点在 alpha 上的投影,两投影点确定一条直线,该直线与 b 平行,两平行直线所确定平面即为 beta .
[[3]]: 若 a parallel b' ,由 b parallel b' ,则有 a parallel b ,与 a 、 b 异面矛盾. 故 a 与 b' 相交.
过 A在 beta 上作 b' 的垂线 c ,交 b 于点 B , 所作直线 c 即为 a 、 b 的公垂线, AB 为 a 、 b 的公垂线段.
证明:由 线面平行的性质定理 [[4]],[[4]]: 一条直线和一个平面平行,则过这条直线的任一平面与此平面的交线与该直线平行.
由 面面垂直的性质定理 [[5]],
[[5]]: 如果两个平面相互垂直,那么在一个平面内垂直于它们交线的直线垂直于另一个平面.
由 线面垂直的性质定理 [[6]],
[[6]]: 如果一条直线与一平面垂直,则这条直线与平面上的任一条直线都垂直.
又
故 c 是 a 、 b 的公垂线, A 、 B 是 c 分别与 a 、 b 的交点,故 AB 是 a 、 b 的公垂线段.
假设异面直线 a 、 b 存在两条公垂线 c 、 c' ,过直线 a 上一点作直线 b 的平行线 b' ,相交直线 a 和 b' 确定一个平面, c 、 c' 同垂直于这一平面 [[7]],故 c 和 c' 平行,得 c 和 c' 确定一平面,那么分别在 a , b 上的四个垂足共面,得 a 、 b 共面,与 a 、 b 异面矛盾.
[[7]]: 若一条直线与一平面内两条相交的直线垂直,则这条直线与这个平面垂直.
如图分别任取直线 a 、 b 上一点 A' 、 B' . 同公垂线的存在性证明中的方法构造平面 alpha 、 beta ,并得到它们交线的 b' .
过 B' 作 b' 的垂线,垂足为 C' ,连结 A'C' .
由 面面垂直的性质定理 得, B'C' bot alpha ,
由 线面垂直的性质定理 得, B'C' bot A'C' ,
当 A' 、 B' 不同时与 A 、 B 重合,在 Rttriangle A'C'B' 中,始终有 A'B' < B'C' ,
而由 B'C' parallel AB , b parallel b' ,可得 B'C' = AB .
故当 A' 、 B' 不同时与 A 、 B 重合,始终有 A'B' < AB .
即公垂线段 AB 是异面直线上任意两点的最小距离.
不妨设两条异面直线 l_1 、 l_2 的方向向量为 vec{d_1} 、 vec{d_2} ,且分别经过点 A_1 、 A_2 .
方法一:参数方程法则记 overrightarrow{OA_1}=vec{a_1} , overrightarrow{OA_2}=vec{a_2} . 设 P_1 、 P_2 分别为直线 l_1 、 l_2 上的点.
则有 overrightarrow{OP_1}=overrightarrow{OA_1}+overrightarrow{A_1P1} ,由 overrightarrow{A_1P1} 与 vec{d_1} 共线, 得
同理可得
两边平方,得关于 t_1 , t_2 的函数, 再求最小值.
在这里代入具体数值,将函数分别看作是 t_1 、 t_2 的一元二次函数,使同时取到最小值,联立方程组可解出 t_1 、 t_2 .
当然也可以用 P_1P_2 与 vec{d_1} 、 vec{d_2} 都垂直,联立方程组解出 t_1 、 t_2 :
方法二 法向量投影法类比计算点到直线距离、点到平面距离的方法,我们都是在直线(平面)上任取一点 Q ,然后计算 overrightarrow{PQ}在直线(平面)法向量 vec{n} 上的投影.
如图 A' 、 B' 是异面直线 a 、 b 上的点, 过直线 a 上一点作直线 b 的平行线 b' , 相交直线 a 和 b'
确定一个平面 alpha , 过 B' 作 alpha 的垂线, 垂足为 C' .
前面在最小性证明中我们已经推得 B'C' 等于公垂线段的长度,即 B' 到 alpha 的距离就是异面直线 a 、 b 的距离. 故可以使用公式:
其中 vec{n} 是垂直于 a 、 b 方向向量的非零向量,即满足
显然满足条件的 vec{n} 有无穷多个,实际上 vec{d_1} 与 vec{d_2} 的向量积 [[8]]
就是一个满足条件的 vec{n} .
[[8]]: 向量积,叉积,外积,详见维基百科
这里介绍一种行列式求解线性方程组的方法,不妨设 vec{n}=(u,v,w) , vec{d_1}=(a_1,b_1,c_1) , vec{d_2}=(a_2,b_2,c_2) ,则有
为了使线性方程组有非零唯一解我们补充一个方程,
则由克莱姆法则 [[9]],得
[[9]]: 用行列式求解线性方程组的方法,详见维基百科
得满足条件的一个的 vec{n}=(u',v',w') ,其中
异面直线的距离这个内容在课本上可能只有区区概念一行,但是为什么把公垂线段的长度作为异面直线距离的定义?公垂线一定存在吗?如何作出公垂线?公垂线唯一吗?如何计算异面直线的距离?这些疑问相信会对不少中学教师和高中生造成一些困扰,所以写了这样一篇长文与大家分享.