Создание карты территории

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

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

Вот,

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

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

Любые советы будут высоко ценится.

7.08.2008 00:48:04
4 ОТВЕТА
РЕШЕНИЕ

Лучшая ссылка, которую я видел на них, - « Вычислительная геометрия: алгоритмы и приложения» , которая охватывает диаграммы Вороного, триангуляции Делоне (аналогично диаграммам Вороного и каждую из которых можно преобразовать в другие) и другие подобные структуры данных.

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

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

7
7.08.2008 01:47:54

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

3
7.08.2008 01:40:05

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

2
27.08.2008 04:43:58

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

Страница Пола Бурка в UWA, с его работой 1989 года по Делоне и рядом ссылок на реализацию.

Великое объяснение psudocode и визуальное делать Делон на codeGuru.com.

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

2
15.09.2008 17:07:40