clc
n=10;
th=(0:360)*pi/180;
h=axes('Position',[0.25,0.25,0.25,0.25]);
hold on
cc='bmmyyyggwr';
for i=1:n
x=(n+1-i)*cos(th);
y=(n+1-i)*sin(th);
plot(x,y);
fill(x,y,cc(i))
axis off
axis equal
end
我绘制了10个同心圆。我希望同心圆和坐标沿着X轴向右移动,并在移动过程中保持一段时间。
我使用了图(x + 20,y),但它无法移动颜色。在移动过程中如何使同心圆停留一段时间?真的很感激任何建议。
答案 0 :(得分:1)
这可能会做你想要的。
请注意,我们正在设置xlim
和ylim
,否则圈子似乎根本不会移动。在第一个循环中,我们绘制圆圈,在第二个循环中,我们移动它们。
clf
n=10;
th=(0:360)*pi/180;
h=axes('Position',[0.25,0.25,0.25,0.25]);
hold on
cc='bmmyyyggwr';
phh = gobjects(2, n);
xlim([-10, 30])
ylim([-10, 10])
axis off
axis equal
for i=1:n
x=(n+1-i)*cos(th);
y=(n+1-i)*sin(th);
phh(1, i)=plot(x,y);
phh(2, i)=fill(x,y,cc(i));
end
for j=1:n
for i=1:n
phh(1, i).XData = phh(1, i).XData + 1;
phh(2, i).XData = phh(2, i).XData + 1;
end
drawnow
pause(1);
end