O que manim-skills faz?
Habilidades de Manim (animação matemática) para agentes de codificação de IA — anime equações, plote funções e renderize explicadores no estilo 3Blue1Brown em MP4 com a Edição Comunitária do Manim.
Visão Geral
Este skill permite que agentes de IA gerem animações matemáticas usando a biblioteca Manim Community Edition (manim). Ele é projetado para criar vídeos explicativos de alta qualidade que podem ser incorporados em materiais educacionais, apresentações ou conteúdo online.
Funcionalidades
- Animação de Equações: Transforme expressões matemáticas (LaTeX) em animações dinâmicas.
- Plotagem de Funções: Crie gráficos de funções matemáticas com eixos, rótulos e legendas.
- Renderização 3Blue1Brown: Produza vídeos no estilo de 3Blue1Brown com transições suaves, cores vibrantes e formatação LaTeX.
- Saída MP4: Renderize animações diretamente em arquivos MP4 de alta definição.
Instalação
Certifique-se de que o Manim Community Edition está instalado no ambiente do agente:
pip install manim
Uso Básico
Para criar uma animação, você precisa definir uma classe que herda de Scene (ou MovingCameraScene para efeitos de câmera) e implementar o método construct.
Exemplo: Animando uma Equação
from manim import *
class EquationAnimation(Scene):
def construct(self):
# Cria uma equação LaTeX
equation = MathTex(r"e^{i\pi} + 1 = 0")
# Anima a aparição da equação
self.play(Write(equation))
self.wait(1)
# Transforma a equação
equation2 = MathTex(r"e^{i\pi} = -1")
self.play(TransformMatchingShapes(equation, equation2))
self.wait(2)
Para renderizar:
manim -pql equation_animation.py EquationAnimation
Plotagem de Funções
from manim import *
class FunctionPlot(Scene):
def construct(self):
# Cria eixos
axes = Axes(
x_range=[-3, 3, 1],
y_range=[-1, 9, 1],
axis_config={"include_numbers": True}
)
# Plota a função x^2
graph = axes.plot(lambda x: x**2, color=YELLOW)
# Adiciona rótulo
label = axes.get_graph_label(graph, label="x^2")
self.play(Create(axes), Create(graph), Write(label))
self.wait(2)
Renderize com:
manim -pql function_plot.py FunctionPlot
Práticas Recomendadas
- Uso de Cenas: Cada animação deve ser uma cena separada para facilitar testes e depuração.
- LaTeX: Use
MathTexpara equações eTexpara texto com formatação matemática. - Transições: Prefira
TransformMatchingShapespara transformar objetos de forma suave. - Qualidade de Renderização: Use
-pqh(alta qualidade) para produção e-pql(baixa qualidade) para testes rápidos. - Logs e Erros: Verifique os logs do Manim para depurar problemas de animação.
Referência Rápida de Comandos
| Comando | Descrição |
|---|---|
Write(obj) | Animação de escrita de texto/LaTeX |
Create(obj) | Animação de criação de gráficos/formas |
Transform(obj1, obj2) | Transforma um objeto em outro |
FadeIn(obj) | Desvanecimento de entrada |
FadeOut(obj) | Desvanecimento de saída |
self.wait(t) | Pausa por t segundos |
Suporte e Contribuição
Para problemas ou melhorias, consulte a documentação oficial do Manim.
Habilidades de Manim para agentes de IA — anime o mundo da matemática!