Шум Перлина и карты высот/растровые изображения

Мы используем функцию шума Перлина для создания карты высот (которую можно рассматривать как растровое изображение в оттенках серого).

Есть ли какие-то методы, чтобы пойти в другом направлении? У меня есть растровое изображение, и я хочу определить функцию шума перлина и их параметры (амплитуда, октавы, частота и т. д.), которые будут его генерировать.

Я предполагаю, что для сложных изображений потребуется несколько функций perlin - либо накладывать результаты друг на друга, либо использовать блок за блоком.


person PeterQ    schedule 07.10.2013    source источник
comment
это было бы чрезвычайно сложно, по сути, вы пытаетесь реконструировать шум Перлина, что, я думаю, так же просто, как кодирование и эмулятор Nintendo 64! это также зависит от того, сколько октав и т. д. Чем их больше, тем сложнее. Никто этого не делал, потому что, казалось бы, использование чего-то подобного было бы действительно нулевым для любого человека в обычном режиме.   -  person DeltaEnfieldWaid    schedule 05.11.2013


Ответы (1)


Вы можете получить информацию о частотной области вашей 2D-функции (растрового изображения), используя 2D-дискретное преобразование Фурье (FFT). Есть несколько математических библиотек, реализующих его. С другой стороны, результат будет не совсем тем, что вы ищете, потому что шум перлина скомпилирован из функций случайного шума, но преобразование Фурье разлагает вашу карту на несколько синусоид с разной амплитудой и частотой. Явное разложение шума Перлина будет иметь несколько решений, поскольку вы можете получить одну и ту же функцию составного шума из разных функций случайного шума.

person simon    schedule 07.10.2013