用matlab画的三维图形一座山,想对某一高度以上的并且是在某个坐标范围内的表面染上不同的颜色
1个回答
展开全部
clear;clc;
[x,y,z]=peaks;
z=abs(z);%自己把数据改掉
figure('name','原始图')
surf(x,y,z);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure('name','染色图');
map=colormap;
userdefcolor=[.5 .5 .5]%假设你想染成这个颜色(50%灰),你可以自己改
c=round((z-min(z(:)))/(max(z(:))-min(z(:)))*(size(map,1)-1))+1;
c(z>3&x>-2&x<0&y>0&y<2)=size(map,1)+1;%假设高度大于3并且x∈[-2,0],y∈[0,2]的区域染色
map=[map;userdefcolor]
colormap(map);
surf(x,y,z,c,'CDataMapping','direct')
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询