Devo dizer caminhos, não estradas, pois penso mais como medieval. Além disso, não procurando realismo. A resposta que estou procurando será se encaixar no molde que descrevo e não no realismo.
Estou procurando um método para gerar estradas / rios procedimentais de uma forma curvilínea, mas estou desejando fazer isso para um sistema de tipos de terrenos infinitos. Assim como o ruído perlin gera blobs, estou querendo gerar segmentos de linhas de comprimento aleatórios (possivelmente comprimento infinito).
Estou ciente de estratégias como a resposta sugerida encontrada aqui , no entanto, ela depende de um ponto inicial e final especificado para funcionar. Não tenho um ponto inicial e final especificado. Eu gostaria de poder simplesmente chamar uma função usando coordenadas arbitrárias e retornar se as coordenadas específicas fazem parte do rio / estrada.
Não quero exigir que o terreno seja gerado com antecedência. Isso inclui um mapa de altura (como usado para simulações de chuva ou similares). Eu também não gostaria de exigir um ponto de início / fim.
Existe um algoritmo desse tipo ou um ajuste em um algoritmo de ruído que alguém possa conhecer para realizar o que estou tentando explicar?
O mais próximo que cheguei até agora são os fractais com várias sulcos, se estiver usando o nome corretamente. Estou apenas pegando o valor absoluto do ruído de valor (supondo que ele seja dimensionado para -1 a +1) e definindo um limite. Meu principal problema com isso é que as linhas se sobrepõem com muita frequência, são principalmente circulares, às vezes convergem para formar grandes lagos, que são limpos, porém indesejados, e muitas vezes a espessura das linhas varia muito.
Aqui está uma imagem do que tenho até agora em 2D, mas com uma frequência muito alta para mostrar mais detalhes: