여기에서는 주어진 반경의 n면 정다각형의 면적을 계산하는 방법을 살펴보겠습니다. 여기서 반경은 정점에서 중심까지의 거리입니다. 이 문제를 해결하기 위해 중앙에서 측면 중 하나로 수직선을 그립니다. 각 변의 길이를 'a'라고 가정합니다. 수직선은 측면을 두 부분으로 나누고, 각 부분의 길이는 a/2입니다. 수직선과 반지름이 각도 x를 형성합니다. 반지름의 길이가 h라고 가정합니다.
여기서 다각형이 N개의 동일한 삼각형으로 나누어져 있는 것을 볼 수 있습니다. 따라서 N개의 변을 가진 다각형의 경우 N개의 삼각형으로 분할됩니다. 따라서 중심의 각도는 360도이다. 이는 360°/N의 다양한 각도로 나뉩니다(여기서는 360°/6 = 60°). 따라서 각도 x는 180°/N입니다. 이제 삼각 방정식을 사용하여 h와 a를 쉽게 얻을 수 있습니다.
이제 전체 다각형의 면적은 N*A입니다.
#include <iostream> #include <cmath> using namespace std; float polygonArea(float r, int n){ return ((r * r * n) * sin((360 / n) * 3.1415 / 180)) / 2; //convert angle to rad then calculate } int main() { float rad = 9.0f; int sides = 6; cout << "Polygon Area: " << polygonArea(rad, sides); }
Polygon Area: 210.44
위 내용은 주어진 반경의 n면 정다각형의 면적은 얼마입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!