はじめに
matplotlib FuncAnimationによる双曲面の拡張アニメーションについて解説する。
コード
解説
モジュールのインポート
軸と軸ラベルの設定
データの生成
双曲面は媒介変数でデータを生成するので、uとvを先に作成してmeshgridする。
双曲面は媒介変数で以下のようになる。
ここで、a,bをnp.linspace(0,1,100)として、0〜1まで100stepで変化させていく。
アニメーションの設定
plotに最初に表示するグラフをプロットしておく。[]で囲んでリストにしておく。
アニメーションでは古いプロットを消す必要がある。
3Dグラフの場合、plot[0].remove()で消すことができる。
X,Yにa,bの値を順次いれていき、双曲面データを生成する。
plot[0]に3Dグラフをプロットしていく。
アニメーションの表示
FuncAnimationでanimationの表示。updateのnumを100としているので、frame数は100とする。interval=100なので、100msごとに次のグラフと切り替わっていくので100 frames×100 ms = 10000 ms = 10秒のアニメーションとなる。
to_html5_videoでHTMLビデオとしてjupyter notebook上に表示する。
参考
双曲線関数 - Wikipedia
コメント