2026a
# 对图形对象进行动画处理
此示例演示如何通过更新三角形的数据属性实现三角形沿着圆形内部循环的动画效果。
绘制圆形并设置坐标轴范围,使数据单位在两个方向上保持一致。
using TyPlot
fig = figure()
theta = LinRange(-pi, pi, 100);
xc = cos.(theta);
yc = -sin.(theta);
plot(xc, yc);
axis("equal")
使用 area 函数绘制一个平坦三角形。然后使用圆形的(x,y)坐标改变三角形其中一个顶点的值。改变循环中的值,创建一个动画。使用 drawnow 或 drawnow_limitrate 命令在每次迭代后显示更新。drawnow_limitrate 的速度最快,但它可能不会在屏幕上绘制每一帧。
xt = float([-1, 0, 1, -1]);
yt = float([0, 0, 0, 0]);
hold("on")
t = area(xt, yt);
hold("off")
for i in 1:length(theta)-10
xt[2] = xc[i]
yt[2] = yc[i]
t[1].set_verts([map((x, y) -> [x, y], xt, yt)])
drawnow()
end
该动画演示三角形沿着圆形内部循环。