Matlab 设置多个椭圆的动画

Matlab 设置多个椭圆的动画,matlab,animation,matrix,rotation,Matlab,Animation,Matrix,Rotation,上面的代码运行良好。。。一旦问题是我需要给它设置动画。每次我画椭圆时,它们都会留在我的屏幕上,图形会立即变得不可读 这是上面的代码,可以很好地为散点图设置动画。有没有一种方法可以让我用省略号 我用的是ellipse.m,在Mathworks社区网站上 sRMatTemp = [SENSORRANGE]; sRMat = repmat(sRMatTemp, size(obj.landmarks.sensed(:,1), 1)); ellipse(((2*pi*sRMat)/(360/obj.lan

上面的代码运行良好。。。一旦问题是我需要给它设置动画。每次我画椭圆时,它们都会留在我的屏幕上,图形会立即变得不可读

这是上面的代码,可以很好地为散点图设置动画。有没有一种方法可以让我用省略号

我用的是ellipse.m,在Mathworks社区网站上

sRMatTemp = [SENSORRANGE];
sRMat = repmat(sRMatTemp, size(obj.landmarks.sensed(:,1), 1));
ellipse(((2*pi*sRMat)/(360/obj.landmarks.sensed(:,4))), obj.landmarks.sensed(:,5) , obj.landmarks.sensed(:,3), obj.landmarks.apparentPositionsST(:,1), obj.landmarks.apparentPositionsST(:,2));

您需要将
EraseMode
属性设置为
xor
,以便在更新其X/Y数据时,它将删除其旧位置,然后重新绘制。一定要看这个

我写了一个简单的例子来说明一个动画椭圆。我正在使用前面一个问题中的函数

fig=figure;
axes('NextPlot','add');
set(fig, 'name', 'Animated Graph')
l.st=scatter([0],[0],'g.');
set(l.st,'XData',obj.landmarks.apparentPositionsST(:,1),'YData',obj.landmarks.apparentPositionsST(:,2));
drawnow

我应该指出,我按照这个动画GIF示例创建了上图:
step = linspace(50,200,100);

figure
hAx = axes('XLim',[-250 250], 'YLim',[-250 250], ...
    'Drawmode','fast', 'NextPlot','add');
axis(hAx, 'equal')

p = calculateEllipse(0, 0, step(1), step(end), step(1));
hLine = line('XData',p(:,1), 'YData',p(:,2), 'EraseMode','xor',  ...
    'Color','r', 'LineWidth',3);

for i=1:numel(step)
    p = calculateEllipse(0, 0, step(i), step(numel(step)-i+1), step(i));
    set(hLine,'XData',p(:,1), 'YData',p(:,2))  %# update X/Y data
    pause(.05)                                 %# slow down animation
    drawnow                                    %# force refresh
    if ~ishandle(hLine), return; end           %# in case you close the figure
end