Skip to main content

layout_kamada_kawai_3d

Function layout_kamada_kawai_3d 

Source
pub fn layout_kamada_kawai_3d(
    graph: &Graph,
    weights: Option<&[f64]>,
    params: &KkParams3d,
    bounds: Option<&KkBounds3d>,
) -> IgraphResult<Vec<[f64; 3]>>
Expand description

Compute 3D Kamada-Kawai layout.

Three-dimensional variant; same algorithm but solves a 3×3 system per iteration using Cramer’s rule.

§Examples

use rust_igraph::{Graph, layout_kamada_kawai_3d, KkParams3d};

let mut g = Graph::with_vertices(4);
g.add_edge(0, 1).unwrap();
g.add_edge(1, 2).unwrap();
g.add_edge(2, 3).unwrap();
g.add_edge(3, 0).unwrap();

let params = KkParams3d::default_for(4);
let pos = layout_kamada_kawai_3d(&g, None, &params, None).unwrap();
assert_eq!(pos.len(), 4);
assert_eq!(pos[0].len(), 3); // x, y, z