为了创建漂亮的照明和阴影,您需要在情节中添加灯光,并添加某种面部照明。如果分辨率太低,那么您最终会得到一个有些参差不齐的图,因为“interp”风格的阴影使用线性插值。例如
n = 51;
x=linspace(-5., 5., n);
y=linspace(-5., 5., n);
[x, y]=meshgrid(x, y);
sinc = @(x) sin(x)./x;
z=sinc(x.*y);
z(isnan(z)) = 1;
surf(x, y, z, 'LineStyle', 'none', 'FaceColor', 'interp')
colormap(cool)
camlight right
set(gca, 'CameraPosition', [45 35 9.8])
产生以下
请注意,表面看起来的平滑程度与 相关n
。较大的值n
将增加曲面的平滑度。
如果您生成的数据创建成本很高,您可以使用比线性更高级的插值形式来提高分辨率,如下所示
n = 51;
x=linspace(-5., 5., n);
y=linspace(-5., 5., n);
[x, y]=meshgrid(x, y);
sinc = @(x) sin(x)./x;
z=sinc(x.*y);
z(isnan(z)) = 1;
nn = 401;
xi = linspace(-5.0, 5.0, nn);
yi = xi;
[xi, yi] = meshgrid(xi, yi);
zi = interp2(x, y, z, xi, yi, 'spline');
surf(xi, yi, zi, 'LineStyle', 'none', 'FaceColor', 'interp')
colormap(cool)
camlight right
set(gca, 'CameraPosition', [45 35 9.8])
产生以下图像
有关详细信息,请参阅以下帮助页面