Manim:Pythonで使える数学アニメーションライブラリ

以前、畳み込みニューラルネットワークの仕組みを可視化した例を探した時に、数学をアニメーションで視覚的に解説する3Blue1BrownというYouTubeチャンネルを知った。



そのYouTubeチャンネルの動画作りに使われているアニメーションエンジンがPythonのライブラリとして公開されている↓

Manim: Mathematical Animation Engine



Manimは、正確なプログラマティックアニメーションのためのエンジンであり、数学の解説ビデオを作成するために設計されています。

Manimには2つのバージョンがあることに注意してください。 このリポジトリは、3Blue1Brownの作者がアニメーション動画作成のために始めた個人プロジェクトで、動画固有のコードはこちらから入手できます。

このリポジトリを2020年に開発者グループがフォークし、現在のコミュニティエディションとなりました。こちらはより安定し、より適切にテストされ、コミュニティの貢献に迅速に対応し、より親しみやすく始められることを目標としています。詳細はこちらのページを参照してください。





ということで、こちらがコミュニティエディション↓

Manim Community



Manimは数学の解説ビデオ作成用のアニメーションエンジンです。 3Blue1Brownの動画のような正確なアニメーションをプログラムで作成することができます。

注意:このリポジトリはManimCommunityによって管理されており、Grant Sandersonや3Blue1Brownとは一切関係ありません(ただし、このworkを世界に提供してくれた彼には間違いなく感謝しています)。 Grantがどのようにビデオを作成しているかを調べたい場合は、彼のリポジトリ (3b1b/manim)にアクセスしてください。このフォーク版はGrantのリポジトリよりも頻繁に更新されます。自分のプロジェクトでManimを使用する場合はこのフォーク版の使用をお勧めします。

ManimCEとか呼ばれたりもしてるみたい。



Example Galleryを見るとコードと可視化例が一望できて良いですね。

ちなみに、東京大学の学生有志団体が3Blue1Brownを日本語訳した3Blue1BrownJapanを公開している↓



2023年2月 追記:Manim Communityを利用して機械学習の概念を視覚的に説明するためのライブラリも登場↓
ManimML:機械学習の概念を視覚的に説明するためのライブラリ
数学の概念をアニメーションで視覚的に説明するためのManim, Manim Community Library↓に加えて、機械学習の概念をアニメーションで説明するためのプロジェクト↓ManimMLManimMLは、Manim Communi...

2025年7月 追記:Manim Communityの日本語のチュートリアル動画シリーズが始まった↓


関連記事

『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハ...

PyMC:Pythonのベイズ統計ライブラリ

書籍『データビジュアライゼーションのデザインパターン20』読...

SONY製のニューラルネットワークライブラリ『NNabla』

uvでWindows11のPython環境を管理する

Perfumeのライブパフォーマンスのビジュアル

OpenCVで平均顔を作るチュートリアル

OpenMVS:Multi-View Stereoによる3次...

Python for Unity:UnityEditorでP...

Google製オープンソース機械学習ライブラリ『Tensor...

2D→3D復元技術で使われる用語まとめ

ROSでガンダムを動かす

Caffe:読みやすくて高速なディープラーニングのフレームワ...

Google App Engineのデプロイ失敗

書籍『ROSプログラミング』

AfterEffectsプラグイン開発

CNN Explainer:畳み込みニューラルネットワーク可...

BlenderProc:Blenderで機械学習用の画像デー...

OpenCVでPhotoshopのプラグイン開発

Gource:バージョン管理の履歴を可視化するツール

科学技術計算向けスクリプト言語『Julia』

Raspberry Pi 2を買いました

3分の動画でプログラミングを学習できるサイト『ドットインスト...

ブログのデザイン変えました

OpenSfM:PythonのStructure from ...

SDカードサイズのコンピューター『Intel Edison』

UnityでLight Shaftを表現する

UnityのGameObjectの向きをScriptで制御す...

C++始めようと思うんだ

FCN (Fully Convolutional Netwo...

ZBrushのZScript入門

OpenCVの三角測量関数『cv::triangulatep...

OpenCV 3.1から追加されたSfMモジュール

Windows10でPyTorchをインストールしてVSCo...

AndroidもopenGLも初心者さ (でもJavaは知っ...

PyDataTokyo主催のDeep Learning勉強会

Unityの各コンポーネント間でのやり取り

UnityでShaderの入力パラメータとして行列を渡す

OpenCVでカメラ画像から自己位置認識 (Visual O...

Kubric:機械学習用アノテーション付き動画生成パイプライ...

C++ 標準テンプレートライブラリ (STL)

Google Colaboratoryで遊ぶ準備

コメント