As principais restrições do seu problema são duas: criar um gráfico conectado 1; e criá-lo com conexões proximais. A resposta de Philip, embora valiosa, não trata de todas as restrições do seu problema
Idealmente, um buraco de minhoca não deve exceder o comprimento máximo e, se possível, os buracos de minhoca não devem se cruzar.
Quando você ingenuamente conecta pontos em uma nuvem, corre o risco (e alto) de que essas condições não sejam cumpridas.
Como vê, o problema não é tanto a conectividade, mas a proximidade nessas conexões. É trivial conectar todos os nós de um gráfico a todos os outros nós, mas conectar-se apenas àqueles mais próximos, mantendo a conexão 1 do gráfico geral, é um pouco mais complicado.
É isso que uma triangulação de Delaunay cria, em n dimensões. A primeira razão para usar a triangulação de Delaunay é que ela cumpre ambas implicitamente. A segunda razão é que é muito mais fácil trabalhar para trás a partir de um gráfico desse tipo (subtraindo arestas e vértices que você não deseja), do que tentar criá-lo de outras maneiras.
- Crie aleatoriamente sua nuvem de pontos completa.
- Delaunay-triangular.
- Construa o gráfico (conexão de pontos). Neste, você pode gerar o gráfico inteiro (cada estrela) primeiro e, em seguida, derivar o gráfico como menores representando suas regiões conectadas por buracos de minhoca, ao executar a etapa 4. Como alternativa, você pode trabalhar ao contrário, gerando apenas as regiões conectadas por buracos de minhoca primeiro como nós do supergrafo e, em seguida, em uma segunda fase, gerar estrelas individuais dentro dos volumes delimitadores dessas regiões (para essas derivaria o gráfico da triangulação de Delaunay dual - o diagrama de Voronoi em 3 dimensões) como subgráficos. Agora você tem aglomerados de estrelas conectados proximalmente e todos os aglomerados são conectados por buracos de minhoca mais raros: sua topologia e topografia fazem sentido para o jogador.
- Aplique métodos inteligentes para modelar os super e subgráficos, dependendo de como você escolheu tratá-lo na etapa 3.
É importante ver que esse é um processo hierárquico. O primeiro nível lida com a conectividade do buraco de minhoca; o segundo lida com distâncias presumivelmente percorríveis usando uma unidade de navio padrão. Você pode aplicar o Delaunay em um ou nos dois níveis para satisfazer suas restrições.
Fazer isso puramente topologicamente deixará você com buracos de minhoca que não fazem sentido, pois eles podem conectar um lado da galáxia a outro, apesar de uma alta densidade de estrelas entre elas (e talvez até cair na rota direta do buraco de minhoca). Topologia não é topografia; o último é uma consideração além do anterior. Você está preocupado com a proximidade e, portanto, com a topografia.