首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在3D空间中分层多个图像

在3D空间中分层多个图像
EN

Stack Overflow用户
提问于 2011-10-07 23:41:26
回答 3查看 13.2K关注 0票数 9

假设我们有一个大小为49x49x5的矩阵i,对应于沿第三维堆叠的5个大小为49x49的图像,因此我们总共有5个图像。这些图像应该可以可视化气体在3D空间中的密度,因此我们可以将每个图像看作是房间在不同位置的截面切割。

有没有办法在MATLAB中制作一个图形,其中所有5个图像都显示为悬挂在它们“来自”的3D空间中?

这是一张图片,希望能让我更清楚地知道我想要什么:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-10 22:29:43

考虑下面的例子。它使用低级SURFACE函数来绘制堆叠图像:

代码语言:javascript
复制
%# create stacked images (I am simply repeating the same image 5 times)
img = load('clown');
I = repmat(img.X,[1 1 5]);
cmap = img.map;

%# coordinates
[X,Y] = meshgrid(1:size(I,2), 1:size(I,1));
Z = ones(size(I,1),size(I,2));

%# plot each slice as a texture-mapped surface (stacked along the Z-dimension)
for k=1:size(I,3)
    surface('XData',X-0.5, 'YData',Y-0.5, 'ZData',Z.*k, ...
        'CData',I(:,:,k), 'CDataMapping','direct', ...
        'EdgeColor','none', 'FaceColor','texturemap')
end
colormap(cmap)
view(3), box on, axis tight square
set(gca, 'YDir','reverse', 'ZLim',[0 size(I,3)+1])

我使用的是索引彩色图像(具有直接颜色映射),但可以很容易地将其更改为使用灰度图像(具有缩放颜色映射)。

现在,如果您想要像您的问题中所示的那样排列3D空间,只需交换Y和Z维度(图像沿Y维度堆叠,而不是Z维度)。

通常,要对视角进行更多控制,请使用camera manipulation functions

票数 12
EN

Stack Overflow用户

发布于 2011-10-08 00:00:31

您要查找的函数是patch函数。举个例子:

代码语言:javascript
复制
x=[1 1 6]; y=[2 7 2]; z=[1 1 -1];

这指定了一个三角形(三个点),顶点的坐标是(1,2,1)(1,6,1)(6,2,-1)。如果要在每个向量上添加第四个点,它将是一个矩形,新顶点位于新的x,y,z坐标。

要直接回答您提出的问题,只需使用xyz的多维数组,即可为每个变量绘制多个矩形,其中每列指定一个不同的多边形。在实践中,它的工作原理如下:

代码语言:javascript
复制
% plot two rectangles
x = [1 1 1 1;
    1 1 1 1;
    4 4 4 4;
    4 4 4 4;];

y = [1 1 1 1;
    2 2 2 2;
    2 2 2 2;
    1 1 1 1;];

z = [1 2 3 4;
    1 2 3 4;
    1 2 3 4;
    1 2 3 4;];

patch(x,y,z,'w');

这使得:

有一些选项可以用来为多边形添加颜色,请查看文档。

票数 3
EN

Stack Overflow用户

发布于 2011-10-08 00:00:00

如果我理解正确的话,您可以使用slice()contourslice()函数来完成此操作。

看看这个例子:http://www.mathworks.com/help/matlab/visualize/techniques-for-visualizing-scalar-volume-data.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7689586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档