Чи має оригінальний шум Perlin будь-яку перевагу перед шумом Simplex?


29

Шум Перліна - одна з найпопулярніших процедурних шумових функцій. Пізніше Перлін розробив симплексний шум який покращує деякі недоліки шуму Перліна, зокрема його неефективність у більш високих розмірах і спрямованих артефактах (Вікіпедія перераховує п’ять переваг шуму Simplex). І все-таки шум Перліна, як видається, широко використовується. Я можу собі уявити, що головна причина полягає в тому, що шум Simplex концептуально набагато складніше зрозуміти, але до цього часу має бути достатньо реалізацій, щоб вам не довелося самостійно реалізовувати його.

Чи має шум Перліна якісь переваги перед шумом Simplex? Вибираючи шумову функцію, чи вибрав би я колись Perlin замість Simplex?


2
Я голосую, щоб закрити це питання поза темою, оскільки воно не стосується конкретно програмування комп'ютерної графіки.
Qix

VTC для більшої наочності; слід обговорити. (Хоча я хотів би знати відповідь у будь-якому випадку).
Qix

Відповіді:


27

Щоб безпосередньо відповісти на питання: шум симплексного запатентований , тоді як шум Перліна - ні. Крім цього, шум Simplex має багато переваг, про які вже говорилося у вашому запитанні, і, крім трохи збільшеної складності у впровадженні, це кращий алгоритм роботи двох.

Я вважаю, що причина, чому багато людей все ще вибирають шум Перліна, - це просто тому, що він більш відомий. Варто також зазначити, що шум Перліна дуже часто плутають із поєднанням значущого шуму та фрактального броунівського руху (ФБМ).

Шум Перліна, шум Simplex та шум значення - це всі методи синтезу когерентного шуму. З іншого боку, FBM (іноді його називають "шум FBM") - це те, що використовується при додаванні декількох шарів шуму один на одного в різних масштабах для отримання більш складних функцій. Поєднання FBM та шумових значень просте у виконанні і може бути дуже корисним для синтезу місцевості, процедурних хмар та друзів, і це досить популярно. Однак він, як правило, помилково маркується шумом Перліна, вводячи в оману додаючи його популярності.


2
Я вважаю, що шум Simplex запатентований лише для 3D та вище.
трихоплакс

1
@trichoplax IANAPL, але, як всі твердження у посиланні, наданому Бенедиктом, або явно згадують або 3 виміри (i, j, k або xyz), або гіперкуб, здається, ви правильні.
Simon F

@SimonF Я не був таким старанним, як ти - я грунтувався на цій думці у Вікіпедії .
трихоплакс

Патент вузько визначений і включає метод перестановки біт-подвоєння. SEE претензія 1: google.com/patents/US6867776
MB Reynolds
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.