はじめに
中心から放射状に光線が発せられているように見える「きらめくスターバースト」錯視をmatplotlibで作成して表示する。
コード
解説
モジュールのインポート
バージョン
七角形を作成する関数
RegularPolygonを使って多角形を作成する。numVerticesで何角にするかを選択でき、radiusで半径、orientationで向き、lwで線の太さを調整できる。ここでは角を7とし、半径、向きと線の太さを調整できる関数を作成する。
図の作成
figsize=(5,5)
で縦横比の等しい図を作成する。
表示範囲の設定
軸の非表示と背景色の設定
set_facecolorで背景色を設定する。
spines.top.set_visible(False)で上軸を非表示にできる。bottom, left,rightについても同様にする。
tick_paramsのlabelleftなどをFalseとすることでラベルを非表示にすることができる。
軸の非表示と背景色の設定
make_7kaku(9,0,5)のようにして、半径9, 角度0,線幅5の7角形を作成し、ax.add_artist()で図中に追加する。複数の7角形を同様の手法で追加すると下のような錯視が得られる。
9角形の場合
9角形の場合は下記のようになる。
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)参考
あるはずのない光線が見える新たな錯視が報告される
同じ色のはずなのに違う色に見えるといった、視覚による錯覚を「錯視」と呼びます。これまでにさまざまな幾何学的錯視が報告されていますが、新たに、「光線を放っているように見える幾何学」の存在が発表されました。
matplotlib.patches.RegularPolygon — Matplotlib 3.9.3 documentation
matplotlib.axes.Axes.set_facecolor — Matplotlib 3.9.3 documentation
コメント