|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.02.2013, 03:23 | #1 | |
Форумчанин
Регистрация: 30.01.2011
Сообщений: 231
|
Шум Перлина(Pelin Noise)
Здравствуйте, помогите пожалуйста алгоритм генерации шума Перлина.
Цитата:
Злостный анимешнег =^.^=
|
|
24.02.2013, 11:12 | #2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Вы сами поняли отквоченный фрагмент?
Если "да", то сильно подозреваю, что Вы располагаете некоторой информацией, отсу3тствующей в этом фрагменте. Например, не указана даже размерность пространства. Термин "пиксель" не имеет никакого отношения к сетке, и никаких связей между одним и другим в условии не содержится. Неизвестный термин - "диагональный вектор". Что такое "высота узлов сетки"? Что подразумевается под "объединить значения четырех векторов"? Это какая-то математическая операция? Откуда вообще взялась "шумовая функция" в последнем абзаце? До этого о ней не было ни слова. Ну и наконец, обоснование использование таблицы векторов вызывает некоторое сомнение: выбор [гарантированно] случайного направления вектора легко реализуется и без таблицы, не требует дополнительной памяти, дополнительных вычислений, а также приводит с существенно более равномерному распределению, нежели выбор из всего-навсего 256 готовых значений. И еще настораживает довольно "кривенькое" описание алгоритма, поразительно напоминающего билинейную интерполяцию. В общем, IMHO данная постановка не полна и требует существенных уточнений и пояснений хотя бы для того, чтобы понять, о чем идет речь. |
24.02.2013, 12:29 | #3 |
Форумчанин
Регистрация: 30.01.2011
Сообщений: 231
|
Я с вами полностью согласен, описание алгоритма до ужаса убого. Но это самое лучшее что я смог найти в рунете. Поэтому я и попросил помощи здесь, в надежде, что кто-то сталкивался с реализацией этого алгоритма.
Может ссылка на источник поможет. http://blog.wonderville.ru/procedural-perlin-noise/
Злостный анимешнег =^.^=
|
24.02.2013, 15:07 | #4 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
|
24.02.2013, 15:21 | #5 |
Форумчанин
Регистрация: 30.01.2011
Сообщений: 231
|
Хочу понять как работает этот алгоритм и реализовать его на C#. Раз вы сталкивались, объясните пожалуйста, как он работает.
Злостный анимешнег =^.^=
|
24.02.2013, 15:47 | #6 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Любой алгоритм бывает не сам по себе, а для решения какой-либо определенной задачи. Поэтому лучше бы начать с формулировки того, что же Вам нужно.
Фактически смысл этого алгоритма состоит в том, чтобы при помощи генератора белого шума получить: - розовый шум, - при том такой, который циклично замыкается сам на себя. Алгоритм заключается в том, чтобы рекурсивно делить отрезок пополам и при этом средней точке отрезка приписывать значение равное линейной интерполяции значения на концах отрезка плюс случайная величина, умноженная на масштабный множитель. При этом величина масштабного множителя уменьшается (обычно в геометрической прогрессии, хотя возможны варианты) с каждым шагом рекурсии. Собственно, сам алгоритм не обязан быть рекурсивным - подойдет итерация и даже цикл. |
24.02.2013, 16:14 | #7 | ||
Форумчанин
Регистрация: 30.01.2011
Сообщений: 231
|
Алгоритм нужен для генерации текстуры. И то что вы написали это не алгоритм шума Перлина.
Цитата:
Цитата:
Злостный анимешнег =^.^=
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Шум Гаусса | Євгеній Бєлік | Мультимедиа в Delphi | 8 | 06.01.2013 22:36 |
Шум от монитора. | Ghost3 | Компьютерное железо | 20 | 08.12.2012 14:31 |
шум,турбуленция | мята | Общие вопросы C/C++ | 0 | 07.03.2011 13:26 |
Информационный шум | usersat | Свободное общение | 0 | 21.04.2009 17:46 |