physarum/src/main.rs
2021-03-02 14:40:12 -05:00

30 lines
856 B
Rust

use indicatif::{ProgressBar, ProgressStyle};
use physarum::model;
use rand::Rng;
fn main() {
let n_iterations = 400;
let pb = ProgressBar::new(n_iterations);
pb.set_style(
ProgressStyle::default_bar()
.template(
"{spinner:.green} [{elapsed_precise}] [{bar:40.cyan/blue}] {pos}/{len} ({eta})",
)
.progress_chars("#>-"),
);
let (width, height) = (1024, 1024);
let n_particles = 1 << 22;
let diffusivity = 1;
let n_populations = 1 + rand::thread_rng().gen_range(1..4);
let mut model = model::Model::new(width, height, n_particles, n_populations, diffusivity);
model.print_configurations();
for i in 0..n_iterations {
model.step();
pb.set_position(i);
}
pb.finish_with_message("Finished!");
model.save_to_image("out.png");
}