使用Octave制作动画轨迹

Pau*_*nta 4 plot animation octave

我有一组(x,y)描述物体轨迹的坐标.我想使用GNU Octave为这个轨迹制作动画.

数据集非常大,因此如果我希望动画平滑,我将无法在每次迭代时重绘整个绘图.有什么功能可以让我"更新"情节而不是重绘它?

另外,我有另一组(vx,vy)点,描述对象的速度.我希望我的动画轨迹能够加快速度.我应该使用什么函数让程序休眠几毫秒,以使轨迹以与对象相同的速度生成动画?

(我已经知道Octave有这样的功能comet,但我需要编写自己的动画师.)


编辑:这是我迄今为止所拥有的.我希望它运行得太快并且需要我使用pause,但它仍然很慢(x并且y有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
Run Code Online (Sandbox Code Playgroud)

and*_*ras 5

您可以使用该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
Run Code Online (Sandbox Code Playgroud)

pause(x)命令暂停x秒,可以小于1.