用切片平面探索卷
切片流体流动数据
切片平面(不一定是平面的)是基于切片所在区域的体积数据值进行着色的表面。切片平面对于探测体积数据集以发现感兴趣的区域非常有用,然后可以用其他类型的图进行可视化(请参阅片
例子)。在使用其他绘图方法时,切片平面也可用于向卷的边界添加可视上下文(参见coneplot
而且使用矢量数据显示流线例子)。
使用片
函数创建切片平面。此示例对生成的卷进行切片流
.
1.调查数据
使用以下命令生成卷数据:
[x,y,z,v] =流量;
通过找到坐标数据的最小值和最大值来确定体积的范围。
Xmin = min(x(:));Ymin = min(y(:));Zmin = min(z(:));Xmax = max(x(:));Ymax = max(y(:));Zmax = max(z(:));
2.以x轴角度切片平面
要创建不在轴平面上的切片平面,首先定义一个曲面并将其旋转到所需的方向。本例使用了具有相同属性的曲面x -而且y -坐标为体积。
Hslice = surf(linspace(xmin,xmax,100),…linspace (ymin ymax, 100),…0 (100));
将表面旋转-45度x -轴和保存表面XData
,YData
,ZData
定义切片平面;然后删除曲面。
旋转(hslice (1,0,0), -45) xd = (hslice XData”);yd = get(hslice,'YData');zd = get(hslice,'ZData');
删除(hslice)
3.绘制切片平面
绘制旋转切片平面,设置FaceColor
来插值函数
使其由图形色相着色,并设置EdgeColor
来没有一个
.增加了DiffuseStrength
来.8
为了让这个平面在添加光源后更加明亮。
Colormap (turbo) h = slice(x,y,z,v,xd,yd,zd);h.FaceColor = 'interp';h.EdgeColor = 'none';h. diffusstrength = 0.8;
集持有
来在
再加上三个正交的切片平面xmax
,ymax
,zmin
为第一个平面提供一个背景,它以一定的角度穿过体量。
按住hx = slice(x,y,z,v,xmax,[],[]);hx。FaceColor = 'interp';hx。EdgeColor = 'none';Hy = slice(x,y,z,v,[],ymax,[]);hy.FaceColor = 'interp';hy.EdgeColor = 'none';Hz = slice(x,y,z,v,[],[],zmin);赫兹。FaceColor = 'interp'; hz.EdgeColor = 'none';
4.定义视图
若要以正确的比例显示卷,可将数据纵横比设置为(1, 1, 1)
(daspect
).调整轴,使其与体积紧密贴合(轴
).轴的方向可以选择最初使用rotate3d
来决定最好的视图
.
放大场景可提供更大的体积视图(camzoom
).的投影类型的角度来看
使矩形实体比默认的正字法投影更自然的比例(camproj
).
Daspect([1,1,1])轴紧密视图(-38.5,16)camzoom(1.4) camproj视角
5.添加照明和指定颜色
在场景中添加一盏灯使四个切片平面之间的边界更加明显,因为每个平面与光源形成了不同的角度(lightangle
).选择一个只有24种颜色(默认是64种)的色图,可以创建可见的渐变,帮助指示体积内的变化。
45 lightangle (-45) colormap(涡轮(24)
修改颜色映射展示如何修改数据映射到颜色的方式。
修改颜色映射
当前的颜色映射决定了切片平面的颜色。这使您可以通过以下方式更改切片平面的着色:
改变颜色图
改变数据值到颜色的映射
例如,假设您只对-5到2.5之间的数据值感兴趣,并且希望使用将较低值映射为红色,将较高值映射为蓝色(即与默认值相反)的颜色映射涡轮增压
colormap)。
1.自定义颜色图
colormap (flipud(涡轮(24)))
2.调整颜色限制
调整颜色限制以强调感兴趣的任何特定数据范围。将颜色限制调整为-5到2.4832,以将任何低于-5的值(原始数据范围为-11.5417到2.4832)映射为相同的颜色。
caxis ([5, 2.4832])
3.添加颜色条
添加一个颜色条,为数据到颜色的映射提供一个键。
colorbar(“southoutside”)