アニメーションの途中でグラフィックを回転させるにはどうすればよいですか?
6 views (last 30 days)
Show older comments
こんにちは。
私は線形倒立振り子のログファイルからアニメーションを再生するプログラムを作成しております。
ログファイルは/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 Comments
Answers (1)
Hiro Yoshino
on 25 Aug 2023
rotate が使えるかも知れません。
また、
plot(randn(100,1));
h=zoom;
set(h,'Motion','horizontal','Enable','on');
zoom(5.0)
なども良いのでは?
0 Comments
See Also
Categories
Find more on アニメーション in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!