Шум Перлина

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Двумерный срез трёхмерной разновидности шума Перлина.

Perlin noise (Шум Перлина, также иногда Классический шум Перлина) — математический алгоритм по генерированию процедурной текстуры псевдо-случайным методом. Используется в компьютерной графике для увеличения реализма или графической сложности поверхности геометрических объектов. Также может использоваться для генерации эффектов дыма, тумана и т. д.

Шум Перлина — это градиентный шум, состоящий из набора псевдослучайных единичных векторов (направлений градиента), расположенных в определенных точках пространства и интерполированных функцией сглаживания между этими точками. Для генерации шума Перлина в одномерном пространстве необходимо для каждой точки этого пространства вычислить значение шумовой функции, используя направление градиента (или наклон) в указанной точке.

Функция «Perlin noise» проводит генерацию текстур методом генерации псевдослучайных чисел, однако все визуальные детали текстуры имеют одинаковый размер. Это свойство делает шум Перлина легко управляемым; множества масштабированных копий шума Перлина могут быть вставлеными в математические выражения для создания самых разнообразных процедурных текстур.

Алгоритм шума Перлина можно масштабировать в одно-, двух- и трёхмерном виде. Более того, в алгоритм можно ввести четвёртое временно́е измерение, позволяя алгоритму динамически изменять текстуры во времени.

Шум Перлина создан Кеном Перлином в 1983 году и впоследствии был назван в честь своего создателя. Перлин создал алгоритм, работая в Mathematical Applications Group, Inc.[англ.]. В 1997 году Кен Перлин получил награду Academy Award for Technical Achievement[англ.] от Американской Академии кинематографических искусств и наук за вклад в создание фильма «Трон» (1982).[1]

Шум Перлина широко используется в двухмерной и трёхмерной компьютерной графике для создания таких визуальных эффектов, как дым, облака, туман, огонь и т. д. Он также очень часто используется как простая текстура, покрывающая геометрическую модель. В отличие от растровых текстур, шум Перлина является процедурной текстурой, и поэтому он не занимает память, но, вместе с тем, исполнение алгоритма требует неких вычислительных ресурсов. Использование шума Перлина очень распространено в демосцене, участники которой используют его в демках. Также Шум Перлина используется в разработке игр жанра "песочница" для генерации случайного ландшафта, как это делал Notch в ранних версиях Minecraft.[2][неавторитетный источник]

Примечания

[править | править код]
  1. Kerman, Phillip. Macromedia Flash 8 @work: Projects and Techniques to Get the Job Done. Sams Publishing. 2006.
  2. Noise generator (англ.). Minecraft Wiki. Дата обращения: 31 июля 2023. Архивировано 31 июля 2023 года.

Англоязычные источники

Русскоязычные источники