Les principales contraintes de votre problème sont doubles: créer un graphe 1-connecté; et le créer avec des connexions proximales. La réponse de Philip, bien que quelque peu valable, ne répond pas à toutes les contraintes de votre problème
Idéalement, un trou de ver ne doit pas dépasser une longueur maximale et, si possible, les trous de ver ne doivent pas se croiser.
Lorsque vous connectez naïvement des points dans un cloud, vous courez le risque (et le plus élevé, à cela) que ces conditions ne soient pas remplies.
Donc, vous voyez, le problème n'est pas tant celui de la connectivité que celui de la proximité sur ces connexions. Il est trivial de connecter chaque nœud d'un graphique à tous les autres nœuds, mais se connecter uniquement à ceux qui sont les plus proches tout en conservant la connectivité 1 du graphique global est un peu plus délicat.
C'est ce que crée une triangulation de Delaunay , en n dimensions. La première raison d'utiliser la triangulation de Delaunay est qu'elle remplit ces deux implicitement. La deuxième raison est qu'il est beaucoup plus facile de travailler en arrière à partir d'un tel graphique (soustraire des arêtes et des sommets que vous ne voulez pas), que d'essayer de le créer d'autres manières.
- Créez aléatoirement votre nuage de points complet.
- Delaunay-triangule.
- Construisez le graphique (connexion des points). Dans ce cas, vous pouvez soit générer le graphique entier (chaque étoile) en premier, puis dériver le graphique en tant que mineurs représentant vos régions connectées au trou de ver, lors de l'exécution de l'étape 4. Vous pouvez également travailler dans l'autre sens, en générant uniquement les régions connectées au trou de ver d'abord en tant que nœuds supergraphiques, puis dans une deuxième phase, génèrent des étoiles individuelles dans les volumes limites de ces régions (pour ceux-ci, je dériverais le graphique dual de la triangulation de Delaunay - le diagramme de Voronoi en 3 dimensions) en tant que sous-graphiques. Vous avez maintenant des amas d'étoiles connectés de manière proximale, et tous les amas sont connectés par des trous de ver plus rares: votre topologie et votre topographie ont du sens pour le joueur.
- Appliquez des méthodes intelligentes pour façonner les super et sous-graphiques, selon la façon dont vous avez choisi de le traiter à l'étape 3.
Il est important de voir qu'il s'agit d'un processus hiérarchique. Le premier niveau traite de la connectivité des trous de ver; le second traite des distances vraisemblablement traversables à l'aide d'un entraînement de navire standard. Vous pouvez appliquer Delaunay à un ou deux niveaux pour satisfaire vos contraintes.
Faire cela purement topologiquement vous laissera des trous de ver qui n'ont pas de sens, car ils pourraient relier un côté de la galaxie à un autre, malgré une forte densité d'étoiles entre les deux (et peut-être même tomber sur la route directe du trou de ver). La topologie n'est pas la topographie; ce dernier est une considération au-delà du premier. Vous vous souciez de la proximité et donc de la topographie.