具有共线点的多边形三角剖分?

时间:2016-11-25 13:56:10

标签: node.js three.js triangulation

我有一个带共线点的多边形。我想在保留所有共线点的同时对多边形进行三角测量,因为我需要在生成的网格上使用这些顶点。目前我尝试使用poly2tri,但它不支持共线点。是否有支持共线点的多边形三角剖分算法?

2 个答案:

答案 0 :(得分:0)

尝试稍微移动点,因此它们不是共线的。进行网格划分,然后将点移回。

我尝试运行网格划分算法,然后扰乱它错过的所有点,然后再次运行它。

它可能很慢,但确实有效。

答案 1 :(得分:0)

具有共线顶点的简单多边形对于“耳朵分裂”三角测量提出了严重的问题。看到这个问题的最好例子 - 自己画一个5分星。选择任意点作为候选耳朵的凸顶点。 这个耳朵的对角线完全位于多边形内,并且不与任何其他边缘形成“X”交叉点,因此根据“有效对角线”的标准,它应该起作用。但是,请注意,一旦切掉耳朵,剩下的多边形就不再是简单的多边形 - 因为它包含两个顶点,其中边缘以直线(180度)角度相交。仅这一点就使新的子多边形失去了“简单”的资格,并且它将使用耳分裂使任何继续三角测量的尝试失败。我将发布一个单独的问题,讨论如何最好地对这些病态多边形进行三角测量。