python画动态星空图
时间: 2023-09-08 16:13:46 浏览: 203
可以使用 Python 的 matplotlib 库来画动态星空图。下面是一个简单的实现:
```python
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig, ax = plt.subplots()
# 生成一些随机的星星
num_stars = 100
stars = np.random.rand(num_stars, 2) * 2 - 1
# 绘制星空图
ax.scatter(stars[:, 0], stars[:, 1], s=1, color='white')
# 设置坐标轴范围和隐藏坐标轴
ax.set_xlim(-1, 1)
ax.set_ylim(-1, 1)
ax.set_axis_off()
# 定义动画函数
def update(frame):
# 每帧都将星星随机移动一小步
step_size = 0.01
stars[:, 0] += np.random.randn(num_stars) * step_size
stars[:, 1] += np.random.randn(num_stars) * step_size
# 将移动后的星星重新绘制到图上
ax.clear()
ax.scatter(stars[:, 0], stars[:, 1], s=1, color='white')
ax.set_xlim(-1, 1)
ax.set_ylim(-1, 1)
ax.set_axis_off()
# 创建动画对象
ani = animation.FuncAnimation(fig, update, frames=100, interval=50)
# 显示动画
plt.show()
```
运行代码后,会弹出一个窗口,显示动态的星空图。每帧都会将星星随机移动一小步,从而产生动画效果。可以根据自己的需要修改代码,例如修改星星的数量、颜色等。
阅读全文