Powinienem powiedzieć ścieżki, a nie drogi, ponieważ myślę bardziej średniowiecznie. Nie szukam też realizmu. Odpowiedź, której szukam, będzie pasować do formy, którą opisuję, a nie realizm.
Szukam metody generowania proceduralnych dróg / rzek w kręty sposób, ale chcę to zrobić dla systemu nieskończonego typu terenu. Podobnie jak szum perlin generuje plamy, chcę wygenerować odcinki linii o losowej długości (być może nieskończonej długości).
Znam strategie takie jak sugerowana odpowiedź tutaj znaleziona , jednak zależy ona od określonego punktu początkowego i końcowego do pracy, nie mam określonego punktu początkowego i końcowego. Chciałbym móc po prostu wywołać funkcję przy użyciu dowolnych współrzędnych i zwrócić jej, czy określone współrzędne są częścią rzeki / drogi.
Nie chcę wymagać wcześniejszego wygenerowania terenu. Obejmuje mapę wysokości (np. Używaną do symulacji opadów deszczu lub podobną). Nie chciałbym również wymagać punktu początkowego / końcowego.
Czy istnieje taki algorytm lub ulepszenie algorytmu szumu, o którym ktoś może wiedzieć, aby osiągnąć to, co próbuję wyjaśnić?
Jak dotąd do tej pory doszedłem do wielu fraktali, jeśli właściwie używam nazwy. Przyjmuję tylko bezwzględną wartość szumu wartości (zakładając, że jest skalowana do -1 do +1) i ustalam próg. Moim głównym problemem jest to, że linie nakładają się zbyt często, są w większości okrągłe, czasami zbiegają się, tworząc duże jeziora, które są schludne, ale niepożądane, a często grubość linii jest zbyt duża.
Oto zdjęcie tego, co mam do tej pory w 2D, ale z bardzo wysoką częstotliwością, aby pokazać więcej szczegółów: