Exemple #1
0
 def rule1(self, this_boid, boids, flock):
     for boid in boids:
         if boid is not this_boid and (boid.pos - this_boid.pos).magnitude() < 70:
             flock.append(boid)
     if len(flock) > 0:
         avg = Vector.average([boid.pos for boid in flock])
         return (avg - this_boid.pos)*(50.0/100.0)
     return Vector(0, 0)
Exemple #2
0
 def rule1(self, hoik, boids, flock):
     for boid in boids:
         if (boid.pos - hoik.pos).magnitude() < 200:
             flock.append(boid)
     if len(flock) == 0:
         for boid in boids:
             if (boid.pos - hoik.pos).magnitude() < 400:
                 flock.append(boid)
     if len(flock) > 0:
         avg = Vector.average([boid.pos for boid in flock])
         return (avg - hoik.pos)*(50.0/100.0)
     return Vector(0, 0)
Exemple #3
0
 def rule3(self, this_boid, flock):
     avg = Vector.average([boid.dir for boid in flock])
     return avg - this_boid.dir * (1.0/8.0)