2008-08-07 3 views
14

Существует ли тривиальный или, по крайней мере, умеренный прямой способ создания карт территорий (например, риск)?Создание карты территории

Я смотрел в прошлое, и лучшее, что я мог найти, были неопределенными ссылками на диаграммы Вороного. Примером диаграммы Вороного является:

here http://www.dma.fi.upm.es/mabellanas/tfcs/fvd/images/voronoi.gif.

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

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

Любой совет будет очень благодарен.

ответ

7

Лучшая ссылка, которую я видел на них: Computational Geometry: Algorithms and Applications, которая покрывает диаграммы Вороного, треугольники Делоне (аналогичные диаграммам Вороного и каждый может быть преобразован в другой) и другие подобные структуры данных.

Они говорят обо всех структурах данных, которые вам нужны, но они не дают вам код, необходимый для его реализации (что может быть хорошим упражнением). С точки зрения кода, поиск в Amazon показывает книгу Computational Geometry in C, которая, предположительно, поставляется с кодом (хотя, поскольку вы застряли на C, вы бы тоже подумали, чтобы получить другой и реализовать его на любом языке, который вам нужен). У меня также нет опыта работы с этой книгой, только первый.

Извините, что есть только книги, чтобы рекомендовать! Единственный достойный онлайн-ресурс, который я видел на них, - это два Wikipediaarticles, которые на самом деле не сообщают вам детали реализации. This link может быть полезным.

3

Почему бы не использовать карту примитивов (треугольники, квадраты), распределить отправные точки для стран («столиц»), а затем случайным образом расширить страны, добавив случайный соседний примитив в страну.

2

CGAL - это библиотека C++, которая имеет структуры данных и алгоритмы, используемые в вычислительной геометрии.

2

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

Paul Bourke страница UWA, с его статьей 1989 года о Делоне и рядом ссылок на реализацию.

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

Смежные вопросы