Matlab不规则区域渐变色填充及注意事项
来源
机器人工作空间着色,实现形象的展示。
matlab实现方法
这里介绍两个实现着色的函数,patch, fill
。这两个函数具体使用方法查看帮助。 我使用的是patch。官方帮助文档上有一个示例如下
x = [2 5; 2 5; 8 8];
y = [4 0; 8 2; 4 0];
c = [0; 1];
figure
patch(x,y,c)
我这里主要关注渐变色填充,也就是上面的c
矩阵。他官方示例中只有几个点,看起来不明显,可以把要着色区域划分密集些。下面是我自己的例子。
Z = [transpose( Pos_2D{1,3} ); transpose( Z_fit );transpose( fliplr( Pos_2D{end,3} ) );];
X = [transpose( Pos_2D{1,2} ); transpose( X_fit ); transpose( fliplr( Pos_2D{end,2}) );];
C = transpose( linspace(0,1,length(Z)) ); % 设置着色矩阵
patch(Z,X,C);
patch(Z,-1*X,C);
实例中,由于我是对称图形,我先给区域一着色,然后对称给区域二着色。区域一着色顺序已经用手画的箭头表示出来了, 也就是上面代码中 矩阵X与Y的顺序。patch函数会自动把这个区域封闭起来,fill函数需要再输入的矩阵第一个坐标和最后一个坐标相同,即手动封闭区域。
patch函数中的坐标矩阵X,Y要求,它们是列矩阵, 而且这些坐标是可以按顺序连接起来,形成图形。如果做包顺序不对,行程的图形会很乱, 所以代码中使用几个函数把坐标矩阵处理成 列矩阵,可以顺序连接。否则可能变成畸形。
注意
在使用patch时,遇到下面这个图形的现象, 即颜色变化不怎么均匀,其实上面那一幅图也有这个现象,只是不明显罢了。解决了很久也没得到怎么样是一条弧线上颜色完全一样然后水平方向逐级变化。
目前解决办法:
把左右两侧弧线之间的过渡线条(下图红色着色)上的数据密度调大,得到下图样式,自己基本可以接受这样的渐变颜色。
Matlab不规则区域渐变色填充及注意事项相关推荐
- VB6.0中快速实现大面积不规则区域的填充
VB6.0中快速实现大面积不规则区域的填充 ------------------------------------------------------------------------------ ...
- matlab fill 渐变,Matlab的渐变色填充(一)
最近需要使用Matlab来制作一些图表,部分图表使用颜色填充.网络资源好像对渐变色填充这件事都讲得语焉不详,或是比较复杂.所以决定自己写一点简化版的操作,让后续使用Matlab不多的朋友可以比较容 ...
- Matlab的渐变色填充(一)
最近需要使用Matlab来制作一些图表,部分图表使用颜色填充.网络资源好像对渐变色填充这件事都讲得语焉不详,或是比较复杂.所以决定自己写一点简化版的操作,让后续使用Matlab不多的朋友可以比较容 ...
- Mathematica中用有限元方法解不规则区域上的波动方程
背景 通常数值解微分方程.微分方程组(常微分.偏微分方程),人们言必称"Matlab",COMSOL,实际上,微分方程求解有两大强手被人忽视:(1)符号求解独孤求败:Maple; ...
- LeetCode高频题:《逆水寒》在地图的制作中,美术在地图上刷一片连通区域,连通区域自动填充,请你判断给定几个点位置,他们是否属于被刷区域
LeetCode高频题:<逆水寒>在地图的制作中,美术在地图上刷一片连通区域,连通区域自动填充,请你判断给定几个点位置,他们是否属于被刷区域? 提示:本题是系列LeetCode的150道高 ...
- OSPF不规则区域知识点
OSPF的不规则区域: 区域划分要求: 区域间必须存在ABR 区域划分必须按照星型TOp接口 不规则区域: 远离骨干的非骨干区域 不连续骨干 使用VPN隧道使非法的ABR合法化: 在这个过程中,可以注 ...
- OSPF—不规则区域、LSA
OSPF的不规则区域 区域划分的要求: 1.区域之间必须存在ABR设备: 2.区域划分必须按照星型拓扑结构划分 不规则区域: 1.远离骨干的非骨干区域 2.不连续骨干 解决方法: 1.使用VPN隧道使 ...
- matlab - patch 画渐变色的曲线图
matlab - patch 画渐变色的曲线图 本篇博客主要时记录一下在 matlab 中利用 patch 函数画渐变色曲线时所遇到的问题,及处理方式! (patch函数主要是用来填充面的颜色,但将填 ...
- matlab二维图填充,【Matlab】二维图绘制及填色总结(basic)
编程渣的艰难探索之Matlab绘图 个人需求:用matlab绘制多条曲线并在指定不规则区域填色. 为什么一定要用Matlab呢?因为我觉得图形便于修改,看起来较为正规,代码量较少. 1 同时绘制多条曲 ...
最新文章
- 通过代理进行页面传值
- BOM--location对象、history对象
- Android Hal层简要分析
- Windows 下单机最大TCP连接数
- 周志华机器学习课后习题解析【第二章】
- 追一科技热招职位来袭:AI新世界,不做旁观者
- [CentOS Python系列] 六.阿里云搭建Django网站详解
- Spring3.2.4集成quartz2.2.1定时任务(demo).
- AcWing 201. 可见的点
- 混合列压缩(HCC)在OLAP及OLTP场景中的测试
- Linux中文件颜色所代表的属性和颜色
- ChaiNext:比特币打穿4.2万美元,市场多空胶着
- OpenSL ES录音流程(一)
- EEGLAB及其插件下载安装
- Android开发-仿网易云音乐播放器样式设计与实现
- 大数据查询怎么优化?
- word2016画函数曲线图
- 阿里巴巴2016前端开发工程师笔试一
- 创客集结号:国内无人机技术发展的难点有哪些?
- 机器学习之深度学习简介