判斷任意多邊形邊界順時針/逆時針方向

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

原理:

https://blog.csdn.net/qq_37602930/article/details/80496498

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章