Ce projet contient le code utilisé pour générer les vidéos mathématiques explicatives trouvées sur 3Blue1Brown.
Il s'agit presque entièrement de scènes générées à l'aide de la bibliothèque Manim. Voir également la version maintenue par la communauté sur ManimCommunity.
Les projets plus anciens peuvent avoir du code dépendant d'anciennes versions de manim et peuvent donc ne pas fonctionner directement ici.
Notez que bien que la bibliothèque Manim elle-même soit un logiciel open source et sous licence MIT, le contenu de ce référentiel est disponible sous la licence internationale Creative Commons Attribution-NonCommercial-ShareAlike 4.0.
J'ai fait cette vidéo pour montrer davantage comment j'utilise manim. Notez que j'utilise 3b1b/manim, pas l'édition communautaire, certaines fonctionnalités peuvent différer entre les deux. Outre l'installation de manim lui-même, la réplication du flux de travail implique des plugins personnalisés avec Sublime, l'éditeur de texte que j'utilise.
Si vous utilisez un autre éditeur de texte, la même fonctionnalité peut être imitée. La clé est d’utiliser deux faits.
L'exécution de manimgl (file name) (scene name) -se (line_number)
vous fera passer dans un mode interactif sur cette ligne du fichier, comme un débogueur, avec un terminal iPython qui peut être utilisé pour interagir avec la scène.
Dans ce mode interactif, si vous entrez "checkpoint_paste()" dans le terminal, il exécutera le morceau de code copié dans le presse-papiers. De plus, si ce code copié commence par un commentaire, la première fois qu'il verra ce commentaire, il enregistrera l'état de la scène à ce stade, et pour tous les appels futurs au code commençant par le même commentaire, il reviendra d'abord à cet état. de la scène avant d'exécuter le code.
Pour mon propre flux de travail, j'ai configuré des raccourcis clavier pour lancer chacune de ces commandes. Pour ceux qui souhaitent l’essayer eux-mêmes, voici ce que cela implique.
Installez Terminus (via le contrôle des packages). Il s'agit d'un terminal exécuté dans sublime, et il nous permet d'écrire des plugins qui prennent l'état dans sublime, comme l'endroit où se trouve votre curseur, ce qui est en surbrillance, etc., et de l'utiliser pour exécuter une instruction de ligne de commande souhaitée.
Prenez les fichiers dans le sous-répertoire "sublime_custom_commands" de ce dépôt et copiez-les dans le répertoire Packages/User/ de votre application Sublime. Cela devrait être un répertoire avec un chemin qui ressemble à /wherever/your/sublime/lives/Packages/User/
Ajoutez quelques raccourcis clavier pour référencer ces commandes. Voici ce que j'ai dans mon fichier key_bindings, vous pouvez trouver le vôtre dans le menu Sublime Text -> Paramètres -> Keybindings
{ "keys": ["shift+super+r"], "command": "manim_run_scene" },
{ "keys": ["super+r"], "command": "manim_checkpoint_paste" },
{ "keys": ["super+alt+r"], "command": "manim_recorded_checkpoint_paste" },
{ "keys": ["super+ctrl+r"], "command": "manim_skipped_checkpoint_paste" },
{ "keys": ["super+e"], "command": "manim_exit" },
{ "keys": ["super+option+/"], "command": "comment_fold"},
Par exemple, je lie la "commande + shift + R" à une commande personnalisée "manim_run_scene". Si le curseur se trouve à l'intérieur d'une ligne d'une scène, cela vous fera passer en mode interactif à ce point de la scène. Si le curseur est sur la ligne définissant la scène, il copiera dans le presse-papiers la commande nécessaire pour restituer cette scène complète dans un fichier.
Je lie "command + R" à une commande "manim_checkpoint_paste", qui copiera le morceau de code mis en surbrillance, et j'exécuterai "checkpoint_paste()" dans le terminal interactif.
Bien sûr, vous pouvez les définir selon les raccourcis clavier que vous préférez.
Copyright © 2024 3Blue1Brown