2012-12-11 114 views
2

我有一个矩阵M, 135*191*121 double,并希望使用这些121个切片在3D体积中绘制它。我怎样才能做到这一点? (我需要一个灰度图像)MATLAB 3D体积可视化

每一个你需要绘制点的问候

回答

4

退房vol3d v2 3D绘图,它的更新,乔孔蒂的vol3d功能,让体素的颜色和阿尔法值进行明确定义。在的情况下的体素可以是任何RGB颜色,使用:

vol3d('CData', cdata); 

其中CDATA是MxNxPx3阵列,沿着第四维RGB颜色。在颜色和alpha值高度独立的情况下,请指定MxNxP alphamatte,如下所示:

vol3d('CData', cdata, 'Alpha', alpha); 
+0

感谢有用的tipp @natan!我想知道如何正确地标记轴?在调用'xlabel | ylabel | zlabel'后,'轴'上不会显示所需的文本,特别是在旋转音量之后。任何线索? – Tin

+0

您是否尝试通过电子邮件发送Oliver Woodford?他是vol3d v2的作者... – bla

0

,如果你有3个阵列,存储(X,Y,Z)坐标,那么你可以使用函数plot3
从MATLAB帮助

PLOT3绘制三维空间中的线条和点。 PLOT3()是PLOT()的三维模拟。

PLOT3(x,y,z), where x, y and z are three vectors of the same length, 
plots a line in 3-space through the points whose coordinates are the 
elements of x, y and z. 

PLOT3(X,Y,Z), where X, Y and Z are three matrices of the same size, 
plots several lines obtained from the columns of X, Y and Z. 

Various line types, plot symbols and colors may be obtained with 
PLOT3(X,Y,Z,s) where s is a 1, 2 or 3 character string made from 
the characters listed under the PLOT command. 

PLOT3(x1,y1,z1,s1,x2,y2,z2,s2,x3,y3,z3,s3,...) combines the plots 
defined by the (x,y,z,s) fourtuples, where the x's, y's and z's are 
vectors or matrices and the s's are strings. 

Example: A helix: 

    t = 0:pi/50:10*pi; 
    plot3(sin(t),cos(t),t); 

PLOT3 returns a column vector of handles to lineseries objects, one 
handle per line. The X,Y,Z triples, or X,Y,Z,S quads, can be 
followed by parameter/value pairs to specify additional 
properties of the lines.  

为您可能还需要寻找到冲浪功能

+0

我无法找到正确的snytax来形象化我的'M'。无论我尝试了什么,它都给了我警告。你能告诉我我该用什么? – Xentius

+0

你试过plot3吗? – user13267