matlab 绘制正方体,指定中心位置enterLoc, 和正方体边长cedgeLen
centerLoc=[3,4,5];
edgeLen=1;
thisColor='r';
plot3Cube(centerLoc,edgeLen,thisColor);
axis equal
plot3Cube([6 3.5 3],0.5,thisColor);
plot3Cube([2 3 3],0.8,thisColor);
grid on
function plot3Cube(centerLoc,edgeLen,thisColor)
function plot3Cube(centerLoc,edgeLen,thisColor)
% format compact
% h(1) = axes('Position',[0.2 0.2 0.6 0.6]);
vert = [1 1 1; 1 2 1; 2 2 1; 2 1 1 ; ...
1 1 2; 1 2 2; 2 2 2; 2 1 2];
fac = [1 2 3 4; ...
2 6 7 3; ...
4 3 7 8; ...
1 5 8 4; ...
1 2 6 5; ...
5 6 7 8];
vert0=vert-1.5;
vert1=vert0*edgeLen; % 先放大
vert2=vert1+centerLoc; % 再平移
patch('Faces',fac,'Vertices',vert2,'FaceColor',thisColor);
% view(30,30);
view(3)
% view(45,30);
alpha(0.2);
% material shiny;
% alpha('color');
% alphamap('rampdown');
end