CGAL 修改现有的多边形
CGAL modify existing polygon
我目前正在研究一种在 std::vector<Kernel::Point_2>
点集 P 上运行的算法。作为输入,我有一个多边形 (Polygon_2<Kernel>
),它的边界上有一个 P 的子集。其余点位于给定多边形的外部。
我想迭代地扩展多边形,这实际上意味着移除一条边 (p,q)
并插入两条新边 (p,v)
(v,q)
。我选择顶点 v 以便空三角形 T(p,v,q)
具有最大面积。这相当于在底层排序顶点列表(边界) 的多边形。目前,我将多边形的所有点复制到一个向量中,修改该向量并使用边界向量重新初始化一个新的多边形。有没有办法修改现有多边形的边界?
你试过函数insert
了吗?
我目前正在研究一种在 std::vector<Kernel::Point_2>
点集 P 上运行的算法。作为输入,我有一个多边形 (Polygon_2<Kernel>
),它的边界上有一个 P 的子集。其余点位于给定多边形的外部。
我想迭代地扩展多边形,这实际上意味着移除一条边 (p,q)
并插入两条新边 (p,v)
(v,q)
。我选择顶点 v 以便空三角形 T(p,v,q)
具有最大面积。这相当于在底层排序顶点列表(边界) 的多边形。目前,我将多边形的所有点复制到一个向量中,修改该向量并使用边界向量重新初始化一个新的多边形。有没有办法修改现有多边形的边界?
你试过函数insert
了吗?