Balls2d
This commit is contained in:
+18
-1
@@ -6,10 +6,11 @@ use clap::Parser;
|
||||
use rand::prelude::*;
|
||||
use crate::cli::{drive_system};
|
||||
use crate::cli::cli::{StickProbabilityCli, InitialCli, BallsCli, PCM, ModelCli, SurfaceProbabilityMeasureCli};
|
||||
use crate::cli::cli::PCM::Balls2d;
|
||||
use crate::cli::output::write;
|
||||
use crate::surface_probability_measure::{LoggerSticker, ReadOnlyVectorStorage};
|
||||
use crate::system::model::DLASystem;
|
||||
use crate::system::spaces::continuous::{ContinuousSticker, ContinuousStorage, ContinuousWalker};
|
||||
use crate::system::spaces::continuous_3d::{ContinuousSticker, ContinuousStorage, ContinuousWalker};
|
||||
use crate::system::spaces::hexagonal::HexPosition;
|
||||
use crate::system::spaces::kd_grid::{KDSpace};
|
||||
use crate::system::spaces::square_grid::{Grid2D, Grid3D};
|
||||
@@ -112,6 +113,22 @@ fn main() {
|
||||
write(&sys, cli.format, &cli.output);
|
||||
}
|
||||
|
||||
PCM::Balls2d(BallsCli { ball_radius, stick_distance, walk_step }) => {
|
||||
use system::spaces::continuous_2d;
|
||||
|
||||
let mut sys = DLASystem::new(
|
||||
SmallRng::seed_from_u64(cli.seed),
|
||||
continuous_2d::ContinuousStorage { inner: kiddo::KdTree::new(), ball_radius_sq: ball_radius * ball_radius },
|
||||
continuous_2d::ContinuousWalker { walk_step },
|
||||
UniformSpawner,
|
||||
continuous_2d::ContinuousSticker { range_sq: stick_distance * stick_distance },
|
||||
cli.max_particles,
|
||||
);
|
||||
|
||||
drive_system(&mut sys, cli.max_frames, cli.notify_every);
|
||||
write(&sys, cli.format, &cli.output);
|
||||
}
|
||||
|
||||
PCM::Balls(BallsCli { ball_radius, stick_distance, walk_step }) => {
|
||||
let mut sys = DLASystem::new(
|
||||
SmallRng::seed_from_u64(cli.seed),
|
||||
|
||||
Reference in New Issue
Block a user