Ich sollte Wege sagen, keine Straßen, da ich eher mittelalterlich denke. Auch nicht auf der Suche nach Realismus. Die Antwort, nach der ich suche, wird darin bestehen, in die Form zu passen, die ich beschreibe, und nicht in den Realismus.
Ich suche nach einer Methode, um prozedurale Straßen / Flüsse auf kurvige Weise zu erzeugen, aber ich möchte dies für ein System mit unendlichem Gelände tun. Genau wie Perlin-Rauschen Blobs erzeugt, möchte ich Liniensegmente mit zufälliger Länge (möglicherweise mit unendlicher Länge) erzeugen.
Ich bin mir dessen bewusst Strategien wie die vorgeschlagene Antwort gefunden hier , aber es ist auf einer festgelegten Start- und Endpunkt an die Arbeit angewiesen ist , ich habe keine festgelegten Start- und Endpunkt haben. Ich möchte in der Lage sein, eine Funktion einfach mit beliebigen Koordinaten aufzurufen und zurückgeben zu lassen, ob die spezifischen Koordinaten Teil des Flusses / der Straße sind.
Ich möchte nicht, dass Terrain im Voraus generiert wird. Dazu gehört eine Höhenkarte (wie sie für Regensimulationen oder ähnliches verwendet wird). Ich möchte auch keinen Start- / Endpunkt benötigen.
Gibt es einen solchen Algorithmus oder eine Änderung an einem Rauschalgorithmus, die jemand kennt, um das zu erreichen, was ich zu erklären versuche?
Der nächste Punkt, zu dem ich bisher gekommen bin, sind mehrfach gekämmte Fraktale, wenn ich den Namen richtig verwende. Ich nehme nur den absoluten Wert von Wertrauschen (vorausgesetzt, es wird auf -1 bis +1 skaliert) und setze einen Schwellenwert. Mein Hauptproblem dabei ist, dass sich die Linien viel zu oft überlappen, meistens kreisförmig sind, manchmal zu großen Seen zusammenlaufen, was ordentlich, aber unerwünscht ist, und oftmals die Dicke der Linien zu stark variiert.
Hier ist ein Bild von dem, was ich bisher in 2D habe, aber mit einer sehr hohen Frequenz, um mehr Details zu zeigen: