Question

Existe-t-il un moyen trivial, ou du moins modérément simple, de générer des cartes de territoire (par ex.Risque)?

J'ai regardé dans le passé et le mieux que j'ai pu trouver étaient de vagues références aux diagrammes de Voronoï.Un exemple de diagramme de Voronoï est le suivant :

here.

Ceux-ci sont prometteurs, mais je suppose que je n'ai pas vu de moyen simple de les rendre, encore moins de les conserver dans une forme de structure de données pour traiter chaque territoire comme un objet.

Une autre approche prometteuse est le remplissage par crue, mais encore une fois, je ne suis pas sûr de la meilleure façon de commencer avec cette approche.

Tout conseil serait très apprécié.

Était-ce utile?

La solution

La meilleure référence que j'ai vue sur eux est Géométrie computationnelle :Algorithmes et applications, qui couvre les diagrammes de Voronoï, les triangulations de Delaunay (similaires aux diagrammes de Voronoï et chacun peut être converti en l'autre) et d'autres structures de données similaires.

Ils parlent de toutes les structures de données dont vous avez besoin mais ils ne vous donnent pas le code nécessaire pour les implémenter (ce qui peut être un bon exercice).En termes de code, une recherche Amazon montre le livre Géométrie computationnelle en C, qui vient probablement avec le code (bien que puisque vous êtes coincé en C, vous feriez aussi bien d'obtenir l'autre et de l'implémenter dans le langage de votre choix).Je n'ai également aucune expérience avec ce livre, seulement le premier.

Désolé de n'avoir que des livres à recommander !La seule ressource en ligne décente que j'ai vue sur eux sont les deux Wikipédia des articles, ce qui ne vous indique pas vraiment les détails de mise en œuvre. Ce lien peut être utile cependant.

Autres conseils

Pourquoi ne pas utiliser une carte de primitives (triangles, carrés), répartir les points de départ des pays (les "capitales"), puis étendre aléatoirement les pays en ajoutant une primitive adjacente aléatoire au pays.

CGAL est une bibliothèque C++ qui contient des structures de données et des algorithmes utilisés en géométrie computationnelle.

En fait, je suis confronté exactement à ce genre de choses pour le jeu vidéo de mon entreprise.Les informations les plus utiles que j'ai trouvées se trouvent sur ces deux liens :

Paul BourkeLa page de l'UWA, avec son article de 1989 sur Delaunay et une série de liens de mise en œuvre.

UN excellente explication du pseudocode et un visuel de faire Delaunay sur codeGuru.com.

En termes de rendu, la plupart des implémentations que j'ai trouvées nécessiteront un massage pour obtenir ce que vous souhaitez, mais comme l'utiliser pour une carte de jeu conduirait à un certain nombre de points et de lignes entre eux, cela pourrait être très compliqué. Il est simple de dessiner cela à l'écran.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top