大家好,我是 i 學習的老章
在數學學習和教學中,將抽象概念可視化對于理解至關重要。Manim 是一個強大的數學動畫引擎,由著名數學科普視頻作者 3Blue1Brown 開發并廣為人知。
老章較早之前就介紹過 manim:B 站上爆紅的數學視頻,居然都是用這個開源項目做的
還寫了一個極簡教程:用 python 制作高逼格的數學動畫
但是,直接使用 Manim 創建動畫通常需要編寫極復雜 Python 代碼,這對于沒有編程背景的用戶來說可能存在一定的門檻。
今天向大家推薦一個很有用的項目——Math-To-Manim
,旨在降低這一門檻,它利用了大模型,如 DeepSeek AI、Google Gemini 和 Grok,來幫助用戶通過更自然、更優化的提示(Prompts)生成 Manim 數學動畫。
項目地址:https://github.com/HarleyCoops/Math-To-Manim/
大模型如何助力數學可視化?
Math-To-Manim
的核心思想是充當用戶自然語言描述與 Manim 代碼之間的橋梁。用戶可以用文字描述他們想要可視化的數學概念或公式,項目背后的人工智能模型會理解這些描述,并將其轉化為可執行的 Manim Python 代碼,進而生成相應的動畫。
每個動畫都配有相應的文檔:
- ?
.md
?文件包含概念解釋 - ?
.tex
?文件提供數學細節 - ? 生成的 PDF 提供視覺指南
Math-To-Manim 主要特點
- ? AI 驅動的動畫生成:核心亮點在于展示了 AI 將抽象數學轉化為具體動畫代碼的能力。
- ? LaTeX 作為精確輸入:強調了使用 LaTeX 進行提示的重要性,這為數學內容的精確表達提供了保障。
- ? 豐富的實例庫:項目中包含了大量由 AI 生成的 Manim 腳本,涵蓋了從量子電動力學 (QED) 到概率論,再到流體動力學(如彈跳球
bouncing_balls.py
)等多個領域。 - ? 跨模型協同:提及利用多個 AI 模型的協同作用,以捕捉單一模型可能忽略的邊緣情況,提升生成動畫的質量和獨特性。
- ? 教育意義重大:生成的動畫可以作為強大的教學工具,將復雜的數學概念分解為易于理解的視覺序列,極大地提升學習體驗。
Math-To-Manim 倉庫中包含了眾多引人入勝的動畫腳本,例如:
- ? 量子電動力學 (QED) (
QED.py
,Verbose_QED.py
): 可視化 QED 拉格朗日量、麥克斯韋方程組從經典形式到張量形式的轉換等。 - ? 閔可夫斯基時空 (
MinkowskiSpace.py
): 展示四維閔可夫斯基時空的線框表示和光錐。 - ? 彈跳的小球 (
3BouncingBalls/bouncing_balls.py
): 模擬不同參數下小球的彈跳行為,直觀展示物理規律。 - ? 擴散模型與最優傳輸 (
diffusion_optimal_transport.py
): 圖解 Benamou-Brenier 定理和 Wasserstein 距離。
這些腳本可以直接用 Manim 引擎渲染,讓用戶親身體驗 AI 生成的數學之舞。
如何運行項目中的腳本?
如果想親自嘗試渲染這些動畫,需要:
- 1. 安裝 Manim Community Edition:這是運行腳本的基礎。
- 2. 安裝 FFmpeg:Manim 依賴 FFmpeg 來處理視頻輸出。
- 3. Python 環境:確保您的 Python 環境滿足項目
requirements.txt
中的依賴。
安裝完成后,您可以進入特定動畫的目錄,使用類似以下的命令來渲染場景:
python?-m?manim?-qh?YourSceneFile.py?YourSceneName
其中:
- ?
-qh
代表高質量渲染。 - ?
-pql
代表低質量預覽(渲染速度更快)。
README 文件中為每個主要示例都提供了具體的渲染指令。
這個項目還提供了圖形界面,運行僅需執行下面命令即可“
python?app.py
值得注意的是,該 GitHub 倉庫主要包含的是這些 AI 生成的 結果文件(Manim 腳本),而非完整的 AI 生成流程或模型本身。盡管如此,這些腳本為我們提供了一個絕佳的窗口,去窺探 AI 在創造性數學可視化領域的驚人潛力。