Группировать manim TextMobjects в один анимируемый объект? - PullRequest
0 голосов
/ 25 апреля 2020

Если бы у меня было 3 строки текста manim,

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

, и я хотел бы оживить их все вместе, как бы я это сделал? Я ищу что-то более простое для ввода и больше pythoni c, чем

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, и это похоже на хорошее совпадение с тем, что я пытаюсь выполнить sh, но проблема в том, что я понятия не имею, как использовать это, и у manim нет лучшей документации (хотя по веским причинам ).

Любые решения приветствуются.

1 Ответ

1 голос
/ 25 апреля 2020

В Manim есть два типа контейнеров, Groups и VGroups, разница в том, что VGroups может содержать только VMobjects (объекты на основе кривых Безье), тогда как Groups может быть других типов как Изображения (вы не можете группировать изображения в VGroups, только в Groups).

Как я уже объяснил здесь , полная документация не существует, только части ( EulerTour и TB ). Если вы хотите узнать, как они используются, я могу оставить ссылки , и , , но, в общем, сейчас вам придется учиться из исходного кода (VGroup является подклассом VMobject, а VMobject является подклассом Mobject).

...