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$'
Базовый треугольник
Скачать: 01-basic.py guide_style.json

Карта гайда

§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 и не должен выходить в сеть.