Pracuję z algorytmem, który dla każdej iteracji musi znaleźć region diagramu Voronoi, do którego należy zestaw koordynatów arborystycznych. to znaczy, w którym regionie znajduje się każda współrzędna. (Możemy założyć, że wszystkie współrzędne będą należeć do regionu, jeśli czyni żadnej różnicy.)Znajdowanie regionów voronoi, które zawierają listę dowolnych współrzędnych
nie mam żadnego kodu, który działa w Pythonie jeszcze, ale kod pseudo wygląda mniej więcej tak:
## we are in two dimensions and we have 0<x<1, 0<y<1.
for i in xrange(1000):
XY = get_random_points_in_domain()
XY_candidates = get_random_points_in_domain()
vor = Voronoi(XY) # for instance scipy.spatial.Voronoi
regions = get_regions_of_candidates(vor,XY_candidates) # this is the function i need
## use regions for something
Wiem, że scipy.Delaunay ma funkcję o nazwie find_simplex, która zrobi prawie tyle, ile chcę dla simplices w triangulacji Delaunay, ale potrzebuję diagramu Voronoi, a skonstruowanie obu jest czymś, czego chcę uniknąć.
Pytania:
1. Czy istnieje biblioteka jakiegoś, który pozwoli mi to zrobić łatwo?
2. Jeśli nie, czy istnieje dobry algorytm, na który mogę popatrzeć, co pozwoli mi to zrobić skutecznie?
Aktualizacja
rozwiązanie Jamiego jest dokładnie to, co chciałem. Jestem trochę zawstydzony, że sam o tym nie pomyślałem ...