在C ++中具有给定n个有序顶点的多边形的面积

在此程序中,我们必须找到多边形的面积。给出了该多边形的顶点坐标。在继续进行之前,让我们回顾一下旧的概念以更好地理解随后的概念。

面积是任何二维图形范围的定量表示。

多边形是具有给定数目的边的闭合图形。

顶点的坐标是二维平面中的点的值。例如(0,0)。

现在,让我们看一下寻找面积的数学公式。

Area = ½ [(x1y2 + x2y3 + …… + x(n-1)yn + xny1) - (x2y1 + x3y2 + ……. + xny(n-1) + x1yn ) ]

使用此公式可以计算面积,

示例

#include <iostream>
#include <math.h>
using namespace std;
double areaOfPolygon(double x[], double y[], int n){
   double area = 0.0;
   int j = n - 1;
   for (int i = 0; i < n; i++){
      area += (x[j] + x[i]) * (y[j] - y[i]);
      j = i;
   }
   return abs(area / 2.0);
}
int main(){
   double X[] = {0, 1, 4, 8};
   double Y[] = {0, 2, 5, 9};
   int n = sizeof(X)/sizeof(X[0]);
   cout<<"The area is "<<areaOfPolygon(X, Y, n);
}

输出结果

The area is 3.5