Main Content

streamtube

3 次元ストリーム チューブ プロットの作成

  • 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 からストリーム チューブを描画します。

UVW の座標を定義する配列 XY、および Z は、単調でなければなりませんが、等間隔でなくても構いません。また XY、および Z は、meshgrid で作成されたかのように、同じ数の要素が含まれていなければなりません。

startxstarty、および startz は、流線の開始位置をチューブの中心に定義します。

チューブの幅は、ベクトル場の正規化された発散項に比例します。

streamtube(U,V,W,startx,starty,startz) は、XY、および Z が以下の式によって決定されると仮定します。

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

ここで [m,n,p] = size(U) です。

streamtube(vertices,X,Y,Z,divergence) は、流線の頂点と発散が事前計算済みであることを前提としています。vertices は、流線の頂点の cell 配列 (stream3 により生成) です。XYZ、および divergence は、3 次元配列です。

streamtube(vertices,divergence) は、XY、および Z が以下の式によって決定されると仮定します。

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

ここで、[m,n,p] = size(divergence) です。

streamtube(vertices,width) は、ベクトルの cell 配列でチューブの幅 width を指定します。verticeswidth の各対応する要素のサイズが同じでなければなりません。width がスカラーの場合は、すべてのストリーム チューブの幅を単一の値で定義します。

streamtube(vertices) は、自動的に幅を選択します。

streamtube(...,[scale n]) は、scale を使用して、チューブの幅をスケーリングします。既定値は scale = 1 です。ストリーム チューブが、始点または発散項を使用して作成される場合、scale = 0 は、自動スケーリングを中止します。n は、チューブの周りに沿って設定する点数を指定します。既定値は n = 20 です。

streamtube(ax,...) は、現在の axes オブジェクト (gca) にではなく、axes オブジェクト ax にプロットします。

h = streamtube(...) は、ストリーム チューブの描画に使用される surface オブジェクトのベクトル (始点ごとに 1 つ) を返します。

すべて折りたたむ

関数 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

Figure contains an axes object. The axes object contains 16 objects of type surface.

発散データと、関数 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

Figure contains an axes object. The axes object contains 16 objects of type surface.

拡張機能

バージョン履歴

R2006a より前に導入