Add grid layout for images.

This commit is contained in:
hal8174 2024-09-18 13:55:03 +02:00
parent 65c0a85889
commit 812f246706
4 changed files with 89 additions and 31 deletions

View file

@ -3,7 +3,7 @@ use std::time::Instant;
use crate::belt_finding::common::PathField;
use crate::belt_finding::conflict_avoidance::ConflictAvoidance;
use crate::common::visualize::{Color, Symbol, Visualization, Visualize};
use crate::common::visualize::{image_grid, Color, Symbol, Visualization, Visualize};
use crate::prelude::*;
use rand::{seq::SliceRandom, Rng};
use serde::{Deserialize, Serialize};
@ -94,6 +94,10 @@ impl<'a> GeneticAlgorithm<'a> {
duration_mutate.as_secs_f32()
);
self.population[0].print_visualization();
let v: Vec<_> = self.population.iter().map(|p| p.visualize()).collect();
let img = image_grid(&v, v[0].size().x as u32, v[0].size().y as u32, 5);
let mut file = std::fs::File::create("generation.png").unwrap();
img.write_to(&mut file, image::ImageFormat::Png).unwrap();
}
pub fn output_population(&self) {