該專案包含用於生成 3Blue1Brown 上的解釋性數學影片的程式碼。
這幾乎完全由使用 Manim 庫生成的場景組成。另請參閱 ManimCommunity 上的社群維護版本。
較舊的專案可能具有依賴舊版本 manim 的程式碼,因此可能無法在此處開箱即用。
請注意,雖然 Manim 庫本身是開源軟體並且在 MIT 許可證下,但該儲存庫的內容可在 Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License 下使用。
我製作這個影片是為了更多地展示我如何使用 manim。請注意,我使用的是 3b1b/manim,而不是社群版,兩者之間的某些功能可能有所不同。除了安裝 manim 本身之外,複製工作流程還涉及我使用的文字編輯器 Sublime 的一些自訂外掛程式。
如果您使用其他文字編輯器,可以模仿相同的功能。關鍵是要利用兩個事實。
執行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 -> Settings -> 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"},
例如,我將“command + shift + R”綁定到自訂“manim_run_scene”命令。如果遊標位於場景的一行內,這將使您進入場景中該點的交互模式。如果遊標位於定義場景的行上,它將將該完整場景渲染到檔案所需的命令複製到剪貼簿。
我將“command + R”綁定到“manim_checkpoint_paste”命令,該命令將複製突出顯示的任何程式碼,並在互動式終端中執行“checkpoint_paste()”。
當然,您可以將它們設定為您喜歡的任何鍵盤快捷鍵。
版權所有 © 2024 3Blue1Brown