MATLAB作出的三维图形具有默认的视角,通常可以通过使用相机工具栏控制视图(详情参阅MATLAB帮助)。对相机最直观的定标是由棋盘格完成。这里使用fill3函数绘制棋盘格:
function [] = chessborad(d,h,n,m)
% d 控制棋盘格的分布
% n,m 分别控制棋盘格的长宽
hold on
z = [h h h h h]; % 棋盘格在坐标系中的高度位置
for i = -n:d:n
for j = -m:d:m
x = [i-d/2 i+d/2 i+d/2 i-d/2 i-d/2];
y = [j-d/2 j-d/2 j+d/2 j+d/2 j-d/2];
if mod(i+j,2)==0
c = [0 0 0];
else
c = [1 1 1];
end
s = fill3(x,y,z,c,'Edgecolor','none');
alpha(s,.3);
hold on
end
end
axis equal off
% camera settings 查看棋盘格对相机的响应
campos([0 -11 15])
camtarget([0 -1 0.5])
camlight(0,70)
camzoom(1.5)
camproj('perspective')
end
命令行窗口中输入
chessborad(1,0,20,20);
可得