Skip to content

NickScherbakov/Manimify2Explain

Repository files navigation

Manimify2Explain

From Boring Texts to Animated Insights

Manimify2Explain — это проект с открытым исходным кодом, направленный на автоматизацию преобразования PDF-документов (учебников, конспектов и прочих образовательных материалов) в анимированные скрипты для Manim. Проект помогает превращать скучные и статичные тексты в динамичные визуализации, которые делают сложные темы доступными и понятными.

Особенности проекта

  • Извлечение данных из PDF:
    Используются библиотеки PyMuPDF или PyPDF2 для извлечения текста и изображений из PDF-файлов.

  • Анализ графических объектов:
    Обработка изображений, содержащих таблицы и графы, с помощью OpenCV и Tesseract. Графы превращаются в структуры с использованием NetworkX.

  • Генерация Manim-скриптов:
    Преобразование извлечённого текста, таблиц и графов в Manim-сцену, позволяющую создавать анимированные объяснения сложных тем.

  • Автоматизация пайплайна:
    Интеграция всех этапов (извлечение, анализ, генерация) в единый процесс для быстрой обработки PDF-документов.

Архитектура проекта

Проект разделён на несколько модульных компонентов:

  • pdf_extractor.py
    Отвечает за извлечение текста и изображений из PDF-файлов.
  • table_processor.py
    Реализует предварительную обработку изображений и использует Tesseract для извлечения текста из таблиц.
  • graph_processor.py
    Анализирует изображения для выделения графических элементов и строит структуру графа с помощью OpenCV и NetworkX.
  • manim_script_generator.py
    Преобразует полученные данные в скрипт для Manim, создавая визуализацию.
  • main.py
    Объединяет все модули в единый пайплайн, позволяющий автоматически обрабатывать PDF и генерировать Manim-сцену.

Установка и запуск

  1. Клонируйте репозиторий:

    git clone https://github.com/NickScherbakov/Manimify2Explain.git
    cd Manimify2Explain
  2. Создайте виртуальное окружение и активируйте его:

    python -m venv venv
    # Для Linux/MacOS:
    source venv/bin/activate
    # Для Windows:
    venv\Scripts\activate
  3. Установите зависимости:

    pip install -r requirements.txt
  4. Запустите основной модуль:

    python main.py your_file.pdf

    (Замените your_file.pdf на путь к вашему PDF-документу.)

  5. Сгенерируйте и отрендерите Manim-сцену:

    После успешного выполнения main.py в корневом каталоге появится файл generated_manim_scene.py. Чтобы запустить рендеринг, выполните:

    manim -p -ql generated_manim_scene.py AutoScene

Вклад и развитие проекта

Мы стремимся создать инструмент, который значительно облегчит работу преподавателей, студентов и инженеров, превращая сложные и сухие тексты в наглядные и динамичные анимации. Manimify2Explain — это открытый проект, и мы рады видеть вклад каждого участника: от улучшения алгоритмов обработки изображений до разработки новых функций визуализации.

Особо хочу отметить роль Copilot — моего AI-ассистента, который сыграл важную роль в формировании архитектуры проекта и подготовке подробных инструкций для реализации всех его модулей. Его предложения помогли упорядочить идеи, сформировать чёткий план разработки и подготовить этот README, который направляет вас к успешному участию.

Как внести вклад

  • Ознакомьтесь с CONTRIBUTING.md для получения детальных инструкций по внесению изменений.
  • Посмотрите открытые Issues для поиска задач, которые вы можете взять.
  • Присоединяйтесь к обсуждениям и помогите улучшить проект!

Лицензия

Этот проект распространяется под [указать тип лицензии, например, MIT License]. Пожалуйста, смотрите файл LICENSE для получения подробной информации.


Давайте вместе превратим скучные тексты в живые анимационные объяснения!


---

Этот README.md обобщает все ключевые аспекты проекта **Manimify2Explain** и подчёркивает вклад Copilot как важного партнёра в разработке. Если у вас возникнут вопросы или предложения по улучшению, не стесняйтесь открывать новый [Issue](https://github.com/NickScherbakov/Manimify2Explain/issues) или обращаться к нам — мы рады вашему участию!

About

From Boring Texts to Animated Insights

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages