在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

以上是 在C ++中具有给定n个有序顶点的多边形的面积 的全部内容, 来源链接: utcz.com/z/345446.html

回到顶部