How to graphically represent 3D array

6 views (last 30 days)
Dejan Nikolic
Dejan Nikolic on 6 Dec 2014
Answered: Amit on 9 Dec 2014
Hi,
I have the following problem:
3d array is generated and consists of 0s and 1s. I need to draw a line (in 3D) which connects all elements which value is 1.
I have tried with plot3 and scatter3 functions, but I haven't achieve any success. The only thing I get is empty space.
I have using following commands:
plot3(Xcoordinate,Ycoordinate,Zcoordinate,'r','linewidth',2)
Or
scatter3(Xcoordinate,Ycoordinate,Zcoordinate,'r','linewidth',2)
X, Y, Zcoordinate are vectors reprsenting axes of a 3d array.
Thank you for your time,
Dejan

Accepted Answer

Amit
Amit on 9 Dec 2014
Lets say you have a 3D matrix with m x n x k size.
Then:
[X,Y,Z] = meshgrid(1:m,1:n,1:k);
plot3(X(A == 1),Y(A == 1),Z(A == 1),'r','linewidth',2))
This will do it !

More Answers (0)

Community Treasure Hunt

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

Start Hunting!