НЕ используйте перлин или симплекс для случайности. они не предназначены для этого. они / приложение / случайности.
люди выбирают их из-за их визуальной привлекательности, что еще не было достаточно обсуждено, поэтому я сосредоточусь на этом.
perlin / simplex с smoothstep идеально гладкие. независимо от того, насколько сильно вы увеличиваете масштаб, они всегда будут градиентом, а не вершиной или ребром.
диапазон вывода составляет (+/- 1/2 x #dimensions), поэтому вам необходимо компенсировать это, чтобы получить диапазон от 0 до 1 или от -1 до 1, если необходимо. это стандартное исправление. добавление октав увеличит этот диапазон на коэффициент масштабирования октавы (обычно это половина большей октавы, конечно).
Перлин / симплексный шум имеет странное качество коричневого шума при увеличении и синего шума при уменьшении. Ни один, ни средний зум не особенно подходят для целей prng, но они отлично подходят для имитации естественных явлений (которые на самом деле не случайны и / имеют / пространственно смещены).
как перлин, так и симплексный шум имеют тенденцию иметь некоторое смещение по осям, и у перлина есть еще несколько проблем в этой области. edit: уйти от еще большей предвзятости в трех измерениях очень сложно. сложно (невозможно?) создать большое количество несмещенных точек на сфере.
Результаты Perlin имеют тенденцию быть круглыми с восьмиугольным смещением, в то время как симплексные результаты имеют тенденцию генерировать овалы с шестиугольным смещением.
срез симплекса более высокой размерности не похож на симплекс более низкой размерности. но 2d-фрагмент 3d-перлина выглядит почти так же, как 2d-перлин.
Большинство людей считают, что симплекс не может на самом деле обрабатывать более высокие измерения - он имеет тенденцию «выглядеть все хуже и хуже» для более высоких измерений. Перлин якобы не имеет этой проблемы (хотя он все еще имеет предвзятость).
Я считаю, что после «октавирования» они оба имеют одинаковое треугольное распределение вывода при наложении (похоже на бросание двух кубиков) (люблю, если бы кто-то мог дважды проверить это для меня.), и поэтому оба выигрывают от плавного шага. это стандарт. (возможно смещение результатов для равного вывода, но при этом все равно будут иметь место смещения размеров, которые не пройдут тесты качества prng из-за высокой пространственной корреляции, которая является / функцией /, а не ошибкой.)
обратите внимание, что техника октав не является частью определения перлина или симплекса. это просто уловка, часто используемая вместе с ними. градиенты перлина и симплекса смешиваются в равномерно распределенных точках. октавы этого шума объединяются для создания больших и меньших структур. это также часто используется в «шуме значений», который использует в основном белый шум, эквивалентный этой концепции, вместо шума Перлина. Величина шума с октавами также будет демонстрировать (даже хуже) восьмиугольное смещение. поэтому предпочтительны перлин или симплекс.
симплекс быстрее во всех случаях - / особенно / в более высоких измерениях.
so simplex решает проблемы Perlin как с производительностью, так и с визуализацией, но вносит свои собственные проблемы.
person
Bad Radish
schedule
24.05.2019