在这里,我们将看到如何计算给定半径的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中文网其他相关文章!