问题如下:我必须将三角测量$ t1 $ intro转换为同一组点的三角测量$ t2 $。
首先,我使用边缘翻转算法来获得将三角测量$ t1 $转换为点集的Delaunay三角剖分所需的翻转。
我对第二个做同样的事情。
现在答案是将$ t1 $转换为$ t2 $的正确方法是将$ t1 $转换为Delaunay三角剖分,之后将$ t2 $的相反操作应用于Delaunay转换。
我发现的问题如下: 我有四点。三个形成三角形(A,B,C),一个不包含在其中(D)。问题是可能存在甚至可能在三角形ABC的外接圆中找到第四点的情况。
更准确地说,四个点的行列式等于0。
我该如何决定是否应该翻转? Flip就是这种情况似乎没有做任何事情。
P.S。我知道A,B,C是否处于CCW或CW位置。
答案 0 :(得分:0)
正如你所说,翻转没有特别的结果。不过,您应该指定一个顺序,以便在这样的设置中,您的算法的结果也可以很好地定义。一个例子是使用顶点索引来应用排序,从而决定是否进行翻转。
答案 1 :(得分:0)
行列式等于零意味着四个点位于同一个圆上,否则它应该小于零。对于Delaunay三角剖分是唯一的,点集应该处于一般位置(在这种情况下,没有三个共线点,在同一圆上没有四个点。)如果这些点不在一般位置,则称它们是退化的。存在通过点的扰动将退化集转换为一般位置的策略。如果你在一个圆上有四个点,你有两个选择来对它们进行三角测量,对角线可以在两个点之间,在另外两个点之间的其他点之间。两种配置都会产生delaunay三角形,但如果在选择对角线的位置时不一致,最终会产生两种不同的三角形。简而言之,您将您的积分转换为一般位置(可能涉及)或您应用规则以一致的方式打破平局。