原理:将多边形分成多个三角形,而三角形的面积等于其中两条边向量的乘积,多个相加其中有几个约掉
三角形的面积(点(x0,y0)(x1,y1),(x2,y2))
fabs((x1-x0)*(y2-y0)-(y1-y0)*(x2-x0))
多边形polygon的面积
typedef struct {
double x,y;
} Point;
double polygonarea(Point *polygon,int N) for (i=0,j=1;i<N-1;i++,j++) {
{
int i,j;
double area = 0;
area+= polygon[i].x * polygon[j].y;
area -= polygon[i].y * polygon[j].x;
}
area+=polygon[n-1].x*polygon[0].y;
area-= polygon[n-1].y*polygon[0].x;
area /= 2;
return(area < 0 ? -area : area);
}