Как строить фрактальные берега с многоуровневой диаграммой Вороного
В диаграмме Вороного со случайно смещёнными центрами на каждую клетку сетки приходится одна псевдослучайная точка. Для заданной координаты алгоритм проверяет центры 25 ближайших клеток, поэтому не строит бесконечную диаграмму целиком.
Автор добавляет уровни. На каждом следующем сетка становится вдвое мельче, а новый центр связывается с ближайшим центром предыдущего уровня. Цепочка до нулевого уровня определяет область. С каждым уровнем её граница получает более мелкие изломы, похожие на береговую линию.
Для процедурной генерации полезен адаптивный вариант. Расчёт прекращается, когда все центры, способные повлиять на координату, ведут к одной исходной ячейке: дальнейшее дробление не изменит результат. Код для фиксированной глубины и ранней остановки есть в статье Fractal Jittered Voronoi Partitions.
Post #2086
386
