Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 n개의 정렬된 꼭짓점이 있는 다각형 영역

<시간/>

이 프로그램에서 우리는 다각형의 면적을 찾아야 합니다. 이 다각형의 꼭짓점 좌표가 제공됩니다. 계속 진행하기 전에 다음 개념을 더 잘 이해할 수 있도록 오래된 개념을 정리하겠습니다.

지역 2차원 도형의 범위를 정량적으로 표현한 것입니다.

다각형 는 주어진 면의 수를 가진 닫힌 도형입니다.

좌표 정점의 수는 2차원 평면에 있는 점의 값입니다. 예를 들어 (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