【问题标题】:How to animate specific frames of a motion sequence in Matlab?如何在 Matlab 中为运动序列的特定帧设置动画?
【发布时间】:2013-10-31 15:39:48
【问题描述】:

我有一个 N 帧的运动序列,我有动画它的代码(不是我的代码)。我可以动画所有帧或一个范围,或者从开始到结束 K 步的范围。

结果是显示运动而不缓存任何帧并在最后一帧停止。 我想要的不仅仅是我图中的最后一帧。例如,第一帧在中间,最后一帧在同一图中,就像一个动作,让所有帧都在一个图中可见!!。

我该怎么做?此外,我可以将单个帧保存为内存中的单个图像,但我可以将它们保存为运动序列(来自图像)或将它们作为一个图保存在一个图中(不要需要子图)。

如果需要我可以给出动画的代码。

【问题讨论】:

  • 你应该分享一个可重现的例子。
  • 不清楚您要做什么。您真的想要动画/电影,还是只想将所有帧一次显示为图像或一组图像?
  • 我有一个 200 帧的运动序列,显示一个人体骨骼(线连接关节)旋转手臂,同时保持在同一点(腿不动)。我有代码动画显示一帧每次作为电影,我也可以将单个帧保存为图像,但我希望例如 10 帧同时显示给图形,这样我每次可以将手臂放在不同的位置
  • 我在我的问题中添加了一个示例,看看我的意思是什么。我有显示上述动作的代码,但它没有将中间帧保持在图中。这就是我想要的, 在我的身材上有中间帧。

标签: matlab animation plot frames motion


【解决方案1】:

如果您在向量 xy 中有绘图数据,对于每个时间点,比如说 x(:,i)i-th 时间步给出 x 坐标,那么这样的东西会给每个 xy为每个堆叠的t 值绘制图。这段代码可能不会完全按照您的要求执行,但希望它能让您继续前进。

figure(1)
hold on
for i=1:length(t)
    plot3(x(:,i),y(:,i),t(i)*ones(length(t),1))
end
hold off

【讨论】:

    猜你喜欢
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-12
    相关资源
    最近更新 更多