有人知道玛雅使用什么三角剖分算法吗?没有这一点,最有可能尝试的算法是什么?我试了几个简单的从我的头顶(最短/最长的边缘,最小的角度,最小的/最大的面积),但他们都错了。Delaunay是最可信的algoritm吗?
编辑:顺便说一下,关于如何在3D空间中为二维四角体生成两个三角形的伪代码是非常受欢迎的!
编辑2:不幸的是,这不是3D空间中的答案(仅适用于2D)。
发布于 2010-06-28 22:53:49
我不喜欢事后猜测人们的意图,但如果你只是想摆脱玛雅,你可以从MItMeshPolygon::getTriangles开始提取玛雅的三角剖分。
(对应的法线和顶点颜色是可直接访问的。UV需要付出更多的努力--我不记得细节(我所有的玛雅代码都是和我的前雇主在一起的),但是乍一看,你似乎没有这些数据,事实上它们都在那里,只是不方便。
(还有一点-如果你的艺术家们足够努力的话,他们可以在调用getTriangles时创建能使玛雅崩溃的多边形,即使他们呈现OK并且可以使用UI进行操作。这种情况过去每隔几个月就会发生一次,因此值得记住,但可能不值得过多担心。)
如果您不想使用API或Python,那么在导出之前运行polyTriangulate,然后再运行undo (获取原始多边形)将允许您检查三角网格。(您可能希望或需要将场景保存到临时文件中,然后重新加载它,然后使用file将它的旧名称返回给它,如果您的导出过程做了一些很难或不可能撤销的事情。)
这是有点麻烦,但你保证得到准确的三角测量玛雅正在使用。要比写你自己的三角剖分代码要容易得多,而且几乎可以肯定地说,它也比试图找出玛雅在内部所做的任何事情容易得多.
发布于 2010-06-28 21:51:12
你可以试着看看亨里克·齐默尔( Henrik )的Voronoi和Delaunay技术。我不知道这是不是玛雅所用的,但论文描述了一些常见的技巧。
发布于 2010-06-30 07:50:35
乔纳森·舒楚克有一个非常流行的2D三角测量工具叫做三角形,一个3D版本应该很快就会出现。他也有一些关于这个题目的论文,可能会有用。
https://stackoverflow.com/questions/3135941
复制相似问题