Perlin Noise для 1D?

Постарайтесь изо всех сил, я не могу найти настоящих учебников по Perlin \ Samplex Noise в 1D.

Я искал по всему Интернету, но ничего не могу найти. Любые сайты, которые я нахожу, упоминают 1D perlin noise, как правило, очень нечеткие или просто показывают код

Я знаю, что это старый вопрос, но вот одно из самых ясных объяснений относительно интерполяции между фиксированными точками, составляющими 1d шума Perlin http://webstaff.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf

Одна из самых важных вещей, которые нужно знать, полезная во всех программах, – это функция интерполяции …

http://paulbourke.net/miscellaneous/interpolation/

как только у вас есть случайные точки с интерполяцией smoothstep, у вас есть своего рода гладкая функция шума 1d.

см. smoothstep на wiki. много по теме через Google. https://en.wikipedia.org/wiki/Smoothstep

по-видимому, гиперссылка неустойчива, вот и снова:

Симплексный шум демистифицирован

Кен Перлин представил «симплексный шум», заменив его classический алгоритм шума. Классический «шум Perlin» получил ему наgradleу в академии и на протяжении многих лет стал вездесущим процедурным примитивом для компьютерной графики, но в ретроспективе у него есть немало ограничений. Сам Кен Перлин разработал симплекс-шум специально для преодоления этих ограничений, и он много думал о нем. Поэтому это лучше, чем его оригинальный алгоритм.

Некоторые из наиболее важных преимуществ:

• Симплексный шум имеет более низкую вычислительную сложность и требует меньшего количества умножений.

• Матрицы с симплексным шумом до более высоких размеров (4D, 5D и выше) с гораздо меньшими вычислительными затратами, сложность заключается в размерах вместо classического шума.

• Симплексный шум не имеет заметных направленных артефактов.

• Симплексный шум имеет четко определенный и непрерывный gradleиент везде, который можно вычислить довольно дешево.

• Симплексный шум легко реализовать на аппаратном уровне.

К сожалению, даже сейчас в начале 2005 года очень немногие люди, похоже, понимают симплексный шум, и почти никто его не использует, поэтому я и написал это. Я попытаюсь объяснить алгоритм немного более тщательно, чем Кен Перлин успел сделать в своих комментариях к курсу от Siggraph 2001 и 2002, и, надеюсь, ясно, что это не так сложно понять, как кажется на первый взгляд. Из того, что я узнал, что больше всего смущает людей, является непроницаемый характер эталонной реализации Кена Перлина на Java. Он представляет очень компактный и раскоментированный код, чтобы продемонстрировать принцип, но этот код явно не предназначен для чтения в качестве учебника. После нескольких попыток я отказался от кода и вместо этого прочитал его статью, что было намного яснее.

Однако не кристально понятно, поскольку он представляет алгоритм в основном в словах и fragmentах кода. Я бы оценил некоторые графики и цифры и несколько полезных уравнений, и вот что я пытаюсь дать здесь, чтобы другим легче понять величие и красоту симплексного шума. Сначала я объясню вещи в одном и двух измерениях, чтобы упростить объяснение с помощью графиков и изображений, а затем перейти к трем и четырем измерениям. Классический шум Чтобы объяснить симплекс-шум, полезно иметь хорошее понимание classического шума Perlin. Я видел немало плохих и дезинформированных объяснений в этой области, поэтому, чтобы убедиться, что у вас есть необходимая основа, я сначала представлю classический шум Перлина.

Перлин-шум – это так называемый gradleиентный шум, что означает, что вы устанавливаете псевдослучайный gradleиент на регулярно расположенных точках в пространстве и интерполируете гладкую функцию между этими точками. Чтобы генерировать шумы Perlin в одном измерении, вы связываете псевдослучайный gradleиент (или наклон) для функции шума с каждой целой координатой и устанавливаете значение функции в каждой целочисленной координате равным нулю.

Для заданной точки где-то между двумя целыми точками значение интерполируется между двумя значениями, а именно значениями, которые были бы результатом, если бы самые близкие линейные наклоны слева и справа были экстраполированы в эту точку. Эта интерполяция является плавным шагом.

Я знаю, что этот вопрос старый и уже был дан ответ, но не могли бы вы просто взять строки из 2D шума Perlin, например, всегда использовать 0 для x или y?