Matlab绘制六边形蜂窝网络并编号

Matlab绘制六边形蜂窝网络并编号

目录

  • Matlab绘制六边形蜂窝网络并编号
      • 目录
      • 代码块
      • 效果展示
    • 核心说明
      • 单输入值控制颜色变换

代码块

clear;clc
rc=4;dy=2*rc;dx=rc*sqrt(3);
A=pi/3*[1:7];
rol=50;
cow=50;
colorsize=216;
        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 -rol[xp+1i*yp]+rc*exp(1i*A)*2/sqrt(3),'k','linewidth',2);
            hold on;
            a=real([xp+1i*yp]+rc*exp(1i*A)*2/sqrt(3));
            b=imag([xp+1i*yp]+rc*exp(1i*A)*2/sqrt(3));
            fill(a(1:6),b(1:6),hsv2rgb([double(num/colorsize) 1 1]));

            text(xp,yp,num2str(num))

            num=num+1;

        end
    end
end
axis square 

要说明的是,这段代码也用了些网络资源,但是一些核心的地方还是挺有意思的。

效果展示

Matlab绘制六边形蜂窝网络并编号_第1张图片

核心说明

单输入值控制颜色变换

这里使用了HSV颜色表达方式吗,区别于RGB方式。

hsv2rgb([double(num/colorsize)

你可能感兴趣的:(Matlab绘制六边形蜂窝网络并编号)