垂直的判定与三垂线定理
垂直的判定与平行的判定形状相同:用有限条已知换一个对无穷多条直线成立的结论。差别在于代价——线面平行只需面内一条平行线,线面垂直需要两条相交直线,而少了「相交」这个前提,结论从「垂直」跌到「与平面成某个角」。本页给出两组判定,量出反例偏离多少,并把三垂线定理放回它所属的那条恒等式里。
1 · 线面垂直的定义与判定
定义 1.1(直线与平面垂直) 若一条直线与一个平面内的任意一条直线都垂直,则这条直线与该平面垂直。这条直线叫做平面的垂线,交点叫做垂足。
定义要求验无穷多条直线,判定把它压到两条。
定理 1.2(线面垂直的判定) 若一条直线与平面内两条相交直线都垂直,则这条直线与该平面垂直。
判定成立的道理在方向上:与两个不共线的方向都垂直的向量方向唯一,那就是平面的法向。平面内任一方向都是这两个方向的线性组合,与两者垂直即与它们的任何组合垂直。
2 · 前提失效时偏离多少
只垂直于面内一条直线,结论不成立,而「不成立」到什么程度可以量出来。取正方体的顶点 为原点,考察过 且方向为 的直线:它与 垂直,与底面成 。让底面内过 的直线绕 转一圈,它与这条直线的夹角在 与 之间连续扫过——实测 个方向里最小偏离 (恰有一个方向仍是直角,那就是 ),最大偏离 ,而这个最大偏离恰等于该直线与底面所成的角。
这不是巧合:直线与平面所成的角定义为它与它在平面内的射影所成的角,而射影方向正是使夹角最小的那个方向。于是「与面内所有直线的夹角」这个集合的下界就是线面角, 是它的上界。线面垂直等价于这个集合退化成单点 。
3 · 三垂线定理
定理 3.1(三垂线定理) 平面内的一条直线,若与平面的一条斜线在该平面内的射影垂直,则它与这条斜线也垂直;反之亦然。
课本把它当独立定理记,实现里它却只是一条恒等式的特例。设 垂直于平面 于 ,斜线 交 于 , 是 在 内的射影, 是 内过 的直线,则三个角满足
这是三面角的余弦公式。第三个因子与 无关,故 与 同时为零,两个直角同时出现。同一条恒等式还给出一个副产品: 意味着 ,即 与射影的夹角总不大于它与斜线的夹角。
取 在 正上方 、,此时 ,斜线与底面成 。以 记 与 的夹角: 时两个角是 与 , 时是 与 , 时同时到 。单测在 个方向上逐个核对那条恒等式与「两个直角同时出现」,这也是本系列少数几处「课本的定理在实现里不是一段代码而是一条断言」的地方。
4 · 面面垂直的判定与性质
二面角是从一条直线出发的两个半平面组成的图形,它的大小由平面角度量:在棱上取一点,在两个半平面内各作一条垂直于棱的射线,两条射线的夹角即二面角。两个平面成直二面角时称它们垂直。
定理 4.1(面面垂直的判定) 若一个平面过另一个平面的一条垂线,则这两个平面垂直。
判定的强度值得留意:过一条垂线的平面有无穷多个,它们全都与原平面垂直。把这束平面按绕垂线的转角参数化,转一圈二面角始终是 。
定理 4.2(面面垂直的性质) 若两个平面垂直,则一个平面内垂直于交线的直线与另一个平面垂直。
性质定理的常见误用是漏掉「垂直于交线」:面内任取一条直线并不与另一平面垂直。实现上还有一处口径要分清——两个平面的夹角与二面角不是同一个量。前者由法向量夹角锐角化而得,取值
;后者可以是钝角。二面角为
的一对半平面,它们所在平面的夹角只有
,两个数都对,答的是不同的问题。shared/geom3d.ts 因此分别提供 planeAngle 与 dihedral 两个函数,前者只看法向量,后者要求给出两个半平面内各一点。
5 · 参考文献
- Perpendicular. Wikipedia. 垂直的定义,含线面与面面垂直。https://en.wikipedia.org/wiki/Perpendicular
- Dihedral angle. Wikipedia. 二面角及其平面角。https://en.wikipedia.org/wiki/Dihedral_angle
- Dihedral Angle. Wolfram MathWorld. 二面角的向量算法。https://mathworld.wolfram.com/DihedralAngle.html
- Spherical law of cosines. Wikipedia. 三面角的余弦公式,三垂线定理的来源。https://en.wikipedia.org/wiki/Spherical_law_of_cosines
- Normal (geometry). Wikipedia. 法向量与垂直关系的代数刻画。https://en.wikipedia.org/wiki/Normal_(geometry)
- Trihedron. Wikipedia. 三面角的构成。https://en.wikipedia.org/wiki/Trihedron