[matplotlibで錯視] 11. 足踏みアニメーション

その他

はじめに

白黒のストライプを背景にのびる棒のスピードが違って見えるアニメーションを作成する。

コード

コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)

解説

モジュールのインポート

図の生成

縞模様の作成

axhspanをリスト内包表記で繰り返しプロットすることで複数の横長長方形を表示する。
黒とグレーのストライプにする。

各色の長方形を表示

patches.Rectangleにより、各色の長方形を作成する。xyでは長方形の左下の座標を指定し, widthで幅、 ,heightで高さを設定する。fcで色を設定する。ax[0].add_patch()により図中に挿入する。

右図のax[1]には、ストライプ模様を表示せずに、棒のみを表示する。

表示範囲の設定

ax[0].axis(‘off’)で軸を非表示にできる。

アニメーションの設定

set_heightにより、棒の高さを変化させる。return figとする必要がある。

アニメーションの表示

animation.FuncAnimationにより、フレーム数100、間隔50msとした5秒のアニメーションを作成し、
HTML(ani.to_html5_video())でjupyter lab or notebook上に表示する。

参考

ちょっと脳を混乱させたい人の為の6つの面白錯視アニメーション : カラパイア
image credit:lenstore なんとも不思議な錯視の中にはもはやわが目も信じられなくなり混乱をきたしたユーザーが救いを求める現象を招くものもある。  そんな事態に役立ちそうな動画が反響を呼んでいる。うっかりだまされがちな運動系の6つの錯視とその仕組みをきっちり
matplotlib.patches.Rectangle — Matplotlib 3.1.2 documentation
matplotlib.axes.Axes.axhspan — Matplotlib 3.1.2 documentation

コメント