GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

3b1b

manim – 説明的な数学ビデオのアニメーションエンジン

投稿日:

説明的な数学ビデオのアニメーションエンジン

マニム

説明的な数学ビデオのアニメーションエンジン。

このツールを使って遊びたい人にとっては、私は自分のユースケース(すなわち3b1bビデオ)を構築する際にほとんどのことを念頭に置いており、立ち上げて実行するのが最もフレンドリーなものではないかもしれない。 特に、私は素晴らしい仕事追跡の要件を実行しておらず、ドキュメンテーションは、それを誇張して表現するために、ほとんど排他的に命名規則の形をとっています。

9/10の数学のアニメーションの必要がある場合は、matplotlib、mathematica、After Effectsのようなプログラムではないルートのように、よく管理されたツールを使用する方が良いでしょう。 私はまた、osxに組み込まれている “Grapher”プログラムが本当に素晴らしいと思っています。 このツールを構築して動画に使用する理由は2つあり、他のユーザーのユースケースにどれだけうまく適用できるかはわかりません。

  1. 新しいタイプの数学的なもの(フラクタルなど)で作業したり、別のタイプのアニメーションを試したりしたい場合は、より基本的なオブジェクト/アニメーションと同じように、基礎となるシステムに取り込んで操作する方が簡単です。 確かに、私が他の人と同じであるよりも、私が基礎的なシステムにもっと精通しているので、これが容易である理由の一部は間違いありません。 これにより、アニメーション化の仕方がわからない特定のビデオトピックから逃げるのを防ぐことができます。

  2. 私自身のツールを持っていることは、それ以外の方法で作られたものよりも元のスタイルを持つための強制機能でした。 このコストは、ツールの初期段階でのビデオ制作の速度が遅かったり、何らかの補修を行うときのポイントだったりしますが、芸術的利益は本当のものだと私は思います。 このツールを使用して同じスタイルを採用したい場合は、ぜひお気軽にご利用ください。 実際、私はそれを推奨します。 しかし、独創性の恩恵をもたらすものについてのトリッキーな部分は、この利益を容易に共有することができないということです。

インストール要件

Manimの依存関係は、オペレーティングシステムにインストールする必要があるシステムライブラリに依存します。

  • ffmpeg
  • ラテックス
  • ソックス

次に、Pythonの依存関係をインストールすることができます:

pip install -r requirements.txt

注:pipは、 https: aggdrawからpythonモジュールaggdrawをインストールします。それは追加の依存関係を持っている可能性があります。

これはfreetypeをインストールしませんが、私はそれがこのプロジェクトに必要とは思わない

使い方

次のコマンドを実行してください。

python extract_scene.py example_scenes.py SquareToCircle -p

-pはプレビュー用です。つまり、レンダリングが完了するとビデオファイルが自動的に開きます。 より低品質で高速レンダリングを行うには、-lを使用します。 -sを使用して最後までスキップし、最後のフレームを表示します。 -n(数値)を使用して、シーンのn番目のアニメーションをスキップします。 -fを使用してファインダ内のファイルを表示する(osxの場合)

おそらく、ANIMATIONS_DIR定数を、ビデオファイルを出力するディレクトリに変更する必要があります。

以前の3b1bビデオのコードを見るには、old_projectsフォルダを見てください。 ただし、old_projectsとの下位互換性を考慮せずに、ライブラリを開発することがよくあります。 彼らが動作することを保証して実行するには、そのプロジェクトを完了するコミットに戻る必要があります。

シーンを開発する際に、 -sフラグは、完全なアニメーションを生成することなく、最終的にどのように見えるかを見るだけで役立ちます。 また、-nフラグを使用していくつかのアニメーションをスキップすると便利です。

PiCreaturesシーンは、やや特定の3b1bなので、さまざまな表現のための特定のデザインはパブリック・レポの一部ではありません。 あなたはそれらを実行することができるはずですが、クリーチャーの「普通の」表現を使って後退します。

ドッカー法

すべての依存関係を正しく設定するのはちょっと難しいので、Dockerfileが用意されています。

  1. ドッカーをインストールする
  2. ドッカー画像を構築する。 docker build -t manim .
  3. それを実行します! docker run --rm -v "$PWD/files":/app/files manim example_scenes.py WarpSquare







-3b1b

執筆者: