Example #1
0
def update_boids():

    tree = Quadtree(b[0], 0, 0, WIDTH, HEIGHT)
    for i in range(1, len(b)):
        tree.insert(b[i])

    for boid in b:
        accel = [0, 0]
        possible_close_boids = tree.findInCircle(boid.pos[0], boid.pos[1], NEIGHBORHOOD_THRESHOLD)
        if len(possible_close_boids) > 1:
            accel = boid.compute_acceleration(possible_close_boids, SEPARATION_THRESHOLD, C, A, S)
        if Quadtree.pointInCircle(tree, boid.pos[0], boid.pos[1], mouse[0], mouse[1], NEIGHBORHOOD_THRESHOLD):
            accel = list(map(sum, zip(accel, boid.avoid(mouse))))
        boid.update(WIDTH, HEIGHT, accel)