Лучшая ссылка, которую я видел на них, Вычислительная Геометрия: Алгоритмы и Приложения , который покрывает Диаграммы Вороного, Триангуляции Делоне (подобный Диаграммам Вороного и каждый может быть преобразован в другой), и другие подобные структуры данных.
Они говорят обо всех структурах данных, в которых Вы нуждаетесь, но они не дают Вам код, необходимый для реализации его (который может быть хорошим осуществлением). С точки зрения кода поиск Amazon показывает книге Вычислительную Геометрию в C, который, по-видимому, идет с кодом (хотя, так как Вы застреваете в C, Вы возражали бы, также получают другой и реализуют его на любом языке, который Вы хотите). У меня также нет опыта с этой книгой, только первое.
Извините для имения только книг для рекомендации! Единственный достойный ресурс онлайн, который я видел на них, два Википедия статьи , который действительно не говорит Вам детали реализации. Эта ссылка может быть полезной все же.
Почему бы не использовать карту примитивов (треугольники, квадраты), распределяют начальные точки для стран ("прописные буквы"), и затем случайным образом расширение стран путем добавления случайного смежного примитива к стране.
CGAL является библиотекой C++, которой использовали структуры данных и алгоритмы в Вычислительной Геометрии.
Я на самом деле имею дело с точно этим видом материала для видеоигры моей компании. Самая полезная информация, которую я нашел, в этих двух ссылках:
страница Paul Bourke в UWA, с его статьей 1989 года на Delaunay и ряде ссылок реализации.
А большое объяснение psudocode и визуального из выполнения Delaunay по codeGuru.com.
С точки зрения рендеринга их - для большинства реализаций, которые я нашел, будет нужно массирование для получения то, что Вы хотели бы, но начиная с использования этого для игровой карты приведет к ряду вопросов плюс строки между ними, это мог быть очень простой вопрос, чтобы сделать, вытягивают это для экранирования.