Main Content

对图形对象进行动画处理

此示例演示如何通过更新三角形的数据属性实现三角形沿着圆形内部循环的动画效果。

绘制圆形并设置坐标轴范围,使数据单位在两个方向上保持一致。

theta = linspace(-pi,pi);
xc = cos(theta);
yc = -sin(theta);
plot(xc,yc);
axis equal

使用 area 函数绘制一个平坦三角形。然后使用圆形的 (x,y) 坐标改变三角形其中一个顶点的值。改变循环中的值,创建一个动画。使用 drawnowdrawnow limitrate 命令在每次迭代后显示更新。drawnow limitrate 的速度最快,但它可能不会在屏幕上绘制每一帧。

xt = [-1 0 1 -1];
yt = [0 0 0 0];
hold on
t = area(xt,yt); % initial flat triangle
hold off
for j = 1:length(theta)-10
    xt(2) = xc(j); % determine new vertex value
    yt(2) = yc(j);
    t.XData = xt; % update data properties
    t.YData = yt;
    drawnow limitrate % display updates
end

该动画演示三角形沿着圆形内部循环。

另请参阅

| | | |

相关示例

详细信息