jupyternotebook圣诞树高级代码动态版
时间: 2025-02-01 14:06:05 浏览: 30
Jupyter Notebook圣诞树是一种利用Python编程语言及其可视化库如matplotlib、IPython等创造的交互式图形,通常用于演示节日主题的动画或装饰。它通过循环绘制不同形状的小元素,层层叠加形成一棵三维圣诞树。下面是一个简单的例子,展示如何使用Python和matplotlib动态创建一个动态圣诞树:
```python
import matplotlib.pyplot as plt
from IPython.display import clear_output
import time
# 定义树的基本部分
def draw_tree(n=5):
fig = plt.figure(figsize=(4, 4))
ax = fig.add_subplot(projection='3d')
# 树干
ax.plot([0], [0], [0], 'k', marker='s', markersize=60)
for i in range(1, n+1):
x = [i - 1, i, i - 1]
y = [-n + i, -n + i, n - i]
z = [0, 0, 0]
ax.plot(x, y, z, 'k')
# 球体作为装饰
ball_radius = 0.3 * (n - i)
u = np.linspace(0, 2 * np.pi, 120)
v = np.linspace(0, np.pi, 80)
x球, y球, z球 = ball_radius * np.outer(np.cos(u), np.sin(v)) + i, \
ball_radius * np.outer(np.sin(u), np.sin(v)) + n, \
ball_radius * np.outer(np.ones(np.size(u)), np.cos(v))
ax.plot_surface(x球, y球, z球, color='g', alpha=0.7)
ax.set_xlim(-1.5 * n, 1.5 * n)
ax.set_ylim(-1.5 * n, 1.5 * n)
ax.set_zlim(-0.5 * n, 0.5 * n)
# 动态显示圣诞树
for _ in range(10): # 可以调整次数让树更“慢”地出现
draw_tree()
clear_output(wait=True) # 清除上一轮输出,等待新图完成后再显示
time.sleep(0.5) # 暂停一下,增加效果
```
阅读全文
相关推荐
















