# How do I plot a 3D cube in a 3D array?

50 views (last 30 days)
Lieke Pullen on 13 Jan 2022
Commented: Cris LaPierre on 15 Jan 2022
Hi all,
I was wondering how I can plot a 3D-shape of a cube. I have tried https://in.mathworks.com/matlabcentral/fileexchange/15161-plotcube but this give me a 2D-array, and I cannot seem to get a 3D-array out of it. I have the following code:
array_width=101;%must be odd
outer_cube=create_cube(array_width);
figure; cube=isosurface(outer_cube,0);
patch(cube,'FaceColor',[0 0 .7],'EdgeColor',[0 0 1]);
view(45,45); axis equal; title('Simulation of solid cube');
function cube=create_cube(array_width)
a=(array_width-1)/2;
a=linspace(-a,a,array_width);
[X,Y,Z]=meshgrid(a);
cube=(X.*Y.*Z);
end
But, this give me the following figure:
Can somebody help me out please? Thanks!

Cris LaPierre on 13 Jan 2022
Cris LaPierre on 15 Jan 2022
Here's another approach
array_width=101;%must be odd
[X,Y,Z,outer_cube]=create_cube(array_width);
figure
k=boundary([X(:),Y(:),Z(:)]);
trisurf(k,X(:),Y(:),Z(:),outer_cube,'EdgeColor','none')
function [X,Y,Z,cube]=create_cube(array_width)
a=(array_width-1)/2;
a=linspace(-a,a,array_width);
[X,Y,Z]=meshgrid(a);
cube=(X.*Y.*Z);
end

R2020a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!