ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

ストリーム粒子のアニメーションの作成

表示できる粒子のアニメーション

ストリーム粒子のアニメーションは、流れの方向とベクトル場の速度を可視化するのに役立ちます。「粒子」(線のマーカー) は、特定の流線の跡を示します。アニメーションで示す各粒子の速度は、流線に沿った任意の点でのベクトル場の大きさに比例します。

1. データの範囲の始点の指定

次の例は、適切な開始位置を指定することによって、プロットするボリューム データの範囲を決めます。この場合は、ストリーム プロットは、z の値が 5 の平面で x の値が 100 の点から始まり、y の値は 20 ~ 50 の範囲になります。これは、ボリューム データ全体には及びません。

load wind
[sx sy sz] = meshgrid(100,20:2:50,5);

2. 粒子の軌跡を示す流線の作成

次の例は、アニメーションに、粒子の軌跡を示す流線 (関数 stream3streamline を使用) を追加します。

verts = stream3(x,y,z,u,v,w,sx,sy,sz);
sl = streamline(verts);

3. 表示の定義

すべての流線は、z=5 の平面で開始されますが、らせんの中にはそれよりも低い値のものがあります。次の設定は、よりはっきりとしたアニメーションの表示を提供します。

  • 選択された視点 (view) は、ほとんどの流線とらせんを含む平面を表示します。

  • データの縦横比 (daspect) を [2 2 0.125] にすると、z 方向の解像度が向上し、らせん内のストリーム粒子が見やすくなります。

  • 座標軸の範囲をデータの範囲と一致するように設定し (axis)、軸のボックスを描画します (box)。

    view(-10.5,18)
    daspect([2 2 0.125])
    axis tight;
    set(gca,'BoxStyle','full','Box','on')
    

4. ストリーム粒子の頂点の計算

粒子を描く流線上の頂点を決めます。関数 interpstreamspeed は、流線の頂点に基づくデータとベクトル データの速度を出力します。この例は、速度 0.05 をスケーリングして、内挿される頂点の数を増やします。

軸の SortMethod プロパティを childorder にすると、アニメーションの実行速度が上がります。

関数 streamparticles は、次のプロパティを設定します。

  • Animate10 に設定して、アニメーションを 10 回実行します。

  • ParticleAlignmenton に設定して、すべての粒子の追跡を同時に開始します。

  • MarkerEdgeColornone に設定して円形のマーカーの面のみを描画します。アニメーションは、通常マーカーのエッジが描画されないときに高速に実行されます。

  • MarkerFaceColorred に。

  • Markero に設定します。これは、円形のマーカーを描画します。その他の選択肢はライン マーカーを参照してください。

    iverts = interpstreamspeed(x,y,z,u,v,w,verts,0.01);
    set(gca,'SortMethod','childorder');
    streamparticles(iverts,15,...
    	'Animate',10,...
    	'ParticleAlignment','on',...
    	'MarkerEdgeColor','none',...
    	'MarkerFaceColor','red',...
    	'Marker','o');

この情報は役に立ちましたか?