万千封印
在非凸多边形(例如新月形)的情况下,一些建议的方法将失败。这是一个非常简单的非凸多边形(它甚至可以使用自相交的多边形,如图8,告诉你它是否主要是顺时针方向)。边上的和,(x 2 - x 1)(y 2 + y 1)。如果结果为正,则曲线为顺时针,如果为负,则曲线为逆时针。(结果是封闭区域的两倍,带有+/-约定。)point[0] = (5,0) edge[0]: (6-5)(4+0) = 4point[1] = (6,4) edge[1]: (4-6)(5+4) = -18point[2] = (4,5) edge[2]: (1-4)(5+5) = -30point[3] = (1,5) edge[3]: (1-1)(0+5) = 0point[4] = (1,0) edge[4]: (5-1)(0+0) = 0 --- -44 counter-clockwise