[matplotlibで錯視] 7. エビングハウス錯視

その他

はじめに

エビングハウス錯視は視覚心理学における代表的な錯視の一つです。同じ大きさの円が、大きな円に囲まれると小さく見え、小さな円に囲まれると大きく見える現象を指します。この記事では、Pythonのmatplotlibライブラリを用いて、このエビングハウス錯視を再現する方法について解説します。視覚的な錯覚の仕組みを理解し、プログラミングで表現することで、心理学と情報技術の融合について学ぶことができます。

コード

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

解説

モジュールのインポート

データの生成

外の円のためのデータを生成します。媒介変数で円の中心の位置を設定しています。

左の図の設定

外側の円

xとyはそれぞれ6個あるので、それぞれのx,yでCircleにより円を作成します。ax1.add_patch(circle)で図中に円を表示できます。

中心の円

軸の設定

ax1.axis(‘off’)で軸を非表示にできます。

右の図の設定

左の図と同様に設定します。中心の円は、Circle((0, 0), 0.15,color=’tab:orange’)であり左の図と同じです。

gridを表示した場合

gridを参考にすれば同じ大きさであることが分かります。

まとめ

本記事では、エビングハウス錯視をmatplotlibを使って再現する方法を紹介しました。同じ大きさの中心円が、周囲の円の大きさによって異なって見える現象を視覚化することができました。このような錯視現象は私たちの脳が視覚情報を処理する過程で生じるものであり、プログラミングによってその効果を確認できることは興味深いといえます。Pythonとmatplotlibを活用することで、心理学の古典的な実験を簡単に再現できることも示されました。

参考

エビングハウス錯視 - Wikipedia
matplotlib.patches.Circle — Matplotlib 3.10.6 documentation

コメント