赞
踩
- from matplotlib import cm
- import matplotlib.pyplot as plt
- import numpy as np
-
- class Rose3D:
- def __init__(self):
- self.fig = plt.figure()
- self.ax = self.fig.add_subplot(projection='3d')
-
- def plot(self):
- [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 = self.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.Reds_r,linewidth=0, antialiased=True)
- # 设置文字内容和显示设置
- self.ax.text(-0.3, 0, 1.2, 'love you ~', color='red')
- self.ax.axis('off')
- plt.show()
-
- # 创建Rose3D对象并绘制立体玫瑰花
- rose = Rose3D()
- rose.plot()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。