求矢量图形面积 c++

求矢量图形面积

struct point
{
int x;
int y;
};

std::vector<point> points;
to_area(std::vector<point> ring)
{
    double area = 0;

    // 计算面积和形心横纵坐标的分子部分
    for (size_t i = 0; i < ring.size(); i++)
    {
        const point& currentPoint = ring.points[i];
        const silly_point& nextPoint = ring[(i + 1) % ring.size()];
        double product = (currentPoint.x* nextPoint.y) - (nextPoint.x* currentPoint.y);
        area += product;
    }
    area /= 2;
    area < 0 ? -area : area;
}

你可能感兴趣的:(C++,c++,算法,开发语言,矢量图形,面积)