我在边缘上有一些点(左图),我想构建一个网格(右图),有没有好的算法来实现它?很多谢谢!
图片可以在这里看到http://ww3.sinaimg.cn/large/6a2c8e2bjw1dk8jr3t7eaj.jpg
首先,请参见Delauney三角剖分。看看这个项目:http://people.sc.fsu.edu/~jburkardt/c_src/triangulate/triangulate.html.
编辑,因为我的原稿中关于翻边的细节太少了,当我试图提供这些细节时,我发现了TRIANGULATE项目
如果区域是平的或准平的,寻找EarClipping方法(http://www.geometrictools.com/Documentation/TriangulationByEarClipping.pdf)。在曲面的情况下,你需要点在区域内,因此你可能需要约束Delaunay三角剖分(否则一些边可能不包括在三角剖分中)。
R
语言的geometry
包中有delaunayn
函数(参见文档)它需要一个边界点数组(就像你的例子一样)来创建一个Delaunay网格。
你也可以将你的几何体保存成一些众所周知的格式,并使用一个网格生成器。