在我的评论之后:
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()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)