0

matlab での現在のプロジェクトでは、世界中の感染の広がりをモデル化しています。感染を急増させるために私が使用している主な方法は、事前に設定された空港の場所です。また、感染が空港から空港へと広がっていく様子をアニメの線でつないで示しています。メイン マップは、デフォルトの 2D ビューに設定された 3D サーフ グラフであり、線は、同じく 2D ビューにある plot3 を使用してグラフ化されます。

1つの問題を除いて、すべてが機能しています。同じ図で両方の 3D グラフを同時にアニメーション化する必要がありますが、すべてのパスがまだ表示されます。

これを行う方法についてのアイデアはありますか?

4

2 に答える 2

4

アニメーションの例を挙げましょう。おそらく役立つでしょう。

figure('Renderer','zbuffer')

%# this is the surface we will be animating
Z = peaks;
hSurf = surf(Z);
axis tight;    %# fix axis limits

%# these are some fixed lines
hLine(1) = line([0 50], [0 50], [-5 5], 'Color','r' ,'LineWidth',4);
hLine(2) = line([40 0], [0 40], [-5 5], 'Color','g' ,'LineWidth',4);

%# some text as well
hTxt = text(10,40,5, '0');

%# iterations
for j = 1:20
    %# animate the Z-coordinates of the surface
    set(hSurf, 'ZData',sin(2*pi*j/20)*Z)

    %# change text
    set(hTxt, 'String',num2str(j))

    %# flush + a small delay
    pause(0.05)
end

後で操作できるように、グラフィックス オブジェクト (サーフェス、テキスト、線) のハンドルを保存する方法に注意してください。

アニメーション

于 2013-04-19T18:25:55.800 に答える
0

変更したくないすべてのハンドルを保存し、常に保持し、削除機能を使用して以前のバージョンを直接削除してから、新しいバージョンを追加する方法を見つけました。また、uistack を追加して、画面上で必要な順序で表示されるようにしました

于 2013-04-20T17:58:45.680 に答える