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

조회 수: 16(최근 30일)
Reana Taylor
Reana Taylor 2021년 8월 5일
답변: darova 2021년 8월 8일
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];

답변(2개)

Image Analyst
Image Analyst 2021년 8월 5일
  댓글 수: 2
Image Analyst
Image Analyst 2021년 8월 6일
@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.

댓글을 달려면 로그인하십시오.


darova
darova 2021년 8월 8일
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