Skip to content

计算几何问题

Computational geometry problem

以点、线段、多边形等几何对象为输入并要求组合或数值几何输出的问题族。

条目类型
模型

形式陈述

计算几何研究几何对象的离散表示、组合输出与算法复杂度,典型输入是点、线段、多边形和半空间,基本谓词包括方向、相交、包含与距离比较。算法正确性通常分为组合结构和数值实现两层;实数 RAM、代数决策树或有限精度机器会给出不同成本。复杂度除输入规模 n 外还常含输出大小 k:报告全部相交对或范围内全部点至少需要 Ω(k) 时间。扫描线、分治、随机增量、对偶和空间分解是组织这些谓词的范式,而非某个统一算法。

直觉

几何图形连续,算法却只能处理有限表示;计算几何的困难因而不只在组合规模,还在连续坐标与离散拓扑的相互作用。一次符号误差就可能把“共线”变成“左转”,进而改变整张结构。有效算法通常先找出少数可靠谓词——方向、内外、相交、距离比较——再用扫描线、分治或随机增量组织全局计算。几何退化不是实现角落,而是定理假设和数据模型的一部分。

例子与边界

平面凸包可按极角或坐标排序后维护方向判定;线段相交则可由扫描线范式把二维变化压成事件队列和一维状态。三点共线、多个事件同坐标、点落在边界等退化情形会破坏只为一般位置设计的代码。固定浮点 epsilon 不是普遍正确的精确几何方案:尺度变化和误差累积会使阈值失效;整数坐标可用足够宽的精确行列式,但仍需防溢出。

“图上看起来不相交”不是数学判定;端点接触、重合线段和重复点必须预先规定是否计为相交。高维算法的复杂度还会随维数迅速增长,二维直觉不能无条件外推。

推论与应用

仿射空间提供坐标背景,方向判定是二维算法的核心原语。扫描线范式按一个坐标推进事件并维护横截面次序;随机增量构造随机打乱对象,以冲突图把重建成本计入期望。面对预处理后的查询,正交范围搜索报告轴对齐区域内的对象,点定位问题则在平面细分中寻找包含查询点的面,两者都必须把预处理、空间、查询和输出 k 分开报告。

对象与查询还由简单多边形点内判定等页面固定;点集结构由凸包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。
关系图谱13 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系

使用的工具