Matlab是一个很常用的理工科数学软件,我们平常会用它来画一些平面函数或者简单的曲线或者简单的3D平面图,但是通常很少用到它的稍微高级一点的画图功能。这里介绍一些高级渲染功能和画图技巧,先看结果。
写论文中可能会经常遇到这样的事情,想画一些高级点的漂亮的图不知道怎么画。当然我们通常可能会用solidworks, 3dsmax等等软件画这种3D的图,但是Matlab的好处是可以比较容易生成函数控制的复杂3D曲面形状,就比如上面的鸡蛋盒子一样的晶格图形,看似简单,用其他的软件还真的不太容易画。还有比如像下面这样的波浪图。想要画出这样的图,除了通常的一些画图命令外,还需要掌握一些小的tips,下面来逐一介绍。
1、 光照设置
以第二个图为例,它的Matlab代码如下
x=-6*pi:pi/100:6*pi;
y=x;
[X,Y]=meshgrid(x,y);
Z=5*(exp(-(X.^2+Y.^2)/100)+exp(-(X.^2+Y.^2)/4)).*cos(sqrt(X.^2+Y.^2));
figure;surf(X,Y,Z);shading flat;