“内接圆判定把三点方向与第四点相对外接圆的位置结合起来;二者常共同作为 Delaunay 构造的鲁棒几何谓词,但不能互相替代。”
形式陈述
固定实平面上的标准 Euclidean 内积,圆按相应平方距离定义。给定平面点
定义
若
- 行列式
: 在三点外接圆内; - 行列式
:四点共圆; - 行列式
: 在圆外。
若 degenerate 或按调用者预先声明的退化规则处理,不能把方向与内圆符号的乘积零解释为“第四点在圆上”。若
把坐标先平移到
直觉
提升映射
把平面点送到抛物面。前三点决定的圆对应提升空间中的一个平面;第四点位于圆内还是圆外,转化为其提升点位于该平面的哪一侧。行列式同时计算这个有向侧别。
这个符号关系也能直接从圆方程核验。设三点外接圆的圆心为
这同时说明为什么先平移到
方向条件不能省略:交换
例子与边界
取
三点逆时针,其外接圆圆心为
浮点直接求行列式在近共圆输入上可能因消去误判符号。几何算法需要的是谓词符号,而不是近似行列式数值;可用足够宽的整数或自适应精确算术取得原输入的真实符号。若另用 symbolic perturbation,应明确它按一套一致的无穷小扰动规则选择退化结果,而非把原来精确为零的行列式声称为非零。四点共圆时 Delaunay 对角线不唯一,算法必须规定一致的退化处理。
推论与应用
内接圆行列式在四点近共圆时会发生严重消去,符号必须由精确几何计算或可靠自适应谓词确定。用普通浮点结果的接近零值直接决定 Delaunay 翻边会破坏组合一致性。
Delaunay 三角剖分的局部空圆条件用该谓词判断是否翻转一条边。增量构造在定位包含新点的三角形后,反复检查相邻三角形的外接圆。
方向判定回答三点位于直线哪一侧;内接圆判定回答第四点相对圆的位置。二者都是鲁棒计算几何的基础谓词,但矩阵维度、几何退化与符号约定不同。
最小包围圆另外解决“哪一个圆能最小地覆盖全部输入”的优化问题:它需要至多三点的凸组合最优证书,并在违反时维护强制边界子问题。钝角三角形的外接圆就可能大于其最小包围圆,所以一个正确的四点内圆谓词并不独自完成该优化。
参考资料
- Jonathan Richard Shewchuk, “Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates,” Discrete & Computational Geometry 18, 1997.
- Mark de Berg et al., Computational Geometry: Algorithms and Applications, 3rd ed., Springer, 2008, Chapter 9.
- Steven Fortune, “Numerical Stability of Algorithms for 2D Delaunay Triangulations,” International Journal of Computational Geometry & Applications 5(1–2), 1995.