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-сцену.
-
Клонируйте репозиторий:
git clone https://github.com/NickScherbakov/Manimify2Explain.git cd Manimify2Explain
-
Создайте виртуальное окружение и активируйте его:
python -m venv venv # Для Linux/MacOS: source venv/bin/activate # Для Windows: venv\Scripts\activate
-
Установите зависимости:
pip install -r requirements.txt
-
Запустите основной модуль:
python main.py your_file.pdf
(Замените
your_file.pdf
на путь к вашему PDF-документу.) -
Сгенерируйте и отрендерите 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) или обращаться к нам — мы рады вашему участию!