三维块建模和着色
1.创建块对象的顶点坐标法
【 * 例 1 】顶点坐标法创建三维长方块。
clf reset,k=8; %k 的取值不影响着色
X=[0 1 1 0;1 1 1 1;1 0 0 1;0 0 0 0;0 1 1 0;0 1 1 0]';
Y=5*[0 0 0 0;0 1 1 0;1 1 1 1;1 0 0 1;0 0 1 1;0 0 1 1]';
Z=[0 0 1 1;0 0 1 1;0 0 1 1;0 0 1 1;0 0 0 0;1 1 1 1]';
FC=k:(k+size(Z,2)-1);
patch(X,Y,Z,FC),set(gca,'Projection','pers') % 使轴采用透视投影
view([-20 -12]),colormap(jet),axis equal
图1 长方块的透视三维图
2.创建块对象的“顶/面”法
【 * 例 2】“顶 / 面”法创建块对象。
clf reset
VM=[0 0 0;1 0 0;1 1 0;0 1 0;0 0 1;1 0 1;1 1 1;0 1 1;1/2 1/2 1+sqrt(2)/2];
FM=[1 2 6 5;2 3 7 6;3 4 8 7;4 1 5 8;5 6 9 nan;6 7 9 nan;7 8 9 nan];
%<3>
VC=jet(9);FC='interp'; % 确定面的着色方式
patch('Vertices',VM,'Faces',FM,'FaceVertexCData',VC,'FaceColor',FC)
set(gca,'Visible', 'off','DataAspectRatio',[1 1 1]) %<6>
view([-127 62])
图2 插补着色“顶 / 面”法创建的块