采用倍频动画轨迹(Animate trajectory using Octave)

2019-06-24 14:17发布

我有一组(x,y)描述一个物体的轨迹坐标。 我想用动画GNU八度这个轨迹。

该数据集是相当大的,所以我就不能在每次迭代重绘整个情节,如果我希望动画流畅。 什么功能都没有,让我来“更新”的阴谋,而不是重绘?

另外,我有另一组(vx,vy)点,其描述了物体的速度。 我想我的动画轨迹把速度考虑在内。 我应该使用什么功能,有计划睡了几毫秒才能使轨迹动画以相同的速度作为目标?

(我已经知道了八度具有的功能,如comet ,但我需要写我自己的动画师。)


编辑:这是我所到现在为止。 我想到这跑的太快,并要求我使用pause ,但它仍然是相当缓慢的( xy有10001元)。

bounds = [min(x) max(x) min(y) max(y)];
axis(bounds);

hold on
for k = 2 : length(x)
    plot(x(k-1:k), y(k-1:k));
    drawnow("expose");
end
hold off

Answer 1:

您可以使用set命令更改只是XDataYData数据一段剧情对象h

h = plot(my_xdata(0),my_ydata(0))
for i_=1:length(my_xdata)
    set(h, 'YData', my_ydata(i_))
    set(h, 'XData', my_xdata(i_))
    pause(sqrt(vx(i_)^2+vy(i_)^2))
end

pause(x)用于命令暂停x秒,它可以是小于1。



Answer 2:

我认为你正在寻找的“持有”命令。 拿着情节不断的情节所有以前的数据和新的数据是在顶部增加。



文章来源: Animate trajectory using Octave