《青花》歌曲,使用3D表现出意境

《青花》歌词 三月走过 柳絮散落 恋人们匆匆 我的爱情 闻风不动 翻阅昨日 仍有温度 蒙尘的心事 恍恍惚惚 已经隔世 遗憾无法说 惊觉心一缩 紧紧握着 青花信物 信守着承诺 离别总在 失意中度过 记忆油膏 反复涂抹 无法愈合的伤口 你的回头 划伤了沉默 那夜重逢 停止漂泊 你曾回来过 相濡相忘 都是疼痛 只因昨日 善良固执 委屈着彼此 打碎信物 取消来世 遗憾无法说 惊觉心一缩 紧紧握着 青花信物 信守着承诺 离别总在 失意中度过 记忆油膏 反复涂抹 无法愈合的伤口 你的回头 划伤了沉默 紧紧握着 青花信物 雕刻着寂寞 就好像我 无主的魂魄 纠缠过往 无端神伤 摔碎谁也带不走 你我一场 唤不醒的梦 紧紧握着 青花信物 信守着承诺 离别总在 失意中度过 记忆油膏 反复涂抹 无法愈合的伤口 你的回头 划伤了沉默 紧紧握着 青花信物 雕刻着寂寞 就好像我 无主的魂魄 纠缠过往 无端神伤 摔碎谁也带不走 你我一场 唤不醒的梦 。

复制代码
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.animation as animation

# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 创建图形和3D轴
fig = plt.figure(figsize=(12, 9))
ax = fig.add_subplot(111, projection='3d')

# 设置简洁的背景色
fig.patch.set_facecolor('#f8f8ff')
ax.set_facecolor('#fafafa')

# 设置标题
ax.set_title('《青花》意境', fontsize=18, color='#2f4f4f', pad=20)

# 隐藏坐标轴
ax.set_axis_off()

# 设置视角
ax.view_init(elev=25, azim=-70)


# 创建简化的青花瓷瓶
def create_vase(u, v):
    r = 1.2 * np.sin(np.pi * v) + 0.1 * np.sin(3 * u)
    x = r * np.cos(u)
    y = r * np.sin(u)
    z = 2.5 * (v - 0.5)
    return x, y, z


# 生成花瓶的网格
u = np.linspace(0, 2 * np.pi, 40)
v = np.linspace(0, 1, 25)
U, V = np.meshgrid(u, v)
X, Y, Z = create_vase(U, V)

# 绘制青花瓷瓶 - 使用更简洁的样式
vase = ax.plot_surface(X, Y, Z, color='#f0f8ff', alpha=0.95,
                       edgecolor='#4682b4', linewidth=0.8, shade=True)

# 添加简单的青花图案
pattern_u = np.linspace(0, 2 * np.pi, 8)
pattern_v = np.linspace(0.3, 0.7, 3)
for pu in pattern_u:
    for pv in pattern_v:
        px, py, pz = create_vase(pu, pv)
        # 绘制简单的蓝色圆点作为花纹
        ax.scatter([px], [py], [pz], color='#4682b4', s=30, alpha=0.8)

# 创建少量柳絮(简化版)
n_pollen = 30
pollen_x = np.random.uniform(-3, 3, n_pollen)
pollen_y = np.random.uniform(-3, 3, n_pollen)
pollen_z = np.random.uniform(-1, 4, n_pollen)
pollen_sizes = np.random.uniform(20, 40, n_pollen)

pollen = ax.scatter(pollen_x, pollen_y, pollen_z,
                    c='#dcdcdc', s=pollen_sizes, alpha=0.7)

# 创建少量记忆光点
n_lights = 15
light_x = np.random.uniform(-2, 2, n_lights)
light_y = np.random.uniform(-2, 2, n_lights)
light_z = np.random.uniform(-1, 3, n_lights)
light_sizes = np.random.uniform(30, 60, n_lights)
light_colors = ['#ffd700', '#ffa500', '#ff8c00']

light_colors_array = np.random.choice(light_colors, n_lights)
lights = ax.scatter(light_x, light_y, light_z,
                    c=light_colors_array, s=light_sizes, alpha=0.6)

# 添加简洁的裂纹效果(象征伤口)
crack_x = np.array([2.8, 3.0, 3.2, 3.4])
crack_z = np.array([0.0, -0.2, 0.1, -0.1])
crack_y = 0.1 * np.sin(5 * crack_x)
ax.plot(crack_x, crack_y, crack_z, color='#8b0000', linewidth=2, alpha=0.7)

# 只显示关键歌词,放置在不干扰主体的位置
key_lyrics = [
    ("三月走过 柳絮散落", (-4, -3.5, 3.5)),
    ("紧紧握着 青花信物", (-4, -3.5, 2.5)),
    ("记忆反复 无法愈合", (-4, -3.5, 1.5)),
    ("你我一场 唤不醒的梦", (-4, -3.5, 0.5))
]

for text, pos in key_lyrics:
    ax.text(pos[0], pos[1], pos[2], text, fontsize=11, color='#2f4f4f',
            ha='left', va='center', fontfamily='serif', alpha=0.8)

# 设置坐标轴范围
ax.set_xlim(-4, 4)
ax.set_ylim(-4, 4)
ax.set_zlim(-2, 4)


# 简化动画效果
def animate(frame):
    # 柳絮缓慢飘动
    pollen_z_new = pollen_z + 0.03 * np.sin(frame * 0.08 + np.arange(n_pollen) * 0.2)
    mask = pollen_z_new > 4
    pollen_z_new[mask] = -1
    pollen._offsets3d = (pollen_x, pollen_y, pollen_z_new)

    # 记忆光点缓慢闪烁
    scale = 0.8 + 0.4 * np.sin(frame * 0.1 + np.arange(n_lights) * 0.3)
    current_sizes = light_sizes * scale
    lights.set_sizes(current_sizes)

    # 缓慢旋转视角
    ax.view_init(elev=25, azim=-70 + frame * 0.3)

    return pollen, lights


# 创建动画
ani = animation.FuncAnimation(fig, animate, frames=360, interval=50, blit=False)

plt.tight_layout()
plt.show()
相关推荐
兜客互动几秒前
2026年AI关键词拓展挖掘软件,高效助力内容创作精准获流
人工智能·python
AI的探索之旅4 分钟前
AI辅助原理图评审:电源去耦、BOOT引脚、VCAP——19项逐一核查,遗漏?不存在的
人工智能·vscode·嵌入式硬件
武子康12 分钟前
Kimi K3 2.8T:开放权重不等于本地可跑 超稀疏 MoE、百万上下文与真实部署边界
人工智能
老刘说AI25 分钟前
AI服务核心: 高并发原理与性能监控调优
人工智能·神经网络·langchain·llama·持续部署
GeekArch28 分钟前
第24讲:Vibe模式代码风格控制——适配Keil/STM32工程规范
人工智能·stm32·单片机·嵌入式硬件·mcu·决策树·ai编程
二川bro1 小时前
从提示工程→Loop循环→Graph图架构,2026AI开发者终极演进路线
人工智能
汤姆yu1 小时前
CodeGeeX 4完整安装与实操使用全指南
人工智能·windows·ai·智能体·视频模型
乐鑫科技 Espressif1 小时前
用 AI 开发 Zephyr-IoT 应用
人工智能·物联网·esp32·乐鑫科技·zephyr
数智化管理手记1 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘