Как можно указать на «молнию» молнии, используя перлин-шум или другой алгоритм? - PullRequest
6 голосов
/ 26 августа 2010

Каждая реализация, с которой я сталкивался при создании перлин-шума, была для создания 2D-ландшафта и т. Д. Я нигде не могу найти достойного примера генерации молнии точка-точка.

Много ли других форм генерации "молнии"? Мне сказали, что это то, что я хочу. Какие существуют алгоритмы для разветвленной молнии или двумерных деревьев (я мог бы перевернуть это для молнии, может быть)

Я работаю на нескольких языках, поэтому примеры с псевдокодом тоже в порядке.

1 Ответ

9 голосов
/ 08 сентября 2010

Насколько я понимаю, шум Перлина спроектирован таким образом, что все его паттерны близки к одному «размеру», но молния - это фрактал с паттернами каждого «размера».Может быть способ использовать несколько шумовых систем Perlin в разных масштабах для создания молнии, но, возможно, один из этих других методов будет работать лучше:

Метод смещения средней точки - это очень быстрый алгоритм для создания форм, которые выглядят какочень похоже на молнию.Увы, он только генерирует (очень зазубренные) линии между двумя точками, а не разветвляется.Есть некоторый исходный код и картинки на http://www.krazydad.com/bestiary/bestiary_lightning.html

. Вероятностные L-системы могут быть использованы для генерации фигур, похожих на молнии.Я вижу, что по крайней мере один человек отказался от шума Перлина и переключился на L-системы для имитации молнии.http://www.grepart.com/showcase/content/lightning_paper.pdf

Стохастический алгоритм Лихтенберга работает несколько медленнее, но это более физически реалистичная модель молнии и генерирует много вилок.http://fisica.ciencias.uchile.cl/alejo/fractal_antenna/node7.html

Является ли это дуплом «Лучший алгоритм генерации молний \ симуляция?» вопрос?

...