原理:
任意多边形的面积可由任意一点与多边形上依次两点连线构成的三角形矢量面积求和得出。
矢量面积=三角形两边矢量的叉乘。
分析:
假设任意一点为原点,则
最后取一下绝对值即为多边形面积。
sum=0;
for(int i=1; i<=n; i++)
{
scanf("%lf%lf",&point[i].x,&point[i].y);
if(i==1)
continue;
sum+=(point[i].x*point[i-1].y-point[i].y*point[i-1].x)/2.0;
}
sum+=(point[1].x*point[n].y-point[1].y*point[n].x)/2.0;
sum=fabs(sum);