# Plot a Cube centered at the origin

772 views (last 30 days)
Robert Falk on 23 Feb 2019
Hi,
I am trying to plot a cube with side lengths a, b and c centered at the origin but am having trouble to make it work. I have tried to make several 2D plots and plot them together but it doesn't really work. I hope someone here will be able to help me.
Thank You!

Star Strider on 23 Feb 2019
This should get you started:
a = -pi : pi/2 : pi; % Define Corners
ph = pi/4; % Define Angular Orientation (‘Phase’)
x = [cos(a+ph); cos(a+ph)]/cos(ph);
y = [sin(a+ph); sin(a+ph)]/sin(ph);
z = [-ones(size(a)); ones(size(a))];
figure
surf(x, y, z, 'FaceColor','g') % Plot Cube
hold on
patch(x', y', z', 'r') % Make Cube Appear Solid
hold off
axis([ -1 1 -1 1 -1 1]*1.5)
grid on
This plots the basic cube. UIse the rotate (link) function to change its orientation.
Experiment to get the result you want.
EMMANUEL VIRATEL on 29 Mar 2020
Hello startrider
I'm emmanuel, a student of Toulouse (FRANCE) Pleased can you send me a script that draw the same cube as you, but that use a plot function from MATLAB not surf fonction
i will explain you later why,
Good luck with the coronavirus
Emmanuel

alejandro perez on 2 Feb 2020
In the description of this video is the code of a cube which rotates, moves and grows up.

melvin mariadass on 29 Jul 2020
Below is a solution to plot a cube using x,y,z coordinate using plot3d. Credit goes to Aggregate packing generator
b = 50; %inner square of the hollow beam for casting
l = 100;
x = [0 b b 0 ] %0 10 10 breadth-10 breadth-10 10];
y = [0 l];
z = [0 0 b b ] %0 10 10 breadth-10 breadth-10 10];
m = length(x);
xr=[x x(1)];
yr1=y(1)*ones(m+1,1);
zr=[z z(1)];
plot3(xr,yr1,zr,'k');
hold on
yr2=y(2)*ones(m+1,1);
plot3(xr,yr2,zr,'k');
hold on
for i=1:1:m
plot3([x(i) x(i)],y,[z(i) z(i)],'k');
end
hold on

### Categories

Find more on Graphics Performance in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by