【发布时间】:2012-10-16 15:43:22
【问题描述】:
我正在尝试使用 movie 命令在 MatLab 中创建一个简短的动画。动画应该画一个圆圈。但是,当我运行以下脚本时,“o”符号只是在图形窗口周围随机跳跃,而不会留下任何痕迹。
z = linspace(0,2*pi,100);
nframes = length(z);
Frames = moviein(nframes);
for i = 1:nframes
x = cos(i);
y = sin(i);
plot(x,y,'o','erase','none');
Frames(:,i) = getframe;
pause(0.25);
end
movie(Frames,1)
如果有人能向我解释为什么脚本不能正常工作,我将不胜感激!
【问题讨论】:
-
在对
plot的调用中,'erase' 参数有什么作用? -
我想也许我应该包含它,这样循环重新开始时'o' 符号不会消失。但我想它是多余的?
-
我会说尝试一下,看看你会得到什么。
-
嗯,在我看来,这部电影确实绘制了它应该绘制的点,并且动画显示了“o”以正确的方式从一个点跳到另一个点。问题是点不“粘”,所以当动画完成时,图形窗口是空白的。
-
这就是让我怀疑那个函数调用中的“擦除”和“无”的原因。正在发生的事情是它正在绘制整个框架(没有透明度),而不仅仅是绘制“o”。我不确定为什么。我希望我更了解 Matlab,以便我可以帮助您...