共计 247 个字符,预计需要花费 1 分钟才能阅读完成。
今天玩 sagemath+ipywidget 的动画渲染,发现下面这段代码对新手太友好了:
origin = (0,0)
frames = []
g = Graphics()
frames += [g]
for i in range(5):
g += circle(origin, i*5)
frames += [g]
animate(frames).show()
一开始我以为这段代码是错的,frames 里存了一堆同样的 g,只会将最后一张照片画六遍,不会显示动画效果。
实际情况是每次 g+= 都会修改 g 本身的引用。最后还真的生成了 6 帧内容不同的动画。
正文完