@postya

Как постоянно генерировать массив с рандомными но близкими друг другу числами в Javascript?

Задача:
У меня есть функция interval, которая генерит каждую секунду новый массив с рандомными числами.
Мне нужны рандомные числа, но чтобы они были близкими по значению. Что-то похожее на измеритель производительности процессора. То есть цифры постоянно скачут, но далеко не отходят друг от друга.

Текуший результат: цифры генерятся совсем рандомные
Желаемый результат: цифры генерятся в пределах близкого значения

Что-то типо такого:
5fac8c1c8d70c166534065.gif

Что есть на данный момент:
function generateNumberArray(min, max, arrayLength) {
      let randoms = Array.from({ length: arrayLength }, () =>
        Math.floor(Math.random() * (max - min + 1) + min)
      );
      return randoms;
    }

const usersChoiceTanks = setInterval(() => {
      socket.emit("usersChoiceTanks", generateNumberArray(10, 80, 8));
    }, 1000);
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 1
Seasle
@Seasle Куратор тега JavaScript
Существует шум Перлина (Perlin Noise, Simplex Noise 2D), возвращающий числа в интервале [0; 1], либо в интервале [-1; 1], в зависимости от реализации. Если найдете ту, которая возвращает числа в интервале [-1; 1], тогда превращаете в интервал [0; 1] (полученное число делите на 2 и прибавляете 0.5) и умножаете на некий коэффициент.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы