小试牛刀——用python画一朵美丽的玫瑰花
注:代码非原创,只是效果复现。
要求:python 中安装了numpy和matplotlib包
代码如下:
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
from matplotlib.ticker import LinearLocator
import matplotlib.pyplot as plt
import numpy as np
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()
在python自带的IDE中运行,效果如下:
一朵美丽绽放的玫瑰花送给你~~~