Graphics C/C++;保留输入顺序的Delaunay轻量级库 遗憾的是,我找不到一个C++(或C或C)库,用于在一组点(2D或2.5D)上执行Delaunay三角剖分,这可以以输入感知方式输出输出。

Graphics C/C++;保留输入顺序的Delaunay轻量级库 遗憾的是,我找不到一个C++(或C或C)库,用于在一组点(2D或2.5D)上执行Delaunay三角剖分,这可以以输入感知方式输出输出。,graphics,computational-geometry,Graphics,Computational Geometry,也就是说,给定一组点p_1,p_2。。P_N,输出应该由一组三元组(三角形汤)(i_a,i_b,i_c)组成,其中i_a,i_b和i_c是P_i点的索引(因此是介于1和N之间的数字)。我试过了,但我发现它在处理输入方面非常浪费(必须将顶点打包到自己的point2d结构中),而输出忽略了输入的任何索引,提供了一组坐标以及这些顶点的另一个顺序。我是这本书的作者,这是一个迟来的答案,我不知道你的问题。在插入坐标之前,无需将坐标打包到Point2类中。还有一个insert方法,它接受坐标数组: void

也就是说,给定一组点p_1,p_2。。P_N,输出应该由一组三元组(三角形汤)(i_a,i_b,i_c)组成,其中i_a,i_b和i_c是P_i点的索引(因此是介于1和N之间的数字)。我试过了,但我发现它在处理输入方面非常浪费(必须将顶点打包到自己的point2d结构中),而输出忽略了输入的任何索引,提供了一组坐标以及这些顶点的另一个顺序。

我是这本书的作者,这是一个迟来的答案,我不知道你的问题。在插入坐标之前,无需将坐标打包到Point2类中。还有一个insert方法,它接受坐标数组:

void Fade2D::insert(整数、双*A坐标、点2**A坐标)

此方法采用坐标数组(x0,y0,x1,y1,…,xn,yn),并返回具有完全相同顺序的Point2*指针向量。这几乎没有开销。为方便起见,您可以使用

Point2::setCustomIndex()和

Point2::getCustomIndex()


存储和检索您自己的索引

请尝试或。另请参阅。谢谢链接!CGAL绝对是最好的选择,但它是所有库中的Kthulhu(你甚至需要在屏幕上打印东西之前安装厨房水槽——这离轻量级还差得远)。另一方面,Triangle似乎也没有提供所需的输出(或者我就是想不出来?)。感谢您的回答,为社区的利益共享此类信息永远不会太迟!恭喜你有了这个好工具:)。