Генерация полигона наземных массивов в питоне - PullRequest
3 голосов
/ 30 марта 2011

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

Идея состоит в том, что я смогу проецировать это на круг(моя игра - 2d) и поверните ее так, чтобы она представляла собой векторную карту мира.

Кроме того, так как это эстетическая часть игры, я не слишком беспокоюсь, если у планеты нет таких регулярных функций, какмасса земли на полюсах и т. д.

Я использую язык Python, но если у кого-то есть генератор с API, к которому я могу получить доступ, я рад идти по этому пути

Ответы [ 3 ]

1 голос
/ 30 марта 2011

Алгоритм генерации естественных ландшафтов http://en.wikipedia.org/wiki/Perlin_noise Google предоставит вам множество вариантов реализации.Это дает вам высотное поле, поэтому порог для классификации точки как land или water дает вам массу земли.

Если вам нужны массивы земли в качестве полигонов, вы можете запустить алгоритм квадрата марширования, чтобы получить многоугольник из карты пикселей http://en.wikipedia.org/wiki/Marching_squares

0 голосов
/ 30 марта 2011

Вы можете попробовать Случайный метод смещения средней точки , чтобы сначала сгенерировать карту вершин, а затем перевести ее в сферические координаты, чтобы превратить ее в шар.

0 голосов
/ 30 марта 2011

Вы можете использовать http://pypi.python.org/pypi/noise/, а затем применить фильтр сглаживания и / или мощности и, наконец, функцию порогового значения.

Кроме того, вы хотите векторный вывод или растровый вывод?

РЕДАКТИРОВАТЬ: Пожалуйста, удалите, я не читал "многоугольник" в заголовке.

...