下面是我的代码车库模拟器,我正在建设。我被困的是,能够生成汽车开到某个车库(garage1),直到该车库满了,然后生成的车开到第二个车库。在
因为我希望我的模拟能准时随机工作。我不得不用某种泊松分布来生成汽车。但是如果第一个车库很忙的话,我似乎找不到任何关于如何生成它们并让它们移到另一个车库的灵感。 (在这里,我只有一个车库,这就是目标)
class People(object):
def __init__(self,c,xpos,ypos,speed,xgoal,ygoal):
self.c=c
self.xpos=xpos
self.ypos=ypos
self.speed=speed
self.xgoal=xgoal
self.ygoal=ygoal
def show(self):
#stroke(0)
fill(self.c)
rectMode(CENTER)
rect(self.xpos,self.ypos,20,10)
def drive(self):
self.xpos=self.xpos + (self.xgoal - self.xpos)*0.05 * self.speed
self.ypos=self.ypos + (self.ygoal - self.ypos)*0.05 * self.speed
person1=People(color(255,0,0),35,280,1,120,10)
person2=People(color(0,255,0),60,280,1,300,15)
def setup():
size(450,320)
def draw():
person1.show()
person1.drive()
person2.show()
person2.drive()
对标题中问题的纯Python回答(似乎只与整个问题松散相关):
这个答案使用了这样一个事实:如果事件以一定的速率以指数分布的间隔时间到达,那么在给定的时间单位内到达的次数遵循相同速率的泊松分布。虽然它不会像numpy解决方案那样快,但它仍然相当快。我能够在不到一秒钟内生成100000个样本,速率=10。在
Numpy可以从Poisson分布中随机抽取样本。对于给定的平均值和样本数,可以使用
相关问题 更多 >
编程相关推荐