Debo decir caminos, no caminos, ya que estoy pensando más como medieval. Además, no busca el realismo. La respuesta que estoy buscando será encajar en el molde que describo en lugar del realismo.
Estoy buscando un método para generar caminos / ríos procesales de forma curvilínea, pero quiero hacerlo para un sistema de tipo de terreno infinito. Al igual que el ruido perlin genera manchas, quiero generar segmentos de línea de longitud aleatoria (posiblemente longitud infinita).
Soy consciente de estrategias como la respuesta sugerida que se encuentra aquí , sin embargo, se basa en un punto de inicio y final específico para trabajar, no tengo un punto de inicio y final específico. Me gustaría poder simplemente llamar a una función usando coordenadas arbitrarias y hacer que devuelva si las coordenadas específicas son parte del río / carretera.
No quiero exigir que se genere terreno por adelantado. Eso incluye un mapa de altura (como el usado para simulaciones de lluvia o similar). Tampoco me gustaría requerir un punto de inicio / finalización.
¿Existe tal algoritmo o ajuste en un algoritmo de ruido que alguien pueda conocer para lograr lo que estoy tratando de explicar?
Lo más cerca que he llegado hasta ahora son los fractales de múltiples crestas, si estoy usando el nombre correctamente. Solo estoy tomando el valor absoluto del ruido de valor (suponiendo que esté escalado a -1 a +1) y estableciendo un umbral. Mi problema principal con esto es que las líneas se superponen con demasiada frecuencia, son en su mayoría circulares, a veces convergen para formar grandes lagos, limpios pero no deseados, y muchas veces el grosor de las líneas varía demasiado.
Aquí hay una imagen de lo que tengo hasta ahora en 2D, pero a una frecuencia muy alta para mostrar más detalles: