Pergunta

Há uma trivial, ou, pelo menos, moderadamente maneira directa para gerar território mapas (por exemplo,Risco)?

Eu olhei no passado, e o melhor que eu poderia encontrar foram referências vagas para diagramas de Voronoi.Um exemplo de um diagrama de Voronoi é este:

here.

Estes prometem, mas eu acho que eu ainda não vi qualquer straight-forward formas de tornar esses, muito menos mantê-los em alguma forma de estrutura de dados para tratar cada território como um objeto.

Outra abordagem que tem a promessa é de preenchimento, mas, novamente, eu não tenho certeza sobre a melhor forma de começar com esta abordagem.

Qualquer conselho seria muito apreciada.

Foi útil?

Solução

A melhor referência que vi neles é Geometria Computacional:Algoritmos e Aplicações, que abrange os diagramas de Voronoi, Delaunay triangulations (semelhantes a diagramas de Voronoi e cada uma pode ser convertida em outra), e outras estruturas de dados semelhantes.

Eles falam sobre todas as estruturas de dados que você precisa, mas eles não dão a você o código necessário para implementá-lo (o que pode ser um bom exercício).Em termos de código, um Amazon pesquisa mostra o livro Geometria computacional em C, que provavelmente vem com o código (embora, pois você está preso em C, você se importaria muito bem começar o outro e implementá-lo em qualquer linguagem que você deseja).Eu também não tenho nenhuma experiência com esse livro, só que o primeiro.

Desculpe ter apenas livros para recomendar!O único digno de recursos on-line que eu vi sobre eles são os dois Taxas artigos, que realmente não contar detalhes de implementação. Este link pode ser útil embora.

Outras dicas

Por que não usar um mapa de primitivas (triângulos, quadrados), distribuir os pontos de partida para os países (os "capitais"), e, em seguida, aleatoriamente expansão países adicionando um aleatórias adjacentes primitivo para o país.

CGAL é uma biblioteca C++ que tem de estruturas de dados e algoritmos usados em Geometria Computacional.

Na verdade, estou lidando exatamente com este tipo de coisas para a minha empresa de jogos de vídeo.Mais informações úteis que encontrei são estes dois links:

Paul Bourke's página no UWA, com sua 1989 papel no Delaunay e uma série de implementação links.

Um ótima explicação do psudocode e um visual de fazer Delaunay em codeGuru.com.

Em termos de renderização estes - a maioria das implementações que eu encontrei precisará de massagem para conseguir o que você quiser, mas desde que usando isso para um jogo de mapa levaria a um número de pontos mais linhas entre eles, poderia ser uma simples questão de fazer desenhar isso para a tela.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top