Plot a Cube centered at the origin

772 views (last 30 days)
Robert Falk
Robert Falk on 23 Feb 2019
Answered: melvin mariadass on 29 Jul 2020
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!

Answers (3)

Star Strider
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))];
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
Plot a Cube centered at the origin - 2019 02 23.png
This plots the basic cube. UIse the rotate (link) function to change its orientation.
Experiment to get the result you want.
  1 Comment
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,
Thanks a lot for your answer
Good luck with the coronavirus

Sign in to comment.

alejandro perez
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
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)];
zr=[z z(1)];
hold on
hold on
for i=1:1:m
plot3([x(i) x(i)],y,[z(i) z(i)],'k');
hold on


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