数学のアニメーションを作れるPythonライブラリManim
はじめに
数学のアニメーションなどを作成するライブラリとしてManim
というライブラリがある。
Manim
は、pythonを使ってアニメーションを作ることができ、
3Blue1Brownでアニメーションを作るのに使われている。
例として、下の動画のアニメーションがManim
で作られている。
様々なアニメーションを作れることがわかる。
今回は、このManim
を動かしてみて、サンプル動画を作成してみる。
githubのリポジトリ : https://github.com/3b1b/manim。
リポジトリのダウンロードと必要ライブラリのインストール
windows10で、anacondaを使ってインストールしてみる。 anacondaはインストールしてある前提である。
まず、manimのgithubリポジトリをダウンロードする。
ダウンロードの方法は、git clone
を使ったり、直接GithubからZIPでダウンロードする
などの方法がある。今回は、GithubのリポジトリからZIPをダウンロードする。
Clone or donwload
から、Download ZIP
を押して、リポジトリのZIPをダウンロードする。
ZIPファイルを解凍すると、manim-master
というフォルダーが出来ている。
さらにその中にも、manim-master
というフォルダーがあり、
その中にファイルが入っている。
展開が終わったら、必要なライブラリをインストールしていく。
今回は、anacondaを使い、仮想環境を作ってインストールした。
まずは、展開したフォルダーへと移動する。
cd
コマンドを使って上の画像のようにファイルが置いてある所まで移動する。
cd ~/Downloads/manim-master/manim-master/
仮想環境を作り、必要なライブラリをインストールする。
environment.yml
で指定されているライブラリをインストール
して仮想環境を作成した。
conda env create -f environment.yml
仮想環境を作り終わったら、仮想環境を起動する。
conda activate manim
サンプル動画作成
必要なライブラリのインストールが終わったので、試してにサンプルを動かしてみる。
サンプルファイルはenvironment.yml
が置いてあったのと同じフォルダー内にある、
example_scenes.py
である。
実行方法は、python -m manim ファイル名 クラス名
で実行する。
追加でオプションを付けることができる。
下のオプションは、便利なオプションとして紹介されていたものである。
他にも、オプションがあるが、今回は使わない。
オプション | 説明 |
---|---|
-p |
動画生成後に、動画プレイヤーで再生する |
-l |
動画の画質を低くして、動画生成を早める |
python -m manim example_scenes.py SquareToCircle -p
実行してみると、./media/videos
に使ったファイル名のexample_scenes
というフォルダーがあり、
さらにその中に、1440p60
というフォルダーが出来ている。
このフォルダーの中に、SquareToCircle.mp4
と部分的な動画ファイルがpartial_movie_files
フォルダーに入っている。
生成された動画が下のもの。
オプションの-l
を足して、クオリティを下げて動画を作ってみた。
実行してみると、example_scenes
のフォルダーに480p15
というフォルダーができて、その中に動画が入っている。
動画は、画質もfpsも落ちている。
python -m manim example_scenes.py SquareToCircle -p -l
これで、Manimに必要なライブラリをインストールして、動画を生成することが出来た。
さいごに
数学アニメーションを作成できるpythonライブラリManim
をインストールして、
サンプル動画を生成してみた。
すごく簡単にアニメーション動画を作ることができる便利なライブラリだった。
次は、サンプルの中身を見ていきたい。