Manim математическая анимация: установка и первая сцена

Редакция OdiRouter

Репозиторий 3b1b/manim — это движок с открытым исходным кодом для точных программно создаваемых анимаций, используемых в пояснительных видеороликах по математике. В снимке ежедневных трендов GitHub, сделанном 2026-08-14, он был указан как контекстная информация для этого руководства. Этот снимок не доказывает устойчивую популярность. Репозиторий не является продуктом OdiRouter, и источники не заявляют о какой-либо связи.

Это руководство отвечает на практический вопрос начинающих: как установить нужный вариант Manim, создать небольшую сцену и отрендерить результат, не смешивая инструкции из другого проекта? Целевая фраза — Manim математическая анимация, но приведённые ниже команды соответствуют текущей англоязычной документации репозитория.

Сначала определите нужный проект

3b1b/manim — это исходный проект, связанный с 3Blue1Brown, опубликованный как ManimGL. В 2020 участники создали отдельный проект Manim Community repository. У этих двух проектов разные имена пакетов, команды и документация.

Для этого репозитория установите manimgl. Не копируйте команду Community Edition pip install manim в настройку ManimGL. В README исходного проекта прямо предупреждается, что замена инструкций может привести к неработоспособному окружению.

В метаданных репозитория в настоящее время указан Python 3.10 или более новая версия. В его документации среди системных зависимостей указаны FFmpeg и OpenGL; LaTeX необязателен при рендеринге выражений LaTeX, а Pango требуется в Linux. Точное поведение драйверов, шрифтов и пакетов зависит от вашей операционной системы и зафиксированного вами релиза.

Установите ManimGL в изолированной среде

Используйте виртуальную среду, чтобы пакеты Python для ManimGL не конфликтовали с пакетами другого проекта:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install manimgl
manimgl

Последняя команда запускает CLI. Если вам необходимо работать непосредственно с репозиторием, используйте вместо этого путь для редактирования установки, указанный сопровождающим проекта:

git clone https://github.com/3b1b/manim.git
cd manim
python -m pip install -e .
manimgl example_scenes.py OpeningManimExample

В файле README описаны предварительные требования, специфичные для каждой платформы. В Ubuntu/Debian перечислены FFmpeg, python3-pip и libpango1.0-dev; пакеты LaTeX необязательны для рендеринга формул. В macOS описана установка FFmpeg и MacTeX с помощью Homebrew; в качестве облегчённой альтернативы предлагается BasicTeX, а для процессоров на базе ARM предусмотрен шаг с Cairo. Для работы с Windows требуется FFmpeg на PATH, дистрибутив LaTeX и та же редактируемая установка Python. Считайте это инструкциями сопровождающих проекта, а не универсальной гарантией совместимости.

Прежде чем отлаживать код Python, проверьте системный уровень:

ffmpeg -version
python --version
manimgl --help

Если какая-либо команда отсутствует, сначала исправьте соответствующую зависимость. Избегайте установки одновременно manim и manimgl в одну среду, пока не поймете, какой исполняемый файл ожидает та или иная сцена.

Создайте первую пояснительную анимацию

Создайте start.py рядом с виртуальной средой и добавьте небольшую сцену. В ней используются те же Scene, construct и методы анимации, которые показаны в кратком руководстве репозитория:

from manimlib import *


class SquareToCircle(Scene):
    def construct(self):
        square = Square()
        circle = Circle()
        circle.set_fill(BLUE, opacity=0.5)
        circle.set_stroke(BLUE_E, width=4)

        self.play(ShowCreation(square))
        self.wait()
        self.play(ReplacementTransform(square, circle))
        self.wait()

Запустите интерактивный предварительный просмотр:

manimgl start.py SquareToCircle

Класс сцены является точкой входа. construct() создаёт объекты, self.play() планирует видимые изменения, а self.wait() добавляет паузу. После успешного запуска можно заменить квадрат и круг на NumberPlane, Tex или другой объект из примеров.

Сохраните видео, кадр или контрольный рендер

Флаги CLI, описанные в example_scenes.py, полезны для небольшого цикла обратной связи:

  • -o записывает анимацию и открывает результат;

  • -w записывает анимацию в файл;

  • -s перематывает к концу и сохраняет последний кадр;

  • -n <number> переходит к анимации с указанным номером в сцене.

Например:

manimgl start.py SquareToCircle -o
manimgl start.py SquareToCircle -s

Место вывода и другие значения по умолчанию берутся из custom_config.yml. Храните конфигурацию в каталоге проекта вместо редактирования общей установки и записывайте команду, использованную для любого рендеринга, который вам потребуется воспроизвести.

Устранение неполадок без догадок

  1. manimgl не найден. Убедитесь, что виртуальное окружение активно и что python -m pip show manimgl указывает на ожидаемое окружение.

  2. Сцена импортирует manim вместо manimlib. Проверьте, на какой проект ориентирован пример. Сцены Community Edition не всегда автоматически совместимы с ManimGL.

  3. Рендеринг формул завершается с ошибкой. Убедитесь, что LaTeX установлен и доступен в PATH; LaTeX необязателен только в случае, если вы его не используете.

  4. **Появляются ошибки текста или окон в Linux.**Перед изменением кода сцены перепроверьте заголовочные файлы разработки Pango, драйверы OpenGL и FFmpeg.

  5. После обновления видео отличается. Закрепите релиз или коммит, затем сравните версии custom_config.yml, шрифтов и зависимостей, прежде чем исследовать логику анимации.

В настоящее время в GitHub Releases указана последняя выпущенная версия v1.7.2, в то время как ветка master имеет более новую дату коммита. В управляемой или учебной среде запишите либо тег релиза, либо точный номер коммита и сохраните копию для отката.

Лицензия, сопровождение и безопасное выполнение

Репозиторий и setup.cfg указывают, что проект лицензирован по MIT. Перед распространением бинарных файлов или отрендеренных ресурсов, включающих код проекта, ознакомьтесь с LICENSE.md. В проверенном дереве нет отдельного SECURITY.md, а в этих источниках не был доступен независимый аудит безопасности.

Manim выполняет код сцен на Python и может читать локальные файлы или вызывать установленные инструменты. Относитесь к сторонним сценам как к исходному коду: проверяйте импорты, URL-адреса, вызовы оболочки и пути к файлам; запускайте их в одноразовом виртуальном окружении; не храните секреты в рабочем каталоге; предоставляйте только тот доступ к файловой системе и сети, который разрешён вашей политикой развёртывания. Не считайте популярный репозиторий или актуальный снимок признаком проверки безопасности.

Где уместен OdiRouter и где он неуместен

3b1b/manim не создан OdiRouter, и его установка не настраивает подключение к OdiRouter. Если ваш отдельный рабочий процесс добавляет этап ИИ для подготовки текста озвучивания, комментариев к коду или списка кадров, вы можете ознакомиться с текущими integrations и OpenAI SDK guide от OdiRouter. На этих страницах описаны пути интеграции OdiRouter; они не подтверждают наличие плагина Manim или аффилированности. Подключение любых облачных вызовов должно быть добровольным; ознакомьтесь с тем, как поставщик обрабатывает данные, и не отправляйте частный исходный код или данные учащихся без одобрения.

Итоги

Надёжный первый запуск несложен: осознанно выберите ManimGL, установите manimgl в изолированном окружении Python 3.10+, проверьте FFmpeg/OpenGL (а также LaTeX или Pango при необходимости), отрендерьте сцену «квадрат в круг», затем зафиксируйте версию перед публикацией. Эта последовательность даёт вам практичный рабочий процесс Manim математическая анимация, сохраняя при этом видимыми границы Community Edition, безопасности и конфиденциальности.

Источники

#3b1b manim#Manim математическая анимация#ManimGL установка#OdiRouter#manimgl#анимация формул Python