Я изо всех сил пытаюсь понять, как работает Perlin Noise и как его реализовать на C#. Я прочитал несколько статей, и все они запутанные и запутанные. Я пытался воссоздать алгоритм на Python, но безуспешно. Я также пытался создать генерацию x и y отдельно, а затем сложить их, но я застрял в создании алгоритма, который использует либо x в качестве индекса, либо y в качестве индекса (другое измерение - это то, на которое влияет шум Перлина. ) (Это даже близко не было алгоритмом, просто я экспериментировал.) Вот что я написал на Python:
Код: Выделить всё
import random
def smooth_random_walk(n, step_size=2):
values = [random.uniform(-step_size, step_size)]
for _ in range(1, n):
next_value = values[-1] + random.uniform(-step_size, step_size)
values.append(round(next_value))
return values
random_values = smooth_random_walk(4000)
print(random_values)
У меня нет кода на C#, так как я не знаю, с чего начать.
Сложно объяснить мою проблему, поскольку (опять же ,) Я изо всех сил пытался найти какие-либо четкие документы. Может ли кто-нибудь подробно объяснить мне реализацию Perlin Noise в C#?
Подробнее здесь:
https://stackoverflow.com/questions/790 ... noise-in-c