python写一个3d粒子悬浮爱心代码
时间: 2024-10-20 12:03:51 浏览: 565
在Python中,我们可以使用matplotlib库结合numpy和pyplot模块来创建一个3D粒子悬浮爱心的效果。以下是一个简单的示例,使用了matplotlib的mplot3d工具包来展示这一场景:
```python
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 创建爱心形状的数据点
def create_heart(x, y):
return (x**2 - y**2)**3 + x*y*(6*x**2 - y**2)
# 粒子数据范围
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
# 计算爱心形状的高度
Z = create_heart(X, Y)
# 创建3D图形
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制爱心形状和粒子
ax.plot_surface(X, Y, Z, alpha=0.4) # 爱心背景
scatter = ax.scatter(X.flatten(), Y.flatten(), Z.flatten(), c='r', s=2) # 粒子悬浮
# 设置视角并调整轴比例
ax.view_init(elev=45, azim=-45)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_box_aspect((np.ptp(X), np.ptp(Y), np.ptp(Z)))
plt.show()
阅读全文