Я действительно новичок в программировании на Python, и в моем последнем проекте мне нужно создать эту анимацию, где 10 точек беспорядочно движутся в пространстве (броуновское движение).
Мой учитель привел мне несколько примеров, но я просто не могу понять, почему моя программа работает неправильно. Ошибка говорит:
"_ includes_frames frame_dir = os.path.dirname (frame_list [0]),
IndexError: список индексов вне диапазона "
Извините, если я не правильно выразился, но английский не является моим родным языком.
from math import *
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits import mplot3d
import matplotlib.animation as animation
fig = plt.figure()
ax = plt.axes(projection='3d')
N=10
x=500*np.random.random(N)
y=500*np.random.random(N)
z=500*np.random.random(N)
def frame(w):
ax.clear()
x=x+np.random.normal(0.0,50.0,10)
y=y+np.random.normal(0.0,50.0,10)
z=z+np.random.normal(0.0,50.0,10)
mensaje="Movimiento Browniano"
plt.title(mensaje)
ax.set_xlim3d(-500.0,500.0)
ax.set_ylim3d(-500.0,500.0)
ax.set_zlim3d(-500.0,500.0)
plot=ax.scatter3D(x, y, z, c='r')
return plot
anim = animation.FuncAnimation(fig, frame, frames=100, blit=False)
anim.save( 'MovimientoBrowniano.html', fps=5 )