Я кодирую генератор карт на основе шума Перлина и столкнулся с проблемой:
Допустим, мне нужны плитки с 30% воды и 70% с грязью. С обычным генератором случайных чисел проблем нет:
tile = rnd.nextFloat() < 0.7f ? DIRT : WATER;
Но шум Перлина имеет нормальное распределение (диапазон от -1 до 1, среднее значение 0), так что это не так просто.
Кто-нибудь знает способ преобразовать нормаль в равномерное распределение или другой способ получить процент от значения шума?
РЕДАКТИРОВАТЬ: 70% - это просто пример, я бы хотел иметь возможность динамически использовать любое значение, в лучшем случае с точностью 0,1%.
РЕДАКТИРОВАТЬ2: я хочу преобразовать шум Перлина в равномерное распределение, не в нормальное (что уже похоже).