C ++
 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

  1. C++で指定された辺の長さを持つn辺の正多角形の面積

    与えられた辺を持つn辺の正多角形の面積を見つけるためのこの問題では、図の面積の式を導き出し、それに基づいてプログラムを作成します。ただし、その前に、トピックを簡単に理解できるように基本を改訂しましょう。 N面の正多角形 は、すべての辺が等しいn辺の多角形です。たとえば、正五角形、正六角形など。 エリア は、任意の2次元図形の範囲を定量的に表したものです。 この図の面積を見つけるには、図内の個々の三角形の面積を見つけて、それが持つ辺の数を掛ける必要があります。 n面が与えられているので。 これで、上の図から、面積の数式を作成できます。 正多角形の各辺は、辺a(多角形の辺)と角度

  2. C++で指定された辺を持つ三角形の外接円の面積

    ここでは、辺が指定されている三角形の外接円の面積を取得する方法を説明します。ここで、辺ABはa、BCはb、CAはc、半径は「r」です。 半径rは-と同じです 例 #include <iostream> #include <cmath> using namespace std; float area(float a, float b, float c) {    if (a < 0 || b < 0 || c < 0) //if values are is negative it is invalid   &n