“在计算几何中,给定 (P\subset\mathbb R^d) 与轴对齐盒;每个坐标轴上的端点比较采用全序。查询盒写为 (Q=\prod j[a j,b j])。Reporting 输出 (…”
形式陈述 ​
计算几何研究几何对象的离散表示、组合输出与算法复杂度,典型输入是点、线段、多边形和半空间,基本谓词包括方向、相交、包含与距离比较。算法正确性通常分为组合结构和数值实现两层;实数 RAM、代数决策树或有限精度机器会给出不同成本。复杂度除输入规模
直觉
几何图形连续,算法却只能处理有限表示;计算几何的困难因而不只在组合规模,还在连续坐标与离散拓扑的相互作用。一次符号误差就可能把“共线”变成“左转”,进而改变整张结构。有效算法通常先找出少数可靠谓词——方向、内外、相交、距离比较——再用扫描线、分治或随机增量组织全局计算。几何退化不是实现角落,而是定理假设和数据模型的一部分。
例子与边界
平面凸包可按极角或坐标排序后维护方向判定;线段相交则可由扫描线范式把二维变化压成事件队列和一维状态。三点共线、多个事件同坐标、点落在边界等退化情形会破坏只为一般位置设计的代码。固定浮点 epsilon 不是普遍正确的精确几何方案:尺度变化和误差累积会使阈值失效;整数坐标可用足够宽的精确行列式,但仍需防溢出。
“图上看起来不相交”不是数学判定;端点接触、重合线段和重复点必须预先规定是否计为相交。高维算法的复杂度还会随维数迅速增长,二维直觉不能无条件外推。
推论与应用
仿射空间提供坐标背景,方向判定是二维算法的核心原语。扫描线范式按一个坐标推进事件并维护横截面次序;随机增量构造随机打乱对象,以冲突图把重建成本计入期望。面对预处理后的查询,正交范围搜索报告轴对齐区域内的对象,点定位问题则在平面细分中寻找包含查询点的面,两者都必须把预处理、空间、查询和输出
对象与查询还由简单多边形、点内判定等页面固定;点集结构由凸包、Voronoi 图和Delaunay 三角剖分承担;最近点对展示几何分治路线。总页只提供对象—谓词—范式—查询结构的方法地图,各专页分别证明不变量、保证类型和退化边界。
参考资料
- Mark de Berg et al., Computational Geometry: Algorithms and Applications, 3rd ed., Springer, 2008,Chs. 1–7。
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction to Algorithms, 4th ed., MIT Press, 2022,Parts I–VI。