已知半径,求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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP