具身智能数学基础(03):平面几何
| 内容 | 必须掌握的 | 后面在哪用到 |
|---|---|---|
| 三角形基本性质 | 内角和与外角定理、三边关系、三线合一、中位线 | 三边关系就是三角不等式的几何原型 |
| 全等与相似 | 判定条件;面积比是相似比的平方 | 针孔相机模型、单目测距、图像金字塔 |
| 角平分线定理 | A B : A C = B D : D C AB:AC = BD:DC AB:AC=BD:DC | 按边长比例分割线段 |
| 垂直与斜率 | l 1 ⊥ l 2 ⟺ k 1 k 2 = − 1 l_1\perp l_2 \iff k_1k_2=-1 l1⊥l2⟺k1k2=−1 | 法线与切线垂直、梯度与等高线垂直、三维点积为零的二维特例 |
| 勾股定理 | 定理与逆定理;勾股数 | 欧氏距离、向量的模、二范数的几何来源 |
| 圆与角 | 圆周角定理及推论、垂径定理、切线、四心 | 隐圆判定、RANSAC 圆拟合、质心与重心坐标 |
| 位置关系 | 点/直线/圆与圆的位置判定 | 包围圆碰撞检测、符号距离场 SDF、射线求交 |
| 弧长与扇形 | l = θ r l=\theta r l=θr、 S = 1 2 θ r 2 S=\frac{1}{2}\theta r^2 S=21θr2 | 弧度制的由来、角速度与线速度的换算 |
| 三角形面积 | 底乘高、两边夹角、坐标形式 | 坐标形式就是二维叉乘 |
一、三角形的基本性质

内角和: ∠ A + ∠ B + ∠ C = 180 ∘ \angle A + \angle B + \angle C = 180^{\circ} ∠A+∠B+∠C=180∘。
外角定理:三角形的一个外角,等于与它不相邻的两个内角之和。图左中 ∠ A C D = ∠ A + ∠ B \angle ACD = \angle A + \angle B ∠ACD=∠A+∠B。
由内角和立刻可得: ∠ A C D = 180 ∘ − ∠ A C B = ∠ A + ∠ B \angle ACD = 180^{\circ}-\angle ACB = \angle A + \angle B ∠ACD=180∘−∠ACB=∠A+∠B。这条在上一章圆周角定理的证明里是关键一步。
三边关系:任意两边之和大于第三边,任意两边之差的绝对值小于第三边:
∣ b − c ∣ < a < b + c \lvert b-c \rvert \lt a \lt b+c ∣b−c∣<a<b+c
这就是三角不等式的几何原型。第 1 篇里的 ∣ a + b ∣ ≤ ∣ a ∣ + ∣ b ∣ \lvert a+b \rvert \le \lvert a \rvert + \lvert b \rvert ∣a+b∣≤∣a∣+∣b∣ 是它的代数版本,后面向量的 ∥ u + v ∥ ≤ ∥ u ∥ + ∥ v ∥ \lVert \mathbf{u}+\mathbf{v} \rVert \le \lVert \mathbf{u} \rVert + \lVert \mathbf{v} \rVert ∥u+v∥≤∥u∥+∥v∥ 是它的高维版本。三者说的是同一件事:折线走不过直线。
等腰三角形:两腰相等则两底角相等(等边对等角),反过来也成立。核心是三线合一——顶角平分线、底边上的中线、底边上的高,三条线重合(图中)。垂径定理的证明用的就是这一条。
中位线定理:连接三角形两边中点的线段,平行于第三边且等于第三边的一半(图右)。
D E ∥ B C DE \parallel BC DE∥BC 且 D E = 1 2 B C DE = \dfrac{1}{2}BC DE=21BC
证明用相似: A D : A B = A E : A C = 1 : 2 AD:AB = AE:AC = 1:2 AD:AB=AE:AC=1:2 且夹角 ∠ A \angle A ∠A 公共,由 SAS 得 △ A D E ∼ △ A B C \triangle ADE \sim \triangle ABC △ADE∼△ABC,相似比 1 : 2 1:2 1:2,于是对应边成比例、对应角相等(同位角相等推出平行)。
二、全等与相似
全等是形状和大小都相同,相似只要求形状相同、大小可以不同。相似是这一节的重点,因为相机成像就是一个相似变换。
判定条件
全等三角形:
- SSS:三边对应相等
- SAS:两边及其夹角对应相等
- ASA / AAS:两角及一边对应相等
- HL:直角三角形,斜边和一条直角边对应相等
相似三角形:
- AA:两角对应相等(最常用,因为角度信息最容易获得)
- SAS:两边对应成比例且夹角相等
- SSS:三边对应成比例
性质
设相似比为 k k k(对应边之比):
- 对应边之比都等于 k k k,对应角相等
- 周长之比等于 k k k
- 面积之比等于 k 2 k^2 k2
- 对应中线、对应高、对应角平分线之比都等于 k k k
面积比是相似比的平方这一条要特别记牢:物体距离相机变远一倍,成像面积变成四分之一,图像上目标像素数随距离平方衰减,就是这条。
平行线分线段成比例
三条平行线截两条直线,所得对应线段成比例。用在三角形上就是基本比例定理:
平行于三角形一边的直线,截其他两边所得的对应线段成比例。即 D E ∥ B C DE \parallel BC DE∥BC 时
A D D B = A E E C \dfrac{AD}{DB} = \dfrac{AE}{EC} DBAD=ECAE
它是相似三角形的来源—— D E ∥ B C DE \parallel BC DE∥BC 时 △ A D E ∼ △ A B C \triangle ADE \sim \triangle ABC △ADE∼△ABC。反过来也成立,比例相等可以反推平行。
角平分线定理
三角形一个内角的平分线,把对边分成的两条线段之比,等于这个角的两边之比:
A D AD AD 平分 ∠ A \angle A ∠A, D D D 在 B C BC BC 上,则 A B A C = B D D C \dfrac{AB}{AC} = \dfrac{BD}{DC} ACAB=DCBD

推导(只用上面两条工具,不需要三角函数):
过点 C C C 作 C E ∥ A D CE \parallel AD CE∥AD,与 B A BA BA 的延长线交于点 E E E(图右)。
第一步,证明 △ A C E \triangle ACE △ACE 是等腰三角形。
- A D ∥ C E AD \parallel CE AD∥CE, B E BE BE 是截线,同位角相等: ∠ B A D = ∠ A E C \angle BAD = \angle AEC ∠BAD=∠AEC
- A D ∥ C E AD \parallel CE AD∥CE, A C AC AC 是截线,内错角相等: ∠ D A C = ∠ A C E \angle DAC = \angle ACE ∠DAC=∠ACE
- 已知 A D AD AD 平分 ∠ A \angle A ∠A,即 ∠ B A D = ∠ D A C \angle BAD = \angle DAC ∠BAD=∠DAC
三式连起来得 ∠ A E C = ∠ A C E \angle AEC = \angle ACE ∠AEC=∠ACE,所以 △ A C E \triangle ACE △ACE 等腰, A E = A C AE = AC AE=AC。
第二步,在 △ B E C \triangle BEC △BEC 中用基本比例定理。 A D ∥ E C AD \parallel EC AD∥EC, A D AD AD 截 B E BE BE、 B C BC BC 两边,于是
B D D C = B A A E \dfrac{BD}{DC} = \dfrac{BA}{AE} DCBD=AEBA
第三步,把 A E = A C AE = AC AE=AC 代进去:
B D D C = A B A C \dfrac{BD}{DC} = \dfrac{AB}{AC} DCBD=ACAB
另一种推法(用第四节的面积公式,两行): △ A B D \triangle ABD △ABD 与 △ A C D \triangle ACD △ACD 共用从 A A A 出发的高,面积比等于底之比 B D : D C BD:DC BD:DC;同时按 S = 1 2 a b sin C S=\frac{1}{2}ab\sin C S=21absinC,两者面积比又等于 A B ⋅ A D sin ∠ B A D AB \cdot AD \sin\angle BAD AB⋅ADsin∠BAD 与 A C ⋅ A D sin ∠ D A C AC \cdot AD \sin\angle DAC AC⋅ADsin∠DAC 之比,因两角相等,化简即得 A B : A C AB:AC AB:AC。两式相等即证。
外角平分线同样成立,只是 D D D 落在 B C BC BC 的延长线上,结论写成 A B A C = B D D C \dfrac{AB}{AC} = \dfrac{BD}{DC} ACAB=DCBD 不变。
垂直与斜率之积
两条不垂直于坐标轴的直线 l 1 l_1 l1、 l 2 l_2 l2 互相垂直,当且仅当它们的斜率满足
k 1 k 2 = − 1 k_1 k_2 = -1 k1k2=−1

证明(只用相似,不用三角函数):设两线交于 P P P,取 l 1 l_1 l1 上一点 A A A、 l 2 l_2 l2 上一点 B B B(在 P P P 两侧,如图),分别向过 P P P 的水平参照线作垂线,垂足是 C C C、 D D D。
第一步,两个直角三角形的一个锐角相等。 ∠ A P C \angle APC ∠APC 与 ∠ B P D \angle BPD ∠BPD 互余于 ∠ A P B = 90 ∘ \angle APB=90^{\circ} ∠APB=90∘( P P P、 C C C、 D D D 共线于水平参照线, ∠ A P C + ∠ A P B + ∠ B P D = 180 ∘ \angle APC+\angle APB+\angle BPD=180^{\circ} ∠APC+∠APB+∠BPD=180∘,代入 ∠ A P B = 90 ∘ \angle APB=90^{\circ} ∠APB=90∘ 得 ∠ A P C + ∠ B P D = 90 ∘ \angle APC+\angle BPD=90^{\circ} ∠APC+∠BPD=90∘);又在直角三角形 B D P BDP BDP 中 ∠ D B P + ∠ B P D = 90 ∘ \angle DBP+\angle BPD=90^{\circ} ∠DBP+∠BPD=90∘。两式消去 ∠ B P D \angle BPD ∠BPD,得
∠ C P A = ∠ D B P ( = θ ) \angle CPA = \angle DBP \;(=\theta) ∠CPA=∠DBP(=θ)
第二步,AA 判定相似。 △ P C A \triangle PCA △PCA 与 △ B D P \triangle BDP △BDP 中, ∠ P C A = ∠ B D P = 90 ∘ \angle PCA=\angle BDP=90^{\circ} ∠PCA=∠BDP=90∘,且 ∠ C P A = ∠ D B P \angle CPA=\angle DBP ∠CPA=∠DBP,所以
△ P C A ∼ △ B D P \triangle PCA \sim \triangle BDP △PCA∼△BDP
对应边成比例: C A D P = P C B D \dfrac{CA}{DP} = \dfrac{PC}{BD} DPCA=BDPC,交叉相乘得
P C ⋅ P D = C A ⋅ D B PC \cdot PD = CA \cdot DB PC⋅PD=CA⋅DB
第三步,代入斜率。设 C C C、 D D D 在参照线上分别位于 P P P 的右侧、左侧(如图),则
k 1 = C A P C k_1 = \dfrac{CA}{PC} k1=PCCA, k 2 = − D B P D k_2 = -\dfrac{DB}{PD} k2=−PDDB
负号是因为 B B B 相对 P P P 在 x x x 减小的方向,斜率必须为负( θ \theta θ 是锐角, k 2 k_2 k2 的大小是 D B / P D DB/PD DB/PD,符号由方向决定)。两式相乘:
k 1 k 2 = C A P C ⋅ ( − D B P D ) = − C A ⋅ D B P C ⋅ P D k_1 k_2 = \dfrac{CA}{PC} \cdot \left(-\dfrac{DB}{PD}\right) = -\dfrac{CA \cdot DB}{PC \cdot PD} k1k2=PCCA⋅(−PDDB)=−PC⋅PDCA⋅DB
代入第二步的 P C ⋅ P D = C A ⋅ D B PC \cdot PD = CA \cdot DB PC⋅PD=CA⋅DB,分子分母相等:
k 1 k 2 = − 1 k_1 k_2 = -1 k1k2=−1
反之若 k 1 k 2 = − 1 k_1k_2=-1 k1k2=−1,把上述步骤逆推回去可知 ∠ C P A = ∠ D B P \angle CPA=\angle DBP ∠CPA=∠DBP,从而 ∠ A P B = 90 ∘ \angle APB=90^{\circ} ∠APB=90∘,两线垂直。充要性成立。
在具身智能里的用途:法线方向与切线方向垂直( k 法 = − 1 / k 切 k_{\text{法}} = -1/k_{\text{切}} k法=−1/k切),用在光线反射、梯度下降的方向与等高线垂直、SDF 梯度与表面垂直等场景。三维情形对应向量点积为零 u ⋅ v = 0 \mathbf{u}\cdot\mathbf{v}=0 u⋅v=0,这条二维斜率公式是它的坐标特例。
图示:针孔相机成像

物体高 X X X,距光心 Z Z Z;成像平面距光心 f f f,像高 x x x,倒立。
光线从物体顶端穿过光心射到成像平面,在光心两侧形成一对对顶的相似三角形(一组对顶角相等,两组直角相等,由 AA 判定相似)。于是
x f = X Z \dfrac{x}{f} = \dfrac{X}{Z} fx=ZX
这就是针孔相机模型的全部内容。变形得 x = f X Z x = f\dfrac{X}{Z} x=fZX:像高与物高成正比,与距离成反比。单目相机只能测出 X Z \dfrac{X}{Z} ZX 这个比值,无法单独定出 X X X 或 Z Z Z——这就是单目尺度不确定性的几何来源。
三、勾股定理
直角三角形中,两直角边 a a a、 b b b 与斜边 c c c 满足
a 2 + b 2 = c 2 a^2+b^2 = c^2 a2+b2=c2
逆定理同样重要:若三边满足 a 2 + b 2 = c 2 a^2+b^2=c^2 a2+b2=c2,则该三角形必是直角三角形。逆定理是判定垂直的手段,不需要量角度。
图示:面积证明

边长 a + b a+b a+b 的大正方形,四个角上各放一个直角边为 a a a、 b b b 的直角三角形,中间围出的是边长为 c c c 的正方形。按面积相等:
( a + b ) 2 = 4 × 1 2 a b + c 2 (a+b)^2 = 4 \times \dfrac{1}{2}ab + c^2 (a+b)2=4×21ab+c2
左边展开 a 2 + 2 a b + b 2 a^2+2ab+b^2 a2+2ab+b2,两边同时减去 2 a b 2ab 2ab,得 a 2 + b 2 = c 2 a^2+b^2=c^2 a2+b2=c2。
中间那块是正方形而不是一般四边形,理由是:四条边都等于 c c c,且每个顶点处两个锐角之和为 90 ∘ 90^{\circ} 90∘,所以内角都是直角。
常见勾股数
整数解 ( a , b , c ) (a,b,c) (a,b,c) 满足 a 2 + b 2 = c 2 a^2+b^2=c^2 a2+b2=c2 的叫勾股数,记住这几组能加快心算:
- ( 3 , 4 , 5 ) (3,4,5) (3,4,5) 及其倍数 ( 6 , 8 , 10 ) (6,8,10) (6,8,10)、 ( 9 , 12 , 15 ) (9,12,15) (9,12,15)
- ( 5 , 12 , 13 ) (5,12,13) (5,12,13)
- ( 8 , 15 , 17 ) (8,15,17) (8,15,17)
- ( 7 , 24 , 25 ) (7,24,25) (7,24,25)
推广到坐标与高维
平面上两点 ( x 1 , y 1 ) (x_1,y_1) (x1,y1)、 ( x 2 , y 2 ) (x_2,y_2) (x2,y2) 的距离
d = ( x 2 − x 1 ) 2 + ( y 2 − y 1 ) 2 d = \sqrt{(x_2-x_1)^2+(y_2-y_1)^2} d=(x2−x1)2+(y2−y1)2
就是把坐标差当直角边用一次勾股定理。三维再套一次:
d = ( Δ x ) 2 + ( Δ y ) 2 + ( Δ z ) 2 d = \sqrt{(\Delta x)^2+(\Delta y)^2+(\Delta z)^2} d=(Δx)2+(Δy)2+(Δz)2
推到 n n n 维就是向量的二范数 ∥ v ∥ 2 = ∑ v i 2 \lVert \mathbf{v} \rVert_2 = \sqrt{\sum v_i^2} ∥v∥2=∑vi2。勾股定理是欧氏距离的唯一来源,后面所有"距离"的定义都以它为原型。
四、圆与角
圆是平面上到定点(圆心)距离等于定值(半径)的点的集合,写成方程就是 ( x − a ) 2 + ( y − b ) 2 = r 2 (x-a)^2+(y-b)^2 = r^2 (x−a)2+(y−b)2=r2。
先约定名称:
- 圆心角:顶点在圆心的角,如 ∠ B O C \angle BOC ∠BOC
- 圆周角:顶点在圆上、两边都与圆相交的角,如 ∠ B A C \angle BAC ∠BAC
- 弧:圆上两点间的一段, B C ⌢ \overset{\frown}{BC} BC⌢。一条弦把圆分成劣弧和优弧两段
- 同弧:指同一条弧。"同弧所对的角"意思是这个角的两边分别经过这条弧的两个端点,而角的顶点不在这条弧上
弧、弦、圆心角三者一一对应:在同一个圆里,两条弧相等 ⟺ 所对的弦相等 ⟺ 所对的圆心角相等。所以后面说"弧相等"和说"圆心角相等"是一回事。
圆周角定理
同一条弧所对的圆周角,等于它所对的圆心角的一半。
∠ B A C = 1 2 ∠ B O C \angle BAC = \dfrac{1}{2}\angle BOC ∠BAC=21∠BOC

证明要按圆心 O O O 相对于 ∠ B A C \angle BAC ∠BAC 的位置分三种情况,图上三栏依次对应。核心工具只有两个:半径相等构成等腰三角形,以及三角形的外角等于不相邻两内角之和。
情况一,圆心在角的一边上(图左, A B AB AB 恰好是直径)。
连 O C OC OC。因为 O A = O C OA = OC OA=OC(同圆半径), △ O A C \triangle OAC △OAC 是等腰三角形,所以
∠ O A C = ∠ O C A \angle OAC = \angle OCA ∠OAC=∠OCA
∠ B O C \angle BOC ∠BOC 是 △ O A C \triangle OAC △OAC 在顶点 O O O 处的外角,等于不相邻两内角之和:
∠ B O C = ∠ O A C + ∠ O C A = 2 ∠ O A C = 2 ∠ B A C \angle BOC = \angle OAC + \angle OCA = 2\angle OAC = 2\angle BAC ∠BOC=∠OAC+∠OCA=2∠OAC=2∠BAC
情况二,圆心在角的内部(图中)。
作直径 A D AD AD,把 ∠ B A C \angle BAC ∠BAC 拆成 ∠ B A D \angle BAD ∠BAD 与 ∠ D A C \angle DAC ∠DAC。这两个角各自都落回情况一,于是
∠ B O D = 2 ∠ B A D \angle BOD = 2\angle BAD ∠BOD=2∠BAD, ∠ D O C = 2 ∠ D A C \angle DOC = 2\angle DAC ∠DOC=2∠DAC
两式相加: ∠ B O C = ∠ B O D + ∠ D O C = 2 ( ∠ B A D + ∠ D A C ) = 2 ∠ B A C \angle BOC = \angle BOD + \angle DOC = 2(\angle BAD + \angle DAC) = 2\angle BAC ∠BOC=∠BOD+∠DOC=2(∠BAD+∠DAC)=2∠BAC
情况三,圆心在角的外部(图右)。
同样作直径 A D AD AD,此时 ∠ B A C \angle BAC ∠BAC 是两个角的差而不是和:
∠ D O C = 2 ∠ D A C \angle DOC = 2\angle DAC ∠DOC=2∠DAC, ∠ D O B = 2 ∠ D A B \angle DOB = 2\angle DAB ∠DOB=2∠DAB
两式相减: ∠ B O C = ∠ D O C − ∠ D O B = 2 ( ∠ D A C − ∠ D A B ) = 2 ∠ B A C \angle BOC = \angle DOC - \angle DOB = 2(\angle DAC - \angle DAB) = 2\angle BAC ∠BOC=∠DOC−∠DOB=2(∠DAC−∠DAB)=2∠BAC
三种情况都成立,定理得证。作直径把一般情形归约到情况一,是这个证明的全部技巧。
三个推论

推论一:同弧或等弧所对的圆周角相等。
因为它们都等于同一个圆心角的一半。图左中 P P P、 Q Q Q 是优弧上任意两点, ∠ B P C = ∠ B Q C \angle BPC = \angle BQC ∠BPC=∠BQC,与点在优弧上怎么滑动无关。
这条的逆命题给出四点共圆的判定:若 P P P、 Q Q Q 在直线 B C BC BC 同侧且 ∠ B P C = ∠ B Q C \angle BPC = \angle BQC ∠BPC=∠BQC,则 B B B、 C C C、 P P P、 Q Q Q 四点共圆。
推论二:半圆(直径)所对的圆周角是直角。
直径对应的圆心角是平角 180 ∘ 180^{\circ} 180∘,一半即 90 ∘ 90^{\circ} 90∘。
逆命题同样成立且更常用:若 ∠ B A C = 90 ∘ \angle BAC = 90^{\circ} ∠BAC=90∘,则 A A A 落在以 B C BC BC 为直径的圆上。于是"直角"这个条件可以直接翻译成"点在某个圆上",这就是解题中所谓的隐圆。
推论三:圆内接四边形对角互补。
∠ A + ∠ C = 180 ∘ \angle A + \angle C = 180^{\circ} ∠A+∠C=180∘, ∠ B + ∠ D = 180 ∘ \angle B + \angle D = 180^{\circ} ∠B+∠D=180∘。
证明: ∠ A \angle A ∠A 与 ∠ C \angle C ∠C 分别对着 B C D ⌢ \overset{\frown}{BCD} BCD⌢ 和 B A D ⌢ \overset{\frown}{BAD} BAD⌢ 这两条弧,它们合起来是整个圆周 360 ∘ 360^{\circ} 360∘。由圆周角定理,两角之和等于这两条弧对应圆心角之和的一半,即 360 ∘ 2 = 180 ∘ \dfrac{360^{\circ}}{2}=180^{\circ} 2360∘=180∘。
逆命题也成立,是四点共圆的另一个判定。
垂径定理

垂直于弦的直径,平分这条弦,并且平分弦所对的两条弧。
证明:连 O A OA OA、 O B OB OB。 O A = O B OA = OB OA=OB(半径),故 △ O A B \triangle OAB △OAB 等腰。等腰三角形三线合一——顶角平分线、底边中线、底边高互相重合。已知 O D ⊥ A B OD \perp AB OD⊥AB 于 M M M,即 O M OM OM 是底边上的高,所以它同时是中线, A M = M B AM = MB AM=MB;也是顶角平分线, ∠ A O D = ∠ B O D \angle AOD = \angle BOD ∠AOD=∠BOD,所以两条弧也相等。
逆定理:平分弦(这条弦不是直径)的直径,必定垂直于这条弦。
由垂径定理直接得弦长公式:圆心到弦的距离为 d d d,半径为 r r r,则
弦长 = 2 r 2 − d 2 = 2\sqrt{r^2-d^2} =2r2−d2
推导就是在 △ O M A \triangle OMA △OMA 里用一次勾股定理。
切线

切线性质:圆的切线垂直于过切点的半径。
证明(反证法):设切线 l l l 与圆切于 P P P,若 O P OP OP 不垂直于 l l l,作 O H ⊥ l OH \perp l OH⊥l 于 H H H,则 O H < O P = r OH \lt OP = r OH<OP=r。这说明圆心到直线的距离小于半径,直线必与圆有两个交点,与"切线只有一个公共点"矛盾。故 O P ⊥ l OP \perp l OP⊥l。
切线判定:过半径外端且垂直于这条半径的直线是圆的切线。
切线长定理:从圆外一点 Q Q Q 引圆的两条切线,两条切线长相等,即 Q P 1 = Q P 2 QP_1 = QP_2 QP1=QP2;且 O Q OQ OQ 平分 ∠ P 1 Q P 2 \angle P_1QP_2 ∠P1QP2。
证明: O P 1 = O P 2 = r OP_1 = OP_2 = r OP1=OP2=r, ∠ O P 1 Q = ∠ O P 2 Q = 90 ∘ \angle OP_1Q = \angle OP_2Q = 90^{\circ} ∠OP1Q=∠OP2Q=90∘, O Q OQ OQ 公共,由 HL 判定 △ O P 1 Q ≅ △ O P 2 Q \triangle OP_1Q \cong \triangle OP_2Q △OP1Q≅△OP2Q,于是对应边 Q P 1 = Q P 2 QP_1 = QP_2 QP1=QP2、对应角 ∠ P 1 Q O = ∠ P 2 Q O \angle P_1QO = \angle P_2QO ∠P1QO=∠P2QO。
外接圆与内切圆
这两个概念最容易混,先记住区别:外接圆过三个顶点,内切圆与三条边相切。

外接圆:过三角形三个顶点的圆。圆心叫外心,是三边垂直平分线的交点。
证明:垂直平分线的本质是"到线段两端距离相等的点的集合"。设 B C BC BC 与 A B AB AB 的垂直平分线交于 O O O,则
- O O O 在 B C BC BC 的垂直平分线上 ⇒ O B = O C \Rightarrow OB = OC ⇒OB=OC
- O O O 在 A B AB AB 的垂直平分线上 ⇒ O A = O B \Rightarrow OA = OB ⇒OA=OB
于是 O A = O B = O C OA = OB = OC OA=OB=OC。由 O A = O C OA = OC OA=OC 反推, O O O 也必在 A C AC AC 的垂直平分线上,三线共点。以 O O O 为圆心、 O A OA OA 为半径的圆同时过三个顶点。
外心的位置随三角形形状变化:锐角三角形在内部,直角三角形恰在斜边中点(因为斜边所对的圆周角是直角,斜边就是直径),钝角三角形在外部。
外接圆半径 R = a b c 4 S R = \dfrac{abc}{4S} R=4Sabc,其中 S S S 是三角形面积。
内切圆:与三角形三条边都相切的圆。圆心叫内心,是三条角平分线的交点。
证明:角平分线的本质是"到角两边距离相等的点的集合"。设 ∠ A \angle A ∠A 与 ∠ B \angle B ∠B 的平分线交于 I I I,则
- I I I 在 ∠ A \angle A ∠A 的平分线上 ⇒ \Rightarrow ⇒ I I I 到 A B AB AB 与 A C AC AC 的距离相等
- I I I 在 ∠ B \angle B ∠B 的平分线上 ⇒ \Rightarrow ⇒ I I I 到 A B AB AB 与 B C BC BC 的距离相等
于是 I I I 到三条边的距离全部相等。由"到 A C AC AC、 B C BC BC 距离相等"反推, I I I 也在 ∠ C \angle C ∠C 的平分线上,三线共点。以 I I I 为圆心、这个公共距离为半径的圆与三边都相切(半径垂直于边,正是切线判定)。
内心永远在三角形内部,这一点和外心不同。
内切圆半径由面积得出:把三角形按内心切成三块,每块以一条边为底、以 r r r 为高,于是 S = 1 2 r ( a + b + c ) = r p S = \dfrac{1}{2}r(a+b+c) = rp S=21r(a+b+c)=rp,其中 p p p 是半周长。所以
r = S p r = \dfrac{S}{p} r=pS
两个圆心的对照:
| 外接圆 | 内切圆 | |
|---|---|---|
| 与三角形的关系 | 过三个顶点 | 与三条边相切 |
| 圆心叫法 | 外心 | 内心 |
| 圆心是什么的交点 | 三边垂直平分线 | 三条角平分线 |
| 圆心的本质性质 | 到三个顶点距离相等 | 到三条边距离相等 |
| 位置 | 可能在三角形外 | 一定在三角形内 |
| 半径 | R = a b c 4 S R = \dfrac{abc}{4S} R=4Sabc | r = S p r = \dfrac{S}{p} r=pS |
三角形的四心
上面讲了外心和内心,把四个心放在一起对照,其中重心在具身智能里用得最多。

重心 G G G:三条中线的交点。两条关键性质:
- 重心把每条中线分成 2 : 1 2:1 2:1 两段,靠近顶点的那段是靠近对边的两倍
- 坐标就是三个顶点的算术平均: G = A + B + C 3 G = \dfrac{A+B+C}{3} G=3A+B+C
第二条把重心和"质心"直接连起来:均匀薄片三角形的质心就是重心;推广到 n n n 个点,质心就是 1 n ∑ P i \dfrac{1}{n}\sum P_i n1∑Pi,这正是点云求中心的做法。
证明(两条性质一起证):

设 M M M 是 B C BC BC 中点, N N N 是 A B AB AB 中点,中线 A M AM AM 与 C N CN CN 交于 G G G。
第一步,连接 M N MN MN。由中位线定理, M N MN MN 是 △ A B C \triangle ABC △ABC 中连接 B C BC BC、 A B AB AB 两边中点的线段,所以
M N ∥ A C MN \parallel AC MN∥AC 且 M N = 1 2 A C MN = \dfrac{1}{2}AC MN=21AC
第二步,用 AA 判定相似。 M N ∥ A C MN \parallel AC MN∥AC 被直线 A M AM AM、 C N CN CN 所截,产生两组内错角:
- ∠ N M G = ∠ G A C \angle NMG = \angle GAC ∠NMG=∠GAC( A M AM AM 截 M N MN MN、 A C AC AC)
- ∠ M N G = ∠ G C A \angle MNG = \angle GCA ∠MNG=∠GCA( C N CN CN 截 M N MN MN、 A C AC AC)
于是 △ G M N ∼ △ G C A \triangle GMN \sim \triangle GCA △GMN∼△GCA,相似比等于 M N : C A = 1 : 2 MN:CA = 1:2 MN:CA=1:2。
第三步,读出比例。相似比给出 G M : G A = G N : G C = 1 : 2 GM:GA = GN:GC = 1:2 GM:GA=GN:GC=1:2,即
A G : G M = 2 : 1 AG:GM = 2:1 AG:GM=2:1, C G : G N = 2 : 1 CG:GN = 2:1 CG:GN=2:1
第四步,证明三线共点。设第三条中线(由 B B B 到 A C AC AC 中点 K K K)与 A M AM AM 交于 G ′ G^{\prime} G′,对 ( A M , B K ) (AM,\,BK) (AM,BK) 这一对中线重复上面的论证,同样得到 A G ′ : G ′ M = 2 : 1 AG^{\prime}:G^{\prime}M=2:1 AG′:G′M=2:1。而在线段 A M AM AM 上,满足 A G : G M = 2 : 1 AG:GM=2:1 AG:GM=2:1 的点唯一,所以 G ′ = G G^{\prime}=G G′=G。三条中线交于同一点。
第五步,坐标公式。由 A G : G M = 2 : 1 AG:GM=2:1 AG:GM=2:1, G G G 把 A M AM AM 分成 2 : 1 2:1 2:1,代入定比分点:
G = A + 2 3 ( M − A ) = 1 3 A + 2 3 ⋅ B + C 2 = A + B + C 3 G = A + \dfrac{2}{3}(M-A) = \dfrac{1}{3}A + \dfrac{2}{3} \cdot \dfrac{B+C}{2} = \dfrac{A+B+C}{3} G=A+32(M−A)=31A+32⋅2B+C=3A+B+C
推广到 n n n 个点,质心就是 1 n ∑ P i \dfrac{1}{n}\sum P_i n1∑Pi,这正是点云求中心的做法。
再推广一步得到重心坐标:三角形内任一点都能唯一写成
P = α A + β B + γ C P = \alpha A + \beta B + \gamma C P=αA+βB+γC,其中 α + β + γ = 1 \alpha+\beta+\gamma = 1 α+β+γ=1, α , β , γ ≥ 0 \alpha,\beta,\gamma \ge 0 α,β,γ≥0
重心对应 α = β = γ = 1 3 \alpha=\beta=\gamma=\dfrac{1}{3} α=β=γ=31。这套坐标是三角网格插值、点在三角形内判定、光栅化的标准工具, α , β , γ \alpha,\beta,\gamma α,β,γ 的几何意义就是三个小三角形的面积占比。
垂心 H H H:三条高的交点。锐角三角形在内部,直角三角形恰在直角顶点,钝角三角形在外部。
欧拉线:外心 O O O、重心 G G G、垂心 H H H 三点永远共线,且 O G : G H = 1 : 2 OG:GH = 1:2 OG:GH=1:2。

图中绿色虚线是三条高,垂足处的直角标记表示它们确实垂直于对边;紫色线是欧拉线, O O O、 G G G、 H H H 依次排开。下面把证明拆成能一步步核对的小步骤。
准备工作:位置向量是什么。取外心 O O O 作坐标原点,每个点就用"从 O O O 出发指向它的向量"来表示——这其实就是把 O O O 当成 ( 0 , 0 ) (0,0) (0,0), A A A、 B B B、 C C C 的坐标就是它们的位置向量,记作 a \mathbf{a} a、 b \mathbf{b} b、 c \mathbf{c} c。因为 O O O 是外心, A A A、 B B B、 C C C 都在外接圆上,所以
∣ a ∣ = ∣ b ∣ = ∣ c ∣ = R \lvert\mathbf{a}\rvert=\lvert\mathbf{b}\rvert=\lvert\mathbf{c}\rvert=R ∣a∣=∣b∣=∣c∣=R
这只是把" O A = O B = O C = R OA=OB=OC=R OA=OB=OC=R"翻译成了向量的语言。
要用到的一个事实:点积为零 ⟺ \iff ⟺ 垂直。两个非零向量 u \mathbf{u} u、 v \mathbf{v} v 的点积定义为 u ⋅ v = ∣ u ∣ ∣ v ∣ cos θ \mathbf{u}\cdot\mathbf{v}=\lvert\mathbf{u}\rvert\lvert\mathbf{v}\rvert\cos\theta u⋅v=∣u∣∣v∣cosθ( θ \theta θ 是夹角)。当 θ = 90 ∘ \theta=90^{\circ} θ=90∘ 时 cos θ = 0 \cos\theta=0 cosθ=0,点积为零;反过来点积为零也只能是 cos θ = 0 \cos\theta=0 cosθ=0。所以后面只要算出某两个向量的点积等于 0 0 0,就等于证明了它们垂直——这是整个证明唯一要用的工具。
第一步:猜一个点,验证它是垂心。直接定义
H = a + b + c H = \mathbf{a}+\mathbf{b}+\mathbf{c} H=a+b+c
这只是三个坐标相加,此刻还不知道它是谁,先验证它满足"垂心"的定义——从每个顶点出发的高都经过它。只需验证 A H ⊥ B C AH \perp BC AH⊥BC(其余两条同理,换个字母重复一遍就行)。
先说清楚"两点间的向量"怎么用位置向量表示:对任意两点 P P P、 Q Q Q,从 P P P 指向 Q Q Q 的向量 P Q → \overrightarrow{PQ} PQ 等于 Q Q Q 的位置向量减去 P P P 的位置向量,即 P Q → = q − p \overrightarrow{PQ}=\mathbf q-\mathbf p PQ=q−p。这是向量加法的三角形法则的直接推论:从 O O O 走到 P P P 再走到 Q Q Q,等于直接从 O O O 走到 Q Q Q,即 p + P Q → = q \mathbf p+\overrightarrow{PQ}=\mathbf q p+PQ=q,移项就得到 P Q → = q − p \overrightarrow{PQ}=\mathbf q-\mathbf p PQ=q−p。
代入 A A A、 H H H、 B B B、 C C C 各自的位置向量:
A H → = H − a = ( a + b + c ) − a = b + c \overrightarrow{AH} = H-\mathbf{a} = (\mathbf a+\mathbf b+\mathbf c)-\mathbf a = \mathbf{b}+\mathbf{c} AH=H−a=(a+b+c)−a=b+c, B C → = c − b \overrightarrow{BC} = \mathbf{c}-\mathbf{b} BC=c−b
把这两个向量点乘,逐项展开(点积对加减法可以像乘法分配律一样展开):
A H → ⋅ B C → = ( b + c ) ⋅ ( c − b ) = b ⋅ c − b ⋅ b + c ⋅ c − c ⋅ b \overrightarrow{AH}\cdot\overrightarrow{BC} = (\mathbf{b}+\mathbf{c})\cdot(\mathbf{c}-\mathbf{b}) = \mathbf{b}\cdot\mathbf{c}-\mathbf{b}\cdot\mathbf{b}+\mathbf{c}\cdot\mathbf{c}-\mathbf{c}\cdot\mathbf{b} AH⋅BC=(b+c)⋅(c−b)=b⋅c−b⋅b+c⋅c−c⋅b
b ⋅ c \mathbf{b}\cdot\mathbf{c} b⋅c 与 c ⋅ b \mathbf{c}\cdot\mathbf{b} c⋅b 是同一个数(点积可交换),正负抵消; b ⋅ b = ∣ b ∣ 2 \mathbf{b}\cdot\mathbf{b}=\lvert\mathbf{b}\rvert^2 b⋅b=∣b∣2, c ⋅ c = ∣ c ∣ 2 \mathbf{c}\cdot\mathbf{c}=\lvert\mathbf{c}\rvert^2 c⋅c=∣c∣2,所以
A H → ⋅ B C → = ∣ c ∣ 2 − ∣ b ∣ 2 \overrightarrow{AH}\cdot\overrightarrow{BC} = \lvert\mathbf{c}\rvert^2-\lvert\mathbf{b}\rvert^2 AH⋅BC=∣c∣2−∣b∣2
由准备工作, ∣ b ∣ = ∣ c ∣ = R \lvert\mathbf{b}\rvert=\lvert\mathbf{c}\rvert=R ∣b∣=∣c∣=R,所以这个值等于 R 2 − R 2 = 0 R^2-R^2=0 R2−R2=0。
点积为零,所以 A H ⊥ B C AH \perp BC AH⊥BC——也就是说,过 A A A 且垂直于 B C BC BC 的那条高,正好经过 H H H。把 A A A 换成 B B B、 C C C 重复同样的计算(只是字母轮换),可得 B H ⊥ A C BH\perp AC BH⊥AC、 C H ⊥ A B CH\perp AB CH⊥AB。三条高都过 H H H,所以 H H H 就是垂心。
第二步:比较 G G G 和 H H H,得到共线和比例。前面已经证明重心 G = a + b + c 3 G=\dfrac{\mathbf{a}+\mathbf{b}+\mathbf{c}}{3} G=3a+b+c,而这里 H = a + b + c H=\mathbf{a}+\mathbf{b}+\mathbf{c} H=a+b+c,两式对比, G G G 恰好是 H H H 的 1 3 \dfrac13 31:
G = 1 3 H G = \dfrac{1}{3}H G=31H,也就是 O G → = 1 3 O H → \overrightarrow{OG} = \dfrac{1}{3}\overrightarrow{OH} OG=31OH
O G → \overrightarrow{OG} OG 和 O H → \overrightarrow{OH} OH 方向相同(一个是另一个乘以正数 1 3 \dfrac13 31),这意味着 G G G 就落在射线 O H OH OH 上——也就是说 O O O、 G G G、 H H H 三点共线。再比较长度:
O G = 1 3 O H OG=\dfrac13 OH OG=31OH,所以 G H = O H − O G = 2 3 O H GH = OH-OG = \dfrac23 OH GH=OH−OG=32OH,故 O G : G H = 1 3 : 2 3 = 1 : 2 OG:GH=\dfrac13:\dfrac23 = 1:2 OG:GH=31:32=1:2
这条证明顺带给出一个副产品:垂心的位置向量就是三个顶点位置向量之和(以外心为原点时)——这是一条比"三条高的交点"直观得多的垂心刻画方式。
| 心 | 是什么的交点 | 到什么等距 | 是否总在内部 |
|---|---|---|---|
| 外心 O O O | 三边垂直平分线 | 三个顶点 | 否 |
| 内心 I I I | 三条角平分线 | 三条边 | 是 |
| 重心 G G G | 三条中线 | —(是顶点的平均) | 是 |
| 垂心 H H H | 三条高 | — | 否 |
位置关系
判断两个几何体的相对位置,只需要比较距离和半径。这是碰撞检测最基础的一层。

点与圆:设点到圆心的距离为 d d d。
- d < r d \lt r d<r:点在圆内
- d = r d = r d=r:点在圆上
- d > r d \gt r d>r:点在圆外
写成一个量就是 d − r d - r d−r:负数在内、零在边界、正数在外。这正是圆的符号距离函数(SDF),学习路径第 88 行的 SDF 就是把它推广到任意形状。
直线与圆:设圆心到直线的距离为 d d d。
- d > r d \gt r d>r:相离,无交点
- d = r d = r d=r:相切,一个交点
- d < r d \lt r d<r:相交,两个交点,弦长 2 r 2 − d 2 2\sqrt{r^2-d^2} 2r2−d2
判别时用点到直线距离公式算 d d d,不必联立方程。射线与球求交(光线追踪、激光测距仿真)就是这条的三维版。

圆与圆:设圆心距为 d d d,半径 r 1 > r 2 r_1 \gt r_2 r1>r2。
| 关系 | 条件 | 公切线条数 |
|---|---|---|
| 外离 | d > r 1 + r 2 d \gt r_1+r_2 d>r1+r2 | 4 |
| 外切 | d = r 1 + r 2 d = r_1+r_2 d=r1+r2 | 3 |
| 相交 | ∣ r 1 − r 2 ∣ < d < r 1 + r 2 \lvert r_1-r_2 \rvert \lt d \lt r_1+r_2 ∣r1−r2∣<d<r1+r2 | 2 |
| 内切 | d = ∣ r 1 − r 2 ∣ d = \lvert r_1-r_2 \rvert d=∣r1−r2∣ | 1 |
| 内含 | d < ∣ r 1 − r 2 ∣ d \lt \lvert r_1-r_2 \rvert d<∣r1−r2∣ | 0 |
第一行的否定就是最常用的碰撞判据:两个圆盘相碰 ⟺ d ≤ r 1 + r 2 \iff d \le r_1+r_2 ⟺d≤r1+r2。给每个物体套一个包围圆(三维是包围球),先用这一个不等式做粗筛,通过了再做精确检测——这是所有碰撞检测系统的第一层。
弧长与扇形面积
设圆心角为 n n n 度,半径 r r r:
- 弧长 l = n π r 180 l = \dfrac{n\pi r}{180} l=180nπr
- 扇形面积 S = n π r 2 360 = 1 2 l r S = \dfrac{n\pi r^2}{360} = \dfrac{1}{2}lr S=360nπr2=21lr
角度制下这两个公式都带着 π 180 \dfrac{\pi}{180} 180π 这个累赘。改用弧度制——把圆心角 θ \theta θ 定义为"所对弧长与半径之比" θ = l r \theta = \dfrac{l}{r} θ=rl——公式立刻变成
l = θ r l = \theta r l=θr, S = 1 2 θ r 2 S = \dfrac{1}{2}\theta r^2 S=21θr2
这就是弧度制存在的理由:它让弧长公式退化成一个乘法。第 9 行三角函数、以及后面所有涉及角速度的地方( v = ω r v = \omega r v=ωr 就是 l = θ r l=\theta r l=θr 对时间求导)都默认用弧度。
圆幂定理
从一点 P P P 引直线与圆交于两点,两段线段长之积是定值,与直线怎么转无关。这个定值叫点 P P P 对圆的幂,等于 d 2 − r 2 d^2-r^2 d2−r2( d d d 是 P P P 到圆心的距离)。

情形一,相交弦定理( P P P 在圆内):弦 A B AB AB、 C D CD CD 交于圆内一点 P P P,则
P A ⋅ P B = P C ⋅ P D = r 2 − d 2 PA \cdot PB = PC \cdot PD = r^2-d^2 PA⋅PB=PC⋅PD=r2−d2
证明:连 A C AC AC、 D B DB DB。 ∠ P A C \angle PAC ∠PAC 与 ∠ P D B \angle PDB ∠PDB 是同弧 B C ⌢ \overset{\frown}{BC} BC⌢ 所对的圆周角(分别是 ∠ C A B \angle CAB ∠CAB、 ∠ C D B \angle CDB ∠CDB 的一部分/延伸),由圆周角定理相等; ∠ A P C \angle APC ∠APC 与 ∠ D P B \angle DPB ∠DPB 是对顶角,也相等。于是
△ A P C ∼ △ D P B \triangle APC \sim \triangle DPB △APC∼△DPB(AA)
对应边成比例: P A P D = P C P B \dfrac{PA}{PD} = \dfrac{PC}{PB} PDPA=PBPC,交叉相乘得 P A ⋅ P B = P C ⋅ P D PA \cdot PB = PC \cdot PD PA⋅PB=PC⋅PD。
情形二,割线定理( P P P 在圆外):两条割线分别交圆于 A , B A,B A,B 和 C , D C,D C,D( A A A、 C C C 是近点),则
P A ⋅ P B = P C ⋅ P D = d 2 − r 2 PA \cdot PB = PC \cdot PD = d^2-r^2 PA⋅PB=PC⋅PD=d2−r2
证明:连 A C AC AC、 D B DB DB。 ∠ P A C \angle PAC ∠PAC 与 ∠ P D B \angle PDB ∠PDB 分别是 ∠ A \angle A ∠A 处、 ∠ D \angle D ∠D 处的角, A A A、 B B B、 C C C、 D D D 四点共圆, ∠ P A C \angle PAC ∠PAC 与 ∠ B D C \angle BDC ∠BDC(即 ∠ P D B \angle PDB ∠PDB)同样是同弧 B C ⌢ \overset{\frown}{BC} BC⌢ 所对的圆周角,相等; ∠ P \angle P ∠P 是 △ P A C \triangle PAC △PAC 与 △ P D B \triangle PDB △PDB 的公共角。于是同样由 AA 得
△ P A C ∼ △ P D B \triangle PAC \sim \triangle PDB △PAC∼△PDB
P A P D = P C P B ⇒ P A ⋅ P B = P C ⋅ P D \dfrac{PA}{PD} = \dfrac{PC}{PB} \;\Rightarrow\; PA \cdot PB = PC \cdot PD PDPA=PBPC⇒PA⋅PB=PC⋅PD
这两种情形用的是同一个相似三角形结构,只是 P P P 在圆内还是圆外决定了 ∠ A P C \angle APC ∠APC 与 ∠ D P B \angle DPB ∠DPB 是对顶角还是公共角。
情形三,切割线定理( P P P 在圆外,一条线是切线):切线切于 T T T,割线交圆于 A A A、 B B B( A A A 是近点),则
P T 2 = P A ⋅ P B = d 2 − r 2 PT^2 = PA \cdot PB = d^2-r^2 PT2=PA⋅PB=d2−r2
证明要先补一条引理——切线弦角定理:切线与弦的夹角,等于这条弦在弦的另一侧所对的圆周角。即图中 ∠ P T A = ∠ T B A \angle PTA = \angle TBA ∠PTA=∠TBA。
引理的证明:连 O T OT OT、 O A OA OA。切线垂直半径, ∠ O T P = 90 ∘ \angle OTP=90^{\circ} ∠OTP=90∘,所以
∠ P T A = ∠ O T P − ∠ O T A = 90 ∘ − ∠ O T A \angle PTA = \angle OTP - \angle OTA = 90^{\circ}-\angle OTA ∠PTA=∠OTP−∠OTA=90∘−∠OTA
△ O T A \triangle OTA △OTA 中 O T = O A = r OT=OA=r OT=OA=r,是等腰三角形, ∠ O T A = ∠ O A T = 180 ∘ − ∠ T O A 2 = 90 ∘ − ∠ T O A 2 \angle OTA=\angle OAT=\dfrac{180^{\circ}-\angle TOA}{2}=90^{\circ}-\dfrac{\angle TOA}{2} ∠OTA=∠OAT=2180∘−∠TOA=90∘−2∠TOA,代入:
∠ P T A = 90 ∘ − ( 90 ∘ − ∠ T O A 2 ) = ∠ T O A 2 \angle PTA = 90^{\circ}-\left(90^{\circ}-\dfrac{\angle TOA}{2}\right)=\dfrac{\angle TOA}{2} ∠PTA=90∘−(90∘−2∠TOA)=2∠TOA
而 ∠ T O A \angle TOA ∠TOA 正是 T A ⌢ \overset{\frown}{TA} TA⌢ 的圆心角,由圆周角定理, ∠ T O A 2 = ∠ T B A \dfrac{\angle TOA}{2}=\angle TBA 2∠TOA=∠TBA( B B B 在优弧上)。两式相等, ∠ P T A = ∠ T B A \angle PTA=\angle TBA ∠PTA=∠TBA,引理得证。
回到切割线定理: △ P T A \triangle PTA △PTA 与 △ P B T \triangle PBT △PBT 中, ∠ P \angle P ∠P 是公共角, ∠ P T A = ∠ P B T \angle PTA=\angle PBT ∠PTA=∠PBT(引理),由 AA 得
△ P T A ∼ △ P B T \triangle PTA \sim \triangle PBT △PTA∼△PBT
P T P B = P A P T ⇒ P T 2 = P A ⋅ P B \dfrac{PT}{PB} = \dfrac{PA}{PT} \;\Rightarrow\; PT^2 = PA \cdot PB PBPT=PTPA⇒PT2=PA⋅PB
三种情形本质上是同一条定理:只要过 P P P 的两条直线与圆各交出两点,两条直线上各自的两段之积就相等;切线是割线两个交点重合的极限情形,所以 P A ⋅ P B PA\cdot PB PA⋅PB 退化成 P T ⋅ P T = P T 2 PT\cdot PT=PT^2 PT⋅PT=PT2。
注意 d 2 − r 2 d^2-r^2 d2−r2 与上面点与圆位置关系里的 d − r d-r d−r 是同一件事的两种写法,符号相同:圆外为正、圆上为零、圆内为负。工程上更常用 d 2 − r 2 d^2-r^2 d2−r2,因为它避免了开方。
三点定圆
不共线的三点确定唯一一个圆——这正是上面外接圆存在唯一性的另一种说法。
这是激光点云里拟合圆柱、拟合弯道的基础:随机取三点算出一个圆,统计有多少点落在容差范围内,重复若干次取最好的,就是 RANSAC 拟合圆。所需的最少采样点数 3 3 3,正是由"三点定圆"决定的。
"三点不共线"这个条件在工程上对应一个实际问题:若采样到的三点接近共线,解出的圆心会跑到极远处、半径趋于无穷,数值上极不稳定。实现时通常要先剔除近似共线的采样。
五、三角形的面积
三个公式,按已知条件选用:
-
已知底和高: S = 1 2 a h S = \dfrac{1}{2}ah S=21ah
-
已知两边及夹角: S = 1 2 a b sin C S = \dfrac{1}{2}ab\sin C S=21absinC
-
已知三个顶点坐标 ( x 1 , y 1 ) (x_1,y_1) (x1,y1)、 ( x 2 , y 2 ) (x_2,y_2) (x2,y2)、 ( x 3 , y 3 ) (x_3,y_3) (x3,y3):
S = 1 2 ∣ ( x 2 − x 1 ) ( y 3 − y 1 ) − ( x 3 − x 1 ) ( y 2 − y 1 ) ∣ S = \dfrac{1}{2}\left\lvert (x_2-x_1)(y_3-y_1)-(x_3-x_1)(y_2-y_1) \right\rvert S=21∣(x2−x1)(y3−y1)−(x3−x1)(y2−y1)∣
证明(坐标公式):设 u = ( x 2 − x 1 , y 2 − y 1 ) \mathbf{u}=(x_2-x_1,\ y_2-y_1) u=(x2−x1, y2−y1)、 v = ( x 3 − x 1 , y 3 − y 1 ) \mathbf{v}=(x_3-x_1,\ y_3-y_1) v=(x3−x1, y3−y1),即 A A A 出发的两条边 A B AB AB、 A C AC AC。

平移不改变面积,把 A A A 移到原点,问题变成:向量 u \mathbf{u} u、 v \mathbf{v} v 张成的三角形面积是多少。
已知公式 S = 1 2 ∣ u ∣ ∣ v ∣ sin θ S = \dfrac{1}{2}\lvert\mathbf{u}\rvert\lvert\mathbf{v}\rvert\sin\theta S=21∣u∣∣v∣sinθ(本节第二个公式, θ \theta θ 是 u \mathbf{u} u、 v \mathbf{v} v 的夹角)。要证它等于 1 2 ∣ u 1 v 2 − u 2 v 1 ∣ \dfrac{1}{2}\lvert u_1v_2-u_2v_1\rvert 21∣u1v2−u2v1∣,只需证
∣ u ∣ ∣ v ∣ sin θ = ∣ u 1 v 2 − u 2 v 1 ∣ \lvert\mathbf{u}\rvert\lvert\mathbf{v}\rvert\sin\theta = \lvert u_1v_2-u_2v_1\rvert ∣u∣∣v∣sinθ=∣u1v2−u2v1∣
这是一个纯代数恒等式(拉格朗日恒等式),直接展开验证:
( u 1 v 2 − u 2 v 1 ) 2 + ( u 1 v 1 + u 2 v 2 ) 2 = u 1 2 v 2 2 − 2 u 1 u 2 v 1 v 2 + u 2 2 v 1 2 + u 1 2 v 1 2 + 2 u 1 u 2 v 1 v 2 + u 2 2 v 2 2 (u_1v_2-u_2v_1)^2+(u_1v_1+u_2v_2)^2 = u_1^2v_2^2-2u_1u_2v_1v_2+u_2^2v_1^2+u_1^2v_1^2+2u_1u_2v_1v_2+u_2^2v_2^2 (u1v2−u2v1)2+(u1v1+u2v2)2=u12v22−2u1u2v1v2+u22v12+u12v12+2u1u2v1v2+u22v22
右边中间两项抵消,合并得 ( u 1 2 + u 2 2 ) ( v 1 2 + v 2 2 ) = ∣ u ∣ 2 ∣ v ∣ 2 (u_1^2+u_2^2)(v_1^2+v_2^2) = \lvert\mathbf{u}\rvert^2\lvert\mathbf{v}\rvert^2 (u12+u22)(v12+v22)=∣u∣2∣v∣2。所以
( u 1 v 2 − u 2 v 1 ) 2 = ∣ u ∣ 2 ∣ v ∣ 2 − ( u 1 v 1 + u 2 v 2 ) 2 = ∣ u ∣ 2 ∣ v ∣ 2 − ( u ⋅ v ) 2 (u_1v_2-u_2v_1)^2 = \lvert\mathbf{u}\rvert^2\lvert\mathbf{v}\rvert^2-(u_1v_1+u_2v_2)^2 = \lvert\mathbf{u}\rvert^2\lvert\mathbf{v}\rvert^2-(\mathbf{u}\cdot\mathbf{v})^2 (u1v2−u2v1)2=∣u∣2∣v∣2−(u1v1+u2v2)2=∣u∣2∣v∣2−(u⋅v)2
代入 u ⋅ v = ∣ u ∣ ∣ v ∣ cos θ \mathbf{u}\cdot\mathbf{v}=\lvert\mathbf{u}\rvert\lvert\mathbf{v}\rvert\cos\theta u⋅v=∣u∣∣v∣cosθ:
( u 1 v 2 − u 2 v 1 ) 2 = ∣ u ∣ 2 ∣ v ∣ 2 ( 1 − cos 2 θ ) = ∣ u ∣ 2 ∣ v ∣ 2 sin 2 θ (u_1v_2-u_2v_1)^2 = \lvert\mathbf{u}\rvert^2\lvert\mathbf{v}\rvert^2(1-\cos^2\theta) = \lvert\mathbf{u}\rvert^2\lvert\mathbf{v}\rvert^2\sin^2\theta (u1v2−u2v1)2=∣u∣2∣v∣2(1−cos2θ)=∣u∣2∣v∣2sin2θ
两边开方即证。代回 S = 1 2 ∣ u ∣ ∣ v ∣ sin θ S=\dfrac{1}{2}\lvert\mathbf{u}\rvert\lvert\mathbf{v}\rvert\sin\theta S=21∣u∣∣v∣sinθ,得
S = 1 2 ∣ u 1 v 2 − u 2 v 1 ∣ = 1 2 ∣ ( x 2 − x 1 ) ( y 3 − y 1 ) − ( x 3 − x 1 ) ( y 2 − y 1 ) ∣ S = \dfrac{1}{2}\lvert u_1v_2-u_2v_1\rvert = \dfrac{1}{2}\left\lvert (x_2-x_1)(y_3-y_1)-(x_3-x_1)(y_2-y_1) \right\rvert S=21∣u1v2−u2v1∣=21∣(x2−x1)(y3−y1)−(x3−x1)(y2−y1)∣
几何上看, ∣ u 1 v 2 − u 2 v 1 ∣ \lvert u_1v_2-u_2v_1\rvert ∣u1v2−u2v1∣ 是 u \mathbf{u} u、 v \mathbf{v} v 张成的平行四边形的面积(图中黄色三角形与蓝色三角形拼成的平行四边形),三角形恰好是它的一半——这也是"叉乘的模等于两向量张成平行四边形面积"这条性质在二维的由来。
绝对值内部那一坨 u 1 v 2 − u 2 v 1 u_1v_2-u_2v_1 u1v2−u2v1,就是向量 u = ( x 2 − x 1 , y 2 − y 1 ) \mathbf{u}=(x_2-x_1,\ y_2-y_1) u=(x2−x1, y2−y1) 与 v = ( x 3 − x 1 , y 3 − y 1 ) \mathbf{v}=(x_3-x_1,\ y_3-y_1) v=(x3−x1, y3−y1) 的二维叉乘。它有三个用处:
- 取绝对值再除以 2 2 2,得到面积
- 只看符号,就能判断第三点在前两点连线的哪一侧(正为左侧,负为右侧,零为共线)
- 符号为零即三点共线,这是判定共线最省事的办法(不用除法,没有斜率不存在的特例)
判断点在直线哪一侧,在碰撞检测、凸包构造、多边形内外判定里反复出现。
对应视频
正文看得懂就跳过,卡住了再看对应那一段。下面只列真正值得看的。
- 全等与相似
- P17 三角形的全等与相似(20:38)— 全集必看,判定条件讲得完整
- 圆的性质
- P21 圆的知识梳理(含四点共圆、圆幂定理)(20:10)— 全集必看,圆的性质一次过完
- P22 与圆有关的角(24:04)— 只看圆周角定理及其推论那一段
- P23 垂径定理的使用策略(19:24)— 只看开头讲定理本身的部分,"使用策略"是应试
实际要看的约 55 分钟。勾股定理、三点定圆、三角形面积的坐标公式这几块合集里没有对应内容——勾股定理初中默认已会,后两个超出中考范围,以正文为准。
集数、标题、时长取自 B 站页面,未逐集观看。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)