方法一:格林公式
格林公式揭示了平面区域的二重积分和封闭曲线上的线积分的关系。
该式可以分为以下两个式子:
取P=-y,Q=x则上面两式都等于区域D的面积,且恒为正数。也就是说如果对曲线进行正向积分(即逆时针方向)所得的结果应该为正数,反向积分(即顺时针方向)所得的结果应该为负数,从而可以判断多边形顶点的顺逆时针方向。
这里以上面第一个式子为例,取P=-y:
假设多边形的n个顶点为(x0,y0),(x1,y1),(x2,y2)
⋯
\cdots
⋯(xn-1,yn-1),那么对于第i条边积分,可通过参数方程算出积分值=-0.5*(yi+1+yi)*(xi+1-xi),对每条边的积分值求和,结果为正即为逆时针,结果为负即为顺时针。
方法二:端点判断
找到该多边形的一个凸点pi(一般就是找x最大的点),然后取该点的前后一个点,组成向量(pi-pi-1)和(pi+1-pi),然后通过向量叉积来判断多边形顶点的顺逆时针方向,若叉积为正,则为逆时针,叉积为负,则为顺时针。
如果选取的点pi为凹点,那么得到的结论与凸点相反。