Graph CGAL-从一系列线段中提取二维轮廓

Graph CGAL-从一系列线段中提取二维轮廓,graph,2d,contour,cgal,thickness,Graph,2d,Contour,Cgal,Thickness,我正在寻找一种方法,如何使用CGAL从2D图形中提取2D轮廓。二维图形可以有循环,因此也可以有孔 想象一个棒状图形,输入信息是成对的点(定义构成这种图形结构的线段)。理想情况下,这些段不必以某种特定的方式排序。每个点都附加了一个“厚度”属性,这样我就知道了形成轮廓所需的拉伸量。 因此,我希望有一个类似于双链接边缘列表的东西,可以让我在构建的轮廓中循环。我想最困难的部分是穿越。几天来,我一直在尝试自己构建这些轮廓。但我从来没想到过什么有用的东西 下图显示了我的目标(摘自我试图实现的出版物) 模拟

我正在寻找一种方法,如何使用CGAL从2D图形中提取2D轮廓。二维图形可以有循环,因此也可以有孔

想象一个棒状图形,输入信息是成对的点(定义构成这种图形结构的线段)。理想情况下,这些段不必以某种特定的方式排序。每个点都附加了一个“厚度”属性,这样我就知道了形成轮廓所需的拉伸量。 因此,我希望有一个类似于双链接边缘列表的东西,可以让我在构建的轮廓中循环。我想最困难的部分是穿越。几天来,我一直在尝试自己构建这些轮廓。但我从来没想到过什么有用的东西

下图显示了我的目标(摘自我试图实现的出版物)

模拟树皮断裂后,我需要重建网格。因此,三角测量步骤需要我骨折的轮廓。我已经能够提取定义裂缝中心线的线段,但当涉及到创建裂缝轮廓时,我在特殊情况下(如交叉点等)总是失败

这在某种程度上是可能的吗


谢谢你,梅林。

试着考虑拉伸段,并将所有内容放在一个约束三角剖分中,以允许约束相交。请参阅。如果我这样做,CGAL必须在线段相交的位置上创建新点。因为所有的东西都保存在一个三角测量数据结构中,所以我会丢失所有关于轮廓本身的信息。如果我不能遍历轮廓线,我就无法创建正确的纹理坐标。此外,我还需要标记定义断裂内部的三角形,因为它们将获得不同的设置(纹理等)用于最终渲染。是否有可能使用Nef多边形使用2D布尔运算?我也许可以通过我的线段(作为半空间)来定义Nef多边形,而不是应用诸如相交操作之类的操作,并最终得到诸如完整轮廓作为边列表之类的结果?!?我不知道。。。只是头脑风暴。。。