Je devrais dire des chemins, pas des routes car je pense plus à un style médiéval. Aussi, ne recherchant pas le réalisme. La réponse que je recherche sera de s'insérer dans le moule que je décris plutôt que dans le réalisme.
Je cherche une méthode pour générer des routes / rivières procédurales d'une manière sinueuse, mais je veux le faire pour un système de type de terrain infini. Tout comme la façon dont le bruit perlin génère des blobs, je souhaite générer des segments de ligne de longueur aléatoire (éventuellement une longueur infinie).
Je connais des stratégies comme la réponse suggérée trouvée ici , mais elle repose sur un point de départ et de fin spécifié pour fonctionner, je n'ai pas de point de départ et de fin spécifié. J'aimerais pouvoir simplement appeler une fonction en utilisant des coordonnées arbitraires et la faire revenir si les coordonnées spécifiques font partie de la rivière / route.
Je ne veux pas exiger que le terrain soit généré à l'avance. Cela inclut une carte de hauteur (comme celle utilisée pour les simulations de précipitations ou similaire). Je ne voudrais pas non plus exiger un point de début / fin.
Existe-t-il un tel algorithme ou une modification d'un algorithme de bruit que quelqu'un pourrait connaître pour accomplir ce que j'essaie d'expliquer?
Le plus proche que je suis venu jusqu'à présent est les fractales à plusieurs arêtes, si j'utilise correctement le nom. Je prends juste la valeur absolue du bruit de valeur (en supposant qu'il soit mis à l'échelle de -1 à +1) et en définissant un seuil. Mon principal problème est que les lignes se chevauchent trop souvent, sont principalement circulaires, convergent parfois pour former de grands lacs qui sont propres mais indésirables, et souvent l'épaisseur des lignes varie trop.
Voici une image de ce que j'ai jusqu'à présent en 2D, mais à une fréquence très élevée pour montrer plus de détails: