このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
グラフィックス オブジェクトのアニメーション化
この例では、三角形のデータ プロパティを更新することで、円に内接しながら回転する三角形をアニメーション化する方法を説明します。
円をプロットし、X 軸方向と Y 軸方向でデータ単位が等しくなるように軸の範囲を設定します。
theta = linspace(-pi,pi);
xc = cos(theta);
yc = -sin(theta);
plot(xc,yc);
axis equal
関数 area
を使用して、平面の三角形を描画します。次に、円の (x,y) 座標を使用して、三角形の 1 つの頂点の値を変更します。ループ内の値を変化させて、アニメーションを作成します。ループを反復するたびに更新結果を表示するには、drawnow
または drawnow limitrate
コマンドを使用します。drawnow limitrate
は最速ですが、画面に一部のフレームを描画しないことがあります。
xt = [-1 0 1 -1]; yt = [0 0 0 0]; hold on t = area(xt,yt); % initial flat triangle hold off for j = 1:length(theta)-10 xt(2) = xc(j); % determine new vertex value yt(2) = yc(j); t.XData = xt; % update data properties t.YData = yt; drawnow limitrate % display updates end
アニメーションでは、三角形が円に内接しながら回転する様子が表示されます。
参考
area
| plot
| hold
| drawnow
| axis