我遇到以下问题:
我给出了点云P和该点云B的子集.B中的节点b构成(整个)点云P的边界。(事实上,B是作为封闭的,定向的圆形巡回线给出的)。现在,我想计算P的Voronoi图,与B相交,并提取每个(相交的)Voronoi多边形的面积。以下是对情况的说明:
http://f.666kb.com/i/cshix1s881107ghfw.png
基本上我想将蓝色多边形与绿色部分相交。
我的问题:
PS:我知道使用CGAL可能会有这个壮举。但是,从未使用过CGAL,CGAL似乎相当复杂,而this之类的示例代码似乎远非直截了当。另外,我更倾向于使用C语言的解决方案。
答案 0 :(得分:0)
所以我决定反对alpha形状,因为我已经知道确切的边界,并且不想微调alpha值以避免内部的洞。相反,我使用Ante的评论来提出CGAL中的实现。如果有人有兴趣,可以找到here。我对CGAL的使用可能非常笨拙,我可以说我来自C世界,但这是一个开始。可以找到测试输入here(in.txt)和here(bnd_ind.txt)。输出的可视化(边界处突出显示的切割面)http://666kb.com/i/csphx8ow43habobik.gif: