このプロジェクトには、3Blue1Brown にある説明的な数学ビデオを生成するために使用されるコードが含まれています。
これは、ほぼ完全に Manim ライブラリを使用して生成されたシーンで構成されています。 ManimCommunity でコミュニティが管理するバージョンも参照してください。
古いプロジェクトには古いバージョンの manim に依存するコードが含まれている可能性があるため、ここですぐに実行できない可能性があります。
ライブラリ Manim 自体はオープン ソース ソフトウェアであり MIT ライセンスに基づいていますが、このリポジトリのコンテンツはクリエイティブ コモンズ 表示 - 非営利 - 継承 4.0 国際ライセンスに基づいて利用できることに注意してください。
manim の使用方法を詳しく説明するためにこのビデオを作成しました。私はコミュニティ エディションではなく 3b1b/manim を使用していることに注意してください。一部の機能は 2 つ間で異なる可能性があります。 manim 自体のインストールとは別に、ワークフローの複製には、私が使用しているテキスト エディターである Sublime を使用したいくつかのカスタム プラグインが必要です。
別のテキスト エディタを使用する場合は、同じ機能を模倣できます。重要なのは、2 つの事実を活用することです。
manimgl (file name) (scene name) -se (line_number)
を実行すると、ファイルのその行でデバッガーのような対話モードになり、シーンと対話するために使用できる iPython ターミナルが使用されます。
その対話モード内で、ターミナルに「checkpoint_paste()」と入力すると、クリップボードにコピーされたコードのビットが実行されます。さらに、コピーされたコードがコメントで始まる場合、初めてそのコメントを見たときにその時点のシーンの状態が保存され、同じコメントで始まるコードに対する今後のすべての呼び出しでは、最初にその状態に戻ります。コードを実行する前のシーンの様子。
私自身のワークフローでは、これらの各コマンドを開始するためのキーボード ショートカットをいくつか設定しました。自分で試してみたい人のために、ここで必要なものを説明します。
Terminus をインストールします (パッケージ コントロール経由)。これは sublime 内で実行されるターミナルで、カーソルの位置、ハイライトされている内容など、sublime 内の状態を取得するプラグインをいくつか作成し、それを使用して目的のコマンド ライン命令を実行できます。
このリポジトリの「sublime_custom_commands」サブディレクトリにあるファイルを取得し、Sublime アプリケーションの Packages/User/ ディレクトリにコピーします。これは、/wherever/your/sublime/lives/Packages/User/ のようなパスを持つディレクトリである必要があります。
これらのコマンドを参照するためにいくつかのキーバインドを追加します。 key_bindings ファイル内にあるものは次のとおりです。メニュー [Sublime Text] -> [設定] -> [キーバインディング] で独自のものを見つけることができます。
{ "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"},
たとえば、「command + shift + R」をカスタムの「manim_run_scene」コマンドにバインドします。カーソルがシーンの行内にある場合、シーンのその時点でインタラクティブ モードになります。カーソルがシーンを定義する行上にある場合、そのシーン全体をファイルにレンダリングするために必要なコマンドがクリップボードにコピーされます。
「command + R」を「manim_checkpoint_paste」コマンドにバインドします。これにより、強調表示されているコードのビットがコピーされ、対話型ターミナルで「checkpoint_paste()」が実行されます。
もちろん、これらを好みのキーボード ショートカットに設定することもできます。
Copyright © 2024 3ブルー1ブラウン