アニメーションの途中でグラフィックを回転させるにはどうすればよいですか?
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
こんにちは。
私は線形倒立振り子のログファイルからアニメーションを再生するプログラムを作成しております。
ログファイルは/dataフォルダに置かれたcomref.csv, zmpref.csvです。
以下、私が作成したプログラムです。
%======================================================================%
% 環境設定
time = 14; % アニメーションの描画最大時刻
dt = 0.001; % 更新頻度
T = (0:dt:time)'; % 時刻列
LOOP = size(T); % アニメーションのループ回数
t = 0; % 初期時刻
cnt = 1; % カウント変数
% アニメーション
for i = 1:LOOP(1)
if rem(cnt, 50) == 0
clf
% 計画重心軌道
COMREF = readmatrix('/data/comref.csv');
fig_comref = plot3(COMREF(i,1), COMREF(i,2), COMREF(i,3), 'o');
setfigcolor(fig_comref, 'r');
% 軸の設定
axis([-0.5 2.5 -0.5 1.5 0.0 1.0]);
zlim([0 1.0]);
xticks(-0.5:0.5:2.5);
yticks(-0.5:0.5:1.5);
zticks(0:0.1:1.0);
%axis square;
title('Dynamics analysis');
xlabel('x');
ylabel('y');
zlabel('z');
%h_axes = gca;
%h_axes.XAxis.FontSize = 15;
%h_axes.YAxis.FontSize = 15;
%h_axes.ZAxis.FontSize = 15;
grid on
hold on
% 計画ZMP
ZMPREF = readmatrix('/data/zmpref.csv');
szZMPREF = size(ZMPREF);
fig_zmpref = plot3(ZMPREF(i,1), ZMPREF(i,2), 0.0, '.');
setfigcolor(fig_zmpref, 'r');
% 計画重心と計画ZMPを結ぶ線
plot3([COMREF(i,1) ZMPREF(i,1)],[COMREF(i,2) ZMPREF(i,2)],[COMREF(i,3) 0.0],'Color','b');
drawnow
pause(dt*50);
end
cnt = cnt + 1;
t = t + dt;
end
hold off
%======================================================================%
本プログラム実行前の準備として、まず本プログラムのディレクトリ直下にdataフォルダを作成します。
そこへ添付したログファイルを置きます。
次に、本プログラムのディレクトリ直下に、添付したsetfigcolor.mファイルを置きます。
この状態で本プログラムのデバッグを実行すると、次のようなアニメーションが描かれるはずです。
本題に移りたいと思います。
私は、このアニメーションの再生中にグラフィックを回転させたり、拡大/縮小したりして
線形倒立振り子の様子をよく観察したいと思っております。
どのようにすればそのようなことが可能になるでしょうか。
回答して頂けると幸いです。
0 Kommentare
Antworten (1)
Hiro Yoshino
am 25 Aug. 2023
rotate が使えるかも知れません。
また、
plot(randn(100,1));
h=zoom;
set(h,'Motion','horizontal','Enable','on');
zoom(5.0)
なども良いのでは?
0 Kommentare
Siehe auch
Kategorien
Mehr zu アニメーション finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!