AnimaGeo Guide
Полное руководство по AnimaGeo — библиотеке, которая превращает
геометрические конструкции (Python-DSL или .ggb) в высококачественные SVG и
MP4-анимации. Каждый пример в этом гайде интерактивный: нажмите
Edit — отредактируйте код — нажмите Run, и
иллюстрация перерисуется через локальный Python-процесс.
Интерактив требует запущенного render-сервера на
127.0.0.1:8765:
cd /path/to/animageo
PYTHONPATH=. python3.13 docs/guide/server/serve.py
Без сервера гайд всё равно читается — иллюстрации показываются как статические SVG.
Попробовать прямо сейчас
python-DSL · попробуйте поменять координаты
A = Point(-4.5, -2)
B = Point(4.5, -2)
C = Point(-0.5, 2.8)
p, a, b, c = Polygon(A, B, C)
alpha = Angle(B, A, C)
beta = Angle(C, B, A)
gamma = Angle(A, C, B)
style(A, B, C, label_visible=True)
alpha.style.label_text = r'$\alpha$'
beta.style.label_text = r'$\beta$'
gamma.style.label_text = r'$\gamma$'
Карта гайда
§1
Что такое AnimaGeo
Пайплайн GGB→SVG/MP4, три источника стилей, место AnimaGeo между GeoGebra и manim.
§2
Установка и первый запуск
Зависимости, требования к Python/manim/cairo, первый Hello-World-скрипт.
§3
Python-DSL
Point, Segment, Polygon, Angle, Circle, Arc, Vector — полный обзор DSL-конструкторов и команд.
§4
Загрузка из GeoGebra
loadGGB, ImportPolicy, reloadPolicy, кэш ggb_raw.
§5
Стили
JSON-стили, палитры, per-element overrides, rendering-флаги, scaling-константы.
§6
Подписи и автораскладка
9-точечные якоря, TeX, autoPlaceLabels, EMA-трекер для addUpdater.
§7
Кривые
Conic (9 ветвей), Function (Piecewise, асимптоты), ImplicitCurve (marching squares).
§8
Анимации
Keyframes (play_keyframes), addUpdater / ValueTracker, easing, live-трекинг подписей.
§9
Экспорт: все форматы
SVG / PDF / EPS / TikZ (вектор) и PNG / GIF / MP4 / WebM / MOV (render); таблица выбора формата, CLI, ptUnit / px_size и pixel-invariance.
§10
Интерактивный веб-экспорт
Живые подвижные чертежи в браузере: exportJSXGraph, контракт animageo-board/v1, рантайм createBoard с сигналами/действиями, <animageo-board> и адаптеры.
§11
Рецепты
Как добиться X: брендинг, унификация, pixel-perfect 2×, z-перекрытия, динамические подписи.
§12
Reference
Полный ключ-референс: JSON-схема, elem.style, экспортёры, animageo-board/v1, CLI, константы, публичное API.
Что такое интерактивный пример
У каждого блока с кодом есть кнопка Edit. Нажав её,
вы переключаете блок в режим редактирования: появляется textarea
с текущим кодом и панель из трёх кнопок.
| Кнопка | Что делает |
|---|---|
Run (или ⌘/Ctrl+Enter) | Посылает текущий код на локальный render-сервер, получает SVG, обновляет иллюстрацию рядом. |
Reset | Возвращает исходный код примера (иллюстрация не сбрасывается). |
Close | Закрывает редактор, возвращает исходный SVG. |
Только один редактор активен за раз — клик по другому примеру автоматически закрывает предыдущий.
Кнопка Скачать всегда отдаёт полный оригинальный .py-скрипт, не фрагмент из редактора.
Локальное исполнение Python. Эндпоинт
/render
выполняет произвольный Python-код через AnimaGeoScene.putCode().
Сервер слушает только 127.0.0.1 и не должен выходить в сеть.