- 彩色图像
这个用surf直接画或者images都可以
surf(x1,y1,Dem);%%x1,y1只是长度为size(Dem,2)和size(Dem,1)的行向量
colormap(hot);
shading interp;
view(2);
或者直接
imagesc(Dem);
- 等高线法
[C,h] = contour3(x1,y1,Dem,'k');%%‘k’表示颜色为黑色
h.ShowText = 'on';%%显示等高线上的标识
h.TextStep = 100;%%等高线上等高线标识的等高距
h.LineColor = [0.5,0.5,0.5];%%等高线的颜色
view(2);
3. 分层设色
个人感觉就是等高线加彩色图像实现的,不知道对不对,望大神指正。
surf(x1,y1,Dem,'FaceLighting','gouraud');
colormap(hot);
shading interp;
hold on;
[C,h] = contour3(x1,y1,Dem,'k');
h.LevelStep = 20;
h.ShowText = 'on';
h.TextStep = 100;
h.LineColor = [0.5,0.5,0.5];
view(2);
hold off;
- 地貌晕渲
地貌晕渲法,查了一下资料是应用光影原理实现的明暗色调,于是在图中加入了光照,但效果一般,供各位参考。
h = surf(x1,y1,Dem,'FaceLighting','gouraud');%要设置属性'FaceLighting'
%%学过计算机图形学的同学一定不陌生这三种光源(不像本垃圾已经忘得差不多了)
h.AmbientStrength = 0.3;%%环境光的反射强度
h.DiffuseStrength = 0.8;%%散射光的反射强度
h.SpecularStrength = 0.9;%%镜面反射光的反射强度
h.SpecularExponent = 25;%%镜面反射光的大小
colormap(hot);
shading interp;
%%尝试期添加了两个光照
lightangle(90,70);
lightangle(180,70);
view(2);
|
请发表评论