Plot a Cube centered at the origin
161 views (last 30 days)
Show older comments
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!
0 Comments
Answers (3)
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
Experiment to get the result you want.
1 Comment
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,
Thanks a lot for your answer
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.
0 Comments
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
0 Comments
See Also
Categories
Find more on 2-D and 3-D Plots 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!