不论是绘制地形图,还是温度、湿度、密度、曲率、坡度、粗糙度、相关系数等一系列特征图,都需要根据特征进行赋色,以得到细节信息丰富、好看且易读的可视化结果,从而更好地帮助我们分析、排查、解决问题。
然而,一个现实的问题是,我们的眼睛对色彩的区分度是很有限的,这就导致一些细小的变化往往难以被我们捕捉到:
而想要避免这一问题,一种简单的策略是为其添加光影效果:
也由此,我用Matlab制作了一个光影渲染器,名为Shadow。
那么,它都能做些什么呢?
1. 光影渲染器Shadow
光影渲染器Shadow的使用方法非常的简单。
比如我们用surf命令得到了一幅地形图:
想要为其添加光影效果,只需要输入命令:
Shadow([-60,45],'dull','phong')
即可得到一幅带光影效果的地形图:
命令中,“[-60,45]”表示光照角度。具体的,-60为方位角,指定为与负Y轴之间形成的角度,以度为单位;45为仰角,指定为视线与X-Y平面之间的最小角度,同样以度为单位。
“dull”表示光照对象为漫射光居多且没有镜面反射光的材质(默认),另外还有“shiny”和“metal”两种材质(具体效果见下图)。
“phong”表示光照算法(默认),另外还有“gouraud”和“flat”两种方法(具体效果见下图)。
除了三维对象,光影渲染器Shadow还可以对伪彩图、地图等2.5维对象进行渲染:
一句话,只要对象类型为“surface”,则光影渲染器Shadow便可以运行。
2. 配色神器TheColor
在进行光影渲染前,首先需要对待渲染对象使用colormap命令赋上渐变色。
然而,Matlab中自带的渐变色就那么几个,导致很多时候难以选择出一幅理想的渲染图。
TheColor是我在今年九月份推出的一款Matlab配色工具,里面集成了我耗费半年收集、整理的近万种经典配色,而其中就包括了近千种的渐变色:
如此,大家便可以随意选择、尝试: