[matplotlib 3D] 13. 3Dグラフでベクトル

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

はじめに

matplotli mplot3dのquiver3dを用いて、3Dグラフ上にベクトルを表示する例を解説する。

スポンサーリンク

コード

スポンサーリンク

解説

x, y, z = np.meshgrid(np.arange(-0.8, 1, 0.2),
                      np.arange(-0.8, 1, 0.2),
                      np.arange(-0.8, 1, 0.8))

x, y, zの位置は矢印の尻尾。

u = np.sin(np.pi * x) * np.cos(np.pi * y) * np.cos(np.pi * z)
v = -np.cos(np.pi * x) * np.sin(np.pi * y) * np.cos(np.pi * z)
w = (np.sqrt(2.0 / 3.0) * np.cos(np.pi * x) * np.cos(np.pi * y) *
     np.sin(np.pi * z))

u, v, wは矢印のベクトル。

ax.quiver(x, y, z, u, v, w, length=0.1, normalize=True)

x, y, zからu, v, wの方向に矢印を描写できる。

normalize = Falseとした場合

ax.quiver(x, y, z, u, v, w, normalize=False)

normalize = Trueよりも矢印が短くなった。

lengthを変化させた場合

ax.quiver(x, y, z, u, v, w, length = 0.2, normalize=False)

矢印の長さが2倍になった。

スポンサーリンク

参考

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

コメント