扫描线与Arrangement
CGAL中的2DArrangement算法
输入输出
输入:
1 | 一组 x‑单调曲线(X_monotone_curve_2)和/或点(Point_2),它们位于一个二维参数域(如平面或曲面)上 。 |
输出:
1 | 一个 二维细分(arrangement),即由这些曲线/点引起的细胞划分,包括顶点、边(由曲线段表示)和面,整体储存在一个 DCEL(双连通边列表)数据结构中 。 |
其解决了什么问题
这个模块解决了在平面或曲面上由多条(可能相交的)x‑单调曲线构建精确细分的问题,支持:
增量插入:可以逐条插入曲线(insert / insert_non_intersecting_curve),自动处理交点、重叠、拆分等 。
处理交叉与重叠:需要模型 ArrangementXMonotoneTraits_2,支持交点计算、曲线分解与合并 。
输入输出格式化:支持读写 arrangement 至/自流(ArrangementInputFormatter / OutputFormatter) 。
广泛应用于计算几何——如构建 Voronoi 图、布尔运算、Minkowski 和球面几何等 。