用Jupyter Notebook实现立体旋转的爱心
时间: 2024-12-26 08:20:34 浏览: 6
在Jupyter Notebook中实现立体旋转的爱心通常涉及到数据可视化和图形库,比如matplotlib和plotly等。下面是一个简单的步骤示例,我们将使用matplotlib的3D功能来创建一个旋转的心形:
1. 首先,确保安装了必要的库,如`matplotlib`, `numpy`和`scipy`。如果没有安装,可以使用以下命令安装:
```bash
!pip install matplotlib numpy scipy
```
2. 导入所需的库并设置样式:
```python
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
# 设置3D图形的样式
fig = plt.figure(figsize=(6, 6))
ax = fig.add_subplot(111, projection='3d')
ax.set_aspect('equal', 'datalim') # 确保正方形比例
ax.view_init(elev=30, azim=-45) # 设置初始视图角度
```
3. 创建心形的数据点,这里我们使用一些数学函数来构造一个心形轮廓:
```python
u = np.linspace(0, 2 * np.pi, 100)
v = np.linspace(0, np.pi / 2, 100).reshape(-1, 1)
x = (np.cos(u) * (1 + np.cos(v))) * np.cos(u)
y = (np.sin(u) * (1 + np.cos(v))) * np.sin(u)
z = np.sin(v) * np.sin(u)
```
4. 将数据点绘制出来,并添加旋转动画:
```python
def animate(i):
ax.view_init(elev=i * 5, azim=-45 * i) # 动画过程中改变视角
return [ax.plot_surface(x, y, z, rstride=10, cstride=10,
color='hot', alpha=0.8)]
ani = animation.FuncAnimation(fig, animate, frames=np.arange(0, 360, 5),
interval=50, blit=True)
plt.show()
```
这个代码会创建一个交互式的3D心形动画,你可以通过鼠标滚轮或点击滑块来调整视角,观察到立体爱心的旋转效果。
阅读全文