如何在matplotlib中旋转3D表面

如何在matplotlib中旋转3D表面,第1张

如何在matplotlib中旋转3D表面

在我的评论之后:

import mayavi.mlab as mlabimport numpy as npx,y = np.mgrid[-1:1:0.001, -1:1:0.001]z = x**2+y**2s = mlab.mesh(x, y, z)alpha = 30  # degreesmlab.view(azimuth=0, elevation=90, roll=-90+alpha)mlab.show()

或遵循@Tamas答案

#parabaloidimport numpy as npfrom matplotlib import pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfrom math import sin, cos, piimport matplotlib.cm as cmfig = plt.figure()ax = fig.add_subplot(111, projection='3d')#creating gridy = np.linspace(-1,1,200)x = np.linspace(-1,1,200)x,y = np.meshgrid(x,y)#set z valuesz0 = x**2+y**2# rotate the samples by pi / 4 radians around ya = pi / 4t = np.transpose(np.array([x,y,z0]), (1,2,0))m = [[cos(a), 0, sin(a)],[0,1,0],[-sin(a), 0, cos(a)]]x,y,z = np.transpose(np.dot(t, m), (2,0,1))# or `np.dot(t, m)` instead `t @ m`#label axesax.set_xlabel('x')ax.set_ylabel('y')ax.set_zlabel('z')#plot figureax.plot_surface(x,y,z,linewidth=0, antialiased=False, shade = True, alpha = 0.5, facecolors=cm.viridis(z0))plt.show()



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5631910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存