知道x,y,z坐标,和强度值,怎么用Matlab画出图像?

 我来答
kufemail
2017-06-12 · TA获得超过836个赞
知道小有建树答主
回答量:275
采纳率:50%
帮助的人:256万
展开全部

按照我的理解,应该有两种画法。

首先是stack contour plot (我实在不知道中文怎么翻译,你搜索一下应该立刻能知道是什么)

这样的做法,你产生的图像应该是一层一层的,每一层都是contour plot。

做法是这样的,假设你的matlab是2012a之后的版本,并且假设你的强度值是v,v是一个3d 的box,box是一个3阶array:

figure();

hold on;

[~, h] = contour(x, y, v(:, :, 1));

h.ContourZLevel(z(1));

就像这样一层一层的循环下去。关键是设置h.ContourZLevel(),这个可以让contour在z轴平移。形成一层一层的contour。然后每层的contour还可以设置透明度。

这是第一种作图的方法。

第二种做法是使用isosurface。

这个做法相对简单,使用单一指令:

isosurface(x, y, z, v, value)

直接可以出图。这个value值的选取就是你想要z值中的其中一个值做一个平面。但是值得注意的是,x,y,z,v都必须是volumatric 数据,都是3阶矩阵。出图的话,应该是这样的。

这是第二种做法。


两边的contour是后来加上的,这个不是很重要,关键是中间的那个volume。

其实matlab出这种图,并不是非常理想的。这时候应该使用的工具应该是python的mayavi。

PeriShare
2017-06-12 · 分享PD理论最新研究成果和进展
PeriShare
采纳数:2408 获赞数:36827

向TA提问 私信TA
展开全部
可以先固定一个坐标
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式