はじめに
matplotlibのplt.fillと螺旋の式を用いて、渦巻きのアニメーションをFuncAnimationで表示する方法について解説する。
コード
解説
モジュールのインポート
螺旋データの生成
螺旋データの生成については下記で説明した。
[matplotlib] 45. fillでプロットの内側を塗りつぶして表示
matplotlibのfillでプロットの内側を塗りつぶす方法について説明する。
アニメーションの設定
螺旋のfillをいれるための空のリストを作成する。
リスト内にfillのプロットがある場合は、それを消去する。
回転の設定をする。10度ずつ変化するアニメーションとする。cos, sinを用いて各データを原点を中心に回転する。
ax.fillで各色の螺旋をplotして、それらをリストにいれる。このリスト内のプロットが順次入れ替わることでアニメーションとなる。
アニメーションの表示
fillする幅を広めたアニメーション
dt1 = dt1 + np.pi/4.0 などを dt1 = dt1 + np.pi/2.0 にすることで幅広螺旋アニメーションとなる。
逆回転のアニメーション
update関数内のdegnum = np.deg2rad(10num)をdegnum = np.deg2rad(-10num)にすることで逆回転になる。
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)参考
Fill Spiral — Matplotlib 3.1.2 documentation
matplotlib.animation.FuncAnimation — Matplotlib 3.9.2 documentation
コメント