2010-09-26 7 views
7

Esistono approcci validi per la generazione di regioni per una mappa 2D? Supponiamo che tu abbia una mappa del mondo e desideri creare confini di paesi o province con un aspetto un po 'realistico.Generazione di regioni su una mappa 2D

+2

Quali dati hai? È solo una mappa piatta o hai anche informazioni sul terreno? Oceani? Montagne? – ybungalobill

+0

Solo un piano 2D piano/mappa –

risposta

6

Ho trovato questo post del blog (e dei suoi due successori) di recente, e penso che sia abbastanza vicino a quello che stai cercando.

http://simblob.blogspot.com/2010/09/polygon-map-generation-part-1.html

Sta usando i suoi metodi per creare paesaggi realistici, ma si spera si può vedere modi di utilizzare le stesse tecniche per le aree del Gruppo in regioni credibili.

+0

Interessante! Grazie :) –

1

Userei un pacchetto di illustrazione vettoriale o programmabile con script o programmabile per disegnare le forme a mano, quindi elaborare i dati con uno script personalizzato in file di dati personalizzati o direttamente nel codice sorgente. In effetti l'ho fatto un certo numero di volte in passato (di solito per generare codice VB.NET per la creazione di oggetti GraphicsPath da disegni linea CAD).

Potrebbe essere più specifico? Che tipo di formato devono avere queste regioni? Che tipo di dati hai già?

+0

La mia domanda è più di come creare divisioni di un piano 2D che potrebbe essere fattibile per i confini paese/regione, utilizzando un approccio generativo (che è un algoritmo.) –

2

La tassellazione con un Voroni diagram è un approccio, e mentre le forme possono essere rese piuttosto irregolari, non è molto realistico.

0

Una possibile (e parziale) soluzione è eseguire un sacco di controllo del percorso tra un punto casuale. Le zone in cui un sacco di percorsi sono raggruppati indicano un punto di controllo, che è un fisico in cui "viaggiatore" dovrebbe passare attraverso. Questi punti sono buoni da usare come separatori tra i vari paesi.

Guillaume

1

ho recentemente imbattuto a link che copre la generazione di paesaggi 3D. Potresti trovare alcune idee lì. L'essenza di base sembra usare il rumore casuale 1/f; solo guardando le immagini questo sembra più realistico dell'approccio del diagramma di Voronoi (presumo tu stia cercando di generare profili "country" arbitrari, non cercando di seguire alcun dato del mondo reale).

2

L'idea di Martin Källman sembra il modo migliore per farlo poiché non si dispone di un terreno naturale per definire alcuni dei bordi. Genera punti casuali all'interno dei tuoi confini e poi li invoglia nei confini della nazione. Probabilmente farei un ulteriore passo avanti e fare più punti dei paesi desiderati, quindi unire diverse celle adiacenti per rendere concave alcune delle aree risultanti. Potresti usare un algoritmo simile a un Kruskal randomizzato per eseguire l'unione (prendi tutti i paesi, unisci due paesi adiacenti, ripeti fino a quando non hai il totale desiderato). Non riesco ad arrivare al collegamento di Kylotan, ma potrebbe descrivere un modo migliore per unire le celle generate dal Voronoi.

Problemi correlati