不规则多边形面积计算
public static double getArea(int iCount, double[] x, double[] y)
{
double s=0;
if (icount < 3)
return 0;
s = y[0] * (x[icount – 1] – x[1]); //S初始值
for (int i = 1; i < icount; i++)
{
s += y[i] * (x[(i-1)] – x[(i + 1) % icount]); //累加S面积
}
return Math.Abs(s / 2);
}
iCount为点个数,double[]x 为x轴的点数组double[] y 为y轴点数组