7
votes

Générer des régions sur une carte 2D

Y a-t-il de bonnes approches pour générer des régions pour une carte 2D? Supposons que vous ayez une carte du monde et souhaitez créer des frontières de pays ou de province avec un look un peu réaliste.


2 commentaires

Quelles données avez-vous? Est-ce juste une carte plane ou vous avez également des informations sur les terrains? Océans? Montagnes?


Juste un avion 2D plat / carte


6 Réponses :


1
votes

J'utiliserais un package illustration CAO ou vectoriel scriptable / programmable pour dessiner les formes à la main, puis traiter les données avec un script personnalisé dans des fichiers de données personnalisés ou directement dans le code source. En fait, j'en ai fait cela plusieurs fois dans le passé (généralement pour générer un code VB.NET pour créer des objets graphiquesPath à partir de dessins de ligne CAD).

Pourriez-vous être plus précis? Quel type de format ces régions doivent-elles avoir? Quel type de données avez-vous déjà?


1 commentaires

Ma question est plus utile de créer des divisions d'un avion 2D qui pourraient être réalisables pour les frontières de pays / région, en utilisant une approche générative (c'est-à-dire un algorithme.)



2
votes

Tessellation à l'aide d'un Voroni Diagram est une approche, et tandis que les formes peuvent être assez irrégulières , ce n'est pas très réaliste.


0 commentaires

0
votes

Une solution possible (et partielle) consiste à faire beaucoup de chèques de chemin entre sur un point aléatoire. Zone où beaucoup de sentiers sont regroupés indiquent un point de rechange, c'est-à-dire physique où "voyageur" ​​devrait passer à travers. Ces points sont bons à utiliser comme séparateur entre pays.

Guillaume


0 commentaires

1
votes

J'ai récemment rencontré Un lien qui couvre la production 3D paysages. Vous pourriez trouver des idées là-bas. Le gist de base semble utiliser 1 / f bruit aléatoire; Juste jetant un coup d'œil aux photos Cela semble plus réaliste que l'approche du diagramme de Voronoi (je suppose que vous essayez de générer des contours arbitraires «pays», sans essayer de suivre des données du monde réel).


0 commentaires

7
votes

J'ai récemment trouvé ce blog post (et ses deux successeurs) et je pense que c'est assez proche de ce que vous recherchez.

http://simblob.blogspot.com/ 2010/09 / polygone-carte-génération-part-1.html

Il utilise ses méthodes pour créer des paysages réalistes, mais j'espère que vous pourrez voir des moyens d'utiliser les mêmes techniques pour collecter des zones dans des régions crédibles.


0 commentaires

2
votes

L'idée de Martin Källman semble la meilleure façon de le faire car vous n'avez pas de terrain naturel pour définir certaines des frontières. Générez des points aléatoires au sein de vos frontières, puis de Voronoi dans les frontières du pays. Je prendrais probablement une étape plus loin et je ferais plus de points que les pays souhaités, puis fusionnez plusieurs cellules adjacentes pour faire certaines des zones résultantes concave. Vous pouvez utiliser un algorithme similaire à un kruskal randomisé pour effectuer la fusion (prendre tous les pays, fusionner deux pays adjacents, répéter jusqu'à ce que vous ayez le total souhaité). Je ne peux pas accéder au lien de Kylotan, mais cela peut décrire un meilleur moyen de fusionner les cellules générées par les Voronoi.


0 commentaires