主要内容

体积可视化向量数据

行,粒子、丝带、溪流、管、锥

向量容积比标量数据数据包含更多的信息,因为每一个坐标点的数据集有三个与之关联的值。这些值定义一个向量代表一个大小和方向。流体流动的速度是矢量数据的一个例子。

大量的矢量数据可视化技术是有用的:

  • 流线跟踪的路径,一个无质量的粒子沉浸在向量场。

  • 流粒子标记跟踪流线条和用于创建流线动画。

  • 流带类似于流线条,除了丝带的宽度使他们表示转折。流丝带是有用的指示curl角速度。

  • 流管类似于流线条,但你也可以控制管的宽度。流管可用于显示一个向量场的散度。

  • 锥块代表数据的大小和方向在每个点显示一个锥形箭头或箭。

通常情况下,这些功能最好的阐明数据与其他可视化技术一起使用时,如轮廓、切片的飞机、等值面。本节中的示例说明其中的一些技巧。

利用标量与矢量数据技术

可视化技术,如等高线片,切片的飞机、等值面需要标量体积数据。您可以使用这些技术与矢量数据向量的大小。例如,数据集返回三个坐标数组和三个向量分量阵列,u,v,w。在这种情况下,速度矢量的大小等于风速在每一个对应的坐标点。

wind_speed = sqrt (u。^ 2 + v。^ 2 + w。^ 2);

数组wind_speed包含体积数据的标量值。这种方法产生的信息的有用性,然而,取决于物理现象是由你的矢量数据的大小。

指定起始点流的情节

流图(流线条、丝带、管和锥或箭头)说明三维向量场的流动。MATLAB®stream-plotting函数(简化,streamribbon,廉管道,coneplot,stream2,stream3)所有需要你指定的点要开始每个流跟踪。

确定起点

一般来说,知识的数据有助于您选择起始点的特征。信息流动的主要方向和范围等数据的坐标可以帮助你决定在哪里评估数据。

streamslice探索数据的函数是非常有用的。例如,这些语句画一个切开的向量场z中途在范围值。

风荷载zmax = max (z (:));zmin = min (z (:));streamslice (x, y, z, u, v, w, [], [], (zmax-zmin) / 2)

这个流片情节表明积极的流x方向,还使您能够在这两个选择起始点xy。您可以创建类似的情节片体积x z飞机或y- - - - - -z飞机获得进一步了解您的数据的范围和方向。

指定数组的起点坐标

指定一个流的起点线,你需要x- - - - - -,y- - - - - -,z点的坐标。的meshgrid命令提供了一种方便的方法来创建数组的起始点。例如,您可以选择以下的起点从风数据显示在前面的流片。

[sx, sy,深圳]= meshgrid(80年,20:10:50 0:5:15);

这个语句将起始点定义为所有躺在x = 80, y从20到50,z从0到15。您可以使用plot3显示的位置。

plot3 (sx (:), sy(:),深圳(:),' * r ');轴(volumebounds (x, y, z, u, v, w))网格设置(gca、“BoxStyle”,“全部”,“盒子”,“上”)daspect ([2 2 1])

你不需要使用三维数组,例如那些返回的meshgrid,但每个数组的大小必须是相同的,和meshgrid提供了一种方便的方法来生成数组时你没有同等数量的惟一值在每个坐标。您还可以定义起点数组列向量。例如,meshgrid返回3 d数组:

[sx, sy,深圳]= meshgrid(80年,20:10:50 0:5:15);谁
类属性名称大小字节x1x4 sx 128双x1x4 sy 128双深圳4 x1x4 128双

此外,您可以使用16-by-1列向量的对应元素三个数组组合每个起始点的坐标。(这相当于索引返回的值meshgrid作为sx (:),sy (:),深圳(:)。)

例如,将流行添加到起点产生:

简化(x, y, z, u, v, w, sx (:), sy(:),深圳(:))

体积数据的访问条件

子卷函数提供了一种简单的方式来访问卷数据集的条件。子卷使您能够基于限制选择感兴趣的区域,而不是使用冒号运算符指数为3 d数组定义卷。考虑以下两种方法来创建子卷的数据,索引与结肠运营商和使用子卷

索引与结肠运营商

索引数组时,使用指定的值在每个维度的数组的元素。

风荷载xsub = x (1:10, 20:30, 1:7);ysub = y (1:10, 20:30, 1:7);zsub = z (1:10, 20:30, 1:7);usub = u (1:10, 20:30, 1:7);vsub = v (1:10, 20:30, 1:7);wsub = w (1:10, 20:30, 1:7);

使用子卷功能

子卷使您能够使用坐标值,你可以阅读从轴。例如:

lims = (100.64 116.67 17.25 28.75 -0.02 - 6.86);[xsub, ysub zsub、usub vsub, wsub] =子卷(x, y, z, u, v, w, lims);

然后,您可以使用子卷数据作为输入任何体积要求向量函数数据。