[python]代码库
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig = plt.figure()
# 创建一个三维的子图对象,设置其位置为1行1列第1个,投影方式为'3d'
ax = fig.add_subplot(111, projection='3d')
# 绘制一条三维的曲线,颜色为红色,宽度为2
line = ax.plot([], [], [], 'r-', linewidth=2)[0]
# 定义参数方程中的参数t,从0到10,间隔为0.1
t = np.arange(0, 10, 0.1)
# 定义参数方程中的x,y,z分量函数
def x(t):
return np.sin(t)
def y(t):
return np.cos(t)
def z(t):
return t
# 定义一个函数来更新每一帧的动画,接受一个参数i表示当前帧数(从0开始)
def update(i):
# 获取当前帧数对应的参数t值
ti = t[i]
# 计算当前帧数对应的x,y,z值
xi = x(ti)
yi = y(ti)
zi = z(ti)
# 更新线段对象列表中的数据,添加当前帧数对应的点
line.set_data([xi], [yi])
line.set_3d_properties([zi])
# 创建一个动画对象,传入图形对象、更新函数、帧数范围、时间间隔等参数
ani = animation.FuncAnimation(fig, update, range(len(t)), interval=100)
plt.show()