#[path = "common/print.rs"] mod print; use dyna3::engine::{ realize_gram, sphere, ConfigNeighborhood, ConstraintProblem, }; fn main() { let mut problem = ConstraintProblem::from_guess({ let a: f64 = 0.75_f64.sqrt(); &[ sphere(1.0, 0.0, 0.0, 1.0), sphere(-0.5, a, 0.0, 1.0), sphere(-0.5, -a, 0.0, 1.0), ] }); for j in 0..3 { for k in j..3 { problem.gram.push_sym(j, k, if j == k { 1.0 } else { -1.0 }); } } let realization = realize_gram( &problem, 1.0e-12, 0.5, 0.9, 1.1, 200, 110 ); print::title("Three spheres"); print::realization_diagnostics(&realization); if let Ok(ConfigNeighborhood { config, .. }) = realization.result { print::gram_matrix(&config); } print::loss_history(&realization.history); }