在这里,我们将看到如何计算给定半径的n边正多边形的面积。这里的半径是从任意顶点到中心的距离。为了解决这个问题,我们从中心向一条边画了一条垂线。假设每条边的长度为'a'。垂线将边分成两部分,每部分的长度为a/2。垂线和一个半径形成一个角度x。假设半径的长度为h。
在这里,我们可以看到多边形被分成N个相等的三角形。因此,对于任何具有N条边的多边形,将被分成N个三角形。因此,中心的角度为360度。这被分成360°/N个不同的角度(这里360°/6 = 60°)。因此,角度x为180°/N。现在我们可以使用三角方程轻松地得到h和a。
现在整个多边形的面积为N*A。
示例
#include
#include
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