Мне для разработки игры нужно использовать Шум Перлина, но мне нужна функция для бесконечного шума. То есть она должна принимать в качестве параметров: seed — ключ по которому будет генерироваться шум; x и y координаты точек.
Выдавать в конце он должен число от 0 до 255. То есть для игры высоту точки с данными кординатами.
Вот нормальный Шум Перлина:
Так как я не нашёл способа создания в python бесконечного Шума Перлина, попытался создать свой, но получилось совсем не то, и очень медленно:
Подскажите пожалуйста как исправить это. Мне детальность шума особо не важна если сильно замедляется.
В итоге я просто установил библиотеку noise pip install noise
в терминале, затем по совету пользователя andreymal в скрипте уменьшил координаты точек на 0.05 и вместо seed выбрал 3D шум вместо 2D в котором вместо оси Z подставил seed. Получилось:
import noise s = noise.pnoise3(float(x)*0.05, float(y)*0.05, seed, 1)
Где 1 — детальность шума.
s = s*100.0
Это для удобства использования.
Также библиотеку noise можно скачать на сайте https://pypi.python.org/pypi/noise/