3 points par GN⁺ 2025-08-24 | 1 commentaires | Partager sur WhatsApp
  • Manim est un moteur d’animation précis, piloté par programmation, destiné à la création de vidéos explicatives de mathématiques
  • Il s’agit d’un projet développé par l’auteur de 3Blue1Brown pour ses propres vidéos pédagogiques
  • Il existe également une version forkée par la communauté, qui progresse sur les plans de l’ergonomie, des contributions et des tests
  • Il fonctionne sur une base Python et requiert diverses dépendances système comme FFmpeg, OpenGL et LaTeX
  • C’est un projet open source (licence MIT) que chacun peut utiliser et auquel chacun peut contribuer librement

Importance et avantages du projet Manim

  • Manim est un moteur d’animation open source développé pour expliquer efficacement et visuellement des concepts de mathématiques et de sciences
  • Contrairement à d’autres outils vidéo, il permet de créer des animations précises basées sur du code, ce qui en fait un excellent choix pour visualiser étape par étape des idées mathématiques complexes
  • Géré directement par 3Blue1Brown, il est considéré comme un outil original nourri par une réelle expérience de production de vidéos éducatives et un savoir-faire concret
  • Une version forkée par la communauté est aussi activement développée en parallèle, avec une structure favorable aux développeurs où diverses améliorations sont rapidement intégrées

Vue d’ensemble du projet

  • Manim est un moteur d’animation programmable de haute précision pour l’explication des mathématiques, permettant de mettre en scène librement dans une vidéo des formules, des figures et des développements conceptuels variés
  • Il a d’abord été créé pour la production des vidéos pédagogiques de 3Blue1Brown, et le code spécifique lié à ces vidéos est également publié dans un dépôt séparé
  • En 2020, une version communautaire a été forkée afin de le rendre plus facile d’accès pour un plus grand nombre d’utilisateurs, créant un écosystème en amélioration sur la stabilité, les contributions de la communauté et les tests

Principales caractéristiques et prérequis

  • Manim se divise en ManimGL (version d’origine) et Manim Community Edition (fork communautaire)
    • L’installation et l’utilisation diffèrent selon la version, il faut donc choisir à l’avance celle que l’on souhaite utiliser
    • Lors d’une installation via pip, la version d’origine peut être installée avec le nom de package manimgl
  • Python 3.7 ou version ultérieure est requis, ainsi que FFmpeg, OpenGL et, dans certains environnements, LaTeX ainsi que Pango pour Linux

Guide d’utilisation (exemple)

  • Des exemples sont fournis, incluant du code, des fichiers de scène et des commandes d’exécution
  • Il est possible de consulter et d’utiliser plusieurs scènes d’exemple, la documentation, ainsi que le code dédié aux vraies vidéos de 3Blue1Brown
  • L’exécution en ligne de commande propose différents flags pour
    • enregistrer le fichier de résultat, ignorer des scènes complètes, lancer en plein écran, etc., avec plusieurs modes de sortie et des environnements personnalisables
  • Le fichier custom_config.yml permet d’ajuster finement des paramètres comme le style, la qualité et les chemins

Documentation et contributions

  • La documentation officielle est proposée sur un site distinct, et une version chinoise ainsi que des ressources personnalisées supplémentaires sont également disponibles
  • Comme tout projet open source, il accueille activement les pull requests et les contributions de la communauté
  • Distribué sous licence MIT, il peut être librement modifié et redistribué par tous

Informations techniques et statistiques

  • Le projet est principalement composé de Python (96,3 %) et de GLSL (3,7 %)
  • Avec 80 000 étoiles GitHub et plus de 6 800 forks, il affiche une forte popularité et une participation active de la communauté
  • Plus de 167 contributeurs différents y participent

Résumé

  • Manim est un moteur d’animation programmable spécialisé dans la visualisation précise et détaillée des mathématiques et des sciences
  • Il est particulièrement utile pour les créateurs de vidéos éducatives, les spécialistes de la visualisation de données et les développeurs ayant besoin d’animations basées sur du code
  • Sa courbe d’apprentissage rapide, son environnement personnalisable, la liberté de contribution et la croissance de sa communauté en font ses principaux facteurs de différenciation

1 commentaires

 
GN⁺ 2025-08-24
Discussion sur Hacker News
  • Ces temps-ci, avec les assistants de code, j’ai constaté que ça fonctionne vraiment très efficacement ; avec des prompts du genre « j’ai besoin d’un diagramme où l’équation X se transforme en Y », j’obtiens presque toujours le résultat voulu du premier coup. La syntaxe simple et les nombreux exemples open source de manim ont manifestement servi à l’entraînement. Je trouve que c’est un excellent exemple de tout le temps que les agents de code IA peuvent faire gagner. Tant que la vidéo finale est réussie, je me soucie peu des détails du processus, donc cette approche me convient davantage.

    • Je me souviens d’avoir entendu dans un podcast avec Grant Sanderson qu’il avait essayé de générer automatiquement du code manim avec un LLM, mais qu’il avait trouvé le résultat médiocre. J’en conclus qu’il y a sans doute un grand écart entre le niveau de maîtrise ou les critères que nous avons en tête et ceux de Grant.

    • Je me demande ce que ça donnerait en combinant cela avec du RAG sur la documentation.

  • J’ai utilisé Manim pour des supports de présentation en cours, et l’expérience a été vraiment agréable. Beaucoup de gens ont reconnu le style, la présentation a été très bien reçue, et j’ai même eu la chance de rencontrer Grant en personne il y a quelques années. Quand je lui ai dit que j’utilisais Manim, il en a été sincèrement ravi, ce qui m’a marqué. C’est quelqu’un de formidable qui apporte une immense contribution au savoir et à la compréhension de l’humanité.

  • Pour moi, 3b1b est vraiment une merveille d’Internet. Les animations sont superbes et les explications soigneusement peaufinées forcent l’admiration. Cela dit, il y a une chose que je ne comprends pas bien : comment une seule bibliothèque peut-elle animer autant de concepts différents ? J’aurais pensé que tout relevait de travail sur mesure, mais peut-être que Grant travaille à un niveau de pensée mathématique plus élevé.

    • Pour expliquer comment une seule bibliothèque peut couvrir autant de concepts, il existe énormément d’objets créés par la communauté à partir de primitives de base, et on peut partir de ces objets pour les personnaliser. Voir la documentation des objets manim.
  • Je pense que, pour la plupart des gens, le lien vers le fork communautaire est plus approprié : Manim Community GitHub

    • Le projet créé par Grant est vraiment exceptionnel, parce qu’il ne s’agit pas simplement d’un mainteneur de bibliothèque open source, mais de quelqu’un qui connaît profondément son domaine, s’y investit sincèrement, et a développé puis maintenu l’outil faute de trouver quelque chose d’adapté à son application réelle. À l’inverse, le fork communautaire me donne l’impression d’être porté par des gens qui veulent construire de l’infrastructure et l’adapter à de nombreux use cases plutôt qu’à l’objectif initial ; au final, cela éloigne progressivement le projet de sa vocation d’origine et sacrifie aussi l’expérience utilisateur. J’y vois la différence entre un spécialiste qui construit un outil pour faire son propre travail et un fork maintenu surtout pour de la maintenance et de la promotion.

    • Je me demande si le fork a été créé pour de bonnes raisons ou simplement à cause d’une controverse. J’ai lu l’explication liée au fork, mais je ne comprends toujours pas exactement pourquoi, alors même que Grant continue de maintenir l’original.

  • Je cherche activement un moteur de rendu d’animation piloté par le code, centré non pas sur les maths mais sur les infographies, graphiques et motion graphics généralistes. Les solutions classiques sont After Effects, Davinci Fusion, Blender, Cavalry, etc., mais depuis avoir utilisé jadis PovRay puis plus tard Manim, l’idée d’un outil de motion graphics basé sur du code ou du texte ne me quitte plus. Avec les LLM, ça pourrait vraiment prendre tout son sens. On voit apparaître récemment des services de motion graphics basés sur ChatGPT, mais ce que je veux n’est pas un générateur vidéo web de ce type : je cherche plutôt un outil fondé sur du code ou un langage de template, capable de rerendre de manière répétée avec n’importe quelles données, et utilisable hors ligne ou en automatisation.

  • Quand j’ai essayé Manim il y a environ quatre ans, c’était au point qu’on aurait pu parler de « kwargs-itis » : tous les paramètres ou presque passaient par des kwargs, et les annotations de type étaient impossibles, ce qui rendait l’usage inutilement difficile. J’avais essayé de proposer des améliorations sans grand écho, donc je me demande comment cela a évolué récemment.

  • Ce projet revient souvent sur HN et suscite toujours de bonnes discussions, donc au lieu d’un lien vers un seul fil, je mets un lien de recherche : résultats de recherche manim sur HN

    • Je me demande s’il existe une awesome list qui permette d’avoir une vue d’ensemble de l’écosystème logiciel autour de manim ; je rassemble ici quelques ressources

      • Manim: Math Animation,
      • Src: ManimCommunity/manim,
      • Docs: documentation officielle,
      • GitHub Topic: manim
      • Projets d’extension 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)
      • La liste des créateurs utilisant manim est disponible dans ManimCommunity/awesome-manim : awesome-manim
      • Recherche recommandée sur YouTube pour manim : recherche YouTube manim
    • Je croyais qu’en général HN n’autorisait pas les doublons pour un même lien ; je me demande s’il est réellement possible de le soumettre plusieurs fois.

  • Je rassemble ici d’anciennes discussions HN et des liens Show HN autour de Manim

  • Le résultat que Grant a produit avec 3blue1brown et Manim est vraiment impressionnant. Grâce à la très haute qualité des vidéos et des visualisations, même des sujets abstraits deviennent plus faciles à comprendre. C’est déjà mentionné dans le README, mais je recommande vraiment la vidéo de démonstration où Grant montre son processus de travail avec Manim (lien YouTube).

  • C’est vraiment un superbe projet, et j’ai immédiatement pensé à l’ancienne vidéo marquante Animation vs Math en cliquant : Animation vs Math sur YouTube. J’aime les maths, mais montrer d’énormes graphes n’est pas forcément la meilleure manière de parler aux gens.

    • Plus que les énormes graphes eux-mêmes, je pense que 3Blue1Brown a énormément contribué à faire progresser la pédagogie des maths en produisant ses vidéos, en diffusant Manim et en aidant l’essor d’une communauté de YouTubeurs de maths. Au lieu de chercher simplement à posséder son audience, il a créé publiquement un écosystème. Sal Khan mérite lui aussi des éloges sur ce point. Grâce à ce genre d’efforts, les maths peuvent apparaître non plus comme de la mémorisation et de la manipulation de symboles, mais comme un domaine passionnant qui invite à l’exploration.