根据坐标计算任意多边形的面积

公式:

实际操作中,有一点需要注意,例如从a[0]-a[n-1]保存了n个点的坐标信息,累加求和之前,一定不能忘了a[n]=a[0],然后从1操作到n,例如: 

1 double getarea(){
2     double sum = 0.0;
3     a[n] = a[0];
4     for(int i = 1;i<=n;i++){
5         sum += a[i].x*a[i-1].y-a[i-1].x*a[i].y;
6     }
7     return sum/2.0;
8 }

这样,就不会漏掉计算最后一个点与第一个生成的向量。

原文地址:https://www.cnblogs.com/zqy123/p/5046864.html