Dovrei dire percorsi, non strade, perché penso più in stile medievale. Inoltre, non cerco realismo. La risposta che sto cercando sarà quella di adattarmi allo stampo che descrivo piuttosto che al realismo.
Sto cercando un metodo per generare strade / fiumi procedurali in un modo sinuoso, ma voglio farlo per un sistema di tipo di terreno infinito. Proprio come il rumore del perlin genera i BLOB, voglio generare segmenti di linea di lunghezza casuali (possibilmente lunghezza infinita).
Sono a conoscenza di strategie come la risposta suggerita trovata qui , tuttavia si basa su un punto iniziale e finale specificato per funzionare, non ho un punto iniziale e finale specificati. Mi piacerebbe poter semplicemente chiamare una funzione usando coordinate arbitrarie e fare in modo che ritorni se le coordinate specifiche fanno parte del fiume / strada.
Non voglio richiedere che il terreno venga generato in anticipo. Ciò include una mappa di altezza (come quella usata per simulazioni di pioggia o simili). Inoltre, non vorrei richiedere un punto iniziale / finale.
Esiste un tale algoritmo o modifica di un algoritmo di rumore che qualcuno potrebbe conoscere per realizzare ciò che sto cercando di spiegare?
Il più vicino a cui sono arrivato finora sono i frattali a più punte, se sto usando il nome correttamente. Sto solo prendendo il valore assoluto del rumore di valore (supponendo che sia ridimensionato da -1 a +1) e impostando una soglia. Il mio problema principale con questo è che le linee si sovrappongono troppo spesso, sono per lo più circolari, a volte convergono per formare grandi laghi che è pulito ma indesiderato, e spesso volte lo spessore delle linee varia troppo.
Ecco una foto di ciò che ho finora in 2D, ma a una frequenza molto alta per mostrare più dettagli: