一直觉得Matlab的logo很帅气,那么怎么把它画出来呢?这就需要Matlab的数据可视化功能,关键函数:surface, light和membrane。
surface有两种用法, SURFACE(X,Y,Z,C)与SURFACE(X,Y,Z),
L = 40*membrane(1,25);
logoFig = figure('Color',[0 0 0]);
logoax = axes('CameraPosition', [-193.4013 -265.1546 220.4819],'CameraTarget',[26 26 10],'CameraUpVector',[0 0 1],...
'CameraViewAngle',9.5, 'DataAspectRatio', [1 1 .9], 'Position',[0 0 1 1], 'Visible','off', 'XLim',[1 51], 'YLim',[1 51],...
'ZLim',[-13 40], 'parent',logoFig);
s = surface(L, ...
'EdgeColor','none', 'FaceColor',[0.9 0.2 0.2], 'FaceLighting','phong', ...
'AmbientStrength',0.3, 'DiffuseStrength',0.6, 'Clipping','off',...
'BackFaceLighting','lit', 'SpecularStrength',1.1, 'SpecularColorReflectance',1, ...
'SpecularExponent',7, 'Tag','TheMathWorksLogo', 'parent',logoax);
l1 = light('Position',[40 100 20], 'Style','local', ...
'Color',[0 0.8 0.8],'parent',logoax);
l2 = light('Position',[.5 -1 .4],'Color',[0.8 0.8 0],'parent',logoax
![这里写图片描述](https://img-blog.csdn.net/20160419115027328);
最终效果: