所以我有一个完全不同的线段,我想把它组合成一个多边形。想象一下四点p0,p1,p2,p3
,它形成一个开放的多边形p0-p1-p2-p3
。(这是说明性的:多边形也可以关闭)
但是我的算法按随机顺序生成分段,比如(p2,p3) (p0,p1) (p1,p2)
。因此,为了连贯地组合它们,我在CGAL中使用了Arrangements_2类。
我已经把它们结合起来了。但现在它们形成了一个面无界的多边形。我不太确定怎样才能有序地打印出顶点。
我想要的是输出的算法(p0-p1-p2-p3)或(p3-p2-p1-p0)。
我查看了文档链接在这里,它们对有界面有一个很好的遍历顺序,但对于无界面则不是很好。
我的问题:
发布于 2014-04-12 11:26:45
安排一定会做好这项工作。
一旦插入所有曲线,您就可以验证排列有两个面arr.number_of_faces()
;一个无界面正好有一个内部ccb (边界的连通分量),另一个面正好有一个外部ccb。获得第一张脸arr.faces_begin()
。如果它是无界f−>is_unbounded()
,则获得它的第一个内边界f−>holes_begin()
。否则,获取其外部边界f−>outer_ccb()
。
https://stackoverflow.com/questions/22943524
复制相似问题