프로젝트 소개

AnimaGeo는 GeoGebra 기하 작도물을 고품질 도형과 애니메이션으로 변환하는 도구입니다. .ggb 파일을 파싱하고, 요소 간의 의존성 그래프를 재구성하며, manim을 통해 렌더링하고, 정적 벡터 형식(SVG, PDF, EPS, TikZ, 대화형 JSXGraph) 또는 애니메이션 비디오(MP4, GIF, WebM, PNG)로 내보냅니다. 주요 기능으로는 점, 선, 선분, 반직선, 벡터, 다각형, 각도, 원, 호, 부채꼴, 원뿔곡선, 명시적 함수, 음함수 곡선, 사용자 도구 매크로를 지원하는 충실한 GeoGebra 가져오기가 있습니다. Python DSL을 사용하면 GeoGebra 파일 없이도 직접 작도물을 만들 수 있으며, 477개의 타입별 디스패치 시그니처로 뒷받침되는 100개의 명령 팩토리를 제공합니다. 스타일 시스템은 계층적 기본값, 타입별/이름별 오버레이, 구성 가능한 가져오기 정책을 갖춘 JSON을 사용합니다. 자동 레이블 배치는 정적, 키프레임, 프레임별 동적 모드를 지원하는 겹침 방지 솔버를 사용합니다. 애니메이션 기능으로는 요소 표시/숨기기, ValueTracker로 자유 변수 구동, JSON 키프레임 시퀀스가 있습니다. 내보내기 대상으로는 Cairo를 통한 SVG/PDF/EPS, LaTeX용 네이티브 시맨틱 TikZ, 웹 런타임이 있는 대화형 JSXGraph, manim을 통한 MP4/GIF/WebM/PNG가 있습니다. 이 패키지는 AI 에이전트 친화적이며, `animageo --ai-guide`를 통해 접근할 수 있는 자급자족 사용 가이드를 제공합니다. 설치는 pip(`pip install --upgrade animageo`)를 통해 이루어지며, Python 3.11 이상이 필요합니다. 명령줄 인터페이스는 형식, 크기, 스타일, 키프레임 등을 위한 다양한 옵션을 지원합니다. Python 통합을 통해 GGB 파일을 로드하고, DSL 코드로 확장하고, 요소의 스타일을 변경하고, 정적 이미지를 내보내고, 장면을 애니메이션화할 수 있습니다. 키프레임 애니메이션 v2는 기하/값 트랙, 스타일 트랙, 입장/퇴장 효과가 있는 가시성, 이징, 카메라 팬/줌, 이벤트를 지원합니다. 스타일 시스템에는 프리셋, 기본값, 오버레이, 렌더링, 가져오기 섹션이 있으며 픽셀 불변 값을 사용합니다. 방대한 문서는 빠른 시작, 아키텍처, API, 키프레임, DSL, 스타일, 가져오기 정책, 내보내기 형식 등을 다룹니다. 이 프로젝트는 Apache-2.0에 따라 라이선스가 부여됩니다.