matlab绘制栅格地图

学习了一下栅格地图在matlib中的表示方法,其实和很多都是差不多的。
参考
清除命令
% clc:清除命令窗口的内容,对工作环境中的全部变量无任何影响
% close all:关闭所有的Figure窗口
% clear all:清除工作空间的所有变量,函数,和MEX文件

clc
clear
close all
%% 构建颜色MAP图
cmap = [1 1 1; ...       % 1-白色-空地
    0 0 0; ...           % 2-黑色-静态障碍
    1 0 0; ...           % 3-红色-动态障碍
    1 1 0;...            % 4-黄色-起始点 
    1 0 1;...            % 5-品红-目标点
    0 1 0; ...           % 6-绿色-到目标点的规划路径   
    0 1 1];              % 7-青色-动态规划的路径

在这里插入图片描述

% 构建颜色MAP图
colormap(cmap);

color map函数:
将上面的分类创建成颜色,对于矩阵cmap来说,矩阵是通过从1开始的序列进行编号的:
cmap(1,2)表示第一行第二列。colormap将cmap存成了7种颜色。每一个颜色对应一个数值

%% 构建栅格地图场景
% 栅格界面大小:行数和列数
rows = 10;
cols = 10; 

% 定义栅格地图全域,并初始化空白区域
field = ones(rows, cols);

这个什么好说的,就是field是一个10*10的矩阵

% 障碍物区域
obsRate = 0.3;
obsNum = floor(rows*cols*obsRate);
obsIndex = randi([1,rows*cols],obsNum,1);
field(obsIndex) = 2;

这里稍微多一些,obsRate是障碍物比例,用floor来表示出:30?
obsIndex用randi表示,randi随机取1到100的30行1列的矩阵
filed是一个10*10的矩阵
filed(obsIndex)表示???

% 起始点和目标点
startPos = 2;
goalPos = rows*cols-2;
field(startPos) = 4;
field(goalPos) = 5;

%% 画栅格图
image(1.5,1.5,field);
#0.5也可以

grid on;
#打开grid

set(gca,‘gridline’,‘-’,‘gridcolor’,‘k’,‘linewidth’,2,‘GridAlpha’,0.5);
set(gca,‘xtick’,1:cols+1,‘ytick’,1:rows+1);
% set(gca)函数用处表示很大了,第一行调整了线框,第二行重新定义xy轴的刻度
% set(gca,’xtick’,[],’ytick’,[]) %同时去掉x轴和y轴的刻度
有他们:
在这里插入图片描述
没有他们:
在这里插入图片描述
感觉没有太多的区别

axis image;

总体代码如下:

% clc:清除命令窗口的内容,对工作环境中的全部变量无任何影响
% close:关闭当前的Figure窗口
% close all:关闭所有的Figure窗口
% clear:清除工作空间的所有变量
% clear all:清除工作空间的所有变量,函数,和MEX文件

clc
clear
close all

cmap = [1 1 1;
        0 0 0;
        1 0 0;
        1 1 0;
        1 0 1;
        0 1 0;
        0 1 1];

% 构建颜色MAP图
colormap(cmap);


%% 构建栅格地图场景
% 栅格界面大小:行数和列数
rows = 10;
cols = 10; 

% 定义栅格地图全域,并初始化空白区域
field = ones(rows, cols);

% 障碍物区域
obsRate = 0.3;
obsNum = floor(rows*cols*obsRate);
obsIndex = randi([1,rows*cols],obsNum,1);
field(obsIndex) = 2;

% 起始点和目标点
startPos = 2;
goalPos = rows*cols-2;
field(startPos) = 4;
field(goalPos) = 5;

%% 画栅格图
image(1.5,1.5,field);
grid on;
set(gca,'gridline','-','gridcolor','k','linewidth',2,'GridAlpha',0.5);
set(gca,'xtick',1:cols+1,'ytick',1:rows+1);
axis image;

注意,脚本名称不要是grid.m,会报错的grid on;

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白云千载尽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值