def disrupt_long_connections(particles, max_dist=10): for p in particles: for e in p.edges: n1, n2 = e.nodes if euclidean(n1.vector, n2.vector) > max_dist: disrupt_edge(*e.nodes) return particles
def connect_close_particles(particles, min_dist=3): for p in particles: for p2 in particles: if (p2 is not p) and \ not p.connected(p2) and \ (euclidean(p.vector, p2.vector) < min_dist): connect_nodes(p, p2) return particles