生成蜂窝结构的Matlab程序
生成蜂窝结构的Matlab程序
有时候需要用到蜂窝结构,matlab中的六边形生成方法:
pgon = nsidedpoly(6,\'Center\',[X Y],\'Radius\',15);
V = pgon.Vertices;% 获得六个顶点坐标
通过六边形生成蜂窝结构比较麻烦。
以下程序可以快速生成
rc=12;dy=2*rc;dx=rc*sqrt(3);
A = 1:7;
A=pi/3*A;%圆周6等分
num=0;
for yk=[0:dy:100,0:-dy:-100]
yfun=inline([\'sqrt(3)*x/3+\',num2str(yk)]);%内联函数
for xk=[0:dx:100,0:-dx:-100]
xp=xk;
yp=yfun(xp);
if -50<xp && xp<50 && -50<yp && yp<50
T = [xp+1i*yp]+rc*exp(1i*A)*2/sqrt(3);%复数形式
% Vertx = real(T)\'+50;
% Verty = imag(T)\'+50;
% V = [Vertx,Verty];%六个角点的坐标
num=num+1;
fprintf(\'第%d个六边形加粗\n\',num);
plot(T)
hold on;
plot(xp,yp)
end
end
end
其中V就是每个六边形的顶点坐标。想要获得所有顶点也比较容易。
通过上程序就可以快速重构蜂窝结构用于二维的数值模拟了。
请发表评论