三维块建模和着色
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 插补着色“顶 / 面”法创建的块