Domanda

Sono interessato a creare un gioco che utilizza mappe frattali per una geografia più realistica. Tuttavia, gli unici programmi di mappe frattali che ho trovato sono solo per Windows, ad esempio Fractal Mapper . Inutile dire che non sono anche di provenienza aperta.

Sono disponibili creatori di mappe frattali di provenienza aperta, preferibilmente in Python o C / C ++? Idealmente, vorrei qualcosa che potesse essere "inserito" in " un programma, anziché essere autonomo.

È stato utile?

Soluzione

Fracplanet può essere utile.

Altri suggerimenti

La generazione di base del terreno comporta la creazione di una mappa di altezza (un'immagine) e il rendering usando il colore dei pixel come altezza. Quindi potresti trovare utile il codice di generazione di immagini o texture. Questo è un buon tutorial .

Per l'aspetto del terreno, dai un'occhiata a libnoise . È impacchettato per Debian e ha un'ottima documentazione con un capitolo su generazione del terreno con il codice C ++ di esempio.

Naturalmente c'è molto di più in " maps " che schiaffeggiare alcuni colori su un campo di altezza (ad esempio Fracplanet aggiunge fiumi e laghi). E il tipo di terreno che ottieni da questi metodi non è in realtà così realistico; i continenti generalmente non si arrampicano dalla costa verso un entroterra roccioso, quindi forse simulare la deriva dei continenti e i processi di costruzione ed erosione delle montagne aiuterebbe (in alternativa, fake it ). E poi se vuoi che la vegetazione, o i manufatti delle forme di vita (strade e città, diciamo) per popolare la tua mappa, potresti voler guardare automi cellulari o altra "vita artificiale". utensili. Infine, il Virtual Terrain Project merita una ricerca di altri link e idee.

Consiglio vivamente di acquistare una copia di

Texturing & amp; Modellazione: un approccio procedurale

Vedo che ora è alla sua terza edizione (ne ho solo la seconda) ma è pieno zeppo di articoli utili sull'uso delle trame procedurali tra cui diversi capitoli sul loro uso nei terreni frattali. Inizia con un'ampia discussione anche sugli algoritmi del rumore, quindi hai tutto dalle basi verso l'alto. Gli autori includono Musgrave, Perlin e Worley, quindi non puoi davvero fare di meglio.

Se desideri una geografia veramente realistica, puoi utilizzare il SRTM della NASA, forse combinato con le caratteristiche di OpenStreetMap . : -)

Un'implementazione molto semplice sarebbe quella di utilizzare il frattale di spostamento del punto medio, http: // it. wikipedia.org/wiki/Diamond-square_algorithm o l'algoritmo Diamond-Squares un po 'più complicato. http://www.gameprogrammer.com/fractal.html#diamond

Questi sono algoritmi simili al "cloud di differenza" in Photoshop.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top