From aae2ecef857d834e3883dfe4ecc8c5d639b5ab84 Mon Sep 17 00:00:00 2001 From: Niklas Korz Date: Mon, 31 Mar 2025 18:47:39 +0200 Subject: [PATCH] Variable resolution --- src/main.rs | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/main.rs b/src/main.rs index 8cfc354..912a7a9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -30,10 +30,18 @@ fn draw_map(mut query_scene: Single<(&mut Transform, &mut VelloScene)>) { scene.reset(); transform.scale = Vec3::ONE * 30.0; + let grid_size_x = 40; + let grid_max_x = grid_size_x / 2; + let grid_min_x = -grid_max_x; + + let grid_size_y = 20; + let grid_max_y = grid_size_y / 2; + let grid_min_y = -grid_max_y; + let mut rng = rand::rng(); let mut points = Vec::new(); - for x in -20..=20 { - for y in -10..=10 { + for x in grid_min_x..=grid_max_x { + for y in grid_min_y..=grid_max_y { points.push(( (x as f64) + rng.random_range(-JITTER..=JITTER), (y as f64) + rng.random_range(-JITTER..=JITTER), @@ -41,8 +49,8 @@ fn draw_map(mut query_scene: Single<(&mut Transform, &mut VelloScene)>) { } } let diagram = VoronoiDiagram::::from_tuple( - &(-20.0, -10.0), - &(20.0, 10.0), + &(grid_min_x as f64, grid_min_y as f64), + &(grid_max_x as f64, grid_max_y as f64), &points, ) .unwrap(); @@ -65,8 +73,8 @@ fn draw_map(mut query_scene: Single<(&mut Transform, &mut VelloScene)>) { } } - let nx = (center.x + 20.0) / 40.0 - 0.5; - let ny = (center.y + 10.0) / 20.0 - 0.5; + let nx = (center.x + grid_max_x as f64) / (grid_size_x as f64) - 0.5; + let ny = (center.y + grid_max_y as f64) / (grid_size_y as f64) - 0.5; let elevation = (1.0 + noise.get([nx / 0.5, ny / 0.5])) / 2.0; let d = 2.0 * nx.abs().max(ny.abs());