- Шум Перлина
-
Двумерный срез трёхмерной разновидности шума Перлина.
Perlin noise (Шум Перлина, также иногда Классический шум Перлина) — математический алгоритм по генерированию процедурной текстуры псевдо-случайным методом. Используется в компьютерной графике для увеличения реализма или графической сложности поверхности геометрических объектов. Также может использоваться для генерации эффектов дыма, тумана и т.д.
Шум Перлина — это градиентный шум, состоящий из набора псевдослучайных единичных векторов (направлениях градиента), расположенных в определенных точках пространства и интерполированных функцией сглаживания между этими точками. Для генерации шума Перлина в одномерном пространстве необходимо для каждой точки этого пространства вычислить значение шумовой функции, используя направление градиента (или наклон) в указанной точке.
Функция «Perlin noise» проводит генерацию текстур методом генерации псевдослучайных чисел, однако все визуальные детали текстуры имеют одинаковый размер. Это свойство делает шум Перлина легко управляемым; множество масштабированных копий шума Перлина могут быть вставлеными в математические выражения для создания самых разнообразных процедурных текстур.
Алгоритм шума Перлина можно масштабировать одно-, двух- и трёхмерного вида. Более того, в алгоритм можно ввести четвёртое временно́е измерение, позволяя алгоритму динамически изменять текстуры во времени.
Шум Перлина был создан Кеном Перлином (англ.) в 1983 году и впоследствии был назван в честь своего создателя. Перлин создал свой алгоритм, работая в Mathematical Applications Group, Inc. (англ.). В 1997 году Кен Перлин получил награду Academy Award for Technical Achievement (англ.) от Американской Академии кинематографических искусств и наук за его вклад в создание фильма Трон выпуска 1982 года.[1]
Шум Перлина широко используется в двухмерной и трёхмерной компьютерной графике для создания таких визуальных эффектов, как дым, облака, туман, огонь и т.д. Он также очень часто используется как простая текстура, покрывающая геометрическую модель. В отличие от растровых текстур, шум Перлина является процедурной текстурой, и поэтому он не занимает память, но вместе с тем исполнение алгоритма требует неких вычислительных ресурсов. Использование шума Перлина очень распространено в демосцене, участники которой используют его в демках.
Примечания
- ↑ Kerman, Phillip. Macromedia Flash 8 @work: Projects and Techniques to Get the Job Done. Sams Publishing. 2006.
См. также
Внешние ссылки
- Англоязычные источники
- Ken Perlin MAKING NOISE (англ.). noisemachine.com. Архивировано из первоисточника 12 апреля 2012. Проверено 11 декабря 2009.
- Simon Green Chapter 26. Implementing Improved Perlin Noise (англ.). nVidia GPU Gems 2. Архивировано из первоисточника 12 апреля 2012. Проверено 11 декабря 2009.
- Iсigo Quilez advanced perlin noise (англ.). iquilezles.org (2008 год). Архивировано из первоисточника 12 апреля 2012. Проверено 11 декабря 2009.
- Matt Zucker The Perlin noise math FAQ (англ.) (февраль 2001 года). Архивировано из первоисточника 6 июля 2007 года. Проверено 11 декабря 2009.
- Хьюго Элиас Perlin Noise (англ.). freespace.virgin.net. Архивировано из первоисточника 12 апреля 2012. Проверено 11 декабря 2009.
- Русскоязычные источники
- Волошин Дмитрий aka WDW Реализация процедурных текстур методом Шума Перлина 2. GameDev.ru (18 января 2004 года). Архивировано из первоисточника 12 апреля 2012. Проверено 11 декабря 2009. В этой работе представлен шум, в котором в узлах сетки задаются сами значения, а не градиенты. Это не шум Перлина.
- Классический шум Перлина (Perlin noise) и Симплекс шум (Simplex noise) (рус.). Wonderville Engine Blog (27 августа 2009 года). Проверено 11 декабря 2009.
- Шум Перлина (Perlin noise) (рус.). Wonderville Engine Blog (23 мая 2009 года). Проверено 11 декабря 2009.
- shosh Шум Перлина. Astrocluster (30 сентября 2004 года).(недоступная ссылка — история) Проверено 11 декабря 2009.
Категории:- Шум
- Фракталы
- Методы текстурирования
Wikimedia Foundation. 2010.