C++ 中 n 边正多边形的边心距
server side programmingprogramming
n 边正多边形是 n 条边的封闭图形,其所有边和角的长度相等。下图显示了一个 6 条边的正多边形,通常称为六边形。
边心距是多边形中连接图形中心和边的一条线。并且它垂直于使其长度最小的一条边。
现在,让我们来计算它的长度。
n 边多边形的边所成的角度是 360/n。
现在,如图所示,角度等于 (360 / n )/2 = 180 /n
现在取三角形,我们可以得出结论
tan ø = b/2 / h = b/2h 2h * tan ø = b h = b/2*tanø , ø = 180 /n h = b/2*tan(180/n)
让我们将其实现为一个程序,当给定多边形的边数和每边的长度时,找出边心距的长度。
公式
Given n = number of side , b = length of each side. h = length of apothem, h = b/2 * tan(180/n)
示例
#include<iostream> #include <math.h> using namespace std; void apothemLength(int n, float a){ if (a < 0 && n < 0) cout<<"invalid values"; else cout<<"the length of apothem = "<< (a/(2*tan((180/n)*3.14159/180))); } int main(){ float a = 12; int n = 9; apothemLength(n, a); return 0; }
输出
the length of apothem = 16.4849