MATLAB
meshm
material
第一,启动MATLAB,新建脚本(Ctrl+N),输入如下代码:close all; clear all; clcload topoaxesm('mapprojection','ortho','origin',[10,-20,0])axis offset(gcf,'Renderer','zbuffer')meshm(topo,topolegend)demcmap(topo)该脚本首先通过load加载地形数据,再次通过axesm设置地图投影方式为正交(ortho),然后通过meshm,demcmap分别绘制地形图和设置地图填色。
第二,保存和运行上述脚本,得到如下地形图。
第三,利用lightm( )函数命令在纽约市(40.75N,73.9W)上空250千米处增加局地黄色光照。添加如下代码:lightm(40.75,-73.9,500/earthRadius('km'),... 'color','yellow','style','local')其中lightm( )中的前三个参数分别代表纬度,经度和高度。
第四,保存和运行上述增加后的脚本,得到如下地形图,纽约市(New York City)上空被黄光照亮。
第五,由于第四步中的地形图较暗,下面使用material( )函数命令增加亮度。接着添加如下脚本:material([0.7270,1.0,1.0,4.0000,0.9925])lighting Gouraud;hidem(gca)
第六,保存和运行上述改进后的脚本,得到如下地形图,亮度大幅增加。
MATLAB帮助文档关于本经验的介绍:命令行窗口输入doc map-->Map Display-->3D Map Display-->Shading and Lighting
Lighting a Global Terrain Map with lightm and lightmui