Effacer les filtres
Effacer les filtres

Plot Independent Planes in 3D Space

19 vues (au cours des 30 derniers jours)
Chris Williams
Chris Williams le 7 Sep 2014
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.

Réponses (1)

Star Strider
Star Strider le 7 Sep 2014
Modifié(e) : Star Strider le 7 Sep 2014
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 commentaire
Star Strider
Star Strider le 7 Sep 2014
Modifié(e) : Star Strider le 7 Sep 2014
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.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by