我目前正在研究一种在std::vector<Kernel::Point_2>
点集 P 上运行的算法。作为输入,我有一个多边形(Polygon_2<Kernel>
),其边界上有一个 P 的子集。其余的点位于给定多边形的外部。
我要迭代扩展多边形,这意味着从本质上删除了一条边(p,q)
并插入了两个新边(p,v)
(v,q)
。我选择顶点 v ,以便空三角形T(p,v,q)
具有最大面积。这等效于将顶点 v 放置在多边形的基础排序顶点列表(边界)中的 p 和 q 之间。目前,我将多边形的所有点复制到向量中,修改向量并使用边界向量重新初始化新的多边形。有没有办法修改现有多边形的边界?