我正在尝试编写一些代码,获取一些数据,将其放入一个三维数组中,然后生成一个3D网格进行渲染。数据是一个带有定义瓦片类型等字段的瓦片列表。我现在正在使用Irrlicht进行图形处理,它有一些方法可以操作网格的顶点/索引,但我想不出一个快速、有效的方法来做到这一点。有没有任何人知道的库或例子来说明如何做到这一点?
发布于 2010-09-20 05:23:22
你想要Delaunay triangulation。在维基百科词条的末尾有一些链接。我曾经为此使用过CGAL一次,但它非常痛苦。注意,这个问题是病态的,您确实需要一个库: CGAL使用一些精确的算术技巧,因此它很麻烦。
不要自己做这件事。
如果你想要凸包的网格生成,CGAL也提供了它(也很麻烦)。
发布于 2010-09-20 05:48:27
不清楚你所说的3D数据数组到底是什么意思,但我猜你是在搜索行进立方体算法。它很容易自己实现,但您可能可以找到一个开源的实现。
发布于 2010-09-20 06:01:44
如果它是全3D的(具有内部体积和相交面),那么您需要marching cubes或行进四面体
但是如果它是2.5D (即xy和深度/高度),那么在XY上进行2D delaunay三角剖分要快得多-最好和最快的实现是triangle,但它不能免费用于商业用途
https://stackoverflow.com/questions/3747481
复制相似问题