pub fn fruchterman_reingold<F, V>( step_fn: F, max_iter: usize, converge_eps: f32, k_r: f32, k_s: f32, min_pos: &V, max_pos: &V, node_positions: &mut [V], node_neighbors: &[Vec<usize>], )where V: Vector<Scalar = f32>, F: Fn(usize) -> f32,