Main Content

streamtube

创建三维流管图

  • Create 3-D stream tube plot

语法

streamtube(X,Y,Z,U,V,W,startx,starty,startz)
streamtube(U,V,W,startx,starty,startz)
streamtube(vertices,X,Y,Z,divergence)
streamtube(vertices,divergence)
streamtube(vertices,width)
streamtube(vertices)
streamtube(...,[scale n])
streamtube(ax,...)
h = streamtube(...)

说明

streamtube(X,Y,Z,U,V,W,startx,starty,startz) 从向量三维体数据 UVW 绘制流管。

数组 XYZ 用于定义 UVW 的坐标,它们必须是单调的,无需间距均匀。XYZ 必须具有相同数量的元素,就像由 meshgrid 生成一样。

startxstartystartz 定义位于管道中心的流线图的起始位置。

管道的宽度与向量场的归一化散度成比例。

streamtube(U,V,W,startx,starty,startz) 假定 XYZ 由以下表达式确定

[X,Y,Z] = meshgrid(1:n,1:m,1:p)

其中 [m,n,p] = size(U)

streamtube(vertices,X,Y,Z,divergence) 使用预先计算的流线图顶点和散度。vertices 是流线图顶点的元胞数组(就像由 stream3 生成一样)。XYZdivergence 都是三维数组。

streamtube(vertices,divergence) 假定 XYZ 由以下表达式确定

[X,Y,Z] = meshgrid(1:n,1:m,1:p)

其中 [m,n,p] = size(divergence)

streamtube(vertices,width) 在向量元胞数组 width 中指定管道的宽度。verticeswidth 的每个对应元素的大小必须相同。width 也可以是标量,用于为所有流管的宽度指定单个值。

streamtube(vertices) 自动选择宽度。

streamtube(...,[scale n]) 按照 scale 缩放管道的宽度。默认值为 scale = 1。创建流管时,使用开始点或散度、指定 scale = 0 将禁止自动缩放。n 是指沿管道的周长分布的点数。默认值为 n = 20

streamtube(ax,...) 将图形绘制到 ax 坐标区对象中,而不是当前坐标区对象 (gca) 中。

h = streamtube(...) 返回用于绘制流管图的 surface 对象(每个起点一个)的向量。

示例

全部折叠

使用 streamtube 函数指示 wind 数据集中的流动情况。输入包括流管的坐标、向量场分量和起始位置。

load wind
[sx,sy,sz] = meshgrid(80,20:10:50,0:5:15);
streamtube(x,y,z,u,v,w,sx,sy,sz);
view(3);
axis tight
shading interp;
camlight; 
lighting gouraud

使用 stream3 函数返回的顶点数据和发散性数据以可视化形式呈现流。

load wind
[sx,sy,sz] = meshgrid(80,20:10:50,0:5:15);
verts = stream3(x,y,z,u,v,w,sx,sy,sz);
div = divergence(x,y,z,u,v,w);
streamtube(verts,x,y,z,-div);
view(3);
axis tight
shading interp
camlight 
lighting gouraud

扩展功能

版本历史记录

在 R2006a 之前推出