代码不是原创的,只是运行出效果。
刚开始导入这些代码可有能报错,需要安装cm matplotlib
frommpl_toolkits.mplot3dimportAxes3D
frommatplotlibimportcm
frommatplotlib.tickerimportLinearLocator
importmatplotlib.pyplotasplt
importnumpyasnp
fig=plt.figure
ax=fig.gca(projection='3d')
[x,t]=np.meshgrid(np.array(range(25))/24.0,np.arange(0,575.5,0.5)/575*17*np.pi-2*np.pi)
p=(np.pi/2)*np.exp(-t/(8*np.pi))
u=1-(1-np.mod(3.6*t,2*np.pi)/np.pi)**4/2
y=2*(x**2-x)**2*np.sin(p)
r=u*(x*np.sin(p)+y*np.cos(p))
surf=ax.plot_surface(r*np.cos(t),r*np.sin(t),u*(x*np.cos(p)-y*np.sin(p)),rstride=1,cstride=1,cmap=cm.gist_rainbow_r,
linewidth=0,antialiased=True)
plt.show
运行结果图:
点击加载图片