当前位置:   article > 正文

Python绘制玫瑰花_python绘制立体玫瑰花

python绘制立体玫瑰花

程序员的节日到了,给各位程序员花一朵玫瑰吧。

  1. from matplotlib import cm
  2. import matplotlib.pyplot as plt
  3. import numpy as np
  4. fig = plt.figure()
  5. ax = fig.add_subplot(projection='3d')
  6. [x, t] = np.meshgrid(np.array(range(25)) / 24.0, np.arange(0, 575.5, 0.5) / 575 * 17 * np.pi - 2 * np.pi)
  7. p = (np.pi / 2) * np.exp(-t / (8 * np.pi))
  8. u = 1 - (1 - np.mod(3.6 * t, 2 * np.pi) / np.pi) ** 4 / 2
  9. y = 2 * (x ** 2 - x) ** 2 * np.sin(p)
  10. r = u * (x * np.sin(p) + y * np.cos(p))
  11. 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,
  12. cmap=cm.Reds_r, linewidth=0, antialiased=True)
  13. # 自己设置文字内容和显示设置
  14. ax.text(-0.3, 0, 1.2, 'love you ~', color='red')
  15. plt.axis('off')
  16. plt.show()
  • ax = fig.add_subplot(projection='3d')是用于创建一个三维坐标系的子图。在这个子图中,可以使用plot3D()函数来绘制三维图形。同时,可以使用set_xlabel()、set_ylabel()和set_zlabel()函数来设置坐标轴的标签,使用axis()函数来设置坐标轴的可见性,使用grid()函数来设置网格的可见性,使用w_xaxis、w_yaxis和w_zaxis属性来设置坐标轴的背景颜色。
  • [x, t] = np.meshgrid(np.array(range(25)) / 24.0, np.arange(0, 575.5, 0.5) / 575 * 17 * np.pi - 2 * np.pi)该函数用于生成一个二维的坐标矩阵,其中x轴和t轴的取值分别由np.array(range(25))/24.0和np.arange(0, 575.5, 0.5)/575 * 17 * np.pi - 2 * np.pi确定。其中,np.array(range(25))/24.0生成了一个长度为25的等差数列,每个元素都除以24.0,得到了0到1之间的25个数;np.arange(0, 575.5, 0.5)生成了一个从0到575.5的等差数列,步长为0.5,然后每个元素都乘以(17np.pi-2np.pi)/575,得到了一个从-2np.pi到15np.pi的数列。最终,meshgrid函数返回了两个矩阵x和t,它们的形状都是(576, 25)。
  • 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.Reds_r, linewidth=0, antialiased=True)这是一个用于绘制三维图形的代码,其中surf是一个三维曲面对象,由r、t、u、x、y、p等参数决定。具体来说,r、t、u、x、y、p分别代表半径、角度、系数、x坐标、y坐标和旋转角度。这个代码使用了numpy库中的cos和sin函数,以及matplotlib库中的plot_surface函数和Reds_r颜色映射。其中,rstride和cstride参数分别代表行和列的步长,cmap参数代表颜色映射,linewidth参数代表线宽,antialiased参数代表是否开启抗锯齿

祝节日快乐!

参考文章

python绘制立体玫瑰花

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/181436
推荐阅读
相关标签
  

闽ICP备14008679号