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 && xp<rol && -cow<yp && yp<cow;
           plot([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 

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

效果展示

这里写图片描述

核心说明

单输入值控制颜色变换

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

hsv2rgb([double(num/colorsize)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值