Algorithm 如何定义哪些对角线属于凹多边形

Algorithm 如何定义哪些对角线属于凹多边形,algorithm,geometry,triangulation,polygons,Algorithm,Geometry,Triangulation,Polygons,我对三角剖分算法有问题: 在凹多边形中,有些对角线不在多边形中。我有双连通的边列表,顶点,知道哪个顶点有凹角 有两种情况: A) 与边或另一对角线相交的对角线。 B) 对角线不相交,但不在多边形内 如何在A和B情况下定义对角线?考虑此示例,其中顶点按顺时针顺序排序: 看看多边形外的红色对角线。顶点“4”位于直线“3-5”的右侧。顶点“3,4”位于直线“2-5”的右侧 我们可以推断出一个规律:如果一条线i-j有一个顶点k和i

我对三角剖分算法有问题:

在凹多边形中,有些对角线不在多边形中。我有双连通的边列表,顶点,知道哪个顶点有凹角

有两种情况:

A) 与边或另一对角线相交的对角线。 B) 对角线不相交,但不在多边形内


如何在A和B情况下定义对角线?

考虑此示例,其中顶点按顺时针顺序排序

看看多边形外的红色对角线。顶点“4”位于直线“3-5”的右侧。顶点“3,4”位于直线“2-5”的右侧

我们可以推断出一个规律:如果一条线
i-j
有一个顶点
k
i
位于该线的右侧,那么该线位于多边形的外部


请注意,如果颠倒顶点的顺序,则还必须使用“在左”而不是“在右”。

但是不需要此算法来三角化凸多边形。您的问题是什么?在凸多边形中,所有对角线都在里面。对不起,我的错误-我有凹多边形:)太好了,这样做是有意义的。现在问题是什么?你知道algo是为Y单调多边形设计的吗?你说的是向量,不是直线,你需要定义“左”和“右”,你需要修正顶点的划分(我不会切割它)。然而,遗憾的是,即使在修复了以上所有内容之后,它仍然无法工作——将1-4对角线作为反例。如果我们是边1-2上的点“2”。然后我们需要找到1-2和2-3之间的夹角,以及2-3和2-5之间的夹角。若新对角线和边之间的角度高于第一个角度,则该对角线不属于多边形。如果这是错误的想法,请纠正我