已知任意一个多边形的各个顶点的坐标,怎么去求该多边形的面积?

时间:2021-01-29 00:16:54
 
用叉乘(或者叫向量积)设多边形的点按某顺序依次是(x1,y1),(x2,y2),...,(xn,yn)我们任选一个点和每条边相连,相邻的边做叉乘再除以2(构成三角形的有向面积),一般我们选原点(0,0)则面积S=(x1y2-x2y1)/2+(x2y3-x3y2)/2+...+(xny1-x1yn)/2这里S是有向面积 还要取绝对值程序很简单了 如果数组标号是0到n-1则double s=0;for (int i=0;i<n;i++) s+=((double)x[i]*y[(i+1)%n]-(double)x[(i+1)%n]*y[i])/2;s=fabs(s);