Plot Independent Planes in 3D Space

조회 수: 11 (최근 30일)
Chris Williams
Chris Williams 2014년 9월 7일
편집: Star Strider 2014년 9월 7일
I am trying to plot independent planes in 3D space using one set of coordinates. For example:
clear all;
X = [0 1
0 1];
Y = [0 0
1 1];
Z = [1 1
1 1];
X1 = [0 1
0 1];
Y1 = [0 0
1 1];
Z1 = [0 0
0 0];
surf(vertcat(X, X1), vertcat(Y, Y1), vertcat(Z, Z1),'FaceColor','blue','edgecolor','none');
However, rather than producing separate planes, this produces a Z shape. Where am I going wrong, please?
Note that it must be possible to combine the coordinates into a single set so I can later use surf2stl. Therefore, I cannot just plot one using surf and then use hold on.
Thanks.

답변 (1개)

Star Strider
Star Strider 2014년 9월 7일
편집: Star Strider 2014년 9월 7일
It seems vertcat is the problem. I plotted them separately here using hold (easier to write and debug if necessary), but you could combine them in one line if you want:
X = [0 1
0 1];
Y = [0 0
1 1];
Z = [1 1
1 1];
X1 = [0 1
0 1];
Y1 = [0 0
1 1];
Z1 = [0 0
0 0];
figure(1)
surf(X, Y, Z,'FaceColor','blue','edgecolor','none');
hold on
surf(X1, Y1, Z1,'FaceColor','red','edgecolor','none');
hold off
produces:
  댓글 수: 1
Star Strider
Star Strider 2014년 9월 7일
편집: Star Strider 2014년 9월 7일
The way I read the surf2stl documentation, it requires separate X, Y, and Z for each surface. A volume such as this would not be compatible with it.

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

카테고리

Help CenterFile Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by