多边形面积模板

double eps = 1e-10;
struct point {
    double x, y;
} Point[maxn], P2[maxn];
struct line {
    point a, b;
};

double area_polygon(int n, point *p) {
    double s1 = 0, s2 = 0;
    for (int i = 0; i < n; i++)
        s1 += p[(i + 1) % n].y * p[i].x, s2 += p[(i + 1) % n].y * p[(i + 2) % n].x;
    return fabs(s1 - s2) / 2;
}
posted @ 2021-03-26 16:18  naymi  阅读(76)  评论(0)    收藏  举报