任意给出一个三角形ΔABC,设其顶点坐标分别为A(x1, y1),B(x2, y2),C(x3, y3),那么根据线性代数的知识,ΔABC的有向面积可表示为:
给出任意一个多边形,其顶点坐标依次为(x0,y0),(x1,y1),(x2,y2),…,(xn,yn)(其中n=2,3,4,…),则其面积可表示为:
故计算的函数为:
double any_ploygon_area(int x,int y,int n){
double sum=0;
for (int i=0;i<n-1;i++){
sum += (x[i]*y[i+1]-x[i+1]*y[i]);
}
double square = (fabs(sum+(x[n-1]*y[0])-(x[0]*y[n-1])))/2;
return square;
}
来源:CSDN
作者:Happig丶
链接:https://blog.csdn.net/qq_44691917/article/details/104095647