scipy.spatial.

Voronoi#

класс scipy.spatial.Voronoi(точки, furthest_site=False, инкрементальных=False, qhull_options=None)#

Диаграммы Вороного в N измерениях.

Добавлено в версии 0.12.0.

Параметры:
точкиndarray из float, форма (npoints, ndim)

Координаты точек для построения диаграммы Вороного

furthest_sitebool, необязательно

Вычислять ли диаграмму Вороного для наиболее удаленных сайтов. По умолчанию: False

инкрементальныхbool, необязательно

Разрешить добавление новых точек инкрементально. Это требует некоторых дополнительных ресурсов.

qhull_optionsstr, optional

Дополнительные опции для передачи в Qhull. См. руководство Qhull для подробностей. (По умолчанию: «Qbb Qc Qz Qx» для ndim > 4 и «Qbb Qc Qz» в противном случае. Инкрементальный режим опускает «Qz».)

Атрибуты:
точкиndarray типа double, форма (npoints, ndim)

Координаты входных точек.

вершиныndarray типа double, форма (nvertices, ndim)

Координаты вершин Вороного.

ridge_pointsndarray целых чисел, форма (nridges, 2)

Индексы точек, между которыми лежит каждый гребень Вороного.

ridge_verticesсписок списков целых чисел, форма (nridges, *)

Индексы вершин Вороного, образующих каждый гребень диаграммы Вороного.

областисписок списков целых чисел, форма (nregions, *)

Индексы вершин Вороного, образующих каждую область Вороного. -1 указывает на вершину вне диаграммы Вороного. Когда была указана опция qhull "Qz", пустой подсписок представляет область Вороного для точки в бесконечности, которая была добавлена внутренне.

point_regionмассив целых чисел, форма (npoints)

Индекс региона Вороного для каждой входной точки. Если опция qhull "Qc" не была указана, список будет содержать -1 для точек, не связанных с регионом Вороного. Если опция qhull "Qz" была указана, элементов будет на один меньше, чем количество регионов, потому что внутренне добавляется дополнительная точка в бесконечности для облегчения вычислений.

furthest_site

True, если это была триангуляция по наиболее удалённым точкам, и False, если нет.

Добавлено в версии 1.4.0.

Методы

add_points(points[, restart])

Обработать набор дополнительных новых точек.

close()

Завершить инкрементную обработку.

Вызывает:
QhullError

Возникает, когда Qhull сталкивается с ошибкой, например, геометрической вырожденностью, когда опции для разрешения не включены.

ValueError

Возникает, если на вход подается несовместимый массив.

Примечания

Диаграмма Вороного вычисляется с использованием Библиотека Qhull.

Примеры

Диаграмма Вороного для набора точек:

>>> import numpy as np
>>> points = np.array([[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2],
...                    [2, 0], [2, 1], [2, 2]])
>>> from scipy.spatial import Voronoi, voronoi_plot_2d
>>> vor = Voronoi(points)

Построить график:

>>> import matplotlib.pyplot as plt
>>> fig = voronoi_plot_2d(vor)
>>> plt.show()
../../_images/scipy-spatial-Voronoi-1_00_00.png

Вершины Вороного:

>>> vor.vertices
array([[0.5, 0.5],
       [0.5, 1.5],
       [1.5, 0.5],
       [1.5, 1.5]])

Существует единственная конечная область Вороного и четыре конечных ребра Вороного:

>>> vor.regions
[[], [-1, 0], [-1, 1], [1, -1, 0], [3, -1, 2], [-1, 3], [-1, 2], [0, 1, 3, 2], [2, -1, 0], [3, -1, 1]]
>>> vor.ridge_vertices
[[-1, 0], [-1, 0], [-1, 1], [-1, 1], [0, 1], [-1, 3], [-1, 2], [2, 3], [-1, 3], [-1, 2], [1, 3], [0, 2]]

Гребни перпендикулярны между линиями, проведенными между следующими входными точками:

>>> vor.ridge_points
array([[0, 3],
       [0, 1],
       [2, 5],
       [2, 1],
       [1, 4],
       [7, 8],
       [7, 6],
       [7, 4],
       [8, 5],
       [6, 3],
       [4, 5],
       [4, 3]], dtype=int32)