目前基于Matlab绘制正多边形有多种方法。
1.自己编写相应的代码,根据边长,利用绘制圆的方式绘制正多边形(圆可以近似为无穷边的正多边形);
2.2017b版本后matlab官方提供了相应的绘制圆的自带函数nsidedpoly
%创建一个边长为 1,以 (0,0) 为中心的六边形。然后创建一个边长为 3,以 (5,0) 为中心的六边形。
pgon1 = nsidedpoly(6);
pgon2 = nsidedpoly(6,'Center',[5 0],'SideLength',3);
plot([pgon1 pgon2])
axis equal
绘制结果如下:
通过自己编写也可以实现正多边形绘制。
可以通过已知面积与正多边形边长关系,多边形边长与内接圆半径关系
L=sqrt(S/((n/4)*cot(pi/n))); %正多边形边长L,边数n,面积S
r=L/2*cot(pi/n); %内接圆半径
得到面积相等了不同多边形图像
设面积S=10,分别绘制三角形、四边形
绘制边长为3的三角形、五边形、六边形、八边形
附件为详细的代码,可以完成面积为定值,绘制相同面积的多边形;边长为定值,绘制相同边长的多边形。