How to 3D plot eight 4x4 matrices to form a cuboid?

2 vues (au cours des 30 derniers jours)
Reana Taylor
Reana Taylor le 5 Août 2021
Réponse apportée : darova le 8 Août 2021
I have to create a cuboid at the x,y,z origin. This cuboid will undergo transformation (another 4x4 matrix of rotation and translation). I have done this so far, but cannot figure out how to plot the 8 matrices and form a cuboid from it.
x=input('enter width (x direction)= ');
y=input('enter height (y direction)= ');
z=input('enter depth (z direction)= ');
vertex1= [0 0 0 0; 0 0 0 0; 0 0 0 0; 0 0 0 1];
vertex2= [0 0 0 x; 0 0 0 0; 0 0 0 0; 0 0 0 1];
vertex3= [0 0 0 x; 0 0 0 y; 0 0 0 0; 0 0 0 1];
vertex4= [0 0 0 0; 0 0 0 y; 0 0 0 0; 0 0 0 1];
vertex11= [0 0 0 0; 0 0 0 0; 0 0 0 z; 0 0 0 1];
vertex22= [0 0 0 x; 0 0 0 0; 0 0 0 z; 0 0 0 1];
vertex33= [0 0 0 x; 0 0 0 y; 0 0 0 z; 0 0 0 1];
vertex44= [0 0 0 0; 0 0 0 y; 0 0 0 z; 0 0 0 1];

Réponses (2)

Image Analyst
Image Analyst le 5 Août 2021
  2 commentaires
Reana Taylor
Reana Taylor le 6 Août 2021
I saw this, but it wasnt very helpful as I didn't understand the code. Also, that code is for automatic rotation of the cube whereas mine would be a manual one which will undergo both translation and rotation. Do you know how to plot the 8 vertex matrices so as to form a cube/cuboid?
Image Analyst
Image Analyst le 6 Août 2021
@Reana Taylor, I've never done it before so I'd have to figure it out just as you'll have to. But good luck with it.

Connectez-vous pour commenter.


darova
darova le 8 Août 2021
What about cylinder?
r = sqrt(2);
t = linspace(0,2*pi,5)+pi/4;
z = [0 0 1 1];
[T,Z] = ndgrid(t,z);
[X,Y] = pol2cart(T,r);
X(:,[1 end]) = 0;
Y(:,[1 end]) = 0;
surf(X,Y,Z,'facecolor','g','edgecolor','none')
axis equal
light

Community Treasure Hunt

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

Start Hunting!

Translated by