matlab三维图剪切掉其中一部分,如何操作?

2025-01-02 23:47:55
推荐回答(4个)
回答1:

利用“非数” NaN ,对图形进行剪切处理。
clf;
t=linspace(0,2*pi,100); r=1-exp(-t/2).*cos(4*t); % 旋转母线
[X,Y,Z]=cylinder(r,60); % 产生旋转柱面数据
ii=find(X<0&Y<0); % 确定 x-y 平面第四象限上的数据下标
Z(ii)=NaN; % 剪切
surf(X,Y,Z);colormap(spring),shading interp
light('position',[-3,-1,3],'style','local') % 设置光源
material([0.5,0.4,0.3,10,0.3]) % 设置表面反射

利用“非数” NaN ,对图形进行镂空处理。
P=peaks(30);P(18:20,9:15)=NaN; % 镂空
surfc(P);colormap(summer)
light('position',[50,-10,5]),lighting flat
material([0.9,0.9,0.6,15,0.4])
http://www.iforchina.com/show.aspx?id=4468&cid=170

我都忘了,这个网站肯定可以

回答2:

利用“非数” NaN ,对图形进行剪切处理。
clf;
t=linspace(0,2*pi,100); r=1-exp(-t/2).*cos(4*t); % 旋转母线
[X,Y,Z]=cylinder(r,60); % 产生旋转柱面数据
ii=find(X<0&Y<0); % 确定 x-y 平面第四象限上的数据下标
Z(ii)=NaN; % 剪切
surf(X,Y,Z);colormap(spring),shading interp
light('position',[-3,-1,3],'style','local') % 设置光源
material([0.5,0.4,0.3,10,0.3]) % 设置表面反射

利用“非数” NaN ,对图形进行镂空处理。
P=peaks(30);P(18:20,9:15)=NaN; % 镂空
surfc(P);colormap(summer)
light('position',[50,-10,5]),lighting flat
material([0.9,0.9,0.6,15,0.4])

回答3:

利用“非数”
NaN
,对图形进行剪切处理。
clf;
t=linspace(0,2*pi,100);
r=1-exp(-t/2).*cos(4*t);
%
旋转母线
[X,Y,Z]=cylinder(r,60);
%
产生旋转柱面数据
ii=find(X<0&Y<0);
%
确定
x-y
平面第四象限上的数据下标
Z(ii)=NaN;
%
剪切
surf(X,Y,Z);colormap(spring),shading
interp
light('position',[-3,-1,3],'style','local')
%
设置光源
material([0.5,0.4,0.3,10,0.3])
%
设置表面反射
利用“非数”
NaN
,对图形进行镂空处理。
P=peaks(30);P(18:20,9:15)=NaN;
%
镂空
surfc(P);colormap(summer)
light('position',[50,-10,5]),lighting
flat
material([0.9,0.9,0.6,15,0.4])
http://www.iforchina.com/show.aspx?id=4468&cid=170
我都忘了,这个网站肯定可以

回答4:

我还没有学的那么深
但是似乎可以 一开始设定图形的显示区域 所以我想可以 一开始修改定义域到你需要的区域上