animation - 使用 Octave 制作轨迹动画

标签 animation plot octave

我有一组描述对象轨迹的(x,y)坐标。我想使用 GNU Octave 制作该轨迹的动画。

数据集非常大,因此如果我希望动画流畅,我将无法在每次迭代时重新绘制整个绘图。有哪些函数可以让我“更新”绘图而不是重新绘制它?

此外,我还有另一组(vx,vy)点,它们描述了物体的速度。我希望我的动画轨迹能够考虑速度。我应该使用什么函数让程序休眠几毫秒,以使轨迹以与对象相同的速度进行动画处理?

(我已经知道Octave有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

最佳答案

您可以使用set命令仅更改特定绘图对象hXDataYData数据>:

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。

关于animation - 使用 Octave 制作轨迹动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10665497/

相关文章:

html - 如何在网站中使用adobe edge动画?

CSS3 浮船动画

python - 为复杂方程 manim 的部分着色

轴标签与表达式的 R 对齐

matlab - 使用 Octave 估算数据周期的最快方法是什么?

android - 如何在Android中做 'busy'动画?

R - 将空间频率数据绘制为矩阵

r - R中的偏回归图

matlab - 在没有标题的 Octave 音程中写一个文本文件

matlab - "Undefined function ' 函数名称 ' for input arguments of type ' 双 '."