已知半径,求n边正多边形的面积?
我们将学习如何计算已知半径的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
广告