lana2000 发表于 2006-4-9 21:11

[求助]x,y,z定义了体块v的坐标系,如何显示??

如题!!求助!!感谢!!<br>另外,请问是否有直接在柱坐标下显示三维体素图像的函数阿???<br><IMG src="http://202.118.250.107/vibbbs/Skins/Default/emot/em06.gif">急切期待!!
[此贴子已经被作者于2006-4-10 12:41:44编辑过]

lana2000 发表于 2006-4-10 08:56

<P>敬请各位前辈帮忙!!!</P>

lana2000 发表于 2006-4-10 12:27

<P>拜托!!!很急!!很多三维显示的函数都是只有x,y,z三个参量,没有第四个v,<br>但是体素显示应该有现成的函数吧??无头绪阿,都不知道该查哪个相关的函数!!<br>请前辈们提示一下!!</P>
[此贴子已经被作者于2006-4-10 12:32:03编辑过]

aspen 发表于 2006-4-10 14:49

回复:(lana2000)[求助]x,y,z定义了体块v的坐标系,...

能否说说你想怎没表示出来?<BR><BR>第四维用颜色?类似于contourslice画的流场切片图?

lana2000 发表于 2006-4-10 20:42

是的,用颜色,灰度都可以,x,y,z,v都是一维向量,相当于一个n*4的矩阵,现在想在三维坐标下,显示其体素。<BR>另一个简单一点的:有x,y,t的一个n*3的矩阵,要在二维坐标下显示像素向量t所对应的值,比上述的少一维。例如y=x=1:0.1:100;v 向量为对应的像素值,要用灰度在直角坐标系下显示这条灰度直线<BR>敬待各位帮忙!!

aspen 发表于 2006-4-11 09:01

回复:(lana2000)[求助]x,y,z定义了体块v的坐标系,...

你要的是不是这个?

lana2000 发表于 2006-4-11 09:47

<P>落叶校长,感谢!<BR>但是,你传的文件中所用的函数的X Y Z都是要用meshgrid产生的n*m*l的矩阵,但是现在我的x,y,z向量本身就很大,再mashgrid的话已经超出了matlab的数据范围了。怎么办??而且上述绘图函数都需要向量是单调的!</P>

happy 发表于 2006-4-11 22:23

回复:(lana2000)[求助]x,y,z定义了体块v的坐标系,...

四维图一般很少用到,不是非常熟悉,你看看trisurf是否能实现

lana2000 发表于 2006-4-12 17:09

那如果少一维向量呢,少z向量,只要在xy平面内显示像素就行!!<BR>用patch()行得通吗??

happy 发表于 2006-4-14 20:27

回复:(lana2000)[求助]x,y,z定义了体块v的坐标系,...

      1.如果你使用matlab,有如下四种解决办法<BR>          (1)      tri=delaunay(x,y);<BR>                         trimesh(tri,x,y,z); or trisurf(tri,x,y,z);<BR>          (2)如果你想得到更加精细和光滑的曲线,而且想绘制coutour<BR>                   则需要用griddata()插值:<BR>                         =meshgrid(min(x):dx:max(x),min(y):dy:max(y));<BR>                         =griddata(x,y,z,xi,yi,'cubic');<BR>                         contourf(xi,yi,zi,20);<BR>          (3)如果你的matlab安装有PDE Toolbox,可以使用pdeplot(),参见帮助<BR>          (4)可以使用MIT的Kirill K. Pankratov写的SaGA工具箱,下载地址在:<BR>      http://www.ai-geostats.org/software/Geostats_software/SAGA.htm<BR>      http://globec.whoi.edu/software/saga/<BR><BR>      2.如果你使用Tecplot<BR><BR>          1.先将三列数据按照顺序保存在一个文本文件中<BR>                data.dat文件格式为<BR>               x1 y1 z1<BR>               x2 y2 z2<BR>               ...<BR>          2. Tecplot菜单File\Load Data file,在左上角选择2D<BR>          3. 选中zone,菜单Data\Triangulate<BR>          4. 双击该zone,将mesh掩藏掉,把contour打开,然后在<BR>               左上角选择3D<BR>          5. 如果想插值,先创建一个更细的网格,然后用data菜单中<BR>                     Interpolation<BR><BR>      3.如果你使用Mathematica<BR><BR>          data={{x1,y1,z1},{x2,y2,z2},......};<BR>          fun=Interpolation;<BR>          Plot3D,{x,xmin,xmax},{y,ymin,ymax}];<BR>          ContourPlot,{x,xmin,xmax},{y,ymin,ymax}];<BR>
页: [1]
查看完整版本: [求助]x,y,z定义了体块v的坐标系,如何显示??