在C程序中刻在N边正多边形中的最大圆的面积?

刻在一个圆上的n边规则多边形,该圆的半径由公式给出,

r = a/(2*tan(180/n))

假设一个多边形有6个面(即一个六边形),并且我们在数学上知道该角度为30度

所以圆的半径将是(a /(2 * tan(30)))

因此,r =a√3/ 2

我们看到多边形可以分为N个相等的三角形。查看三角形中的一个,我们可以看到中心的整个角度可以分为= 360 / N

So, angle x = 180/n
Now, tan(x) = (a / 2) * r
So, r = a / ( 2 * tan(x))
So, Area of the Inscribed Circle is,
A = Πr2 = Π * (a / (2 * tan(x))) * (a / (2*tan(x)))

示例

#include <iostream>
using namespace std;
int main() {
   float area;
   float n = 6; float a = 4;
   float r = a / (2 * tan((180 / n) * 3.14159 / 180));
   area = (3.14) * (r) * (r);
   cout <<”area = ”<<area<< endl;
   return 0;
}

输出结果

area = 37.6801