使用Matlab实现图形透视与镂空

Matlab在采用缺省设置画三维mesh图形时,对叠压在后面的图形采取消隐方法。但有时却需要透视效果。为此,我们可以使用hidden off/on指令。

clear all;
close all;
clc;

[x,y,z] = sphere(30);
X = 2*x;
Y = 2*y;
Z = 2*z;

surf(x,y,z);
shading interp
hold on,mesh(X,Y,Z),colormap(hot),hold off
hidden off
axis equal,axis off
效果图:

使用Matlab实现图形透视与镂空_第1张图片

图形镂空主要利用"非数”NaN,对图形进行剪切处理。

clear all;
close all;
clc;

P= peaks(40);
P(15:20,9:15) =NaN;
surfc(P);colormap(summer)
light('position',[50,-10,5]),lighting flat
material([0.9,0.9,0.7,15,0.4])
效果图:

使用Matlab实现图形透视与镂空_第2张图片


关于Image Engineering & Computer Vision的更多讨论与交流,敬请关注本博客和新浪微博songzi_tea.


你可能感兴趣的:(matlab,图形透视,图形镂空)