判断多边形边界曲线顺/逆时针

Green公式

double d = 0;
for (int i = 0; i < n - 1; i++) {
    d += -0.5 * ( y[i + 1] + y[i]) * (x[i + 1] - x[i]);
}
if ( d > 0)
    cout << "counter clockwise" << endl;
else
    cout << "clockwise" << endl;

猜你喜欢

转载自blog.csdn.net/henuyh/article/details/80378818