import numpy as np
import matplotlib.pyplot as plt
plt.figure(1) #elegimos figura en la que plotearemos
plt.clf()
plt.axis([-10, 10, -10, 10])
n = 10
pos = (20 * np.random.sample(n*2) - 10).reshape(n, 2)
vel = (0.5 * np.random.normal(size=n*2)).reshape(n, 2)
sizes = 100 * np.random.sample(n) + 100
colors = np.random.sample([n, 4])
circles = plt.scatter(pos[:,0], pos[:,1], marker="o", s=sizes, c=colors)
for i in range(30):
pos = pos + vel#se actualiza posiscion de pelotas a traves de velocidad
bounce = abs(pos) > 10
vel[bounce] = -vel[bounce]
circles.set_offsets(pos)
plt.pause(0.05)
我想制作一个动画情节,每次运行程序时球的初始位置都相同。但是当我运行它时,每个球的速度都必须改变。有没有一种方法可以在不改变代码的情况下轻松做到这一点?
1条答案
按热度按时间h43kikqp1#
你只需要设置numpy随机生成器种子如下:
您可以使用您选择的种子。但每次您将使用相同的种子运行代码时,将生成相同的数字,并且您的球将出现在相同的位置。