From 6a6ba96c967117a258da13ae1a5c775ae0099b48 Mon Sep 17 00:00:00 2001 From: Azgaar Date: Thu, 16 Sep 2021 11:59:00 +0300 Subject: [PATCH] reset PRNG - make points generation deterministic --- main.js | 1 + modules/utils.js | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/main.js b/main.js index e44ee410..6037e5ca 100644 --- a/main.js +++ b/main.js @@ -669,6 +669,7 @@ function generateSeed() { // Place points to calculate Voronoi diagram function placePoints() { TIME && console.time("placePoints"); + Math.random = aleaPRNG(seed); // reset PRNG const cellsDesired = +pointsInput.dataset.cells; const spacing = (grid.spacing = rn(Math.sqrt((graphWidth * graphHeight) / cellsDesired), 2)); // spacing between points before jirrering diff --git a/modules/utils.js b/modules/utils.js index 84389a3d..0624b15b 100644 --- a/modules/utils.js +++ b/modules/utils.js @@ -25,7 +25,8 @@ function getBoundaryPoints(width, height, spacing) { function getJitteredGrid(width, height, spacing) { const radius = spacing / 2; // square radius const jittering = radius * 0.9; // max deviation - const jitter = () => Math.random() * 2 * jittering - jittering; + const doubleJittering = jittering * 2; + const jitter = () => Math.random() * doubleJittering - jittering; let points = []; for (let y = radius; y < height; y += spacing) {