MATLAB使用surflm绘制表面浮雕阴影地形图

2025-04-06 04:53:38

1、第一,启动MATLAB,新建脚本(Ctrl+N),输入如下代码:close all; clear all; 艘早祓胂clcfigure('Position',[50 50 600 500],'Name','Korea')ax=worldmap('korea');latlim=getm(ax,'MapLatLimit');lonlim=getm(ax,'MapLonLimit');coastline=shaperead('landareas',...'UseGeoCoords',true,...'BoundingBox',[lonlim' latlim'])geoshow(ax,coastline,'FaceColor','none')以上脚本使用worldmap选择地图区域(korea,朝鲜半岛)和地图边界。

MATLAB使用surflm绘制表面浮雕阴影地形图

2、第二,保存和运行上述脚本,得到如下图形:朝鲜半岛的地图廓线。

MATLAB使用surflm绘制表面浮雕阴影地形图

3、第三,使用load加载地形数据,使用meshgrat转化为网格数据,使用surflm绘制表面浮雕阴影地形图,使用colormap选择地吾疣璨普形图颜色为铜色(copper)。接着添加如下代码:load korea;[klat,klon]=meshgrat(map,refvec);ht=surflm(klat,klon,map);colormap('copper')

MATLAB使用surflm绘制表面浮雕阴影地形图

4、第四,保存和运行上述脚本,得到如下铜色的朝鲜半岛的表面浮雕阴影地形图。

MATLAB使用surflm绘制表面浮雕阴影地形图

5、第五,添加代码clmo(ht);ht=surflm(klat,klon,map,[135,60]),从而改变方位角azimuth为135度和仰角elevation为60度。

MATLAB使用surflm绘制表面浮雕阴影地形图

6、第六,保存和运行上述添加后的脚本,得到如下朝鲜半岛(Korea peninsula)的表面浮雕阴影地形图,光照的方位角和仰角做了相应改变。

MATLAB使用surflm绘制表面浮雕阴影地形图

7、第七,改变最后一行代码为:clmo(ht);ht=surflm(klat,klon,map巳呀屋饔,[135,60],...[0.65,0.4,0.3 10])从而增加环境光(ambient l足毂忍珩ight)、漫反射(diffuse reflection)和镜面反射(specular reflection)。

MATLAB使用surflm绘制表面浮雕阴影地形图

8、第八,保存和运行上述脚本,得到最终的朝鲜半岛的表面浮雕阴影地形图如下。

MATLAB使用surflm绘制表面浮雕阴影地形图
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢