3 pontos por GN⁺ 2025-08-24 | 1 comentários | Compartilhar no WhatsApp
  • Manim é um motor de animação preciso, baseado em programação, para a criação de vídeos explicativos de matemática
  • É um projeto desenvolvido pelo autor do 3Blue1Brown para seus próprios vídeos educacionais
  • Também existe uma versão fork mantida pela comunidade, com avanços em usabilidade, contribuições e testes
  • Funciona com base em Python e exige várias dependências de sistema, como FFmpeg, OpenGL e LaTeX
  • É open source (licença MIT), permitindo que qualquer pessoa use e contribua livremente

Importância e vantagens do projeto Manim

  • O Manim é um motor de animação open source desenvolvido para explicar visualmente, de forma eficaz, conceitos de matemática e ciência
  • Diferentemente de outras ferramentas de vídeo, ele permite criar animações precisas baseadas em código, sendo excelente para visualizar ideias matemáticas complexas passo a passo
  • É mantido diretamente pelo 3Blue1Brown e é visto como uma ferramenta única, moldada pela experiência prática e pelo know-how de produção de vídeos educacionais
  • Uma versão fork da comunidade também está sendo desenvolvida ativamente em paralelo, formando um ecossistema amigável para desenvolvedores, no qual várias melhorias são incorporadas rapidamente

Visão geral do projeto

  • O Manim é um motor de animação programável e preciso para explicações matemáticas, capaz de implementar livremente fórmulas, formas geométricas e o desenvolvimento de conceitos diversos em vídeo
  • Originalmente começou como uma ferramenta para a produção dos vídeos educacionais do 3Blue1Brown, e o código dedicado relacionado a isso também é publicado em um repositório separado
  • Em 2020, uma versão da comunidade foi criada por fork para que mais pessoas pudessem usá-lo com facilidade, formando um ecossistema com melhorias em estabilidade, contribuições da comunidade e testes

Principais características e requisitos

  • Divide-se em ManimGL (original) e Manim Community Edition (fork da comunidade)
    • Como a instalação e o uso diferem entre as versões, é preciso escolher antecipadamente qual delas você deseja usar
    • Ao instalar via pip, é possível instalar a versão original pelo nome de pacote manimgl
  • É necessário Python 3.7 ou superior e, em alguns ambientes, também são exigidos FFmpeg, OpenGL, LaTeX e Pango para Linux

Guia de uso (exemplo)

  • São fornecidos exemplos de código, arquivos de cena e comandos de execução
  • Também é possível consultar e aproveitar vários exemplos de cenas, a documentação e o código dedicado usado nos vídeos reais do 3Blue1Brown
  • Na execução via linha de comando, são oferecidas várias flags para:
    • salvar o arquivo resultante, pular a cena inteira, executar em tela cheia e suportar diversos modos de saída e ambientes personalizados
  • É possível configurar detalhes do ambiente, como estilo, qualidade e caminhos, por meio do arquivo custom_config.yml

Documentação e contribuição

  • A documentação oficial é fornecida em um site separado, e também há uma versão em chinês e recursos adicionais de personalização
  • Como todo projeto open source, pull requests e contribuições da comunidade são muito bem-vindos
  • É distribuído sob licença MIT, permitindo que qualquer pessoa o modifique e redistribua livremente

Informações técnicas e estatísticas

  • É composto principalmente por linguagens como Python (96.3%) e GLSL (3.7%)
  • Conta com mais de 80 mil estrelas e 6.800 forks no GitHub, mostrando alta popularidade e forte participação da comunidade
  • Mais de 167 contribuidores diferentes estão ativos no projeto

Resumo

  • O Manim é um motor de animação programável especializado em visualizações matemáticas e científicas precisas e detalhadas
  • É muito útil para criadores de vídeos educacionais, especialistas em visualização de dados e desenvolvedores que precisam de animações baseadas em código
  • Curva de aprendizado rápida, ambiente customizável, liberdade para contribuir e crescimento da comunidade são diferenciais importantes

1 comentários

 
GN⁺ 2025-08-24
Comentários no Hacker News
  • Tenho percebido que isso funciona muito bem hoje em dia junto com assistentes de programação; com prompts como “preciso de um diagrama em que a equação X se transforme em Y”, quase sempre consigo exatamente o que quero de primeira. Acho que isso acontece porque a sintaxe é simples e há inúmeros exemplos open source de manim usados no treinamento. Parece um ótimo exemplo de quanto os agentes de código com IA economizam tempo. Se o vídeo final sai bom, não preciso me preocupar tanto com o processo detalhado, então esse jeito acaba sendo mais conveniente.

    • Lembro de ter ouvido em um podcast com o Grant Sanderson que ele tentou gerar código manim automaticamente com LLMs, mas comentou que o resultado não foi muito bom. Acho que isso no fim mostra que há uma grande diferença entre o nível de proficiência ou o padrão que nós imaginamos e o que o Grant considera adequado.

    • Fico curioso para saber como seria combinar isso com RAG sobre a documentação.

  • Já usei Manim em materiais de apresentação para aulas e foi uma experiência realmente divertida. Muita gente reconheceu o estilo, a apresentação foi muito bem recebida e, por sorte, conheci o Grant pessoalmente alguns anos atrás. Quando falei que tinha usado Manim, ele pareceu genuinamente feliz, e isso me marcou. Ele é uma pessoa incrível que contribui muito para o conhecimento e a compreensão da humanidade.

  • Acho que o 3b1b é realmente uma maravilha da internet. As animações são lindas e as explicações cuidadosamente lapidadas impressionam muito. Mas há uma coisa que eu não entendo: como uma única biblioteca consegue implementar em animação conceitos tão diferentes? Parece que tudo deveria ser um trabalho totalmente customizado, mas talvez o Grant opere em um nível mais alto de pensamento matemático.

    • Sobre por que uma única biblioteca consegue implementar tantos conceitos diferentes: existe uma enorme quantidade de objetos criados pela comunidade com base em primitivas centrais, e você pode usá-los como ponto de partida para customizar. Veja a documentação de objetos do manim.
  • Para a maioria das pessoas, acho que o link da versão fork da comunidade é mais apropriado: Manim Community GitHub

    • O projeto criado pelo Grant é realmente excelente, porque não é o caso de um simples mantenedor de biblioteca open source, mas de alguém genuinamente envolvido e especialista no domínio, que desenvolve e mantém algo porque não existia uma ferramenta adequada para a aplicação real dele. Já o fork da comunidade, na minha visão, é tocado por pessoas tentando construir infraestrutura e adaptar a ferramenta a muitos casos de uso, em vez de mantê-la alinhada ao propósito em si. No fim, isso a afasta cada vez mais do objetivo original e sacrifica a experiência do usuário. Vejo aí a diferença entre algo feito por um desenvolvedor especialista para realizar o próprio trabalho e um fork mantido mais por continuidade e divulgação.

    • Fico curioso se o fork foi criado por um bom motivo ou apenas por causa de controvérsia. Li a explicação sobre o fork, mas ainda não entendo exatamente o motivo, já que o Grant continua mantendo o original.

  • Estou procurando com bastante empenho um renderizador de animação baseado em código focado não em matemática, mas em infográficos, gráficos e motion graphics em geral. As opções tradicionais são After Effects, Davinci Fusion, Blender, Cavalry etc., mas desde que experimentei PovRay antigamente e depois Manim, não consigo parar de pensar em ferramentas de motion graphics baseadas em código/texto. Parece algo que poderia brilhar quando combinado com LLMs. Têm surgido serviços de motion graphics com base em ChatGPT, mas o que eu quero não é um gerador de vídeo web desses; quero uma ferramenta baseada em código ou linguagem de template, que possa renderizar repetidamente com qualquer dado e ainda funcionar offline ou em automação.

  • Quando usei Manim, uns 4 anos atrás, parecia sofrer de uma espécie de kwargs-itus, com praticamente todos os parâmetros colocados em kwargs, e isso até impedia type annotations, tornando o uso desnecessariamente difícil. Tentei contribuir com melhorias, mas não tive muita resposta, então fico curioso sobre como isso mudou recentemente.

  • Esse projeto aparece com frequência no HN e costuma render boas discussões, então deixo um link de busca em vez de um link de discussão: resultados de busca por manim no HN

    • Fico curioso se existe alguma awesome list que dê uma visão geral do ecossistema de software manim. Estou reunindo alguns materiais abaixo:

      • Manim: Math Animation,
      • Src: ManimCommunity/manim,
      • Docs: documentação oficial,
      • GitHub Topic: manim
      • Projetos de extensão do manim: manimML, manim-physics, chanim, manim-web(dart), JAnim(java), ranim(rust), manim-voiceover, git-sim, TheoremExplainAgent, reactive-manim, jupyter-manim, manim-sideview(vscode), manim-studio(Qt, Cairo)
      • Em awesome-manim, do ManimCommunity, dá para ver uma lista de criadores que usam manim
      • Recomendo pesquisar manim no YouTube busca por manim no YouTube
    • Pelo que eu sabia, o HN normalmente não permite duplicatas do mesmo link; será que é possível registrar repetidos?

  • Estou reunindo links de discussões antigas no HN e posts Show HN sobre Manim:

  • O que o Grant criou com 3blue1brown e Manim é realmente impressionante. Graças à alta qualidade dos vídeos e das visualizações, até temas abstratos ficam fáceis de entender. Isso já é mencionado no README, mas eu realmente gostaria de recomendar a demo em vídeo em que o Grant apresenta o processo de trabalho dele com Manim (link do YouTube).

  • Projeto realmente muito legal; cliquei nele porque imediatamente me lembrou um vídeo impressionante antigo, Animation vs Math no YouTube. Eu gosto de matemática, mas sinto que mostrar gráficos gigantes não é necessariamente a melhor forma de apresentar isso às pessoas.

    • Em vez de apenas mostrar gráficos gigantes, acho que o 3Blue1Brown contribuiu enormemente para o avanço da forma de ensinar matemática ao investir na produção dos vídeos, na distribuição do Manim e na expansão da comunidade de youtubers de matemática. Ele não tentou simplesmente manter uma base de fãs para si, mas ajudou a construir um ecossistema aberto. O Sal Khan também merece elogios por isso. Graças a esforços assim, surgiu um tipo de conteúdo em que a matemática parece menos memorização e manipulação de símbolos e mais uma jornada interessante de exploração.