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

matplotlib 3D
スポンサーリンク

quiver3d

コード


でできる図。

解説

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倍になった。

コメント