Je souhaite générer une liste d'adjacence pour les régions d'un diagramme sphérique de Voronoï. J'utilise le SphericalVoronoi class de SciPy donc la seule information que je peux utiliser est les centres et les sommets du diagramme.Comment obtenir efficacement une liste d'adjacence pour un diagramme sphérique de Voronoï?
La meilleure chose que je suis venu avec est de vérifier pour chaque paire de régions si elles ont un sommet commun (vor
est l'instance de SphericalVoronoi):
def adjacent(vor, reg1, reg2):
for i in vor.vertices[reg1]:
if i in vor.vertices[reg2]: return True
return False
adjacencies = [[] for i in range(len(vor.regions))]
for i in range(npoints):
for j in range(i,npoints):
if adjacent(vor,vor.regions[i],vor.regions[j]):
adjacencies[i].append(j)
adjacencies[j].append(i)
Est-il possible de faire plus efficace ce?