prefacio
Hola, hola, cuenta regresiva de tres días y nueve horas para la víspera de Año Nuevo
La última vez que publiqué un artículo sobre fuegos artificiales, parece que mucha gente todavía necesita código
Hagamos una flor única hoy~ (Dáselo a quien te guste)
Efecto
Sin más preámbulos, veamos primero el efecto, después de todo, no puedo hacer nada si no se ve bien.
Déjame decirte de antemano que haré mi mejor esfuerzo.
el código
módulo
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.font_manager import FontProperties
- Cambie la perspectiva de dibujar la imagen, es decir, la posición de la cámara, azim gira a lo largo del eje z y elev a lo largo del eje y
El contenido de texto en el medio se puede personalizar y modificar.
python学习交流Q群:309488165 ### 源码领取
fig = plt.figure(figsize=(6, 8))
ax = fig.gca(projection='3d')
elev = 22
azim = 2.5
ax.view_init(elev, azim) # 改变绘制图像的视角,即相机的位置,azim沿着z轴旋转,elev沿着y轴
font_set = FontProperties(fname=r"C:\Windows\Fonts\simhei.TTF", size=20)
ax.text(1, -0.8, 0, '"唯一的花送给我爱的宝贝"', fontproperties=font_set)
[x, t] = np.meshgrid(np.array(range(30)) / 28.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))
h = 4 + u * (x * np.cos(p) - y * np.sin(p)) * 3
c = cm.get_cmap('Reds')
surf = ax.plot_surface(r * np.cos(t), r * np.sin(t), h, rstride=1, cstride=1, color='r', # cmap= c,可改变花朵颜色
alpha=0.8, linewidth=0, antialiased=True) # rstride和cstride为横竖方向的绘图采样步长,越小绘图越精细。
tallo de la flor
- Divide el círculo en 50 partes iguales.
u2 = np.linspace(0, 2 * np.pi, 50)
- Divida la altura 1 en 20 partes, el rango de altura del tallo de la rosa
h2 = np.linspace(0, 4, 20)
- valor xy repetido 20 veces
x2 = np.outer(0.05 * np.sin(u2), np.ones(len(h2)))
y2 = np.outer(0.05 * np.cos(u2), np.ones(len(h2)))
- altura correspondiente a x, y
z2 = np.outer(np.ones(len(u2)), h2)
código completo
Código fuente Click para recibir
Por fin
El intercambio de hoy termina aquí.
Por cierto, me gustaría recomendarte algunos videos tutoriales de Python, con la esperanza de ayudarte:
Colección de enseñanza basada en cero de Python
Si tiene alguna pregunta sobre el artículo u otras preguntas sobre python, puede dejar un mensaje en el área de comentarios o enviarme un mensaje privado. Si
cree que el artículo que compartí es bueno, puede seguirme o darle un pulgar hacia arriba. (/≧▽≦)/