MATLAB Answers

3D plot from 3D matrix

13 views (last 30 days)
I read through the forums to help answer my questions before submitting a question. Eventhough there were similar questions asked, I do not believe that my question was answered.
I have a 200x200x600 matrix that needs to be plotted. The matrix contains potential data in a grid cube, The plot is basically a 3D x,y,z grid that contains potential data at those each (x,y,z) point. My question is how would one.
Surf requires (X,Y,Z) co-ordinates and Patch does not seem to be fitting. Any help appreciated!

  4 Comments

Show 1 older comment
Hans123
Hans123 on 18 Jun 2020
Hi Adam, thank you for your reply - I am unable to understand what you are saying. The co-ordinates basically are the vertices of a cube and each vertex has an assigned potential value. This potential value is saved in the 3D matrix and I am trying to plot it to interept the results.
Adam Danz
Adam Danz on 18 Jun 2020
I see what you mean. So, if I understand correctly, you want to plot a solid object. How will you see beyond its surface? Since it's a rectangle, how will you see point (50,50,50) for example?
Here's a way to plot a 3D scatter plot but I don't think this is what you're looking for.
data = reshape(1:175, 5,5,7); % Fake data, 5x5x7
[X,Y,Z] = meshgrid(1:size(data,1), 1:size(data,2),1:size(data,3));
scatter3(X(:),Y(:),Z(:), 80, data(:),'filled')
Kelly Kearney
Kelly Kearney on 18 Jun 2020
The slice function may also be of interest

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 18 Jun 2020
volumeViewer()
slice()
isosurface()
Also, vol3d v2 from the File Exchange.

  0 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by