[matplotlib 3D] 32. voxelグラフでheart

matplotlib 3D
スポンサーリンク
スポンサーリンク

はじめに

mplot3dのボクセルグラフにより、立体的な3Dハートを表示する。

スポンサーリンク

コード

と回転アニメーション。

スポンサーリンク

解説

midpointsはトーラスのと同じ。

heart = (x**2+(9/4)*y**2+z**2-1)**3-x**2*z**3-(9/80)*y**2*z**3 < 0

heartの3D形状は以下の式で表される。[1]

$$(x^2 + \frac{4}{9}y^2+z^2-1)^3 -x^2z^3+ -\frac{9}{80}y^2z^3 = 0$$

<0とすることでハートの部分だけボクセルを表示することができる。

ax.grid(False)
ax.set_axis_off()

とすることでgridと軸を非表示にできる。

アニメーションの部分はwireframeの回転アニメーションとおなじ。

スポンサーリンク

参考

  1. Heart Surface — from Wolfram MathWorld

スポンサーリンク
matplotlib 3Dpython
スポンサーリンク
この記事をシェアする
sabopy.comをフォローする
スポンサーリンク
サボテンパイソン

コメント