将manim TextMobjects分组为一个可设置动画的对象?

2024-10-04 11:33:30 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有3行曼尼姆文字

l  = TextMobject("Line 1")
l2 = TextMobject("Line 2")
l3 = TextMobject("Line 3")

我想把它们都动画化,我该怎么做?我在找比你更容易打字、更像Python的东西

v = np.array([-3, 2, 0]) # Vector to translate the text by
self.play(ApplyMethod(l.shift, v), ApplyMethod(l2.shift, v), ApplyMethod(l3.shift, v))

更像是:

lines = [l, l2, l3]
g = GroupMobjects(*lines)
v = np.array([-3, 2, 0]) # Vector

self.play(ApplyMethod(g.shift, v))

我刚刚为上面的示例编写了GroupMobjects语法

我已经研究过使用VGroup,它似乎与我试图实现的目标很匹配,但问题是我不知道如何使用它,而且manim没有最好的文档(尽管对于good reason

任何解决方案都将不胜感激


Tags: selfplayshiftnpline动画arraylines
1条回答
网友
1楼 · 发布于 2024-10-04 11:33:30

Manim中有两种类型的容器,GroupsVGroups,区别在于VGroups只能包含VMobjects(基于贝塞尔曲线的对象),而Groups可以是其他类型,如图像(不能在VGroups中对图像进行分组,只能在Groups

正如我已经解释的here,完整的文档并不存在,只有部分(EulerTourTB)。如果您想了解它们是如何使用的,我可以留下thisthis链接,但一般来说,现在您必须从source code学习(VGroupVMobject的子类,而VMobjectMobject的子类)

相关问题 更多 >